@wireapp/react-ui-kit 8.14.1 → 8.14.4

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 (336) hide show
  1. package/package.json +5 -4
  2. package/src/Form/Button.js +210 -125
  3. package/src/Form/Button.js.map +1 -1
  4. package/src/Form/ButtonLink.js +60 -47
  5. package/src/Form/ButtonLink.js.map +1 -1
  6. package/src/Form/Checkbox.js +139 -84
  7. package/src/Form/Checkbox.js.map +1 -1
  8. package/src/Form/CodeInput.js +201 -98
  9. package/src/Form/CodeInput.js.map +1 -1
  10. package/src/Form/DropFileInput.js +214 -116
  11. package/src/Form/DropFileInput.js.map +1 -1
  12. package/src/Form/ErrorMessage.js +78 -45
  13. package/src/Form/ErrorMessage.js.map +1 -1
  14. package/src/Form/Form.d.ts +1 -0
  15. package/src/Form/Form.js +31 -28
  16. package/src/Form/Form.js.map +1 -1
  17. package/src/Form/Input.js +178 -101
  18. package/src/Form/Input.js.map +1 -1
  19. package/src/Form/InputBlock.d.ts +1 -1
  20. package/src/Form/InputBlock.js +45 -19
  21. package/src/Form/InputBlock.js.map +1 -1
  22. package/src/Form/InputLabel.js +46 -44
  23. package/src/Form/InputLabel.js.map +1 -1
  24. package/src/Form/InputSubmitCombo.js +53 -49
  25. package/src/Form/InputSubmitCombo.js.map +1 -1
  26. package/src/Form/RangeInput.js +71 -47
  27. package/src/Form/RangeInput.js.map +1 -1
  28. package/src/Form/RangeInput.styles.js +55 -39
  29. package/src/Form/RangeInput.styles.js.map +1 -1
  30. package/src/Form/RoundIconButton.js +62 -42
  31. package/src/Form/RoundIconButton.js.map +1 -1
  32. package/src/Form/Select.js +95 -55
  33. package/src/Form/Select.js.map +1 -1
  34. package/src/Form/SelectComponents.js +173 -101
  35. package/src/Form/SelectComponents.js.map +1 -1
  36. package/src/Form/SelectStyles.d.ts +899 -1
  37. package/src/Form/SelectStyles.js +156 -96
  38. package/src/Form/SelectStyles.js.map +1 -1
  39. package/src/Form/ShakeBox.d.ts +1 -1
  40. package/src/Form/ShakeBox.js +81 -33
  41. package/src/Form/ShakeBox.js.map +1 -1
  42. package/src/Form/Switch.js +124 -89
  43. package/src/Form/Switch.js.map +1 -1
  44. package/src/Form/TextArea.js +80 -59
  45. package/src/Form/TextArea.js.map +1 -1
  46. package/src/Form/Tooltip.js +75 -66
  47. package/src/Form/Tooltip.js.map +1 -1
  48. package/src/Form/index.js +238 -52
  49. package/src/Form/index.js.map +1 -1
  50. package/src/GlobalCssVariables.js +96 -79
  51. package/src/GlobalCssVariables.js.map +1 -1
  52. package/src/GlobalStyle.d.js +2 -0
  53. package/src/GlobalStyle.d.js.map +1 -1
  54. package/src/GlobalStyle.d.ts +2 -1
  55. package/src/GlobalStyle.js +55 -40
  56. package/src/GlobalStyle.js.map +1 -1
  57. package/src/Icon/AddPeopleIcon.js +24 -19
  58. package/src/Icon/AddPeopleIcon.js.map +1 -1
  59. package/src/Icon/ArchiveIcon.js +24 -6
  60. package/src/Icon/ArchiveIcon.js.map +1 -1
  61. package/src/Icon/ArrowDown.js +23 -19
  62. package/src/Icon/ArrowDown.js.map +1 -1
  63. package/src/Icon/ArrowIcon.js +35 -42
  64. package/src/Icon/ArrowIcon.js.map +1 -1
  65. package/src/Icon/AttachmentIcon.js +24 -6
  66. package/src/Icon/AttachmentIcon.js.map +1 -1
  67. package/src/Icon/AudioVideoIcon.js +24 -6
  68. package/src/Icon/AudioVideoIcon.js.map +1 -1
  69. package/src/Icon/BlockIcon.js +24 -6
  70. package/src/Icon/BlockIcon.js.map +1 -1
  71. package/src/Icon/Brand/AndroidIcon.js +25 -6
  72. package/src/Icon/Brand/AndroidIcon.js.map +1 -1
  73. package/src/Icon/Brand/AppleIcon.js +25 -6
  74. package/src/Icon/Brand/AppleIcon.js.map +1 -1
  75. package/src/Icon/Brand/ChromeIcon.js +25 -6
  76. package/src/Icon/Brand/ChromeIcon.js.map +1 -1
  77. package/src/Icon/Brand/FacebookIcon.js +24 -6
  78. package/src/Icon/Brand/FacebookIcon.js.map +1 -1
  79. package/src/Icon/Brand/GitHubIcon.js +24 -6
  80. package/src/Icon/Brand/GitHubIcon.js.map +1 -1
  81. package/src/Icon/Brand/LinkedInIcon.js +24 -6
  82. package/src/Icon/Brand/LinkedInIcon.js.map +1 -1
  83. package/src/Icon/Brand/LinuxIcon.js +25 -6
  84. package/src/Icon/Brand/LinuxIcon.js.map +1 -1
  85. package/src/Icon/Brand/MicrosoftIcon.js +25 -6
  86. package/src/Icon/Brand/MicrosoftIcon.js.map +1 -1
  87. package/src/Icon/Brand/TwitterIcon.js +24 -6
  88. package/src/Icon/Brand/TwitterIcon.js.map +1 -1
  89. package/src/Icon/CallIcon.js +24 -6
  90. package/src/Icon/CallIcon.js.map +1 -1
  91. package/src/Icon/CamIcon.js +24 -6
  92. package/src/Icon/CamIcon.js.map +1 -1
  93. package/src/Icon/CameraIcon.js +24 -19
  94. package/src/Icon/CameraIcon.js.map +1 -1
  95. package/src/Icon/CheckIcon.js +24 -6
  96. package/src/Icon/CheckIcon.js.map +1 -1
  97. package/src/Icon/CheckRoundIcon.js +24 -6
  98. package/src/Icon/CheckRoundIcon.js.map +1 -1
  99. package/src/Icon/ChevronIcon.js +31 -38
  100. package/src/Icon/ChevronIcon.js.map +1 -1
  101. package/src/Icon/CloseIcon.js +24 -6
  102. package/src/Icon/CloseIcon.js.map +1 -1
  103. package/src/Icon/CopyIcon.js +24 -6
  104. package/src/Icon/CopyIcon.js.map +1 -1
  105. package/src/Icon/DeviceIcon.js +24 -6
  106. package/src/Icon/DeviceIcon.js.map +1 -1
  107. package/src/Icon/DownloadIcon.js +24 -6
  108. package/src/Icon/DownloadIcon.js.map +1 -1
  109. package/src/Icon/EditDocumentIcon.js +25 -19
  110. package/src/Icon/EditDocumentIcon.js.map +1 -1
  111. package/src/Icon/EditIcon.js +24 -6
  112. package/src/Icon/EditIcon.js.map +1 -1
  113. package/src/Icon/EnterIcon.js +24 -6
  114. package/src/Icon/EnterIcon.js.map +1 -1
  115. package/src/Icon/ErrorIcon.js +39 -9
  116. package/src/Icon/ErrorIcon.js.map +1 -1
  117. package/src/Icon/FileIcon.js +24 -6
  118. package/src/Icon/FileIcon.js.map +1 -1
  119. package/src/Icon/GifIcon.js +24 -6
  120. package/src/Icon/GifIcon.js.map +1 -1
  121. package/src/Icon/GridIcon.js +24 -19
  122. package/src/Icon/GridIcon.js.map +1 -1
  123. package/src/Icon/GroupIcon.js +24 -6
  124. package/src/Icon/GroupIcon.js.map +1 -1
  125. package/src/Icon/HangupIcon.js +24 -6
  126. package/src/Icon/HangupIcon.js.map +1 -1
  127. package/src/Icon/HideIcon.js +24 -6
  128. package/src/Icon/HideIcon.js.map +1 -1
  129. package/src/Icon/ImageIcon.js +24 -6
  130. package/src/Icon/ImageIcon.js.map +1 -1
  131. package/src/Icon/InfoIcon.js +24 -6
  132. package/src/Icon/InfoIcon.js.map +1 -1
  133. package/src/Icon/InviteIcon.js +24 -6
  134. package/src/Icon/InviteIcon.js.map +1 -1
  135. package/src/Icon/LeaveIcon.js +24 -6
  136. package/src/Icon/LeaveIcon.js.map +1 -1
  137. package/src/Icon/LinkIcon.js +24 -19
  138. package/src/Icon/LinkIcon.js.map +1 -1
  139. package/src/Icon/ListIcon.js +24 -6
  140. package/src/Icon/ListIcon.js.map +1 -1
  141. package/src/Icon/LockIcon.js +25 -6
  142. package/src/Icon/LockIcon.js.map +1 -1
  143. package/src/Icon/MessageIcon.js +24 -6
  144. package/src/Icon/MessageIcon.js.map +1 -1
  145. package/src/Icon/MinusIcon.js +24 -6
  146. package/src/Icon/MinusIcon.js.map +1 -1
  147. package/src/Icon/MoreIcon.js +24 -6
  148. package/src/Icon/MoreIcon.js.map +1 -1
  149. package/src/Icon/MuteIcon.js +24 -6
  150. package/src/Icon/MuteIcon.js.map +1 -1
  151. package/src/Icon/NotificationIcon.js +24 -6
  152. package/src/Icon/NotificationIcon.js.map +1 -1
  153. package/src/Icon/NotificationOffIcon.js +24 -6
  154. package/src/Icon/NotificationOffIcon.js.map +1 -1
  155. package/src/Icon/OptionsIcon.js +24 -6
  156. package/src/Icon/OptionsIcon.js.map +1 -1
  157. package/src/Icon/PeopleIcon.js +24 -19
  158. package/src/Icon/PeopleIcon.js.map +1 -1
  159. package/src/Icon/PingIcon.js +24 -6
  160. package/src/Icon/PingIcon.js.map +1 -1
  161. package/src/Icon/PlaneIcon.js +24 -6
  162. package/src/Icon/PlaneIcon.js.map +1 -1
  163. package/src/Icon/PlusIcon.js +24 -6
  164. package/src/Icon/PlusIcon.js.map +1 -1
  165. package/src/Icon/ProfileIcon.js +24 -6
  166. package/src/Icon/ProfileIcon.js.map +1 -1
  167. package/src/Icon/RecordBoldIcon.js +50 -43
  168. package/src/Icon/RecordBoldIcon.js.map +1 -1
  169. package/src/Icon/RecordIcon.js +34 -8
  170. package/src/Icon/RecordIcon.js.map +1 -1
  171. package/src/Icon/RecordPendingIcon.js +31 -8
  172. package/src/Icon/RecordPendingIcon.js.map +1 -1
  173. package/src/Icon/ReloadIcon.js +24 -6
  174. package/src/Icon/ReloadIcon.js.map +1 -1
  175. package/src/Icon/SVGIcon.js +78 -53
  176. package/src/Icon/SVGIcon.js.map +1 -1
  177. package/src/Icon/ScreenshareIcon.js +24 -6
  178. package/src/Icon/ScreenshareIcon.js.map +1 -1
  179. package/src/Icon/SearchIcon.js +25 -6
  180. package/src/Icon/SearchIcon.js.map +1 -1
  181. package/src/Icon/ServicesIcon.js +24 -6
  182. package/src/Icon/ServicesIcon.js.map +1 -1
  183. package/src/Icon/SettingsIcon.js +24 -6
  184. package/src/Icon/SettingsIcon.js.map +1 -1
  185. package/src/Icon/ShowIcon.js +24 -6
  186. package/src/Icon/ShowIcon.js.map +1 -1
  187. package/src/Icon/SignIcon.js +24 -6
  188. package/src/Icon/SignIcon.js.map +1 -1
  189. package/src/Icon/SpeakerIcon.js +24 -6
  190. package/src/Icon/SpeakerIcon.js.map +1 -1
  191. package/src/Icon/SupportIcon.js +24 -6
  192. package/src/Icon/SupportIcon.js.map +1 -1
  193. package/src/Icon/TeamIcon.js +24 -6
  194. package/src/Icon/TeamIcon.js.map +1 -1
  195. package/src/Icon/TimedIcon.js +24 -6
  196. package/src/Icon/TimedIcon.js.map +1 -1
  197. package/src/Icon/TrashCrossIcon.js +24 -6
  198. package/src/Icon/TrashCrossIcon.js.map +1 -1
  199. package/src/Icon/TrashIcon.js +24 -6
  200. package/src/Icon/TrashIcon.js.map +1 -1
  201. package/src/Icon/TriangleIcon.js +35 -42
  202. package/src/Icon/TriangleIcon.js.map +1 -1
  203. package/src/Icon/UploadIcon.js +24 -6
  204. package/src/Icon/UploadIcon.js.map +1 -1
  205. package/src/Icon/WireIcon.js +24 -6
  206. package/src/Icon/WireIcon.js.map +1 -1
  207. package/src/Icon/index.js +953 -107
  208. package/src/Icon/index.js.map +1 -1
  209. package/src/Identity/Animation.js +211 -88
  210. package/src/Identity/Animation.js.map +1 -1
  211. package/src/Identity/Avatar.js +114 -66
  212. package/src/Identity/Avatar.js.map +1 -1
  213. package/src/Identity/AvatarGrid.js +108 -66
  214. package/src/Identity/AvatarGrid.js.map +1 -1
  215. package/src/Identity/Logo.js +54 -45
  216. package/src/Identity/Logo.js.map +1 -1
  217. package/src/Identity/colors-v2.js +186 -163
  218. package/src/Identity/colors-v2.js.map +1 -1
  219. package/src/Identity/colors.js +80 -64
  220. package/src/Identity/colors.js.map +1 -1
  221. package/src/Identity/index.js +81 -38
  222. package/src/Identity/index.js.map +1 -1
  223. package/src/Identity/motions.js +35 -71
  224. package/src/Identity/motions.js.map +1 -1
  225. package/src/Layout/Box.d.ts +1 -1
  226. package/src/Layout/Box.js +31 -9
  227. package/src/Layout/Box.js.map +1 -1
  228. package/src/Layout/Column.d.ts +1 -1
  229. package/src/Layout/Column.js +57 -17
  230. package/src/Layout/Column.js.map +1 -1
  231. package/src/Layout/Container.d.ts +5 -5
  232. package/src/Layout/Container.js +102 -29
  233. package/src/Layout/Container.js.map +1 -1
  234. package/src/Layout/Content.d.ts +1 -1
  235. package/src/Layout/Content.js +31 -8
  236. package/src/Layout/Content.js.map +1 -1
  237. package/src/Layout/FlexBox.js +45 -10
  238. package/src/Layout/FlexBox.js.map +1 -1
  239. package/src/Layout/Footer.d.ts +4 -1
  240. package/src/Layout/Footer.js +17 -4
  241. package/src/Layout/Footer.js.map +1 -1
  242. package/src/Layout/Header.d.ts +1 -1
  243. package/src/Layout/Header.js +28 -7
  244. package/src/Layout/Header.js.map +1 -1
  245. package/src/Layout/MatchMedia.js +112 -27
  246. package/src/Layout/MatchMedia.js.map +1 -1
  247. package/src/Layout/Spacer.js +26 -6
  248. package/src/Layout/Spacer.js.map +1 -1
  249. package/src/Layout/StyledApp.js +53 -45
  250. package/src/Layout/StyledApp.js.map +1 -1
  251. package/src/Layout/Theme.js +225 -217
  252. package/src/Layout/Theme.js.map +1 -1
  253. package/src/Layout/headerMenu/HeaderMenu.js +117 -54
  254. package/src/Layout/headerMenu/HeaderMenu.js.map +1 -1
  255. package/src/Layout/headerMenu/HeaderSubMenu.d.ts +1 -1
  256. package/src/Layout/headerMenu/HeaderSubMenu.js +131 -74
  257. package/src/Layout/headerMenu/HeaderSubMenu.js.map +1 -1
  258. package/src/Layout/headerMenu/MenuContent.js +47 -26
  259. package/src/Layout/headerMenu/MenuContent.js.map +1 -1
  260. package/src/Layout/headerMenu/MenuItems.js +52 -22
  261. package/src/Layout/headerMenu/MenuItems.js.map +1 -1
  262. package/src/Layout/headerMenu/MenuLink.js +89 -65
  263. package/src/Layout/headerMenu/MenuLink.js.map +1 -1
  264. package/src/Layout/headerMenu/MenuOpenButton.js +54 -26
  265. package/src/Layout/headerMenu/MenuOpenButton.js.map +1 -1
  266. package/src/Layout/headerMenu/MenuScrollableItems.js +36 -13
  267. package/src/Layout/headerMenu/MenuScrollableItems.js.map +1 -1
  268. package/src/Layout/headerMenu/MenuSubLink.js +64 -45
  269. package/src/Layout/headerMenu/MenuSubLink.js.map +1 -1
  270. package/src/Layout/headerMenu/index.js +108 -41
  271. package/src/Layout/headerMenu/index.js.map +1 -1
  272. package/src/Layout/index.js +173 -46
  273. package/src/Layout/index.js.map +1 -1
  274. package/src/Layout/sizes.js +21 -14
  275. package/src/Layout/sizes.js.map +1 -1
  276. package/src/Menu/MenuModal.js +123 -78
  277. package/src/Menu/MenuModal.js.map +1 -1
  278. package/src/Menu/TabBar.d.ts +1 -1
  279. package/src/Menu/TabBar.js +96 -50
  280. package/src/Menu/TabBar.js.map +1 -1
  281. package/src/Menu/index.js +29 -34
  282. package/src/Menu/index.js.map +1 -1
  283. package/src/Misc/ButtonGroup.js +97 -67
  284. package/src/Misc/ButtonGroup.js.map +1 -1
  285. package/src/Misc/IconButton.js +102 -72
  286. package/src/Misc/IconButton.js.map +1 -1
  287. package/src/Misc/IsInViewport.js +63 -57
  288. package/src/Misc/IsInViewport.js.map +1 -1
  289. package/src/Misc/Loading.d.ts +1 -1
  290. package/src/Misc/Loading.js +66 -58
  291. package/src/Misc/Loading.js.map +1 -1
  292. package/src/Misc/Pagination.js +149 -64
  293. package/src/Misc/Pagination.js.map +1 -1
  294. package/src/Misc/Pill.js +80 -66
  295. package/src/Misc/Pill.js.map +1 -1
  296. package/src/Misc/childrenWithDefaultProps.d.ts +1 -1
  297. package/src/Misc/childrenWithDefaultProps.js +28 -28
  298. package/src/Misc/childrenWithDefaultProps.js.map +1 -1
  299. package/src/Misc/index.js +121 -42
  300. package/src/Misc/index.js.map +1 -1
  301. package/src/Misc/useLongTouch.js +38 -23
  302. package/src/Misc/useLongTouch.js.map +1 -1
  303. package/src/Misc/useTimeout.js +44 -24
  304. package/src/Misc/useTimeout.js.map +1 -1
  305. package/src/Modal/Modal.js +177 -95
  306. package/src/Modal/Modal.js.map +1 -1
  307. package/src/Modal/Overlay.d.ts +2 -2
  308. package/src/Modal/Overlay.js +92 -68
  309. package/src/Modal/Overlay.js.map +1 -1
  310. package/src/Modal/index.js +28 -36
  311. package/src/Modal/index.js.map +1 -1
  312. package/src/Text/Heading.js +188 -71
  313. package/src/Text/Heading.js.map +1 -1
  314. package/src/Text/Label.js +74 -45
  315. package/src/Text/Label.js.map +1 -1
  316. package/src/Text/Line.js +36 -11
  317. package/src/Text/Line.js.map +1 -1
  318. package/src/Text/Link.js +88 -60
  319. package/src/Text/Link.js.map +1 -1
  320. package/src/Text/Paragraph.js +75 -44
  321. package/src/Text/Paragraph.js.map +1 -1
  322. package/src/Text/Text.d.ts +6 -6
  323. package/src/Text/Text.js +107 -29
  324. package/src/Text/Text.js.map +1 -1
  325. package/src/Text/TextLink.js +52 -38
  326. package/src/Text/TextLink.js.map +1 -1
  327. package/src/Text/Title.js +55 -38
  328. package/src/Text/Title.js.map +1 -1
  329. package/src/Text/index.js +108 -41
  330. package/src/Text/index.js.map +1 -1
  331. package/src/index.js +121 -42
  332. package/src/index.js.map +1 -1
  333. package/src/mediaQueries.js +41 -40
  334. package/src/mediaQueries.js.map +1 -1
  335. package/src/util.js +39 -8
  336. package/src/util.js.map +1 -1
