@alfalab/core-components-pattern-lock 1.5.1 → 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (126) hide show
  1. package/Component.responsive.js +23 -0
  2. package/components/base-pattern-lock/Component.d.ts +6 -0
  3. package/{Component.js → components/base-pattern-lock/Component.js} +17 -16
  4. package/{esm → components/base-pattern-lock}/index.css +8 -36
  5. package/components/base-pattern-lock/index.d.ts +1 -0
  6. package/components/base-pattern-lock/index.js +9 -0
  7. package/consts.js +2 -0
  8. package/cssm/Component.responsive.js +23 -0
  9. package/cssm/components/base-pattern-lock/Component.d.ts +6 -0
  10. package/cssm/{Component.js → components/base-pattern-lock/Component.js} +18 -17
  11. package/cssm/components/base-pattern-lock/index.d.ts +1 -0
  12. package/cssm/components/base-pattern-lock/index.js +9 -0
  13. package/cssm/{index.module.css → components/base-pattern-lock/index.module.css} +2 -30
  14. package/cssm/consts.js +2 -0
  15. package/cssm/desktop/Component.desktop.d.ts +6 -0
  16. package/cssm/desktop/Component.desktop.js +17 -0
  17. package/cssm/desktop/desktop.module.css +27 -0
  18. package/cssm/desktop/index.d.ts +2 -0
  19. package/cssm/desktop/index.js +9 -0
  20. package/cssm/hooks/use-pattern-lock-cleanup.d.ts +6 -0
  21. package/cssm/hooks/use-pattern-lock-cleanup.js +18 -0
  22. package/cssm/index.d.ts +1 -1
  23. package/cssm/index.js +2 -2
  24. package/cssm/mobile/Component.mobile.d.ts +6 -0
  25. package/cssm/mobile/Component.mobile.js +17 -0
  26. package/cssm/mobile/index.d.ts +2 -0
  27. package/cssm/mobile/index.js +9 -0
  28. package/cssm/mobile/mobile.module.css +47 -0
  29. package/cssm/shared/index.d.ts +1 -0
  30. package/cssm/shared/index.js +2 -0
  31. package/cssm/typings.d.ts +29 -4
  32. package/cssm/utils.js +12 -1
  33. package/desktop/Component.desktop.d.ts +6 -0
  34. package/desktop/Component.desktop.js +18 -0
  35. package/desktop/desktop.css +28 -0
  36. package/desktop/index.d.ts +2 -0
  37. package/desktop/index.js +9 -0
  38. package/desktop/package.json +3 -0
  39. package/esm/Component.responsive.js +15 -0
  40. package/esm/components/base-pattern-lock/Component.d.ts +6 -0
  41. package/esm/{Component.js → components/base-pattern-lock/Component.js} +17 -16
  42. package/{modern → esm/components/base-pattern-lock}/index.css +8 -36
  43. package/esm/components/base-pattern-lock/index.d.ts +1 -0
  44. package/esm/components/base-pattern-lock/index.js +1 -0
  45. package/esm/consts.js +2 -0
  46. package/esm/desktop/Component.desktop.d.ts +6 -0
  47. package/esm/desktop/Component.desktop.js +10 -0
  48. package/esm/desktop/desktop.css +28 -0
  49. package/esm/desktop/index.d.ts +2 -0
  50. package/esm/desktop/index.js +1 -0
  51. package/esm/hooks/use-pattern-lock-cleanup.d.ts +6 -0
  52. package/esm/hooks/use-pattern-lock-cleanup.js +14 -0
  53. package/esm/index.d.ts +1 -1
  54. package/esm/index.js +1 -1
  55. package/esm/mobile/Component.mobile.d.ts +6 -0
  56. package/esm/mobile/Component.mobile.js +10 -0
  57. package/esm/mobile/index.d.ts +2 -0
  58. package/esm/mobile/index.js +1 -0
  59. package/esm/mobile/mobile.css +48 -0
  60. package/esm/shared/index.d.ts +1 -0
  61. package/esm/shared/index.js +1 -0
  62. package/esm/typings.d.ts +29 -4
  63. package/esm/utils.js +12 -1
  64. package/hooks/use-pattern-lock-cleanup.d.ts +6 -0
  65. package/hooks/use-pattern-lock-cleanup.js +18 -0
  66. package/index.d.ts +1 -1
  67. package/index.js +2 -2
  68. package/mobile/Component.mobile.d.ts +6 -0
  69. package/mobile/Component.mobile.js +18 -0
  70. package/mobile/index.d.ts +2 -0
  71. package/mobile/index.js +9 -0
  72. package/mobile/mobile.css +48 -0
  73. package/mobile/package.json +3 -0
  74. package/modern/Component.responsive.js +13 -0
  75. package/modern/components/base-pattern-lock/Component.d.ts +6 -0
  76. package/modern/{Component.js → components/base-pattern-lock/Component.js} +14 -13
  77. package/{index.css → modern/components/base-pattern-lock/index.css} +8 -36
  78. package/modern/components/base-pattern-lock/index.d.ts +1 -0
  79. package/modern/components/base-pattern-lock/index.js +1 -0
  80. package/modern/consts.js +2 -0
  81. package/modern/desktop/Component.desktop.d.ts +6 -0
  82. package/modern/desktop/Component.desktop.js +9 -0
  83. package/modern/desktop/desktop.css +28 -0
  84. package/modern/desktop/index.d.ts +2 -0
  85. package/modern/desktop/index.js +1 -0
  86. package/modern/hooks/use-pattern-lock-cleanup.d.ts +6 -0
  87. package/modern/hooks/use-pattern-lock-cleanup.js +14 -0
  88. package/modern/index.d.ts +1 -1
  89. package/modern/index.js +1 -1
  90. package/modern/mobile/Component.mobile.d.ts +6 -0
  91. package/modern/mobile/Component.mobile.js +9 -0
  92. package/modern/mobile/index.d.ts +2 -0
  93. package/modern/mobile/index.js +1 -0
  94. package/modern/mobile/mobile.css +48 -0
  95. package/modern/shared/index.d.ts +1 -0
  96. package/modern/shared/index.js +1 -0
  97. package/modern/typings.d.ts +29 -4
  98. package/modern/utils.js +12 -1
  99. package/package.json +3 -3
  100. package/shared/index.d.ts +1 -0
  101. package/shared/index.js +2 -0
  102. package/src/Component.responsive.tsx +20 -0
  103. package/src/{Component.tsx → components/base-pattern-lock/Component.tsx} +33 -17
  104. package/src/components/base-pattern-lock/index.module.css +34 -0
  105. package/src/components/base-pattern-lock/index.ts +1 -0
  106. package/src/consts.ts +2 -0
  107. package/src/desktop/Component.desktop.tsx +11 -0
  108. package/src/desktop/desktop.module.css +15 -0
  109. package/src/desktop/index.ts +2 -0
  110. package/src/desktop/package.json +3 -0
  111. package/src/hooks/use-pattern-lock-cleanup.tsx +16 -0
  112. package/src/index.ts +1 -1
  113. package/src/mobile/Component.mobile.tsx +11 -0
  114. package/src/mobile/index.ts +2 -0
  115. package/src/{index.module.css → mobile/mobile.module.css} +1 -28
  116. package/src/mobile/package.json +3 -0
  117. package/src/shared/index.ts +1 -0
  118. package/src/typings.ts +28 -3
  119. package/src/utils.ts +11 -1
  120. package/src/vars.css +1 -0
  121. package/typings.d.ts +29 -4
  122. package/utils.js +12 -1
  123. /package/{Component.d.ts → Component.responsive.d.ts} +0 -0
  124. /package/cssm/{Component.d.ts → Component.responsive.d.ts} +0 -0
  125. /package/esm/{Component.d.ts → Component.responsive.d.ts} +0 -0
  126. /package/modern/{Component.d.ts → Component.responsive.d.ts} +0 -0
