@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.
- package/package.json +5 -4
- package/src/Form/Button.js +210 -125
- package/src/Form/Button.js.map +1 -1
- package/src/Form/ButtonLink.js +60 -47
- package/src/Form/ButtonLink.js.map +1 -1
- package/src/Form/Checkbox.js +139 -84
- package/src/Form/Checkbox.js.map +1 -1
- package/src/Form/CodeInput.js +201 -98
- package/src/Form/CodeInput.js.map +1 -1
- package/src/Form/DropFileInput.js +214 -116
- package/src/Form/DropFileInput.js.map +1 -1
- package/src/Form/ErrorMessage.js +78 -45
- package/src/Form/ErrorMessage.js.map +1 -1
- package/src/Form/Form.d.ts +1 -0
- package/src/Form/Form.js +31 -28
- package/src/Form/Form.js.map +1 -1
- package/src/Form/Input.js +178 -101
- package/src/Form/Input.js.map +1 -1
- package/src/Form/InputBlock.d.ts +1 -1
- package/src/Form/InputBlock.js +45 -19
- package/src/Form/InputBlock.js.map +1 -1
- package/src/Form/InputLabel.js +46 -44
- package/src/Form/InputLabel.js.map +1 -1
- package/src/Form/InputSubmitCombo.js +53 -49
- package/src/Form/InputSubmitCombo.js.map +1 -1
- package/src/Form/RangeInput.js +71 -47
- package/src/Form/RangeInput.js.map +1 -1
- package/src/Form/RangeInput.styles.js +55 -39
- package/src/Form/RangeInput.styles.js.map +1 -1
- package/src/Form/RoundIconButton.js +62 -42
- package/src/Form/RoundIconButton.js.map +1 -1
- package/src/Form/Select.js +95 -55
- package/src/Form/Select.js.map +1 -1
- package/src/Form/SelectComponents.js +173 -101
- package/src/Form/SelectComponents.js.map +1 -1
- package/src/Form/SelectStyles.d.ts +899 -1
- package/src/Form/SelectStyles.js +156 -96
- package/src/Form/SelectStyles.js.map +1 -1
- package/src/Form/ShakeBox.d.ts +1 -1
- package/src/Form/ShakeBox.js +81 -33
- package/src/Form/ShakeBox.js.map +1 -1
- package/src/Form/Switch.js +124 -89
- package/src/Form/Switch.js.map +1 -1
- package/src/Form/TextArea.js +80 -59
- package/src/Form/TextArea.js.map +1 -1
- package/src/Form/Tooltip.js +75 -66
- package/src/Form/Tooltip.js.map +1 -1
- package/src/Form/index.js +238 -52
- package/src/Form/index.js.map +1 -1
- package/src/GlobalCssVariables.js +96 -79
- package/src/GlobalCssVariables.js.map +1 -1
- package/src/GlobalStyle.d.js +2 -0
- package/src/GlobalStyle.d.js.map +1 -1
- package/src/GlobalStyle.d.ts +2 -1
- package/src/GlobalStyle.js +55 -40
- package/src/GlobalStyle.js.map +1 -1
- package/src/Icon/AddPeopleIcon.js +24 -19
- package/src/Icon/AddPeopleIcon.js.map +1 -1
- package/src/Icon/ArchiveIcon.js +24 -6
- package/src/Icon/ArchiveIcon.js.map +1 -1
- package/src/Icon/ArrowDown.js +23 -19
- package/src/Icon/ArrowDown.js.map +1 -1
- package/src/Icon/ArrowIcon.js +35 -42
- package/src/Icon/ArrowIcon.js.map +1 -1
- package/src/Icon/AttachmentIcon.js +24 -6
- package/src/Icon/AttachmentIcon.js.map +1 -1
- package/src/Icon/AudioVideoIcon.js +24 -6
- package/src/Icon/AudioVideoIcon.js.map +1 -1
- package/src/Icon/BlockIcon.js +24 -6
- package/src/Icon/BlockIcon.js.map +1 -1
- package/src/Icon/Brand/AndroidIcon.js +25 -6
- package/src/Icon/Brand/AndroidIcon.js.map +1 -1
- package/src/Icon/Brand/AppleIcon.js +25 -6
- package/src/Icon/Brand/AppleIcon.js.map +1 -1
- package/src/Icon/Brand/ChromeIcon.js +25 -6
- package/src/Icon/Brand/ChromeIcon.js.map +1 -1
- package/src/Icon/Brand/FacebookIcon.js +24 -6
- package/src/Icon/Brand/FacebookIcon.js.map +1 -1
- package/src/Icon/Brand/GitHubIcon.js +24 -6
- package/src/Icon/Brand/GitHubIcon.js.map +1 -1
- package/src/Icon/Brand/LinkedInIcon.js +24 -6
- package/src/Icon/Brand/LinkedInIcon.js.map +1 -1
- package/src/Icon/Brand/LinuxIcon.js +25 -6
- package/src/Icon/Brand/LinuxIcon.js.map +1 -1
- package/src/Icon/Brand/MicrosoftIcon.js +25 -6
- package/src/Icon/Brand/MicrosoftIcon.js.map +1 -1
- package/src/Icon/Brand/TwitterIcon.js +24 -6
- package/src/Icon/Brand/TwitterIcon.js.map +1 -1
- package/src/Icon/CallIcon.js +24 -6
- package/src/Icon/CallIcon.js.map +1 -1
- package/src/Icon/CamIcon.js +24 -6
- package/src/Icon/CamIcon.js.map +1 -1
- package/src/Icon/CameraIcon.js +24 -19
- package/src/Icon/CameraIcon.js.map +1 -1
- package/src/Icon/CheckIcon.js +24 -6
- package/src/Icon/CheckIcon.js.map +1 -1
- package/src/Icon/CheckRoundIcon.js +24 -6
- package/src/Icon/CheckRoundIcon.js.map +1 -1
- package/src/Icon/ChevronIcon.js +31 -38
- package/src/Icon/ChevronIcon.js.map +1 -1
- package/src/Icon/CloseIcon.js +24 -6
- package/src/Icon/CloseIcon.js.map +1 -1
- package/src/Icon/CopyIcon.js +24 -6
- package/src/Icon/CopyIcon.js.map +1 -1
- package/src/Icon/DeviceIcon.js +24 -6
- package/src/Icon/DeviceIcon.js.map +1 -1
- package/src/Icon/DownloadIcon.js +24 -6
- package/src/Icon/DownloadIcon.js.map +1 -1
- package/src/Icon/EditDocumentIcon.js +25 -19
- package/src/Icon/EditDocumentIcon.js.map +1 -1
- package/src/Icon/EditIcon.js +24 -6
- package/src/Icon/EditIcon.js.map +1 -1
- package/src/Icon/EnterIcon.js +24 -6
- package/src/Icon/EnterIcon.js.map +1 -1
- package/src/Icon/ErrorIcon.js +39 -9
- package/src/Icon/ErrorIcon.js.map +1 -1
- package/src/Icon/FileIcon.js +24 -6
- package/src/Icon/FileIcon.js.map +1 -1
- package/src/Icon/GifIcon.js +24 -6
- package/src/Icon/GifIcon.js.map +1 -1
- package/src/Icon/GridIcon.js +24 -19
- package/src/Icon/GridIcon.js.map +1 -1
- package/src/Icon/GroupIcon.js +24 -6
- package/src/Icon/GroupIcon.js.map +1 -1
- package/src/Icon/HangupIcon.js +24 -6
- package/src/Icon/HangupIcon.js.map +1 -1
- package/src/Icon/HideIcon.js +24 -6
- package/src/Icon/HideIcon.js.map +1 -1
- package/src/Icon/ImageIcon.js +24 -6
- package/src/Icon/ImageIcon.js.map +1 -1
- package/src/Icon/InfoIcon.js +24 -6
- package/src/Icon/InfoIcon.js.map +1 -1
- package/src/Icon/InviteIcon.js +24 -6
- package/src/Icon/InviteIcon.js.map +1 -1
- package/src/Icon/LeaveIcon.js +24 -6
- package/src/Icon/LeaveIcon.js.map +1 -1
- package/src/Icon/LinkIcon.js +24 -19
- package/src/Icon/LinkIcon.js.map +1 -1
- package/src/Icon/ListIcon.js +24 -6
- package/src/Icon/ListIcon.js.map +1 -1
- package/src/Icon/LockIcon.js +25 -6
- package/src/Icon/LockIcon.js.map +1 -1
- package/src/Icon/MessageIcon.js +24 -6
- package/src/Icon/MessageIcon.js.map +1 -1
- package/src/Icon/MinusIcon.js +24 -6
- package/src/Icon/MinusIcon.js.map +1 -1
- package/src/Icon/MoreIcon.js +24 -6
- package/src/Icon/MoreIcon.js.map +1 -1
- package/src/Icon/MuteIcon.js +24 -6
- package/src/Icon/MuteIcon.js.map +1 -1
- package/src/Icon/NotificationIcon.js +24 -6
- package/src/Icon/NotificationIcon.js.map +1 -1
- package/src/Icon/NotificationOffIcon.js +24 -6
- package/src/Icon/NotificationOffIcon.js.map +1 -1
- package/src/Icon/OptionsIcon.js +24 -6
- package/src/Icon/OptionsIcon.js.map +1 -1
- package/src/Icon/PeopleIcon.js +24 -19
- package/src/Icon/PeopleIcon.js.map +1 -1
- package/src/Icon/PingIcon.js +24 -6
- package/src/Icon/PingIcon.js.map +1 -1
- package/src/Icon/PlaneIcon.js +24 -6
- package/src/Icon/PlaneIcon.js.map +1 -1
- package/src/Icon/PlusIcon.js +24 -6
- package/src/Icon/PlusIcon.js.map +1 -1
- package/src/Icon/ProfileIcon.js +24 -6
- package/src/Icon/ProfileIcon.js.map +1 -1
- package/src/Icon/RecordBoldIcon.js +50 -43
- package/src/Icon/RecordBoldIcon.js.map +1 -1
- package/src/Icon/RecordIcon.js +34 -8
- package/src/Icon/RecordIcon.js.map +1 -1
- package/src/Icon/RecordPendingIcon.js +31 -8
- package/src/Icon/RecordPendingIcon.js.map +1 -1
- package/src/Icon/ReloadIcon.js +24 -6
- package/src/Icon/ReloadIcon.js.map +1 -1
- package/src/Icon/SVGIcon.js +78 -53
- package/src/Icon/SVGIcon.js.map +1 -1
- package/src/Icon/ScreenshareIcon.js +24 -6
- package/src/Icon/ScreenshareIcon.js.map +1 -1
- package/src/Icon/SearchIcon.js +25 -6
- package/src/Icon/SearchIcon.js.map +1 -1
- package/src/Icon/ServicesIcon.js +24 -6
- package/src/Icon/ServicesIcon.js.map +1 -1
- package/src/Icon/SettingsIcon.js +24 -6
- package/src/Icon/SettingsIcon.js.map +1 -1
- package/src/Icon/ShowIcon.js +24 -6
- package/src/Icon/ShowIcon.js.map +1 -1
- package/src/Icon/SignIcon.js +24 -6
- package/src/Icon/SignIcon.js.map +1 -1
- package/src/Icon/SpeakerIcon.js +24 -6
- package/src/Icon/SpeakerIcon.js.map +1 -1
- package/src/Icon/SupportIcon.js +24 -6
- package/src/Icon/SupportIcon.js.map +1 -1
- package/src/Icon/TeamIcon.js +24 -6
- package/src/Icon/TeamIcon.js.map +1 -1
- package/src/Icon/TimedIcon.js +24 -6
- package/src/Icon/TimedIcon.js.map +1 -1
- package/src/Icon/TrashCrossIcon.js +24 -6
- package/src/Icon/TrashCrossIcon.js.map +1 -1
- package/src/Icon/TrashIcon.js +24 -6
- package/src/Icon/TrashIcon.js.map +1 -1
- package/src/Icon/TriangleIcon.js +35 -42
- package/src/Icon/TriangleIcon.js.map +1 -1
- package/src/Icon/UploadIcon.js +24 -6
- package/src/Icon/UploadIcon.js.map +1 -1
- package/src/Icon/WireIcon.js +24 -6
- package/src/Icon/WireIcon.js.map +1 -1
- package/src/Icon/index.js +953 -107
- package/src/Icon/index.js.map +1 -1
- package/src/Identity/Animation.js +211 -88
- package/src/Identity/Animation.js.map +1 -1
- package/src/Identity/Avatar.js +114 -66
- package/src/Identity/Avatar.js.map +1 -1
- package/src/Identity/AvatarGrid.js +108 -66
- package/src/Identity/AvatarGrid.js.map +1 -1
- package/src/Identity/Logo.js +54 -45
- package/src/Identity/Logo.js.map +1 -1
- package/src/Identity/colors-v2.js +186 -163
- package/src/Identity/colors-v2.js.map +1 -1
- package/src/Identity/colors.js +80 -64
- package/src/Identity/colors.js.map +1 -1
- package/src/Identity/index.js +81 -38
- package/src/Identity/index.js.map +1 -1
- package/src/Identity/motions.js +35 -71
- package/src/Identity/motions.js.map +1 -1
- package/src/Layout/Box.d.ts +1 -1
- package/src/Layout/Box.js +31 -9
- package/src/Layout/Box.js.map +1 -1
- package/src/Layout/Column.d.ts +1 -1
- package/src/Layout/Column.js +57 -17
- package/src/Layout/Column.js.map +1 -1
- package/src/Layout/Container.d.ts +5 -5
- package/src/Layout/Container.js +102 -29
- package/src/Layout/Container.js.map +1 -1
- package/src/Layout/Content.d.ts +1 -1
- package/src/Layout/Content.js +31 -8
- package/src/Layout/Content.js.map +1 -1
- package/src/Layout/FlexBox.js +45 -10
- package/src/Layout/FlexBox.js.map +1 -1
- package/src/Layout/Footer.d.ts +4 -1
- package/src/Layout/Footer.js +17 -4
- package/src/Layout/Footer.js.map +1 -1
- package/src/Layout/Header.d.ts +1 -1
- package/src/Layout/Header.js +28 -7
- package/src/Layout/Header.js.map +1 -1
- package/src/Layout/MatchMedia.js +112 -27
- package/src/Layout/MatchMedia.js.map +1 -1
- package/src/Layout/Spacer.js +26 -6
- package/src/Layout/Spacer.js.map +1 -1
- package/src/Layout/StyledApp.js +53 -45
- package/src/Layout/StyledApp.js.map +1 -1
- package/src/Layout/Theme.js +225 -217
- package/src/Layout/Theme.js.map +1 -1
- package/src/Layout/headerMenu/HeaderMenu.js +117 -54
- package/src/Layout/headerMenu/HeaderMenu.js.map +1 -1
- package/src/Layout/headerMenu/HeaderSubMenu.d.ts +1 -1
- package/src/Layout/headerMenu/HeaderSubMenu.js +131 -74
- package/src/Layout/headerMenu/HeaderSubMenu.js.map +1 -1
- package/src/Layout/headerMenu/MenuContent.js +47 -26
- package/src/Layout/headerMenu/MenuContent.js.map +1 -1
- package/src/Layout/headerMenu/MenuItems.js +52 -22
- package/src/Layout/headerMenu/MenuItems.js.map +1 -1
- package/src/Layout/headerMenu/MenuLink.js +89 -65
- package/src/Layout/headerMenu/MenuLink.js.map +1 -1
- package/src/Layout/headerMenu/MenuOpenButton.js +54 -26
- package/src/Layout/headerMenu/MenuOpenButton.js.map +1 -1
- package/src/Layout/headerMenu/MenuScrollableItems.js +36 -13
- package/src/Layout/headerMenu/MenuScrollableItems.js.map +1 -1
- package/src/Layout/headerMenu/MenuSubLink.js +64 -45
- package/src/Layout/headerMenu/MenuSubLink.js.map +1 -1
- package/src/Layout/headerMenu/index.js +108 -41
- package/src/Layout/headerMenu/index.js.map +1 -1
- package/src/Layout/index.js +173 -46
- package/src/Layout/index.js.map +1 -1
- package/src/Layout/sizes.js +21 -14
- package/src/Layout/sizes.js.map +1 -1
- package/src/Menu/MenuModal.js +123 -78
- package/src/Menu/MenuModal.js.map +1 -1
- package/src/Menu/TabBar.d.ts +1 -1
- package/src/Menu/TabBar.js +96 -50
- package/src/Menu/TabBar.js.map +1 -1
- package/src/Menu/index.js +29 -34
- package/src/Menu/index.js.map +1 -1
- package/src/Misc/ButtonGroup.js +97 -67
- package/src/Misc/ButtonGroup.js.map +1 -1
- package/src/Misc/IconButton.js +102 -72
- package/src/Misc/IconButton.js.map +1 -1
- package/src/Misc/IsInViewport.js +63 -57
- package/src/Misc/IsInViewport.js.map +1 -1
- package/src/Misc/Loading.d.ts +1 -1
- package/src/Misc/Loading.js +66 -58
- package/src/Misc/Loading.js.map +1 -1
- package/src/Misc/Pagination.js +149 -64
- package/src/Misc/Pagination.js.map +1 -1
- package/src/Misc/Pill.js +80 -66
- package/src/Misc/Pill.js.map +1 -1
- package/src/Misc/childrenWithDefaultProps.d.ts +1 -1
- package/src/Misc/childrenWithDefaultProps.js +28 -28
- package/src/Misc/childrenWithDefaultProps.js.map +1 -1
- package/src/Misc/index.js +121 -42
- package/src/Misc/index.js.map +1 -1
- package/src/Misc/useLongTouch.js +38 -23
- package/src/Misc/useLongTouch.js.map +1 -1
- package/src/Misc/useTimeout.js +44 -24
- package/src/Misc/useTimeout.js.map +1 -1
- package/src/Modal/Modal.js +177 -95
- package/src/Modal/Modal.js.map +1 -1
- package/src/Modal/Overlay.d.ts +2 -2
- package/src/Modal/Overlay.js +92 -68
- package/src/Modal/Overlay.js.map +1 -1
- package/src/Modal/index.js +28 -36
- package/src/Modal/index.js.map +1 -1
- package/src/Text/Heading.js +188 -71
- package/src/Text/Heading.js.map +1 -1
- package/src/Text/Label.js +74 -45
- package/src/Text/Label.js.map +1 -1
- package/src/Text/Line.js +36 -11
- package/src/Text/Line.js.map +1 -1
- package/src/Text/Link.js +88 -60
- package/src/Text/Link.js.map +1 -1
- package/src/Text/Paragraph.js +75 -44
- package/src/Text/Paragraph.js.map +1 -1
- package/src/Text/Text.d.ts +6 -6
- package/src/Text/Text.js +107 -29
- package/src/Text/Text.js.map +1 -1
- package/src/Text/TextLink.js +52 -38
- package/src/Text/TextLink.js.map +1 -1
- package/src/Text/Title.js +55 -38
- package/src/Text/Title.js.map +1 -1
- package/src/Text/index.js +108 -41
- package/src/Text/index.js.map +1 -1
- package/src/index.js +121 -42
- package/src/index.js.map +1 -1
- package/src/mediaQueries.js +41 -40
- package/src/mediaQueries.js.map +1 -1
- package/src/util.js +39 -8
- package/src/util.js.map +1 -1
package/src/Form/Checkbox.js
CHANGED
|
@@ -1,91 +1,146 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
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
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
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
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
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
|
-
|
|
87
|
-
|
|
88
|
-
|
|
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
|
package/src/Form/Checkbox.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
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"}
|
package/src/Form/CodeInput.js
CHANGED
|
@@ -1,103 +1,206 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
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
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
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
|