@@ -1,91 +1,146 @@
1
1
  "use strict";
2
- /*
3
- * Wire
4
- * Copyright (C) 2018 Wire Swiss GmbH
5
- *
6
- * This program is free software: you can redistribute it and/or modify
7
- * it under the terms of the GNU General Public License as published by
8
- * the Free Software Foundation, either version 3 of the License, or
9
- * (at your option) any later version.
10
- *
11
- * This program is distributed in the hope that it will be useful,
12
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
- * GNU General Public License for more details.
15
- *
16
- * You should have received a copy of the GNU General Public License
17
- * along with this program. If not, see http://www.gnu.org/licenses/.
18
- *
19
- */
20
- var __rest = (this && this.__rest) || function (s, e) {
21
- var t = {};
22
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
23
- t[p] = s[p];
24
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
25
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
26
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
27
- t[p[i]] = s[p[i]];
28
- }
29
- return t;
30
- };
31
- Object.defineProperty(exports, "__esModule", { value: true });
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
32
8
  exports.CheckboxLabel = exports.Checkbox = void 0;
33
- /** @jsx jsx */
34
- const react_1 = require("@emotion/react");
35
- const react_2 = require("react");
36
- const Text_1 = require("../Text");
37
- const util_1 = require("../util");
38
- const Input_1 = require("./Input");
39
- const filterStyledLabelProps = (props) => (0, util_1.filterProps)(props, ['markInvalid']);
40
- const StyledLabel = (props) => {
41
- const { disabled, markInvalid, aligncenter = false } = props;
42
- return ((0, react_1.jsx)("label", Object.assign({ css: (theme) => (Object.assign(Object.assign({ [`.${Input_1.INPUT_CLASSNAME}:checked + &::before`]: {
43
- background: `${disabled ? theme.Checkbox.disablecheckedBgColor : theme.general.primaryColor}`,
44
- borderColor: theme.general.primaryColor,
45
- }, [`.${Input_1.INPUT_CLASSNAME}:checked + & > svg`]: {
46
- fill: theme.general.backgroundColor,
47
- }, [`.${Input_1.INPUT_CLASSNAME} + & > svg`]: {
48
- fill: 'none',
49
- position: 'absolute',
50
- left: '0.25rem',
51
- top: '0.25rem',
52
- } }, (!disabled && {
53
- [`.${Input_1.INPUT_CLASSNAME}:hover + &::before`]: {
54
- borderColor: theme.general.primaryColor,
55
- },
56
- })), { [`.${Input_1.INPUT_CLASSNAME} + &::before`]: Object.assign(Object.assign({ background: disabled ? theme.Checkbox.disableBgColor : theme.Checkbox.background }, (!disabled
57
- ? {
58
- border: markInvalid
59
- ? `2px solid ${theme.Checkbox.invalidBorderColor}`
60
- : `2px solid ${theme.Checkbox.border}`,
61
- }
62
- : {
63
- border: `2px solid ${theme.Checkbox.disableBorderColor}`,
64
- })), { borderRadius: '3px', boxSizing: 'border-box', content: '""', display: 'inline-block', width: '22px', height: '22px', lineHeight: 1.4, margin: '0 8px 0 0px', color: theme.general.color }), position: 'relative', margin: '0 0 0 -16px', width: aligncenter ? 'auto' : '100%', lineHeight: 1.4, display: 'flex', opacity: disabled ? 0.56 : 1, cursor: disabled ? 'not-allowed' : 'pointer', borderRadius: '4px' })) }, filterStyledLabelProps(props)),
65
- props.children,
66
- (0, react_1.jsx)("svg", { width: "15", height: "13", viewBox: "0 0 16 13", xmlns: "http://www.w3.org/2000/svg" },
67
- (0, react_1.jsx)("path", { d: "M5.65685 12.0711L15.9842 1.62738L14.57 0.213167L5.65685 9.24264L1.41421 5L0 6.41421L5.65685 12.0711Z" }))));
9
+
10
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
11
+
12
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
13
+
14
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
15
+
16
+ var _react = require("@emotion/react");
17
+
18
+ var _react2 = _interopRequireDefault(require("react"));
19
+
20
+ var _Text = require("../Text");
21
+
22
+ var _util = require("../util");
23
+
24
+ var _Input = require("./Input");
25
+
26
+ var _excluded = ["id", "children", "style", "disabled", "wrapperCSS"];
27
+
28
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
29
+
30
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
31
+
32
+ var filterStyledLabelProps = function filterStyledLabelProps(props) {
33
+ return (0, _util.filterProps)(props, ['markInvalid']);
34
+ };
35
+
36
+ var StyledLabel = function StyledLabel(props) {
37
+ var disabled = props.disabled,
38
+ markInvalid = props.markInvalid,
39
+ _props$aligncenter = props.aligncenter,
40
+ aligncenter = _props$aligncenter === void 0 ? false : _props$aligncenter;
41
+ return (0, _react.jsx)("label", (0, _extends2["default"])({
42
+ css: function css(theme) {
43
+ var _objectSpread2, _objectSpread3;
44
+
45
+ return _objectSpread(_objectSpread((_objectSpread2 = {}, (0, _defineProperty2["default"])(_objectSpread2, ".".concat(_Input.INPUT_CLASSNAME, ":checked + &::before"), {
46
+ background: "".concat(disabled ? theme.Checkbox.disablecheckedBgColor : theme.general.primaryColor),
47
+ borderColor: theme.general.primaryColor
48
+ }), (0, _defineProperty2["default"])(_objectSpread2, ".".concat(_Input.INPUT_CLASSNAME, ":checked + & > svg"), {
49
+ fill: theme.general.backgroundColor
50
+ }), (0, _defineProperty2["default"])(_objectSpread2, ".".concat(_Input.INPUT_CLASSNAME, " + & > svg"), {
51
+ fill: 'none',
52
+ position: 'absolute',
53
+ left: '0.25rem',
54
+ top: '0.25rem'
55
+ }), _objectSpread2), !disabled && (0, _defineProperty2["default"])({}, ".".concat(_Input.INPUT_CLASSNAME, ":hover + &::before"), {
56
+ borderColor: theme.general.primaryColor
57
+ })), {}, (_objectSpread3 = {}, (0, _defineProperty2["default"])(_objectSpread3, ".".concat(_Input.INPUT_CLASSNAME, " + &::before"), _objectSpread(_objectSpread({
58
+ background: disabled ? theme.Checkbox.disableBgColor : theme.Checkbox.background
59
+ }, !disabled ? {
60
+ border: markInvalid ? "2px solid ".concat(theme.Checkbox.invalidBorderColor) : "2px solid ".concat(theme.Checkbox.border)
61
+ } : {
62
+ border: "2px solid ".concat(theme.Checkbox.disableBorderColor)
63
+ }), {}, {
64
+ borderRadius: '3px',
65
+ boxSizing: 'border-box',
66
+ content: '""',
67
+ display: 'inline-block',
68
+ width: '22px',
69
+ height: '22px',
70
+ lineHeight: 1.4,
71
+ margin: '0 8px 0 0px',
72
+ color: theme.general.color
73
+ })), (0, _defineProperty2["default"])(_objectSpread3, "position", 'relative'), (0, _defineProperty2["default"])(_objectSpread3, "margin", '0 0 0 -16px'), (0, _defineProperty2["default"])(_objectSpread3, "width", aligncenter ? 'auto' : '100%'), (0, _defineProperty2["default"])(_objectSpread3, "lineHeight", 1.4), (0, _defineProperty2["default"])(_objectSpread3, "display", 'flex'), (0, _defineProperty2["default"])(_objectSpread3, "opacity", disabled ? 0.56 : 1), (0, _defineProperty2["default"])(_objectSpread3, "cursor", disabled ? 'not-allowed' : 'pointer'), (0, _defineProperty2["default"])(_objectSpread3, "borderRadius", '4px'), _objectSpread3));
74
+ }
75
+ }, filterStyledLabelProps(props)), props.children, (0, _react.jsx)("svg", {
76
+ width: "15",
77
+ height: "13",
78
+ viewBox: "0 0 16 13",
79
+ xmlns: "http://www.w3.org/2000/svg"
80
+ }, (0, _react.jsx)("path", {
81
+ d: "M5.65685 12.0711L15.9842 1.62738L14.57 0.213167L5.65685 9.24264L1.41421 5L0 6.41421L5.65685 12.0711Z"
82
+ })));
68
83
  };
69
- const filterCheckboxProps = (props) => (0, util_1.filterProps)(props, ['markInvalid']);
70
- // We use Math.random..., because some of apps doesn't migrated to newest version of React.
71
- exports.Checkbox = react_2.default.forwardRef((_a, ref) => {
72
- var { id = Math.random().toString(), children, style, disabled, wrapperCSS = {} } = _a, props = __rest(_a, ["id", "children", "style", "disabled", "wrapperCSS"]);
73
- return ((0, react_1.jsx)("div", { css: (theme) => (Object.assign({ alignItems: 'center', display: 'flex', justifyContent: 'flex-start', position: 'relative', left: '-0.3rem', [`.${Input_1.INPUT_CLASSNAME}:focus-visible + label`]: {
74
- outline: `1px solid ${theme.general.primaryColor}`,
75
- outlineOffset: '0.4rem',
76
- } }, wrapperCSS)), style: style },
77
- (0, react_1.jsx)("input", Object.assign({ type: "checkbox", id: id, style: {
78
- height: '22px',
79
- marginBottom: '0',
80
- opacity: 0,
81
- width: '22px',
82
- cursor: disabled ? 'not-allowed' : 'pointer',
83
- }, disabled: disabled, ref: ref, className: Input_1.INPUT_CLASSNAME }, filterCheckboxProps(props))),
84
- (0, react_1.jsx)(StyledLabel, { htmlFor: id, disabled: disabled, markInvalid: props.markInvalid, aligncenter: props.aligncenter }, children)));
84
+
85
+ var filterCheckboxProps = function filterCheckboxProps(props) {
86
+ return (0, _util.filterProps)(props, ['markInvalid']);
87
+ }; // We use Math.random..., because some of apps doesn't migrated to newest version of React.
88
+
89
+
90
+ var Checkbox = /*#__PURE__*/_react2["default"].forwardRef(function (_ref2, ref) {
91
+ var _ref2$id = _ref2.id,
92
+ id = _ref2$id === void 0 ? Math.random().toString() : _ref2$id,
93
+ children = _ref2.children,
94
+ style = _ref2.style,
95
+ disabled = _ref2.disabled,
96
+ _ref2$wrapperCSS = _ref2.wrapperCSS,
97
+ wrapperCSS = _ref2$wrapperCSS === void 0 ? {} : _ref2$wrapperCSS,
98
+ props = (0, _objectWithoutProperties2["default"])(_ref2, _excluded);
99
+ return (0, _react.jsx)("div", {
100
+ css: function css(theme) {
101
+ return _objectSpread((0, _defineProperty2["default"])({
102
+ alignItems: 'center',
103
+ display: 'flex',
104
+ justifyContent: 'flex-start',
105
+ position: 'relative',
106
+ left: '-0.3rem'
107
+ }, ".".concat(_Input.INPUT_CLASSNAME, ":focus-visible + label"), {
108
+ outline: "1px solid ".concat(theme.general.primaryColor),
109
+ outlineOffset: '0.4rem'
110
+ }), wrapperCSS);
111
+ },
112
+ style: style
113
+ }, (0, _react.jsx)("input", (0, _extends2["default"])({
114
+ type: "checkbox",
115
+ id: id,
116
+ style: {
117
+ height: '22px',
118
+ marginBottom: '0',
119
+ opacity: 0,
120
+ width: '22px',
121
+ cursor: disabled ? 'not-allowed' : 'pointer'
122
+ },
123
+ disabled: disabled,
124
+ ref: ref,
125
+ className: _Input.INPUT_CLASSNAME
126
+ }, filterCheckboxProps(props))), (0, _react.jsx)(StyledLabel, {
127
+ htmlFor: id,
128
+ disabled: disabled,
129
+ markInvalid: props.markInvalid,
130
+ aligncenter: props.aligncenter
131
+ }, children));
85
132
  });
86
- const CheckboxLabel = (_a) => {
87
- var props = __rest(_a, []);
88
- return ((0, react_1.jsx)(Text_1.Text, Object.assign({ css: (theme) => (Object.assign({}, (0, Text_1.textStyle)(theme, Object.assign({}, props)))) }, props)));
133
+
134
+ exports.Checkbox = Checkbox;
135
+
136
+ var CheckboxLabel = function CheckboxLabel(_ref3) {
137
+ var props = (0, _extends2["default"])({}, _ref3);
138
+ return (0, _react.jsx)(_Text.Text, (0, _extends2["default"])({
139
+ css: function css(theme) {
140
+ return _objectSpread({}, (0, _Text.textStyle)(theme, _objectSpread({}, props)));
141
+ }
142
+ }, props));
89
143
  };
144
+
90
145
  exports.CheckboxLabel = CheckboxLabel;
91
146
  //# sourceMappingURL=Checkbox.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Checkbox.js","sourceRoot":"","sources":["Checkbox.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"sources":["Checkbox.tsx"],"names":["filterStyledLabelProps","props","StyledLabel","disabled","markInvalid","aligncenter","theme","INPUT_CLASSNAME","background","Checkbox","disablecheckedBgColor","general","primaryColor","borderColor","fill","backgroundColor","position","left","top","disableBgColor","border","invalidBorderColor","disableBorderColor","borderRadius","boxSizing","content","display","width","height","lineHeight","margin","color","children","filterCheckboxProps","React","forwardRef","ref","id","Math","random","toString","style","wrapperCSS","alignItems","justifyContent","outline","outlineOffset","marginBottom","opacity","cursor","CheckboxLabel"],"mappings":"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","sourcesContent":["/*\n * Wire\n * Copyright (C) 2018 Wire Swiss GmbH\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see http://www.gnu.org/licenses/.\n *\n */\n\n/** @jsx jsx */\nimport {jsx} from '@emotion/react';\nimport React from 'react';\n\nimport {Theme} from '../Layout';\nimport {Text, TextProps, textStyle} from '../Text';\nimport {filterProps} from '../util';\nimport {INPUT_CLASSNAME, InputProps} from './Input';\n\nexport interface StyledLabelProps<T = HTMLLabelElement> extends React.HTMLProps<T> {\n disabled?: boolean;\n markInvalid?: boolean;\n aligncenter?: boolean;\n}\n\nconst filterStyledLabelProps = (props: StyledLabelProps) => filterProps(props, ['markInvalid']);\n\nconst StyledLabel = (props: StyledLabelProps) => {\n const {disabled, markInvalid, aligncenter = false} = props;\n return (\n <label\n css={(theme: Theme) => ({\n [`.${INPUT_CLASSNAME}:checked + &::before`]: {\n background: `${disabled ? theme.Checkbox.disablecheckedBgColor : theme.general.primaryColor}`,\n borderColor: theme.general.primaryColor,\n },\n [`.${INPUT_CLASSNAME}:checked + & > svg`]: {\n fill: theme.general.backgroundColor,\n },\n [`.${INPUT_CLASSNAME} + & > svg`]: {\n fill: 'none',\n position: 'absolute',\n left: '0.25rem',\n top: '0.25rem',\n },\n ...(!disabled && {\n [`.${INPUT_CLASSNAME}:hover + &::before`]: {\n borderColor: theme.general.primaryColor,\n },\n }),\n [`.${INPUT_CLASSNAME} + &::before`]: {\n background: disabled ? theme.Checkbox.disableBgColor : theme.Checkbox.background,\n ...(!disabled\n ? {\n border: markInvalid\n ? `2px solid ${theme.Checkbox.invalidBorderColor}`\n : `2px solid ${theme.Checkbox.border}`,\n }\n : {\n border: `2px solid ${theme.Checkbox.disableBorderColor}`,\n }),\n borderRadius: '3px',\n boxSizing: 'border-box',\n content: '\"\"',\n display: 'inline-block',\n width: '22px',\n height: '22px',\n lineHeight: 1.4,\n margin: '0 8px 0 0px',\n color: theme.general.color,\n },\n position: 'relative',\n margin: '0 0 0 -16px',\n width: aligncenter ? 'auto' : '100%',\n lineHeight: 1.4,\n display: 'flex',\n opacity: disabled ? 0.56 : 1,\n cursor: disabled ? 'not-allowed' : 'pointer',\n borderRadius: '4px',\n })}\n {...filterStyledLabelProps(props)}\n >\n {props.children}\n <svg width=\"15\" height=\"13\" viewBox=\"0 0 16 13\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M5.65685 12.0711L15.9842 1.62738L14.57 0.213167L5.65685 9.24264L1.41421 5L0 6.41421L5.65685 12.0711Z\" />\n </svg>\n </label>\n );\n};\n\ninterface CheckboxProps<T = HTMLInputElement> extends InputProps<T> {\n id?: string;\n aligncenter?: boolean;\n}\n\nconst filterCheckboxProps = (props: CheckboxProps) => filterProps(props, ['markInvalid']);\n\n// We use Math.random..., because some of apps doesn't migrated to newest version of React.\nexport const Checkbox: React.FC<CheckboxProps<HTMLInputElement>> = React.forwardRef<\n HTMLInputElement,\n CheckboxProps<HTMLInputElement>\n>(({id = Math.random().toString(), children, style, disabled, wrapperCSS = {}, ...props}, ref) => (\n <div\n css={(theme: Theme) => ({\n alignItems: 'center',\n display: 'flex',\n justifyContent: 'flex-start',\n position: 'relative',\n left: '-0.3rem',\n [`.${INPUT_CLASSNAME}:focus-visible + label`]: {\n outline: `1px solid ${theme.general.primaryColor}`,\n outlineOffset: '0.4rem',\n },\n ...wrapperCSS,\n })}\n style={style}\n >\n <input\n type=\"checkbox\"\n id={id}\n style={{\n height: '22px',\n marginBottom: '0',\n opacity: 0,\n width: '22px',\n cursor: disabled ? 'not-allowed' : 'pointer',\n }}\n disabled={disabled}\n ref={ref}\n className={INPUT_CLASSNAME}\n {...filterCheckboxProps(props)}\n />\n\n <StyledLabel htmlFor={id} disabled={disabled} markInvalid={props.markInvalid} aligncenter={props.aligncenter}>\n {children}\n </StyledLabel>\n </div>\n));\n\nexport type CheckboxLabelProps<T = HTMLSpanElement> = TextProps<T>;\n\nexport const CheckboxLabel = ({...props}: CheckboxLabelProps) => (\n <Text\n css={(theme: Theme) => ({\n ...textStyle(theme, {\n ...props,\n }),\n })}\n {...props}\n />\n);\n"],"file":"Checkbox.js"}
@@ -1,103 +1,206 @@
1
1
  "use strict";
2
- /*
3
- * Wire
4
- * Copyright (C) 2018 Wire Swiss GmbH
5
- *
6
- * This program is free software: you can redistribute it and/or modify
7
- * it under the terms of the GNU General Public License as published by
8
- * the Free Software Foundation, either version 3 of the License, or
9
- * (at your option) any later version.
10
- *
11
- * This program is distributed in the hope that it will be useful,
12
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
- * GNU General Public License for more details.
15
- *
16
- * You should have received a copy of the GNU General Public License
17
- * along with this program. If not, see http://www.gnu.org/licenses/.
18
- *
19
- */
20
- Object.defineProperty(exports, "__esModule", { value: true });
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
21
10
  exports.CodeInput = void 0;
22
- /** @jsx jsx */
23
- const react_1 = require("@emotion/react");
24
- const react_2 = require("react");
25
- const util_1 = require("../util");
26
- const Input_1 = require("./Input");
27
- const Identity_1 = require("../Identity");
28
- const CodeInputWrapper = (props) => ((0, react_1.jsx)("div", Object.assign({ css: {
29
- display: 'flex',
30
- justifyContent: 'center',
31
- } }, props)));
32
- const digitInputStyle = (theme, props) => (Object.assign(Object.assign({}, (0, Input_1.inputStyle)(theme, props)), { '& + &': {
33
- marginLeft: 'min(19px, 2vw)',
34
- }, '&:hover': {
35
- boxShadow: `0 0 0 1px ${Identity_1.COLOR_V2.GRAY_60}`,
36
- }, fontSize: '24px', lineHeight: '28px', borderRadius: '12px', padding: 0, textAlign: 'center', width: 'min(48px, 13vw)', height: '56px' }));
37
- const DigitInput = react_2.default.forwardRef((props, ref) => (0, react_1.jsx)("input", Object.assign({ ref: ref, css: (theme) => digitInputStyle(theme, props) }, props, { type: "tel" })));
38
- const CodeInput = ({ style, digits = 6, autoFocus = false, markInvalid, onCodeComplete = util_1.noop, disabled, }) => {
39
- const [values, setValues] = (0, react_2.useState)(Array(digits).fill(''));
40
- const inputs = Array(digits);
41
- const forceSelection = (event) => {
42
- const target = event.target;
43
- target.select();
44
- };
45
- const forceSelectionPreventDefault = (event) => {
46
- forceSelection(event);
47
- event.preventDefault();
48
- };
49
- const nextField = (currentFieldIndex) => {
50
- const nextFieldIndex = currentFieldIndex + 1;
51
- if (nextFieldIndex < digits) {
52
- inputs[nextFieldIndex].focus();
53
- }
54
- };
55
- const previousField = (currentFieldIndex) => {
56
- if (currentFieldIndex > 0) {
57
- inputs[currentFieldIndex - 1].focus();
58
- }
59
- };
60
- const setValue = (fieldIndex, value) => {
61
- if (/^[0-9]?$/.test(value)) {
62
- const valuesCopy = values.slice();
63
- valuesCopy[fieldIndex] = value;
64
- setValues(valuesCopy);
65
- if (value.length) {
66
- nextField(fieldIndex);
67
- }
68
- }
69
- };
70
- const handleKeyDown = (fieldIndex, { key }) => {
71
- switch (key) {
72
- case 'Backspace':
73
- setValue(fieldIndex, '');
74
- previousField(fieldIndex);
75
- break;
76
- case 'ArrowLeft':
77
- previousField(fieldIndex);
78
- break;
79
- case 'ArrowRight':
80
- nextField(fieldIndex);
81
- break;
82
- }
83
- if (/^[0-9]$/.test(key)) {
84
- setValue(fieldIndex, key);
85
- }
86
- };
87
- const handlePaste = (fieldIndex, event) => {
88
- const pastedValue = event.clipboardData.getData('Text');
89
- const cleanedPaste = pastedValue.replace(/[^0-9]/g, '');
90
- if (/^[0-9]+$/.test(cleanedPaste)) {
91
- setValues(values.slice(0, fieldIndex).concat(cleanedPaste.split('')).slice(0, digits));
92
- }
93
- };
94
- (0, react_2.useEffect)(() => {
95
- const completeCode = values.join('');
96
- if (completeCode.length === digits) {
97
- onCodeComplete(completeCode);
98
- }
99
- }, [values]);
100
- return ((0, react_1.jsx)(CodeInputWrapper, { style: style }, Array.from({ length: digits }, (_, index) => ((0, react_1.jsx)(DigitInput, { autoFocus: index === 0 && autoFocus, key: index, onPaste: event => handlePaste(index, event), onFocus: forceSelection, onMouseDown: forceSelectionPreventDefault, onTouchStart: forceSelectionPreventDefault, onKeyDown: event => handleKeyDown(index, event), onKeyUp: forceSelection, markInvalid: markInvalid, ref: node => (inputs[index] = node), value: values[index], onChange: () => { }, disabled: disabled })))));
11
+
12
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
13
+
14
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
15
+
16
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
17
+
18
+ var _react = require("@emotion/react");
19
+
20
+ var _react2 = _interopRequireWildcard(require("react"));
21
+
22
+ var _util = require("../util");
23
+
24
+ var _Input = require("./Input");
25
+
26
+ var _Identity = require("../Identity");
27
+
28
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
29
+
30
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
31
+
32
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
33
+
34
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
35
+
36
+ function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
37
+
38
+ var _ref = process.env.NODE_ENV === "production" ? {
39
+ name: "zl1inp",
40
+ styles: "display:flex;justify-content:center"
41
+ } : {
42
+ name: "tvpiqi-CodeInputWrapper",
43
+ styles: "display:flex;justify-content:center;label:CodeInputWrapper;",
44
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkNvZGVJbnB1dC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBOEJJIiwiZmlsZSI6IkNvZGVJbnB1dC50c3giLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogV2lyZVxuICogQ29weXJpZ2h0IChDKSAyMDE4IFdpcmUgU3dpc3MgR21iSFxuICpcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieVxuICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3JcbiAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gKlxuICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlXG4gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXG4gKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90LCBzZWUgaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLy5cbiAqXG4gKi9cblxuLyoqIEBqc3gganN4ICovXG5pbXBvcnQge0NTU09iamVjdCwganN4fSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgUmVhY3QsIHt1c2VFZmZlY3QsIHVzZVN0YXRlfSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCB7VGhlbWV9IGZyb20gJy4uL0xheW91dCc7XG5pbXBvcnQge25vb3B9IGZyb20gJy4uL3V0aWwnO1xuaW1wb3J0IHtJbnB1dFByb3BzLCBpbnB1dFN0eWxlfSBmcm9tICcuL0lucHV0JztcbmltcG9ydCB7Q09MT1JfVjJ9IGZyb20gJy4uL0lkZW50aXR5JztcblxuY29uc3QgQ29kZUlucHV0V3JhcHBlciA9IChwcm9wczogUmVhY3QuSFRNTFByb3BzPEhUTUxEaXZFbGVtZW50PikgPT4gKFxuICA8ZGl2XG4gICAgY3NzPXt7XG4gICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICBqdXN0aWZ5Q29udGVudDogJ2NlbnRlcicsXG4gICAgfX1cbiAgICB7Li4ucHJvcHN9XG4gIC8+XG4pO1xuXG50eXBlIERpZ2l0SW5wdXRQcm9wczxUID0gSFRNTElucHV0RWxlbWVudD4gPSBJbnB1dFByb3BzPFQ+O1xuXG5jb25zdCBkaWdpdElucHV0U3R5bGU6IDxUPih0aGVtZTogVGhlbWUsIHByb3BzOiBEaWdpdElucHV0UHJvcHM8VD4pID0+IENTU09iamVjdCA9ICh0aGVtZSwgcHJvcHMpID0+ICh7XG4gIC4uLmlucHV0U3R5bGUodGhlbWUsIHByb3BzKSxcbiAgJyYgKyAmJzoge1xuICAgIG1hcmdpbkxlZnQ6ICdtaW4oMTlweCwgMnZ3KScsXG4gIH0sXG4gICcmOmhvdmVyJzoge1xuICAgIGJveFNoYWRvdzogYDAgMCAwIDFweCAke0NPTE9SX1YyLkdSQVlfNjB9YCxcbiAgfSxcbiAgZm9udFNpemU6ICcyNHB4JyxcbiAgbGluZUhlaWdodDogJzI4cHgnLFxuICBib3JkZXJSYWRpdXM6ICcxMnB4JyxcbiAgcGFkZGluZzogMCxcbiAgdGV4dEFsaWduOiAnY2VudGVyJyxcbiAgd2lkdGg6ICdtaW4oNDhweCwgMTN2dyknLFxuICBoZWlnaHQ6ICc1NnB4Jyxcbn0pO1xuXG5jb25zdCBEaWdpdElucHV0OiBSZWFjdC5GQzxEaWdpdElucHV0UHJvcHM8SFRNTElucHV0RWxlbWVudD4+ID0gUmVhY3QuZm9yd2FyZFJlZjxcbiAgSFRNTElucHV0RWxlbWVudCxcbiAgRGlnaXRJbnB1dFByb3BzPEhUTUxJbnB1dEVsZW1lbnQ+XG4+KChwcm9wcywgcmVmKSA9PiA8aW5wdXQgcmVmPXtyZWZ9IGNzcz17KHRoZW1lOiBUaGVtZSkgPT4gZGlnaXRJbnB1dFN0eWxlKHRoZW1lLCBwcm9wcyl9IHsuLi5wcm9wc30gdHlwZT1cInRlbFwiIC8+KTtcblxuZXhwb3J0IGludGVyZmFjZSBDb2RlSW5wdXRQcm9wczxUID0gSFRNTElucHV0RWxlbWVudD4gZXh0ZW5kcyBJbnB1dFByb3BzPFQ+IHtcbiAgYXV0b0ZvY3VzPzogYm9vbGVhbjtcbiAgZGlnaXRzPzogbnVtYmVyO1xuICBtYXJrSW52YWxpZD86IGJvb2xlYW47XG4gIG9uQ29kZUNvbXBsZXRlPzogKGNvbXBsZXRlQ29kZT86IHN0cmluZykgPT4gdm9pZDtcbn1cblxuZXhwb3J0IGNvbnN0IENvZGVJbnB1dCA9ICh7XG4gIHN0eWxlLFxuICBkaWdpdHMgPSA2LFxuICBhdXRvRm9jdXMgPSBmYWxzZSxcbiAgbWFya0ludmFsaWQsXG4gIG9uQ29kZUNvbXBsZXRlID0gbm9vcCxcbiAgZGlzYWJsZWQsXG59OiBDb2RlSW5wdXRQcm9wcykgPT4ge1xuICBjb25zdCBbdmFsdWVzLCBzZXRWYWx1ZXNdID0gdXNlU3RhdGUoQXJyYXkoZGlnaXRzKS5maWxsKCcnKSk7XG4gIGNvbnN0IGlucHV0cyA9IEFycmF5KGRpZ2l0cyk7XG5cbiAgY29uc3QgZm9yY2VTZWxlY3Rpb24gPSAoXG4gICAgZXZlbnQ6XG4gICAgICB8IFJlYWN0Lk1vdXNlRXZlbnQ8SFRNTElucHV0RWxlbWVudD5cbiAgICAgIHwgUmVhY3QuVG91Y2hFdmVudDxIVE1MSW5wdXRFbGVtZW50PlxuICAgICAgfCBSZWFjdC5LZXlib2FyZEV2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+XG4gICAgICB8IFJlYWN0LkZvY3VzRXZlbnQ8SFRNTElucHV0RWxlbWVudD4sXG4gICkgPT4ge1xuICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50O1xuICAgIHRhcmdldC5zZWxlY3QoKTtcbiAgfTtcblxuICBjb25zdCBmb3JjZVNlbGVjdGlvblByZXZlbnREZWZhdWx0ID0gKFxuICAgIGV2ZW50OiBSZWFjdC5Nb3VzZUV2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+IHwgUmVhY3QuVG91Y2hFdmVudDxIVE1MSW5wdXRFbGVtZW50PixcbiAgKSA9PiB7XG4gICAgZm9yY2VTZWxlY3Rpb24oZXZlbnQpO1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gIH07XG5cbiAgY29uc3QgbmV4dEZpZWxkID0gKGN1cnJlbnRGaWVsZEluZGV4OiBudW1iZXIpID0+IHtcbiAgICBjb25zdCBuZXh0RmllbGRJbmRleCA9IGN1cnJlbnRGaWVsZEluZGV4ICsgMTtcbiAgICBpZiAobmV4dEZpZWxkSW5kZXggPCBkaWdpdHMpIHtcbiAgICAgIGlucHV0c1tuZXh0RmllbGRJbmRleF0uZm9jdXMoKTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgcHJldmlvdXNGaWVsZCA9IChjdXJyZW50RmllbGRJbmRleDogbnVtYmVyKSA9PiB7XG4gICAgaWYgKGN1cnJlbnRGaWVsZEluZGV4ID4gMCkge1xuICAgICAgaW5wdXRzW2N1cnJlbnRGaWVsZEluZGV4IC0gMV0uZm9jdXMoKTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3Qgc2V0VmFsdWUgPSAoZmllbGRJbmRleDogbnVtYmVyLCB2YWx1ZTogc3RyaW5nKSA9PiB7XG4gICAgaWYgKC9eWzAtOV0/JC8udGVzdCh2YWx1ZSkpIHtcbiAgICAgIGNvbnN0IHZhbHVlc0NvcHkgPSB2YWx1ZXMuc2xpY2UoKTtcbiAgICAgIHZhbHVlc0NvcHlbZmllbGRJbmRleF0gPSB2YWx1ZTtcbiAgICAgIHNldFZhbHVlcyh2YWx1ZXNDb3B5KTtcbiAgICAgIGlmICh2YWx1ZS5sZW5ndGgpIHtcbiAgICAgICAgbmV4dEZpZWxkKGZpZWxkSW5kZXgpO1xuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICBjb25zdCBoYW5kbGVLZXlEb3duID0gKGZpZWxkSW5kZXg6IG51bWJlciwge2tleX06IFJlYWN0LktleWJvYXJkRXZlbnQ8SFRNTElucHV0RWxlbWVudD4pID0+IHtcbiAgICBzd2l0Y2ggKGtleSkge1xuICAgICAgY2FzZSAnQmFja3NwYWNlJzpcbiAgICAgICAgc2V0VmFsdWUoZmllbGRJbmRleCwgJycpO1xuICAgICAgICBwcmV2aW91c0ZpZWxkKGZpZWxkSW5kZXgpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0Fycm93TGVmdCc6XG4gICAgICAgIHByZXZpb3VzRmllbGQoZmllbGRJbmRleCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnQXJyb3dSaWdodCc6XG4gICAgICAgIG5leHRGaWVsZChmaWVsZEluZGV4KTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICAgIGlmICgvXlswLTldJC8udGVzdChrZXkpKSB7XG4gICAgICBzZXRWYWx1ZShmaWVsZEluZGV4LCBrZXkpO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBoYW5kbGVQYXN0ZSA9IChmaWVsZEluZGV4OiBudW1iZXIsIGV2ZW50OiBSZWFjdC5DbGlwYm9hcmRFdmVudDxIVE1MSW5wdXRFbGVtZW50PikgPT4ge1xuICAgIGNvbnN0IHBhc3RlZFZhbHVlID0gZXZlbnQuY2xpcGJvYXJkRGF0YS5nZXREYXRhKCdUZXh0Jyk7XG4gICAgY29uc3QgY2xlYW5lZFBhc3RlID0gcGFzdGVkVmFsdWUucmVwbGFjZSgvW14wLTldL2csICcnKTtcbiAgICBpZiAoL15bMC05XSskLy50ZXN0KGNsZWFuZWRQYXN0ZSkpIHtcbiAgICAgIHNldFZhbHVlcyh2YWx1ZXMuc2xpY2UoMCwgZmllbGRJbmRleCkuY29uY2F0KGNsZWFuZWRQYXN0ZS5zcGxpdCgnJykpLnNsaWNlKDAsIGRpZ2l0cykpO1xuICAgIH1cbiAgfTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGNvbXBsZXRlQ29kZSA9IHZhbHVlcy5qb2luKCcnKTtcbiAgICBpZiAoY29tcGxldGVDb2RlLmxlbmd0aCA9PT0gZGlnaXRzKSB7XG4gICAgICBvbkNvZGVDb21wbGV0ZShjb21wbGV0ZUNvZGUpO1xuICAgIH1cbiAgfSwgW3ZhbHVlc10pO1xuXG4gIHJldHVybiAoXG4gICAgPENvZGVJbnB1dFdyYXBwZXIgc3R5bGU9e3N0eWxlfT5cbiAgICAgIHtBcnJheS5mcm9tKHtsZW5ndGg6IGRpZ2l0c30sIChfLCBpbmRleCkgPT4gKFxuICAgICAgICA8RGlnaXRJbnB1dFxuICAgICAgICAgIGF1dG9Gb2N1cz17aW5kZXggPT09IDAgJiYgYXV0b0ZvY3VzfVxuICAgICAgICAgIGtleT17aW5kZXh9XG4gICAgICAgICAgb25QYXN0ZT17ZXZlbnQgPT4gaGFuZGxlUGFzdGUoaW5kZXgsIGV2ZW50KX1cbiAgICAgICAgICBvbkZvY3VzPXtmb3JjZVNlbGVjdGlvbn1cbiAgICAgICAgICBvbk1vdXNlRG93bj17Zm9yY2VTZWxlY3Rpb25QcmV2ZW50RGVmYXVsdH1cbiAgICAgICAgICBvblRvdWNoU3RhcnQ9e2ZvcmNlU2VsZWN0aW9uUHJldmVudERlZmF1bHR9XG4gICAgICAgICAgb25LZXlEb3duPXtldmVudCA9PiBoYW5kbGVLZXlEb3duKGluZGV4LCBldmVudCl9XG4gICAgICAgICAgb25LZXlVcD17Zm9yY2VTZWxlY3Rpb259XG4gICAgICAgICAgbWFya0ludmFsaWQ9e21hcmtJbnZhbGlkfVxuICAgICAgICAgIHJlZj17bm9kZSA9PiAoaW5wdXRzW2luZGV4XSA9IG5vZGUpfVxuICAgICAgICAgIHZhbHVlPXt2YWx1ZXNbaW5kZXhdfVxuICAgICAgICAgIG9uQ2hhbmdlPXsoKSA9PiB7fX1cbiAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgIC8+XG4gICAgICApKX1cbiAgICA8L0NvZGVJbnB1dFdyYXBwZXI+XG4gICk7XG59O1xuIl19 */",
45
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
101
46
  };
47
+
48
+ var CodeInputWrapper = function CodeInputWrapper(props) {
49
+ return (0, _react.jsx)("div", (0, _extends2["default"])({
50
+ css: _ref
51
+ }, props));
52
+ };
53
+
54
+ var digitInputStyle = function digitInputStyle(theme, props) {
55
+ return _objectSpread(_objectSpread({}, (0, _Input.inputStyle)(theme, props)), {}, {
56
+ '& + &': {
57
+ marginLeft: 'min(19px, 2vw)'
58
+ },
59
+ '&:hover': {
60
+ boxShadow: "0 0 0 1px ".concat(_Identity.COLOR_V2.GRAY_60)
61
+ },
62
+ fontSize: '24px',
63
+ lineHeight: '28px',
64
+ borderRadius: '12px',
65
+ padding: 0,
66
+ textAlign: 'center',
67
+ width: 'min(48px, 13vw)',
68
+ height: '56px'
69
+ });
70
+ };
71
+
72
+ var DigitInput = /*#__PURE__*/_react2["default"].forwardRef(function (props, ref) {
73
+ return (0, _react.jsx)("input", (0, _extends2["default"])({
74
+ ref: ref,
75
+ css: function css(theme) {
76
+ return digitInputStyle(theme, props);
77
+ }
78
+ }, props, {
79
+ type: "tel"
80
+ }));
81
+ });
82
+
83
+ var CodeInput = function CodeInput(_ref2) {
84
+ var style = _ref2.style,
85
+ _ref2$digits = _ref2.digits,
86
+ digits = _ref2$digits === void 0 ? 6 : _ref2$digits,
87
+ _ref2$autoFocus = _ref2.autoFocus,
88
+ autoFocus = _ref2$autoFocus === void 0 ? false : _ref2$autoFocus,
89
+ markInvalid = _ref2.markInvalid,
90
+ _ref2$onCodeComplete = _ref2.onCodeComplete,
91
+ onCodeComplete = _ref2$onCodeComplete === void 0 ? _util.noop : _ref2$onCodeComplete,
92
+ disabled = _ref2.disabled;
93
+
94
+ var _useState = (0, _react2.useState)(Array(digits).fill('')),
95
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
96
+ values = _useState2[0],
97
+ setValues = _useState2[1];
98
+
99
+ var inputs = Array(digits);
100
+
101
+ var forceSelection = function forceSelection(event) {
102
+ var target = event.target;
103
+ target.select();
104
+ };
105
+
106
+ var forceSelectionPreventDefault = function forceSelectionPreventDefault(event) {
107
+ forceSelection(event);
108
+ event.preventDefault();
109
+ };
110
+
111
+ var nextField = function nextField(currentFieldIndex) {
112
+ var nextFieldIndex = currentFieldIndex + 1;
113
+
114
+ if (nextFieldIndex < digits) {
115
+ inputs[nextFieldIndex].focus();
116
+ }
117
+ };
118
+
119
+ var previousField = function previousField(currentFieldIndex) {
120
+ if (currentFieldIndex > 0) {
121
+ inputs[currentFieldIndex - 1].focus();
122
+ }
123
+ };
124
+
125
+ var setValue = function setValue(fieldIndex, value) {
126
+ if (/^[0-9]?$/.test(value)) {
127
+ var valuesCopy = values.slice();
128
+ valuesCopy[fieldIndex] = value;
129
+ setValues(valuesCopy);
130
+
131
+ if (value.length) {
132
+ nextField(fieldIndex);
133
+ }
134
+ }
135
+ };
136
+
137
+ var handleKeyDown = function handleKeyDown(fieldIndex, _ref3) {
138
+ var key = _ref3.key;
139
+
140
+ switch (key) {
141
+ case 'Backspace':
142
+ setValue(fieldIndex, '');
143
+ previousField(fieldIndex);
144
+ break;
145
+
146
+ case 'ArrowLeft':
147
+ previousField(fieldIndex);
148
+ break;
149
+
150
+ case 'ArrowRight':
151
+ nextField(fieldIndex);
152
+ break;
153
+ }
154
+
155
+ if (/^[0-9]$/.test(key)) {
156
+ setValue(fieldIndex, key);
157
+ }
158
+ };
159
+
160
+ var handlePaste = function handlePaste(fieldIndex, event) {
161
+ var pastedValue = event.clipboardData.getData('Text');
162
+ var cleanedPaste = pastedValue.replace(/[^0-9]/g, '');
163
+
164
+ if (/^[0-9]+$/.test(cleanedPaste)) {
165
+ setValues(values.slice(0, fieldIndex).concat(cleanedPaste.split('')).slice(0, digits));
166
+ }
167
+ };
168
+
169
+ (0, _react2.useEffect)(function () {
170
+ var completeCode = values.join('');
171
+
172
+ if (completeCode.length === digits) {
173
+ onCodeComplete(completeCode);
174
+ }
175
+ }, [values]);
176
+ return (0, _react.jsx)(CodeInputWrapper, {
177
+ style: style
178
+ }, Array.from({
179
+ length: digits
180
+ }, function (_, index) {
181
+ return (0, _react.jsx)(DigitInput, {
182
+ autoFocus: index === 0 && autoFocus,
183
+ key: index,
184
+ onPaste: function onPaste(event) {
185
+ return handlePaste(index, event);
186
+ },
187
+ onFocus: forceSelection,
188
+ onMouseDown: forceSelectionPreventDefault,
189
+ onTouchStart: forceSelectionPreventDefault,
190
+ onKeyDown: function onKeyDown(event) {
191
+ return handleKeyDown(index, event);
192
+ },
193
+ onKeyUp: forceSelection,
194
+ markInvalid: markInvalid,
195
+ ref: function ref(node) {
196
+ return inputs[index] = node;
197
+ },
198
+ value: values[index],
199
+ onChange: function onChange() {},
200
+ disabled: disabled
201
+ });
202
+ }));
203
+ };
204
+
102
205
  exports.CodeInput = CodeInput;
103
206
  //# sourceMappingURL=CodeInput.js.map