@@ -0,0 +1,23 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var tslib = require('tslib');
6
+ var React = require('react');
7
+ var coreComponentsMq = require('@alfalab/core-components-mq');
8
+ var desktop_Component_desktop = require('./desktop/Component.desktop.js');
9
+ var mobile_Component_mobile = require('./mobile/Component.mobile.js');
10
+
11
+ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
12
+
13
+ var React__default = /*#__PURE__*/_interopDefaultCompat(React);
14
+
15
+ var PatternLock = React.forwardRef(function (_a, ref) {
16
+ var _b = _a.breakpoint, breakpoint = _b === void 0 ? 1024 : _b, restProps = tslib.__rest(_a, ["breakpoint"]);
17
+ var query = "(min-width: ".concat(breakpoint, "px)");
18
+ var isDesktop = coreComponentsMq.useMatchMedia(query)[0];
19
+ var Component = isDesktop ? desktop_Component_desktop.PatternLockDesktop : mobile_Component_mobile.PatternLockMobile;
20
+ return React__default.default.createElement(Component, tslib.__assign({ ref: ref }, restProps));
21
+ });
22
+
23
+ exports.PatternLock = PatternLock;
@@ -0,0 +1,6 @@
1
+ /// <reference types="react" />
2
+ import React from 'react';
3
+ import { TPatternLockInstance } from 'react-canvas-pattern-lock';
4
+ import { CommonPatternLockProps, PrivatePatternLockProps } from "../../typings";
5
+ declare const BasePatternLock: React.ForwardRefExoticComponent<(CommonPatternLockProps & PrivatePatternLockProps) & React.RefAttributes<TPatternLockInstance>>;
6
+ export { BasePatternLock };
@@ -7,23 +7,22 @@ var React = require('react');
7
7
  var reactCanvasPatternLock = require('react-canvas-pattern-lock');
8
8
  var cn = require('classnames');
9
9
  var mobile = require('@alfalab/core-components-button/mobile');
10
- var coreComponentsGap = require('@alfalab/core-components-gap');
11
10
  var coreComponentsShared = require('@alfalab/core-components-shared');
12
- var consts = require('./consts.js');
13
- var utils = require('./utils.js');
11
+ var consts = require('../../consts.js');
12
+ var utils = require('../../utils.js');
14
13
 
15
14
  function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
16
15
 
17
16
  var React__default = /*#__PURE__*/_interopDefaultCompat(React);
18
17
  var cn__default = /*#__PURE__*/_interopDefaultCompat(cn);
19
18
 
20
- var styles = {"component":"pattern-lock__component_1c1da","hidden":"pattern-lock__hidden_1c1da","message":"pattern-lock__message_1c1da","error":"pattern-lock__error_1c1da","forgotBtn":"pattern-lock__forgotBtn_1c1da"};
19
+ var commonStyles = {"component":"pattern-lock__component_8m1ld","hidden":"pattern-lock__hidden_8m1ld","message":"pattern-lock__message_8m1ld","error":"pattern-lock__error_8m1ld","forgotBtn":"pattern-lock__forgotBtn_8m1ld"};
21
20
  require('./index.css')
22
21
 
23
- var PatternLock = React.forwardRef(function (_a, ref) {
24
- var _b;
25
- var _c = _a.observeTokens, observeTokens = _c === void 0 ? false : _c, _d = _a.observerParams, observerParams = _d === void 0 ? {} : _d, _e = _a.justifyNodes, justifyNodes = _e === void 0 ? 'space-between' : _e, className = _a.className, error = _a.error, dataTestId = _a.dataTestId, _f = _a.forgotCodeBtnText, forgotCodeBtnText = _f === void 0 ? 'Забыли код?' : _f, _g = _a.showForgotCodeBtn, showForgotCodeBtn = _g === void 0 ? false : _g, onForgotBtnClick = _a.onForgotBtnClick, _h = _a.extraBounds, extraBounds = _h === void 0 ? consts.DEFAULT_EXTRA_BOUNDS : _h, message = _a.message, restProps = tslib.__rest(_a, ["observeTokens", "observerParams", "justifyNodes", "className", "error", "dataTestId", "forgotCodeBtnText", "showForgotCodeBtn", "onForgotBtnClick", "extraBounds", "message"]);
26
- var _j = React.useState(), params = _j[0], setParams = _j[1];
22
+ var BasePatternLock = React.forwardRef(function (_a, ref) {
23
+ var _b, _c;
24
+ var _d = _a.observeTokens, observeTokens = _d === void 0 ? false : _d, _e = _a.observerParams, observerParams = _e === void 0 ? {} : _e, _f = _a.justifyNodes, justifyNodes = _f === void 0 ? 'space-between' : _f, className = _a.className, error = _a.error, dataTestId = _a.dataTestId, _g = _a.forgotCodeBtnText, forgotCodeBtnText = _g === void 0 ? 'Забыли код?' : _g, _h = _a.showForgotCodeBtn, showForgotCodeBtn = _h === void 0 ? false : _h, onForgotBtnClick = _a.onForgotBtnClick, _j = _a.extraBounds, extraBounds = _j === void 0 ? consts.DEFAULT_EXTRA_BOUNDS : _j, message = _a.message, messageClassName = _a.messageClassName, hover = _a.hover, _k = _a.styles, styles = _k === void 0 ? {} : _k, restProps = tslib.__rest(_a, ["observeTokens", "observerParams", "justifyNodes", "className", "error", "dataTestId", "forgotCodeBtnText", "showForgotCodeBtn", "onForgotBtnClick", "extraBounds", "message", "messageClassName", "hover", "styles"]);
25
+ var _l = React.useState(), params = _l[0], setParams = _l[1];
27
26
  React.useEffect(function () {
28
27
  var _a = utils.getSizes(), elementSizes = _a.elementSizes, width = _a.width, height = _a.height;
29
28
  setParams({
@@ -54,14 +53,16 @@ var PatternLock = React.forwardRef(function (_a, ref) {
54
53
  return function () { return styleObserver === null || styleObserver === void 0 ? void 0 : styleObserver.disconnect(); };
55
54
  // eslint-disable-next-line react-hooks/exhaustive-deps
56
55
  }, [observeTokens]);
57
- var renderMessage = function () { return (React__default.default.createElement("div", { className: styles.message, "data-test-id": coreComponentsShared.getDataTestId(dataTestId, 'message') }, message)); };
58
- var renderError = function () { return (React__default.default.createElement("div", { className: cn__default.default(styles.message, styles.error), "data-test-id": coreComponentsShared.getDataTestId(dataTestId, 'error') }, error)); };
59
- return (React__default.default.createElement("div", { className: cn__default.default(styles.component, className, (_b = {}, _b[styles.hidden] = !params, _b)), "data-test-id": dataTestId },
60
- React__default.default.createElement(coreComponentsGap.Gap, { size: 'xs' }),
56
+ var renderMessage = function () { return (React__default.default.createElement("div", { className: cn__default.default(commonStyles.message, messageClassName), "data-test-id": coreComponentsShared.getDataTestId(dataTestId, 'message') }, message)); };
57
+ var renderError = function () { return (React__default.default.createElement("div", { className: cn__default.default(commonStyles.message, commonStyles.error, messageClassName), "data-test-id": coreComponentsShared.getDataTestId(dataTestId, 'error') }, error)); };
58
+ return (React__default.default.createElement("div", { className: cn__default.default(commonStyles.component, styles.component, className, (_b = {},
59
+ _b[commonStyles.hidden] = !params,
60
+ _b)), "data-test-id": dataTestId },
61
61
  error ? renderError() : renderMessage(),
62
- React__default.default.createElement(coreComponentsGap.Gap, { size: '3xl' }),
63
- React__default.default.createElement(reactCanvasPatternLock.ReactCanvasPatternLock, tslib.__assign({}, restProps, params, { ref: ref, rows: 3, cols: 3, justifyNodes: justifyNodes, extraBounds: extraBounds })),
64
- showForgotCodeBtn ? (React__default.default.createElement(mobile.ButtonMobile, { view: 'link', className: styles.forgotBtn, onClick: onForgotBtnClick, dataTestId: coreComponentsShared.getDataTestId(dataTestId, 'forgot-code-btn') }, forgotCodeBtnText)) : (React__default.default.createElement("div", { className: styles.forgotBtn }))));
62
+ React__default.default.createElement(reactCanvasPatternLock.ReactCanvasPatternLock, tslib.__assign({}, restProps, params, { ref: ref, rows: 3, cols: 3, justifyNodes: justifyNodes, extraBounds: extraBounds, hover: hover })),
63
+ showForgotCodeBtn ? (React__default.default.createElement(mobile.ButtonMobile, { view: 'link', className: cn__default.default(commonStyles.forgotBtn, styles.forgotBtn), onClick: onForgotBtnClick, dataTestId: coreComponentsShared.getDataTestId(dataTestId, 'forgot-code-btn') }, forgotCodeBtnText)) : (React__default.default.createElement("div", { className: cn__default.default(commonStyles.forgotBtn, styles.forgotBtn, (_c = {},
64
+ _c[styles.hiddenBtn] = Boolean(styles.hiddenBtn),
65
+ _c)) }))));
65
66
  });
66
67
 
67
- exports.PatternLock = PatternLock;
68
+ exports.BasePatternLock = BasePatternLock;
@@ -1,4 +1,4 @@
1
- /* hash: dybik */
1
+ /* hash: us3cg */
2
2
  :root { /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
3
3
  } /* deprecated */ :root {
4
4
  --color-light-text-negative: #ec2e14;
@@ -14,60 +14,32 @@
14
14
  /* Hard up */
15
15
  } :root {
16
16
  } :root {
17
- --gap-xs: 8px;
18
- --gap-s: 12px;
19
17
  --gap-m: 16px;
20
- --gap-l: 20px;
21
- --gap-xl: 24px;
22
- --gap-2xl: 32px;
18
+ --gap-3xl: 40px;
23
19
  } :root {
24
20
  } :root {
25
21
  --size-xs-height: 40px;
26
- --size-s-height: 48px;
27
- --size-m-height: 56px;
28
22
  } :root {
29
- --pattern-lock-max-width: 500px;
30
- } .pattern-lock__component_1c1da {
31
- max-width: var(--pattern-lock-max-width);
32
- margin: var(--gap-xs) 0 var(--gap-xl) 0
33
- } .pattern-lock__component_1c1da canvas {
23
+ } .pattern-lock__component_8m1ld canvas {
34
24
  display: block;
35
25
  margin: 0 auto;
36
- } .pattern-lock__hidden_1c1da {
26
+ } .pattern-lock__hidden_8m1ld {
37
27
  visibility: hidden;
38
- } .pattern-lock__message_1c1da {
28
+ } .pattern-lock__message_8m1ld {
39
29
  font-size: 16px;
40
30
  line-height: 24px;
41
31
  font-weight: 400;
42
32
 
43
33
  text-align: center;
44
- padding: 0 var(--gap-m);
34
+ padding: 0 var(--gap-m) var(--gap-3xl);
45
35
  min-height: 24px;
46
36
  overflow: hidden;
47
37
  text-overflow: ellipsis;
48
38
  white-space: nowrap;
49
39
  color: var(--color-light-text-primary);
50
- } .pattern-lock__error_1c1da {
40
+ } .pattern-lock__error_8m1ld {
51
41
  color: var(--color-light-text-negative);
52
- } .pattern-lock__forgotBtn_1c1da {
42
+ } .pattern-lock__forgotBtn_8m1ld {
53
43
  display: block;
54
44
  min-height: var(--size-xs-height);
55
- margin: var(--gap-xl) auto 0;
56
- } @media screen and (min-width: 360px) {
57
- .pattern-lock__forgotBtn_1c1da {
58
- margin-top: var(--gap-2xl);
59
- min-height: var(--size-s-height);
60
- }
61
-
62
- .pattern-lock__component_1c1da {
63
- margin-bottom: var(--gap-s);
64
- }
65
- } @media screen and (min-width: 390px) {
66
- .pattern-lock__forgotBtn_1c1da {
67
- min-height: var(--size-m-height);
68
- }
69
-
70
- .pattern-lock__component_1c1da {
71
- margin-bottom: var(--gap-l);
72
- }
73
45
  }
@@ -0,0 +1 @@
1
+ export * from "./Component";
@@ -0,0 +1,9 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var components_basePatternLock_Component = require('./Component.js');
6
+
7
+
8
+
9
+ exports.BasePatternLock = components_basePatternLock_Component.BasePatternLock;
package/consts.js CHANGED
@@ -19,6 +19,8 @@ var OBSERVABLE_TOKENS = {
19
19
  SELECTED_RING_BG_INITIAL: '--color-light-specialbg-tertiary-transparent',
20
20
  SELECTED_RING_BG_SUCCESS: '--color-light-graphic-positive-alpha-10',
21
21
  SELECTED_RING_BG_FAILURE: '--color-light-graphic-negative-alpha-10',
22
+ HOVER_INNER: '--color-light-neutral-500-hover',
23
+ HOVER_OUTER: '--color-light-neutral-translucent-200-hover',
22
24
  };
23
25
  var THEME_STATE = {
24
26
  INITIAL: 'initial',
@@ -0,0 +1,23 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var tslib = require('tslib');
6
+ var React = require('react');
7
+ var coreComponentsMq = require('@alfalab/core-components-mq/cssm');
8
+ var desktop_Component_desktop = require('./desktop/Component.desktop.js');
9
+ var mobile_Component_mobile = require('./mobile/Component.mobile.js');
10
+
11
+ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
12
+
13
+ var React__default = /*#__PURE__*/_interopDefaultCompat(React);
14
+
15
+ var PatternLock = React.forwardRef(function (_a, ref) {
16
+ var _b = _a.breakpoint, breakpoint = _b === void 0 ? 1024 : _b, restProps = tslib.__rest(_a, ["breakpoint"]);
17
+ var query = "(min-width: ".concat(breakpoint, "px)");
18
+ var isDesktop = coreComponentsMq.useMatchMedia(query)[0];
19
+ var Component = isDesktop ? desktop_Component_desktop.PatternLockDesktop : mobile_Component_mobile.PatternLockMobile;
20
+ return React__default.default.createElement(Component, tslib.__assign({ ref: ref }, restProps));
21
+ });
22
+
23
+ exports.PatternLock = PatternLock;
@@ -0,0 +1,6 @@
1
+ /// <reference types="react" />
2
+ import React from 'react';
3
+ import { TPatternLockInstance } from 'react-canvas-pattern-lock';
4
+ import { CommonPatternLockProps, PrivatePatternLockProps } from "../../typings";
5
+ declare const BasePatternLock: React.ForwardRefExoticComponent<(CommonPatternLockProps & PrivatePatternLockProps) & React.RefAttributes<TPatternLockInstance>>;
6
+ export { BasePatternLock };
@@ -7,22 +7,21 @@ var React = require('react');
7
7
  var reactCanvasPatternLock = require('react-canvas-pattern-lock');
8
8
  var cn = require('classnames');
9
9
  var mobile = require('@alfalab/core-components-button/cssm/mobile');
10
- var coreComponentsGap = require('@alfalab/core-components-gap/cssm');
11
10
  var coreComponentsShared = require('@alfalab/core-components-shared/cssm');
12
- var consts = require('./consts.js');
13
- var utils = require('./utils.js');
14
- var styles = require('./index.module.css');
11
+ var consts = require('../../consts.js');
12
+ var utils = require('../../utils.js');
13
+ var commonStyles = require('./index.module.css');
15
14
 
16
15
  function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
17
16
 
18
17
  var React__default = /*#__PURE__*/_interopDefaultCompat(React);
19
18
  var cn__default = /*#__PURE__*/_interopDefaultCompat(cn);
20
- var styles__default = /*#__PURE__*/_interopDefaultCompat(styles);
19
+ var commonStyles__default = /*#__PURE__*/_interopDefaultCompat(commonStyles);
21
20
 
22
- var PatternLock = React.forwardRef(function (_a, ref) {
23
- var _b;
24
- var _c = _a.observeTokens, observeTokens = _c === void 0 ? false : _c, _d = _a.observerParams, observerParams = _d === void 0 ? {} : _d, _e = _a.justifyNodes, justifyNodes = _e === void 0 ? 'space-between' : _e, className = _a.className, error = _a.error, dataTestId = _a.dataTestId, _f = _a.forgotCodeBtnText, forgotCodeBtnText = _f === void 0 ? 'Забыли код?' : _f, _g = _a.showForgotCodeBtn, showForgotCodeBtn = _g === void 0 ? false : _g, onForgotBtnClick = _a.onForgotBtnClick, _h = _a.extraBounds, extraBounds = _h === void 0 ? consts.DEFAULT_EXTRA_BOUNDS : _h, message = _a.message, restProps = tslib.__rest(_a, ["observeTokens", "observerParams", "justifyNodes", "className", "error", "dataTestId", "forgotCodeBtnText", "showForgotCodeBtn", "onForgotBtnClick", "extraBounds", "message"]);
25
- var _j = React.useState(), params = _j[0], setParams = _j[1];
21
+ var BasePatternLock = React.forwardRef(function (_a, ref) {
22
+ var _b, _c;
23
+ var _d = _a.observeTokens, observeTokens = _d === void 0 ? false : _d, _e = _a.observerParams, observerParams = _e === void 0 ? {} : _e, _f = _a.justifyNodes, justifyNodes = _f === void 0 ? 'space-between' : _f, className = _a.className, error = _a.error, dataTestId = _a.dataTestId, _g = _a.forgotCodeBtnText, forgotCodeBtnText = _g === void 0 ? 'Забыли код?' : _g, _h = _a.showForgotCodeBtn, showForgotCodeBtn = _h === void 0 ? false : _h, onForgotBtnClick = _a.onForgotBtnClick, _j = _a.extraBounds, extraBounds = _j === void 0 ? consts.DEFAULT_EXTRA_BOUNDS : _j, message = _a.message, messageClassName = _a.messageClassName, hover = _a.hover, _k = _a.styles, styles = _k === void 0 ? {} : _k, restProps = tslib.__rest(_a, ["observeTokens", "observerParams", "justifyNodes", "className", "error", "dataTestId", "forgotCodeBtnText", "showForgotCodeBtn", "onForgotBtnClick", "extraBounds", "message", "messageClassName", "hover", "styles"]);
24
+ var _l = React.useState(), params = _l[0], setParams = _l[1];
26
25
  React.useEffect(function () {
27
26
  var _a = utils.getSizes(), elementSizes = _a.elementSizes, width = _a.width, height = _a.height;
28
27
  setParams({
@@ -53,14 +52,16 @@ var PatternLock = React.forwardRef(function (_a, ref) {
53
52
  return function () { return styleObserver === null || styleObserver === void 0 ? void 0 : styleObserver.disconnect(); };
54
53
  // eslint-disable-next-line react-hooks/exhaustive-deps
55
54
  }, [observeTokens]);
56
- var renderMessage = function () { return (React__default.default.createElement("div", { className: styles__default.default.message, "data-test-id": coreComponentsShared.getDataTestId(dataTestId, 'message') }, message)); };
57
- var renderError = function () { return (React__default.default.createElement("div", { className: cn__default.default(styles__default.default.message, styles__default.default.error), "data-test-id": coreComponentsShared.getDataTestId(dataTestId, 'error') }, error)); };
58
- return (React__default.default.createElement("div", { className: cn__default.default(styles__default.default.component, className, (_b = {}, _b[styles__default.default.hidden] = !params, _b)), "data-test-id": dataTestId },
59
- React__default.default.createElement(coreComponentsGap.Gap, { size: 'xs' }),
55
+ var renderMessage = function () { return (React__default.default.createElement("div", { className: cn__default.default(commonStyles__default.default.message, messageClassName), "data-test-id": coreComponentsShared.getDataTestId(dataTestId, 'message') }, message)); };
56
+ var renderError = function () { return (React__default.default.createElement("div", { className: cn__default.default(commonStyles__default.default.message, commonStyles__default.default.error, messageClassName), "data-test-id": coreComponentsShared.getDataTestId(dataTestId, 'error') }, error)); };
57
+ return (React__default.default.createElement("div", { className: cn__default.default(commonStyles__default.default.component, styles.component, className, (_b = {},
58
+ _b[commonStyles__default.default.hidden] = !params,
59
+ _b)), "data-test-id": dataTestId },
60
60
  error ? renderError() : renderMessage(),
61
- React__default.default.createElement(coreComponentsGap.Gap, { size: '3xl' }),
62
- React__default.default.createElement(reactCanvasPatternLock.ReactCanvasPatternLock, tslib.__assign({}, restProps, params, { ref: ref, rows: 3, cols: 3, justifyNodes: justifyNodes, extraBounds: extraBounds })),
63
- showForgotCodeBtn ? (React__default.default.createElement(mobile.ButtonMobile, { view: 'link', className: styles__default.default.forgotBtn, onClick: onForgotBtnClick, dataTestId: coreComponentsShared.getDataTestId(dataTestId, 'forgot-code-btn') }, forgotCodeBtnText)) : (React__default.default.createElement("div", { className: styles__default.default.forgotBtn }))));
61
+ React__default.default.createElement(reactCanvasPatternLock.ReactCanvasPatternLock, tslib.__assign({}, restProps, params, { ref: ref, rows: 3, cols: 3, justifyNodes: justifyNodes, extraBounds: extraBounds, hover: hover })),
62
+ showForgotCodeBtn ? (React__default.default.createElement(mobile.ButtonMobile, { view: 'link', className: cn__default.default(commonStyles__default.default.forgotBtn, styles.forgotBtn), onClick: onForgotBtnClick, dataTestId: coreComponentsShared.getDataTestId(dataTestId, 'forgot-code-btn') }, forgotCodeBtnText)) : (React__default.default.createElement("div", { className: cn__default.default(commonStyles__default.default.forgotBtn, styles.forgotBtn, (_c = {},
63
+ _c[styles.hiddenBtn] = Boolean(styles.hiddenBtn),
64
+ _c)) }))));
64
65
  });
65
66
 
66
- exports.PatternLock = PatternLock;
67
+ exports.BasePatternLock = BasePatternLock;
@@ -0,0 +1 @@
1
+ export * from "./Component";
@@ -0,0 +1,9 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var components_basePatternLock_Component = require('./Component.js');
6
+
7
+
8
+
9
+ exports.BasePatternLock = components_basePatternLock_Component.BasePatternLock;
@@ -13,22 +13,12 @@
13
13
  /* Hard up */
14
14
  } :root {
15
15
  } :root {
16
- --gap-xs: 8px;
17
- --gap-s: 12px;
18
16
  --gap-m: 16px;
19
- --gap-l: 20px;
20
- --gap-xl: 24px;
21
- --gap-2xl: 32px;
17
+ --gap-3xl: 40px;
22
18
  } :root {
23
19
  } :root {
24
20
  --size-xs-height: 40px;
25
- --size-s-height: 48px;
26
- --size-m-height: 56px;
27
21
  } :root {
28
- --pattern-lock-max-width: 500px;
29
- } .component {
30
- max-width: var(--pattern-lock-max-width);
31
- margin: var(--gap-xs) 0 var(--gap-xl) 0
32
22
  } .component canvas {
33
23
  display: block;
34
24
  margin: 0 auto;
@@ -40,7 +30,7 @@
40
30
  font-weight: 400;
41
31
 
42
32
  text-align: center;
43
- padding: 0 var(--gap-m);
33
+ padding: 0 var(--gap-m) var(--gap-3xl);
44
34
  min-height: 24px;
45
35
  overflow: hidden;
46
36
  text-overflow: ellipsis;
@@ -51,22 +41,4 @@
51
41
  } .forgotBtn {
52
42
  display: block;
53
43
  min-height: var(--size-xs-height);
54
- margin: var(--gap-xl) auto 0;
55
- } @media screen and (min-width: 360px) {
56
- .forgotBtn {
57
- margin-top: var(--gap-2xl);
58
- min-height: var(--size-s-height);
59
- }
60
-
61
- .component {
62
- margin-bottom: var(--gap-s);
63
- }
64
- } @media screen and (min-width: 390px) {
65
- .forgotBtn {
66
- min-height: var(--size-m-height);
67
- }
68
-
69
- .component {
70
- margin-bottom: var(--gap-l);
71
- }
72
44
  }
package/cssm/consts.js CHANGED
@@ -19,6 +19,8 @@ var OBSERVABLE_TOKENS = {
19
19
  SELECTED_RING_BG_INITIAL: '--color-light-specialbg-tertiary-transparent',
20
20
  SELECTED_RING_BG_SUCCESS: '--color-light-graphic-positive-alpha-10',
21
21
  SELECTED_RING_BG_FAILURE: '--color-light-graphic-negative-alpha-10',
22
+ HOVER_INNER: '--color-light-neutral-500-hover',
23
+ HOVER_OUTER: '--color-light-neutral-translucent-200-hover',
22
24
  };
23
25
  var THEME_STATE = {
24
26
  INITIAL: 'initial',
@@ -0,0 +1,6 @@
1
+ /// <reference types="react" />
2
+ import React from 'react';
3
+ import { TPatternLockInstance } from 'react-canvas-pattern-lock';
4
+ import { CommonPatternLockProps } from "../typings";
5
+ declare const PatternLockDesktop: React.ForwardRefExoticComponent<CommonPatternLockProps & React.RefAttributes<TPatternLockInstance>>;
6
+ export { PatternLockDesktop };
@@ -0,0 +1,17 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var tslib = require('tslib');
6
+ var React = require('react');
7
+ var components_basePatternLock_Component = require('../components/base-pattern-lock/Component.js');
8
+ var styles = require('./desktop.module.css');
9
+
10
+ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
11
+
12
+ var React__default = /*#__PURE__*/_interopDefaultCompat(React);
13
+ var styles__default = /*#__PURE__*/_interopDefaultCompat(styles);
14
+
15
+ var PatternLockDesktop = React.forwardRef(function (restProps, ref) { return React__default.default.createElement(components_basePatternLock_Component.BasePatternLock, tslib.__assign({}, restProps, { hover: true, ref: ref, styles: styles__default.default })); });
16
+
17
+ exports.PatternLockDesktop = PatternLockDesktop;
@@ -0,0 +1,27 @@
1
+ :root { /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
2
+ } /* deprecated */ :root { /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
3
+ } :root { /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
4
+ } :root {
5
+ } :root {
6
+
7
+ /* Hard */
8
+
9
+ /* Up */
10
+
11
+ /* Hard up */
12
+ } :root {
13
+ } :root {
14
+ --gap-xs: 8px;
15
+ --gap-xl: 24px;
16
+ } :root {
17
+ } :root {
18
+ } :root {
19
+ --pattern-lock-desktop-max-width: 240px;
20
+ } .component {
21
+ max-width: var(--pattern-lock-desktop-max-width);
22
+ margin: var(--gap-xs) 0 var(--gap-xl) 0;
23
+ } .forgotBtn {
24
+ margin: var(--gap-xl) auto 0;
25
+ } .hiddenBtn {
26
+ display: none;
27
+ }
@@ -0,0 +1,2 @@
1
+ export { PatternLockDesktop } from "./Component.desktop";
2
+ export type { CommonPatternLockProps as PatternLockDesktopProps } from "../typings";
@@ -0,0 +1,9 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var desktop_Component_desktop = require('./Component.desktop.js');
6
+
7
+
8
+
9
+ exports.PatternLockDesktop = desktop_Component_desktop.PatternLockDesktop;
@@ -0,0 +1,6 @@
1
+ /// <reference types="react" />
2
+ import { TPatternLockInstance } from 'react-canvas-pattern-lock';
3
+ declare const usePatternLockCleanup: (patternLockRef: React.MutableRefObject<TPatternLockInstance | null>) => {
4
+ clear: void;
5
+ };
6
+ export { usePatternLockCleanup };
@@ -0,0 +1,18 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var React = require('react');
6
+
7
+ var usePatternLockCleanup = function (patternLockRef) {
8
+ var clear = React.useMemo(function () {
9
+ if (patternLockRef.current) {
10
+ patternLockRef.current.setInitialState();
11
+ }
12
+ }, [patternLockRef]);
13
+ return {
14
+ clear: clear,
15
+ };
16
+ };
17
+
18
+ exports.usePatternLockCleanup = usePatternLockCleanup;
package/cssm/index.d.ts CHANGED
@@ -1,3 +1,3 @@
1
1
  export type { PatternLockProps } from "./typings";
2
- export * from "./Component";
2
+ export * from "./Component.responsive";
3
3
  export { THEME_STATE } from "./consts";
package/cssm/index.js CHANGED
@@ -2,10 +2,10 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var Component = require('./Component.js');
5
+ var Component_responsive = require('./Component.responsive.js');
6
6
  var consts = require('./consts.js');
7
7
 
8
8
 
9
9
 
10
- exports.PatternLock = Component.PatternLock;
10
+ exports.PatternLock = Component_responsive.PatternLock;
11
11
  exports.THEME_STATE = consts.THEME_STATE;
@@ -0,0 +1,6 @@
1
+ /// <reference types="react" />
2
+ import React from 'react';
3
+ import { TPatternLockInstance } from 'react-canvas-pattern-lock';
4
+ import { CommonPatternLockProps } from "../typings";
5
+ declare const PatternLockMobile: React.ForwardRefExoticComponent<CommonPatternLockProps & React.RefAttributes<TPatternLockInstance>>;
6
+ export { PatternLockMobile };
@@ -0,0 +1,17 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var tslib = require('tslib');
6
+ var React = require('react');
7
+ var components_basePatternLock_Component = require('../components/base-pattern-lock/Component.js');
8
+ var styles = require('./mobile.module.css');
9
+
10
+ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
11
+
12
+ var React__default = /*#__PURE__*/_interopDefaultCompat(React);
13
+ var styles__default = /*#__PURE__*/_interopDefaultCompat(styles);
14
+
15
+ var PatternLockMobile = React.forwardRef(function (restProps, ref) { return React__default.default.createElement(components_basePatternLock_Component.BasePatternLock, tslib.__assign({}, restProps, { ref: ref, styles: styles__default.default })); });
16
+
17
+ exports.PatternLockMobile = PatternLockMobile;
@@ -0,0 +1,2 @@
1
+ export { PatternLockMobile } from "./Component.mobile";
2
+ export type { CommonPatternLockProps as PatternLockMobileProps } from "../typings";
@@ -0,0 +1,9 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var mobile_Component_mobile = require('./Component.mobile.js');
6
+
7
+
8
+
9
+ exports.PatternLockMobile = mobile_Component_mobile.PatternLockMobile;
@@ -0,0 +1,47 @@
1
+ :root { /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
2
+ } /* deprecated */ :root { /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
3
+ } :root { /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
4
+ } :root {
5
+ } :root {
6
+
7
+ /* Hard */
8
+
9
+ /* Up */
10
+
11
+ /* Hard up */
12
+ } :root {
13
+ } :root {
14
+ --gap-xs: 8px;
15
+ --gap-s: 12px;
16
+ --gap-l: 20px;
17
+ --gap-xl: 24px;
18
+ --gap-2xl: 32px;
19
+ } :root {
20
+ } :root {
21
+ --size-s-height: 48px;
22
+ --size-m-height: 56px;
23
+ } :root {
24
+ --pattern-lock-max-width: 500px;
25
+ } .component {
26
+ max-width: var(--pattern-lock-max-width);
27
+ margin: var(--gap-xs) 0 var(--gap-xl) 0;
28
+ } .forgotBtn {
29
+ margin: var(--gap-xl) auto 0;
30
+ } @media screen and (min-width: 360px) {
31
+ .forgotBtn {
32
+ margin-top: var(--gap-2xl);
33
+ min-height: var(--size-s-height);
34
+ }
35
+
36
+ .component {
37
+ margin-bottom: var(--gap-s);
38
+ }
39
+ } @media screen and (min-width: 390px) {
40
+ .forgotBtn {
41
+ min-height: var(--size-m-height);
42
+ }
43
+
44
+ .component {
45
+ margin-bottom: var(--gap-l);
46
+ }
47
+ }
@@ -1 +1,2 @@
1
1
  export { getPatternLockTestIds } from "../utils";
2
+ export { usePatternLockCleanup } from "../hooks/use-pattern-lock-cleanup";
@@ -3,7 +3,9 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var utils = require('../utils.js');
6
+ var hooks_usePatternLockCleanup = require('../hooks/use-pattern-lock-cleanup.js');
6
7
 
7
8
 
8
9
 
9
10
  exports.getPatternLockTestIds = utils.getPatternLockTestIds;
11
+ exports.usePatternLockCleanup = hooks_usePatternLockCleanup.usePatternLockCleanup;