@alfalab/core-components-pattern-lock-v1 2.0.0 → 2.1.0-snapshot-92b8690

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 (82) hide show
  1. package/components/base-pattern-lock/index.css +5 -5
  2. package/components/base-pattern-lock/index.module.css.js +1 -1
  3. package/components/base-pattern-lock/index.module.css.js.map +1 -1
  4. package/desktop/desktop.css +3 -3
  5. package/desktop/desktop.module.css.js +1 -1
  6. package/desktop/desktop.module.css.js.map +1 -1
  7. package/dynamic-mixins/Component.responsive.d.ts +8 -0
  8. package/dynamic-mixins/Component.responsive.js +27 -0
  9. package/dynamic-mixins/Component.responsive.js.map +1 -0
  10. package/dynamic-mixins/components/base-pattern-lock/Component.d.ts +4 -0
  11. package/dynamic-mixins/components/base-pattern-lock/Component.js +67 -0
  12. package/dynamic-mixins/components/base-pattern-lock/Component.js.map +1 -0
  13. package/dynamic-mixins/components/base-pattern-lock/index.css +32 -0
  14. package/dynamic-mixins/components/base-pattern-lock/index.d.ts +1 -0
  15. package/dynamic-mixins/components/base-pattern-lock/index.js +10 -0
  16. package/dynamic-mixins/components/base-pattern-lock/index.js.map +1 -0
  17. package/dynamic-mixins/components/base-pattern-lock/index.module.css.js +8 -0
  18. package/dynamic-mixins/components/base-pattern-lock/index.module.css.js.map +1 -0
  19. package/dynamic-mixins/consts.d.ts +10 -0
  20. package/dynamic-mixins/consts.js +35 -0
  21. package/dynamic-mixins/consts.js.map +1 -0
  22. package/dynamic-mixins/desktop/Component.desktop.d.ts +4 -0
  23. package/dynamic-mixins/desktop/Component.desktop.js +17 -0
  24. package/dynamic-mixins/desktop/Component.desktop.js.map +1 -0
  25. package/dynamic-mixins/desktop/desktop.css +16 -0
  26. package/dynamic-mixins/desktop/desktop.module.css.js +8 -0
  27. package/dynamic-mixins/desktop/desktop.module.css.js.map +1 -0
  28. package/dynamic-mixins/desktop/index.d.ts +2 -0
  29. package/dynamic-mixins/desktop/index.js +10 -0
  30. package/dynamic-mixins/desktop/index.js.map +1 -0
  31. package/dynamic-mixins/hooks/use-pattern-lock-cleanup.d.ts +4 -0
  32. package/dynamic-mixins/hooks/use-pattern-lock-cleanup.js +19 -0
  33. package/dynamic-mixins/hooks/use-pattern-lock-cleanup.js.map +1 -0
  34. package/dynamic-mixins/index.d.ts +3 -0
  35. package/dynamic-mixins/index.js +12 -0
  36. package/dynamic-mixins/index.js.map +1 -0
  37. package/dynamic-mixins/mobile/Component.mobile.d.ts +4 -0
  38. package/dynamic-mixins/mobile/Component.mobile.js +17 -0
  39. package/dynamic-mixins/mobile/Component.mobile.js.map +1 -0
  40. package/dynamic-mixins/mobile/index.d.ts +2 -0
  41. package/dynamic-mixins/mobile/index.js +10 -0
  42. package/dynamic-mixins/mobile/index.js.map +1 -0
  43. package/dynamic-mixins/mobile/mobile.css +40 -0
  44. package/dynamic-mixins/mobile/mobile.module.css.js +8 -0
  45. package/dynamic-mixins/mobile/mobile.module.css.js.map +1 -0
  46. package/dynamic-mixins/shared/index.d.ts +2 -0
  47. package/dynamic-mixins/shared/index.js +12 -0
  48. package/dynamic-mixins/shared/index.js.map +1 -0
  49. package/dynamic-mixins/typings.d.ts +91 -0
  50. package/dynamic-mixins/typings.js +3 -0
  51. package/dynamic-mixins/typings.js.map +1 -0
  52. package/dynamic-mixins/utils.d.ts +15 -0
  53. package/dynamic-mixins/utils.js +97 -0
  54. package/dynamic-mixins/utils.js.map +1 -0
  55. package/esm/components/base-pattern-lock/index.css +5 -5
  56. package/esm/components/base-pattern-lock/index.module.css.js +1 -1
  57. package/esm/components/base-pattern-lock/index.module.css.js.map +1 -1
  58. package/esm/desktop/desktop.css +3 -3
  59. package/esm/desktop/desktop.module.css.js +1 -1
  60. package/esm/desktop/desktop.module.css.js.map +1 -1
  61. package/esm/mobile/mobile.css +6 -6
  62. package/esm/mobile/mobile.module.css.js +1 -1
  63. package/esm/mobile/mobile.module.css.js.map +1 -1
  64. package/mobile/mobile.css +6 -6
  65. package/mobile/mobile.module.css.js +1 -1
  66. package/mobile/mobile.module.css.js.map +1 -1
  67. package/modern/components/base-pattern-lock/index.css +5 -5
  68. package/modern/components/base-pattern-lock/index.module.css.js +1 -1
  69. package/modern/components/base-pattern-lock/index.module.css.js.map +1 -1
  70. package/modern/desktop/desktop.css +3 -3
  71. package/modern/desktop/desktop.module.css.js +1 -1
  72. package/modern/desktop/desktop.module.css.js.map +1 -1
  73. package/modern/mobile/mobile.css +6 -6
  74. package/modern/mobile/mobile.module.css.js +1 -1
  75. package/modern/mobile/mobile.module.css.js.map +1 -1
  76. package/moderncssm/components/base-pattern-lock/index.module.css +4 -0
  77. package/moderncssm/desktop/desktop.module.css +3 -0
  78. package/moderncssm/mobile/mobile.module.css +4 -0
  79. package/package.json +6 -6
  80. package/src/components/base-pattern-lock/index.module.css +1 -1
  81. package/src/desktop/desktop.module.css +1 -1
  82. package/src/mobile/mobile.module.css +1 -1
@@ -9,12 +9,12 @@
9
9
  --gap-40: var(--gap-3xl);
10
10
  } :root {
11
11
  --size-xs-height: 40px;
12
- } .pattern-lock-v1__component_zt2rf canvas {
12
+ } .pattern-lock-v1__component_8x5er canvas {
13
13
  display: block;
14
14
  margin: var(--gap-0) auto;
15
- } .pattern-lock-v1__hidden_zt2rf {
15
+ } .pattern-lock-v1__hidden_8x5er {
16
16
  visibility: hidden;
17
- } .pattern-lock-v1__message_zt2rf {
17
+ } .pattern-lock-v1__message_8x5er {
18
18
  font-size: 16px;
19
19
  line-height: 24px;
20
20
  font-weight: 400;
@@ -26,9 +26,9 @@
26
26
  text-overflow: ellipsis;
27
27
  white-space: nowrap;
28
28
  color: var(--color-light-text-primary);
29
- } .pattern-lock-v1__error_zt2rf {
29
+ } .pattern-lock-v1__error_8x5er {
30
30
  color: var(--color-light-text-negative);
31
- } .pattern-lock-v1__forgotBtn_zt2rf {
31
+ } .pattern-lock-v1__forgotBtn_8x5er {
32
32
  display: block;
33
33
  min-height: var(--size-xs-height);
34
34
  }
@@ -2,7 +2,7 @@
2
2
 
3
3
  require('./index.css');
4
4
 
5
- var commonStyles = {"component":"pattern-lock-v1__component_zt2rf","hidden":"pattern-lock-v1__hidden_zt2rf","message":"pattern-lock-v1__message_zt2rf","error":"pattern-lock-v1__error_zt2rf","forgotBtn":"pattern-lock-v1__forgotBtn_zt2rf"};
5
+ var commonStyles = {"component":"pattern-lock-v1__component_8x5er","hidden":"pattern-lock-v1__hidden_8x5er","message":"pattern-lock-v1__message_8x5er","error":"pattern-lock-v1__error_8x5er","forgotBtn":"pattern-lock-v1__forgotBtn_8x5er"};
6
6
 
7
7
  module.exports = commonStyles;
8
8
  //# sourceMappingURL=index.module.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.module.css.js","sources":["../../src/components/base-pattern-lock/index.module.css"],"sourcesContent":["@import '@alfalab/core-components-vars/src/index.css';\n@import '../../vars.css';\n\n.component {\n & canvas {\n display: block;\n margin: var(--gap-0) auto;\n }\n}\n\n.hidden {\n visibility: hidden;\n}\n\n.message {\n @mixin paragraph_primary_medium;\n\n text-align: center;\n padding: var(--gap-0) var(--gap-16) var(--gap-40);\n min-height: 24px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n color: var(--color-light-text-primary);\n}\n\n.error {\n color: var(--color-light-text-negative);\n}\n\n.forgotBtn {\n display: block;\n min-height: var(--size-xs-height);\n}\n"],"names":[],"mappings":";;;;AAEgB,mBAAe,CAAC,WAAW,CAAC,kCAAkC,CAAC,QAAQ,CAAC,+BAA+B,CAAC,SAAS,CAAC,gCAAgC,CAAC,OAAO,CAAC,8BAA8B,CAAC,WAAW,CAAC,kCAAkC,CAAC;;;;"}
1
+ {"version":3,"file":"index.module.css.js","sources":["../../src/components/base-pattern-lock/index.module.css"],"sourcesContent":["@import '@alfalab/core-components-vars/src/no-dynamic-mixins-index.css';\n@import '../../vars.css';\n\n.component {\n & canvas {\n display: block;\n margin: var(--gap-0) auto;\n }\n}\n\n.hidden {\n visibility: hidden;\n}\n\n.message {\n @mixin paragraph_primary_medium;\n\n text-align: center;\n padding: var(--gap-0) var(--gap-16) var(--gap-40);\n min-height: 24px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n color: var(--color-light-text-primary);\n}\n\n.error {\n color: var(--color-light-text-negative);\n}\n\n.forgotBtn {\n display: block;\n min-height: var(--size-xs-height);\n}\n"],"names":[],"mappings":";;;;AAEgB,mBAAe,CAAC,WAAW,CAAC,kCAAkC,CAAC,QAAQ,CAAC,+BAA+B,CAAC,SAAS,CAAC,gCAAgC,CAAC,OAAO,CAAC,8BAA8B,CAAC,WAAW,CAAC,kCAAkC,CAAC;;;;"}
@@ -6,11 +6,11 @@
6
6
  --gap-24: var(--gap-xl);
7
7
  } :root {
8
8
  --pattern-lock-v1-desktop-max-width: 240px;
9
- } .pattern-lock-v1__component_eoryd {
9
+ } .pattern-lock-v1__component_cxd4z {
10
10
  max-width: var(--pattern-lock-v1-desktop-max-width);
11
11
  margin: var(--gap-8) var(--gap-0) var(--gap-24) var(--gap-0);
12
- } .pattern-lock-v1__forgotBtn_eoryd {
12
+ } .pattern-lock-v1__forgotBtn_cxd4z {
13
13
  margin: var(--gap-24) auto var(--gap-0);
14
- } .pattern-lock-v1__hiddenBtn_eoryd {
14
+ } .pattern-lock-v1__hiddenBtn_cxd4z {
15
15
  display: none;
16
16
  }
@@ -2,7 +2,7 @@
2
2
 
3
3
  require('./desktop.css');
4
4
 
5
- var styles = {"component":"pattern-lock-v1__component_eoryd","forgotBtn":"pattern-lock-v1__forgotBtn_eoryd","hiddenBtn":"pattern-lock-v1__hiddenBtn_eoryd"};
5
+ var styles = {"component":"pattern-lock-v1__component_cxd4z","forgotBtn":"pattern-lock-v1__forgotBtn_cxd4z","hiddenBtn":"pattern-lock-v1__hiddenBtn_cxd4z"};
6
6
 
7
7
  module.exports = styles;
8
8
  //# sourceMappingURL=desktop.module.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"desktop.module.css.js","sources":["../src/desktop/desktop.module.css"],"sourcesContent":["@import '@alfalab/core-components-vars/src/index.css';\n@import '../vars.css';\n\n.component {\n max-width: var(--pattern-lock-v1-desktop-max-width);\n margin: var(--gap-8) var(--gap-0) var(--gap-24) var(--gap-0);\n}\n\n.forgotBtn {\n margin: var(--gap-24) auto var(--gap-0);\n}\n\n.hiddenBtn {\n display: none;\n}\n"],"names":[],"mappings":";;;;AAEgB,aAAe,CAAC,WAAW,CAAC,kCAAkC,CAAC,WAAW,CAAC,kCAAkC,CAAC,WAAW,CAAC,kCAAkC,CAAC;;;;"}
1
+ {"version":3,"file":"desktop.module.css.js","sources":["../src/desktop/desktop.module.css"],"sourcesContent":["@import '@alfalab/core-components-vars/src/no-dynamic-mixins-index.css';\n@import '../vars.css';\n\n.component {\n max-width: var(--pattern-lock-v1-desktop-max-width);\n margin: var(--gap-8) var(--gap-0) var(--gap-24) var(--gap-0);\n}\n\n.forgotBtn {\n margin: var(--gap-24) auto var(--gap-0);\n}\n\n.hiddenBtn {\n display: none;\n}\n"],"names":[],"mappings":";;;;AAEgB,aAAe,CAAC,WAAW,CAAC,kCAAkC,CAAC,WAAW,CAAC,kCAAkC,CAAC,WAAW,CAAC,kCAAkC,CAAC;;;;"}
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ import type { TPatternLockInstance } from 'react-canvas-pattern-lock';
3
+ import { PatternLockProps } from './typings';
4
+ /**
5
+ * @deprecated
6
+ * Использует PatternLock
7
+ */
8
+ export declare const PatternLockV1: React.ForwardRefExoticComponent<PatternLockProps & React.RefAttributes<TPatternLockInstance>>;
@@ -0,0 +1,27 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var tslib = require('tslib');
6
+ var React = require('react');
7
+ var dynamicMixins = require('@alfalab/core-components-mq/dynamic-mixins');
8
+ var Component_desktop = require('./desktop/Component.desktop.js');
9
+ var 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
+ /**
16
+ * @deprecated
17
+ * Использует PatternLock
18
+ */
19
+ var PatternLockV1 = React.forwardRef(function (_a, ref) {
20
+ _a.breakpoint; var restProps = tslib.__rest(_a, ["breakpoint"]);
21
+ var isDesktop = dynamicMixins.useIsDesktop();
22
+ var Component = isDesktop ? Component_desktop.PatternLockDesktopV1 : Component_mobile.PatternLockMobileV1;
23
+ return React__default.default.createElement(Component, tslib.__assign({ ref: ref }, restProps));
24
+ });
25
+
26
+ exports.PatternLockV1 = PatternLockV1;
27
+ //# sourceMappingURL=Component.responsive.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Component.responsive.js","sources":["../src/Component.responsive.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport type { TPatternLockInstance } from 'react-canvas-pattern-lock';\n\nimport { useIsDesktop } from '@alfalab/core-components-mq';\n\nimport { PatternLockDesktopV1 } from './desktop';\nimport { PatternLockMobileV1 } from './mobile';\nimport { PatternLockProps } from './typings';\n\n/**\n * @deprecated\n * Использует PatternLock\n */\nexport const PatternLockV1 = forwardRef<TPatternLockInstance, PatternLockProps>(\n ({ breakpoint, ...restProps }, ref) => {\n const isDesktop = useIsDesktop();\n\n const Component = isDesktop ? PatternLockDesktopV1 : PatternLockMobileV1;\n\n return <Component ref={ref} {...restProps} />;\n },\n);\n"],"names":["forwardRef","__rest","useIsDesktop","PatternLockDesktopV1","PatternLockMobileV1","React","__assign"],"mappings":";;;;;;;;;;;;;;AASA;;;AAGG;IACU,aAAa,GAAGA,gBAAU,CACnC,UAAC,EAA4B,EAAE,GAAG,EAAA;AAA/B,IAAU,EAAA,CAAA,UAAA,CAAA,KAAK,SAAS,GAAAC,YAAA,CAAA,EAAA,EAA1B,cAA4B;AACzB,IAAA,IAAM,SAAS,GAAGC,0BAAY,EAAE;IAEhC,IAAM,SAAS,GAAG,SAAS,GAAGC,sCAAoB,GAAGC,oCAAmB;IAExE,OAAOC,sBAAA,CAAA,aAAA,CAAC,SAAS,EAACC,cAAA,CAAA,EAAA,GAAG,EAAE,GAAG,EAAA,EAAM,SAAS,CAAA,CAAI;AACjD,CAAC;;;;"}
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import type { TPatternLockInstance } from 'react-canvas-pattern-lock';
3
+ import type { CommonPatternLockProps, PrivatePatternLockProps } from '../../typings';
4
+ export declare const BasePatternLock: React.ForwardRefExoticComponent<(CommonPatternLockProps & PrivatePatternLockProps) & React.RefAttributes<TPatternLockInstance>>;
@@ -0,0 +1,67 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var tslib = require('tslib');
6
+ var React = require('react');
7
+ var reactCanvasPatternLock = require('react-canvas-pattern-lock');
8
+ var cn = require('classnames');
9
+ var mobile = require('@alfalab/core-components-button/dynamic-mixins/mobile');
10
+ var dynamicMixins = require('@alfalab/core-components-shared/dynamic-mixins');
11
+ var consts = require('../../consts.js');
12
+ var utils = require('../../utils.js');
13
+ var index_module = require('./index.module.css.js');
14
+
15
+ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
16
+
17
+ var React__default = /*#__PURE__*/_interopDefaultCompat(React);
18
+ var cn__default = /*#__PURE__*/_interopDefaultCompat(cn);
19
+
20
+ var BasePatternLock = React.forwardRef(function (_a, ref) {
21
+ var _b, _c;
22
+ 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"]);
23
+ var _l = React.useState(), params = _l[0], setParams = _l[1];
24
+ React.useEffect(function () {
25
+ var _a = utils.getSizes(), elementSizes = _a.elementSizes, width = _a.width, height = _a.height;
26
+ setParams({
27
+ theme: utils.getTheme(elementSizes),
28
+ width: width,
29
+ height: height,
30
+ });
31
+ }, []);
32
+ React.useEffect(function () {
33
+ var styleObserver = null;
34
+ if (observeTokens) {
35
+ var _a = observerParams.options, options = _a === void 0 ? consts.OBSERVE_OPTIONS : _a, _b = observerParams.getTarget, getTarget = _b === void 0 ? utils.getDefaultObserveTarget : _b;
36
+ styleObserver = new MutationObserver(function () {
37
+ return setParams(function (prevState) {
38
+ var _a = utils.getSizes(), width = _a.width, height = _a.height, elementSizes = _a.elementSizes;
39
+ if (!prevState) {
40
+ return { theme: utils.getTheme(elementSizes), width: width, height: height };
41
+ }
42
+ var prevBgColor = prevState.theme[consts.THEME_STATE.INITIAL].colors.bg;
43
+ var themeChanged = prevBgColor !== utils.getColorByToken(consts.OBSERVABLE_TOKENS.BG);
44
+ if (themeChanged)
45
+ return tslib.__assign(tslib.__assign({}, prevState), { theme: utils.getTheme(elementSizes) });
46
+ return prevState;
47
+ });
48
+ });
49
+ styleObserver.observe(getTarget(), options);
50
+ }
51
+ return function () { return styleObserver === null || styleObserver === void 0 ? void 0 : styleObserver.disconnect(); };
52
+ // eslint-disable-next-line react-hooks/exhaustive-deps
53
+ }, [observeTokens]);
54
+ var renderMessage = function () { return (React__default.default.createElement("div", { className: cn__default.default(index_module.message, messageClassName), "data-test-id": dynamicMixins.getDataTestId(dataTestId, 'message') }, message)); };
55
+ var renderError = function () { return (React__default.default.createElement("div", { className: cn__default.default(index_module.message, index_module.error, messageClassName), "data-test-id": dynamicMixins.getDataTestId(dataTestId, 'error') }, error)); };
56
+ return (React__default.default.createElement("div", { className: cn__default.default(index_module.component, styles.component, className, (_b = {},
57
+ _b[index_module.hidden] = !params,
58
+ _b)), "data-test-id": dataTestId },
59
+ error ? renderError() : renderMessage(),
60
+ React__default.default.createElement(reactCanvasPatternLock.ReactCanvasPatternLock, tslib.__assign({}, restProps, params, { ref: ref, rows: 3, cols: 3, justifyNodes: justifyNodes, extraBounds: extraBounds, hover: hover })),
61
+ showForgotCodeBtn ? (React__default.default.createElement(mobile.ButtonMobile, { view: 'transparent', className: cn__default.default(index_module.forgotBtn, styles.forgotBtn), onClick: onForgotBtnClick, dataTestId: dynamicMixins.getDataTestId(dataTestId, 'forgot-code-btn') }, forgotCodeBtnText)) : (React__default.default.createElement("div", { className: cn__default.default(index_module.forgotBtn, styles.forgotBtn, (_c = {},
62
+ _c[styles.hiddenBtn] = Boolean(styles.hiddenBtn),
63
+ _c)) }))));
64
+ });
65
+
66
+ exports.BasePatternLock = BasePatternLock;
67
+ //# sourceMappingURL=Component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Component.js","sources":["../../../src/components/base-pattern-lock/Component.tsx"],"sourcesContent":["import React, { forwardRef, useEffect, useState } from 'react';\nimport type { Theme, TPatternLockInstance } from 'react-canvas-pattern-lock';\nimport { ReactCanvasPatternLock } from 'react-canvas-pattern-lock';\nimport cn from 'classnames';\n\nimport { ButtonMobile } from '@alfalab/core-components-button/mobile';\nimport { getDataTestId } from '@alfalab/core-components-shared';\n\nimport {\n DEFAULT_EXTRA_BOUNDS,\n OBSERVABLE_TOKENS,\n OBSERVE_OPTIONS,\n THEME_STATE,\n} from '../../consts';\nimport type { CommonPatternLockProps, PrivatePatternLockProps } from '../../typings';\nimport { getColorByToken, getDefaultObserveTarget, getSizes, getTheme } from '../../utils';\n\nimport commonStyles from './index.module.css';\n\nexport const BasePatternLock = forwardRef<\n TPatternLockInstance,\n CommonPatternLockProps & PrivatePatternLockProps\n>(\n (\n {\n observeTokens = false,\n observerParams = {},\n justifyNodes = 'space-between',\n className,\n error,\n dataTestId,\n forgotCodeBtnText = 'Забыли код?',\n showForgotCodeBtn = false,\n onForgotBtnClick,\n extraBounds = DEFAULT_EXTRA_BOUNDS,\n message,\n messageClassName,\n hover,\n styles = {},\n ...restProps\n },\n ref,\n ) => {\n const [params, setParams] = useState<\n { theme: Theme; width: number; height: number } | undefined\n >();\n\n useEffect(() => {\n const { elementSizes, width, height } = getSizes();\n\n setParams({\n theme: getTheme(elementSizes),\n width,\n height,\n });\n }, []);\n\n useEffect(() => {\n let styleObserver: MutationObserver | null = null;\n\n if (observeTokens) {\n const { options = OBSERVE_OPTIONS, getTarget = getDefaultObserveTarget } =\n observerParams;\n\n styleObserver = new MutationObserver(() =>\n setParams((prevState) => {\n const { width, height, elementSizes } = getSizes();\n\n if (!prevState) {\n return { theme: getTheme(elementSizes), width, height };\n }\n\n const prevBgColor = prevState.theme[THEME_STATE.INITIAL].colors.bg;\n const themeChanged = prevBgColor !== getColorByToken(OBSERVABLE_TOKENS.BG);\n\n if (themeChanged) return { ...prevState, theme: getTheme(elementSizes) };\n\n return prevState;\n }),\n );\n\n styleObserver.observe(getTarget(), options);\n }\n\n return () => styleObserver?.disconnect();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [observeTokens]);\n\n const renderMessage = () => (\n <div\n className={cn(commonStyles.message, messageClassName)}\n data-test-id={getDataTestId(dataTestId, 'message')}\n >\n {message}\n </div>\n );\n\n const renderError = () => (\n <div\n className={cn(commonStyles.message, commonStyles.error, messageClassName)}\n data-test-id={getDataTestId(dataTestId, 'error')}\n >\n {error}\n </div>\n );\n\n return (\n <div\n className={cn(commonStyles.component, styles.component, className, {\n [commonStyles.hidden]: !params,\n })}\n data-test-id={dataTestId}\n >\n {error ? renderError() : renderMessage()}\n\n <ReactCanvasPatternLock\n {...restProps}\n {...params}\n ref={ref}\n rows={3}\n cols={3}\n justifyNodes={justifyNodes}\n extraBounds={extraBounds}\n hover={hover}\n />\n\n {showForgotCodeBtn ? (\n <ButtonMobile\n view='transparent'\n className={cn(commonStyles.forgotBtn, styles.forgotBtn)}\n onClick={onForgotBtnClick}\n dataTestId={getDataTestId(dataTestId, 'forgot-code-btn')}\n >\n {forgotCodeBtnText}\n </ButtonMobile>\n ) : (\n <div\n className={cn(commonStyles.forgotBtn, styles.forgotBtn, {\n [styles.hiddenBtn]: Boolean(styles.hiddenBtn),\n })}\n />\n )}\n </div>\n );\n },\n);\n"],"names":["forwardRef","DEFAULT_EXTRA_BOUNDS","__rest","useState","useEffect","getSizes","getTheme","OBSERVE_OPTIONS","getDefaultObserveTarget","THEME_STATE","getColorByToken","OBSERVABLE_TOKENS","__assign","React","cn","commonStyles","getDataTestId","ReactCanvasPatternLock","ButtonMobile"],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ :root {
2
+ --color-light-text-negative: #ec2d20;
3
+ --color-light-text-primary: rgba(3, 3, 6, 0.88);
4
+ } :root {
5
+ --gap-m: 16px;
6
+ --gap-3xl: 40px;
7
+ --gap-0: 0px;
8
+ --gap-16: var(--gap-m);
9
+ --gap-40: var(--gap-3xl);
10
+ } :root {
11
+ --size-xs-height: 40px;
12
+ } .pattern-lock-v1__component_8x5er canvas {
13
+ display: block;
14
+ margin: var(--gap-0) auto;
15
+ } .pattern-lock-v1__hidden_8x5er {
16
+ visibility: hidden;
17
+ } .pattern-lock-v1__message_8x5er {
18
+ @mixin paragraph_primary_medium;
19
+
20
+ text-align: center;
21
+ padding: var(--gap-0) var(--gap-16) var(--gap-40);
22
+ min-height: 24px;
23
+ overflow: hidden;
24
+ text-overflow: ellipsis;
25
+ white-space: nowrap;
26
+ color: var(--color-light-text-primary);
27
+ } .pattern-lock-v1__error_8x5er {
28
+ color: var(--color-light-text-negative);
29
+ } .pattern-lock-v1__forgotBtn_8x5er {
30
+ display: block;
31
+ min-height: var(--size-xs-height);
32
+ }
@@ -0,0 +1 @@
1
+ export * from './Component';
@@ -0,0 +1,10 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var Component = require('./Component.js');
6
+
7
+
8
+
9
+ exports.BasePatternLock = Component.BasePatternLock;
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
@@ -0,0 +1,8 @@
1
+ 'use strict';
2
+
3
+ require('./index.css');
4
+
5
+ var commonStyles = {"component":"pattern-lock-v1__component_8x5er","hidden":"pattern-lock-v1__hidden_8x5er","message":"pattern-lock-v1__message_8x5er","error":"pattern-lock-v1__error_8x5er","forgotBtn":"pattern-lock-v1__forgotBtn_8x5er"};
6
+
7
+ module.exports = commonStyles;
8
+ //# sourceMappingURL=index.module.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.module.css.js","sources":["../../src/components/base-pattern-lock/index.module.css"],"sourcesContent":["@import '@alfalab/core-components-vars/src/no-dynamic-mixins-index.css';\n@import '../../vars.css';\n\n.component {\n & canvas {\n display: block;\n margin: var(--gap-0) auto;\n }\n}\n\n.hidden {\n visibility: hidden;\n}\n\n.message {\n @mixin paragraph_primary_medium;\n\n text-align: center;\n padding: var(--gap-0) var(--gap-16) var(--gap-40);\n min-height: 24px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n color: var(--color-light-text-primary);\n}\n\n.error {\n color: var(--color-light-text-negative);\n}\n\n.forgotBtn {\n display: block;\n min-height: var(--size-xs-height);\n}\n"],"names":[],"mappings":";;;;AAEgB,mBAAe,CAAC,WAAW,CAAC,kCAAkC,CAAC,QAAQ,CAAC,+BAA+B,CAAC,SAAS,CAAC,gCAAgC,CAAC,OAAO,CAAC,8BAA8B,CAAC,WAAW,CAAC,kCAAkC,CAAC;;;;"}
@@ -0,0 +1,10 @@
1
+ import type { ReactPatternLockProps } from 'react-canvas-pattern-lock';
2
+ import type { ObservableTokens } from './typings';
3
+ export declare const OBSERVE_OPTIONS: MutationObserverInit;
4
+ export declare const DEFAULT_EXTRA_BOUNDS: ReactPatternLockProps['extraBounds'];
5
+ export declare const OBSERVABLE_TOKENS: ObservableTokens;
6
+ export declare const THEME_STATE: {
7
+ INITIAL: string;
8
+ SUCCESS: string;
9
+ FAILURE: string;
10
+ };
@@ -0,0 +1,35 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var OBSERVE_OPTIONS = {
6
+ childList: true,
7
+ attributes: false,
8
+ characterData: false,
9
+ subtree: true,
10
+ };
11
+ var DEFAULT_EXTRA_BOUNDS = [75, 50, 75, 50];
12
+ var OBSERVABLE_TOKENS = {
13
+ ACCENT_INITIAL: '--color-light-neutral-0-inverted',
14
+ ACCENT_SUCCESS: '--color-light-status-positive',
15
+ ACCENT_FAILURE: '--color-light-status-negative',
16
+ PRIMARY: '--color-light-neutral-500',
17
+ BG: '--color-light-base-bg-primary',
18
+ RING_BG_INITIAL: '--color-light-neutral-translucent-200',
19
+ SELECTED_RING_BG_INITIAL: '--color-light-neutral-translucent-300',
20
+ SELECTED_RING_BG_SUCCESS: '--color-light-status-muted-positive',
21
+ SELECTED_RING_BG_FAILURE: '--color-light-status-muted-negative',
22
+ HOVER_INNER: '--color-light-neutral-500-hover',
23
+ HOVER_OUTER: '--color-light-neutral-translucent-200-hover',
24
+ };
25
+ var THEME_STATE = {
26
+ INITIAL: 'initial',
27
+ SUCCESS: 'success',
28
+ FAILURE: 'failure',
29
+ };
30
+
31
+ exports.DEFAULT_EXTRA_BOUNDS = DEFAULT_EXTRA_BOUNDS;
32
+ exports.OBSERVABLE_TOKENS = OBSERVABLE_TOKENS;
33
+ exports.OBSERVE_OPTIONS = OBSERVE_OPTIONS;
34
+ exports.THEME_STATE = THEME_STATE;
35
+ //# sourceMappingURL=consts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consts.js","sources":["../src/consts.ts"],"sourcesContent":["import type { ReactPatternLockProps } from 'react-canvas-pattern-lock';\n\nimport type { ObservableTokens } from './typings';\n\nexport const OBSERVE_OPTIONS: MutationObserverInit = {\n childList: true,\n attributes: false,\n characterData: false,\n subtree: true,\n};\n\nexport const DEFAULT_EXTRA_BOUNDS: ReactPatternLockProps['extraBounds'] = [75, 50, 75, 50];\n\nexport const OBSERVABLE_TOKENS: ObservableTokens = {\n ACCENT_INITIAL: '--color-light-neutral-0-inverted',\n ACCENT_SUCCESS: '--color-light-status-positive',\n ACCENT_FAILURE: '--color-light-status-negative',\n PRIMARY: '--color-light-neutral-500',\n BG: '--color-light-base-bg-primary',\n RING_BG_INITIAL: '--color-light-neutral-translucent-200',\n SELECTED_RING_BG_INITIAL: '--color-light-neutral-translucent-300',\n SELECTED_RING_BG_SUCCESS: '--color-light-status-muted-positive',\n SELECTED_RING_BG_FAILURE: '--color-light-status-muted-negative',\n HOVER_INNER: '--color-light-neutral-500-hover',\n HOVER_OUTER: '--color-light-neutral-translucent-200-hover',\n};\n\nexport const THEME_STATE = {\n INITIAL: 'initial',\n SUCCESS: 'success',\n FAILURE: 'failure',\n};\n"],"names":[],"mappings":";;;;AAIa,IAAA,eAAe,GAAyB;AACjD,IAAA,SAAS,EAAE,IAAI;AACf,IAAA,UAAU,EAAE,KAAK;AACjB,IAAA,aAAa,EAAE,KAAK;AACpB,IAAA,OAAO,EAAE,IAAI;;AAGV,IAAM,oBAAoB,GAAyC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;AAE5E,IAAA,iBAAiB,GAAqB;AAC/C,IAAA,cAAc,EAAE,kCAAkC;AAClD,IAAA,cAAc,EAAE,+BAA+B;AAC/C,IAAA,cAAc,EAAE,+BAA+B;AAC/C,IAAA,OAAO,EAAE,2BAA2B;AACpC,IAAA,EAAE,EAAE,+BAA+B;AACnC,IAAA,eAAe,EAAE,uCAAuC;AACxD,IAAA,wBAAwB,EAAE,uCAAuC;AACjE,IAAA,wBAAwB,EAAE,qCAAqC;AAC/D,IAAA,wBAAwB,EAAE,qCAAqC;AAC/D,IAAA,WAAW,EAAE,iCAAiC;AAC9C,IAAA,WAAW,EAAE,6CAA6C;;AAGjD,IAAA,WAAW,GAAG;AACvB,IAAA,OAAO,EAAE,SAAS;AAClB,IAAA,OAAO,EAAE,SAAS;AAClB,IAAA,OAAO,EAAE,SAAS;;;;;;;;"}
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import type { TPatternLockInstance } from 'react-canvas-pattern-lock';
3
+ import { CommonPatternLockProps } from '../typings';
4
+ export declare const PatternLockDesktopV1: React.ForwardRefExoticComponent<CommonPatternLockProps & React.RefAttributes<TPatternLockInstance>>;
@@ -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 Component = require('../components/base-pattern-lock/Component.js');
8
+ var desktop_module = require('./desktop.module.css.js');
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
+
14
+ var PatternLockDesktopV1 = React.forwardRef(function (restProps, ref) { return React__default.default.createElement(Component.BasePatternLock, tslib.__assign({}, restProps, { hover: true, ref: ref, styles: desktop_module })); });
15
+
16
+ exports.PatternLockDesktopV1 = PatternLockDesktopV1;
17
+ //# sourceMappingURL=Component.desktop.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Component.desktop.js","sources":["../../src/desktop/Component.desktop.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport type { TPatternLockInstance } from 'react-canvas-pattern-lock';\n\nimport { BasePatternLock } from '../components/base-pattern-lock';\nimport { CommonPatternLockProps } from '../typings';\n\nimport styles from './desktop.module.css';\n\nexport const PatternLockDesktopV1 = forwardRef<TPatternLockInstance, CommonPatternLockProps>(\n (restProps, ref) => <BasePatternLock {...restProps} hover={true} ref={ref} styles={styles} />,\n);\n"],"names":["forwardRef","React","BasePatternLock","__assign","styles"],"mappings":";;;;;;;;;;;;;AAQO,IAAM,oBAAoB,GAAGA,gBAAU,CAC1C,UAAC,SAAS,EAAE,GAAG,EAAA,EAAK,OAAAC,sBAAA,CAAA,aAAA,CAACC,yBAAe,EAAKC,cAAA,CAAA,EAAA,EAAA,SAAS,EAAE,EAAA,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAEC,cAAM,EAAA,CAAA,CAAI,CAAzE,EAAyE;;;;"}
@@ -0,0 +1,16 @@
1
+ :root {
2
+ --gap-xs: 8px;
3
+ --gap-xl: 24px;
4
+ --gap-0: 0px;
5
+ --gap-8: var(--gap-xs);
6
+ --gap-24: var(--gap-xl);
7
+ } :root {
8
+ --pattern-lock-v1-desktop-max-width: 240px;
9
+ } .pattern-lock-v1__component_cxd4z {
10
+ max-width: var(--pattern-lock-v1-desktop-max-width);
11
+ margin: var(--gap-8) var(--gap-0) var(--gap-24) var(--gap-0);
12
+ } .pattern-lock-v1__forgotBtn_cxd4z {
13
+ margin: var(--gap-24) auto var(--gap-0);
14
+ } .pattern-lock-v1__hiddenBtn_cxd4z {
15
+ display: none;
16
+ }
@@ -0,0 +1,8 @@
1
+ 'use strict';
2
+
3
+ require('./desktop.css');
4
+
5
+ var styles = {"component":"pattern-lock-v1__component_cxd4z","forgotBtn":"pattern-lock-v1__forgotBtn_cxd4z","hiddenBtn":"pattern-lock-v1__hiddenBtn_cxd4z"};
6
+
7
+ module.exports = styles;
8
+ //# sourceMappingURL=desktop.module.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"desktop.module.css.js","sources":["../src/desktop/desktop.module.css"],"sourcesContent":["@import '@alfalab/core-components-vars/src/no-dynamic-mixins-index.css';\n@import '../vars.css';\n\n.component {\n max-width: var(--pattern-lock-v1-desktop-max-width);\n margin: var(--gap-8) var(--gap-0) var(--gap-24) var(--gap-0);\n}\n\n.forgotBtn {\n margin: var(--gap-24) auto var(--gap-0);\n}\n\n.hiddenBtn {\n display: none;\n}\n"],"names":[],"mappings":";;;;AAEgB,aAAe,CAAC,WAAW,CAAC,kCAAkC,CAAC,WAAW,CAAC,kCAAkC,CAAC,WAAW,CAAC,kCAAkC,CAAC;;;;"}
@@ -0,0 +1,2 @@
1
+ export { PatternLockDesktopV1 } from './Component.desktop';
2
+ export type { CommonPatternLockProps as PatternLockDesktopProps } from '../typings';
@@ -0,0 +1,10 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var Component_desktop = require('./Component.desktop.js');
6
+
7
+
8
+
9
+ exports.PatternLockDesktopV1 = Component_desktop.PatternLockDesktopV1;
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
@@ -0,0 +1,4 @@
1
+ import type { TPatternLockInstance } from 'react-canvas-pattern-lock';
2
+ export declare const usePatternLockCleanup: (patternLockRef: React.MutableRefObject<TPatternLockInstance | null>) => {
3
+ clear: void;
4
+ };
@@ -0,0 +1,19 @@
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;
19
+ //# sourceMappingURL=use-pattern-lock-cleanup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-pattern-lock-cleanup.js","sources":["../../src/hooks/use-pattern-lock-cleanup.tsx"],"sourcesContent":["import { useMemo } from 'react';\nimport type { TPatternLockInstance } from 'react-canvas-pattern-lock';\n\nexport const usePatternLockCleanup = (\n patternLockRef: React.MutableRefObject<TPatternLockInstance | null>,\n) => {\n const clear = useMemo(() => {\n if (patternLockRef.current) {\n patternLockRef.current.setInitialState();\n }\n }, [patternLockRef]);\n\n return {\n clear,\n };\n};\n"],"names":["useMemo"],"mappings":";;;;;;AAGO,IAAM,qBAAqB,GAAG,UACjC,cAAmE,EAAA;IAEnE,IAAM,KAAK,GAAGA,aAAO,CAAC,YAAA;QAClB,IAAI,cAAc,CAAC,OAAO,EAAE;AACxB,YAAA,cAAc,CAAC,OAAO,CAAC,eAAe,EAAE;AAC3C;AACL,KAAC,EAAE,CAAC,cAAc,CAAC,CAAC;IAEpB,OAAO;AACH,QAAA,KAAK,EAAA,KAAA;KACR;AACL;;;;"}
@@ -0,0 +1,3 @@
1
+ export type { PatternLockProps } from './typings';
2
+ export * from './Component.responsive';
3
+ export { THEME_STATE } from './consts';
@@ -0,0 +1,12 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var Component_responsive = require('./Component.responsive.js');
6
+ var consts = require('./consts.js');
7
+
8
+
9
+
10
+ exports.PatternLockV1 = Component_responsive.PatternLockV1;
11
+ exports.THEME_STATE = consts.THEME_STATE;
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;"}
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import type { TPatternLockInstance } from 'react-canvas-pattern-lock';
3
+ import { CommonPatternLockProps } from '../typings';
4
+ export declare const PatternLockMobileV1: React.ForwardRefExoticComponent<CommonPatternLockProps & React.RefAttributes<TPatternLockInstance>>;
@@ -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 Component = require('../components/base-pattern-lock/Component.js');
8
+ var mobile_module = require('./mobile.module.css.js');
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
+
14
+ var PatternLockMobileV1 = React.forwardRef(function (restProps, ref) { return React__default.default.createElement(Component.BasePatternLock, tslib.__assign({}, restProps, { ref: ref, styles: mobile_module })); });
15
+
16
+ exports.PatternLockMobileV1 = PatternLockMobileV1;
17
+ //# sourceMappingURL=Component.mobile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Component.mobile.js","sources":["../../src/mobile/Component.mobile.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport type { TPatternLockInstance } from 'react-canvas-pattern-lock';\n\nimport { BasePatternLock } from '../components/base-pattern-lock';\nimport { CommonPatternLockProps } from '../typings';\n\nimport styles from './mobile.module.css';\n\nexport const PatternLockMobileV1 = forwardRef<TPatternLockInstance, CommonPatternLockProps>(\n (restProps, ref) => <BasePatternLock {...restProps} ref={ref} styles={styles} />,\n);\n"],"names":["forwardRef","React","BasePatternLock","__assign","styles"],"mappings":";;;;;;;;;;;;;AAQO,IAAM,mBAAmB,GAAGA,gBAAU,CACzC,UAAC,SAAS,EAAE,GAAG,EAAK,EAAA,OAAAC,sBAAC,CAAA,aAAA,CAAAC,yBAAe,EAAKC,cAAA,CAAA,EAAA,EAAA,SAAS,EAAE,EAAA,GAAG,EAAE,GAAG,EAAE,MAAM,EAAEC,aAAM,EAAI,CAAA,CAAA,CAAA,EAAA;;;;"}
@@ -0,0 +1,2 @@
1
+ export { PatternLockMobileV1 } from './Component.mobile';
2
+ export type { CommonPatternLockProps as PatternLockMobileProps } from '../typings';
@@ -0,0 +1,10 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var Component_mobile = require('./Component.mobile.js');
6
+
7
+
8
+
9
+ exports.PatternLockMobileV1 = Component_mobile.PatternLockMobileV1;
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
@@ -0,0 +1,40 @@
1
+ :root {
2
+ --gap-xs: 8px;
3
+ --gap-s: 12px;
4
+ --gap-l: 20px;
5
+ --gap-xl: 24px;
6
+ --gap-2xl: 32px;
7
+ --gap-0: 0px;
8
+ --gap-8: var(--gap-xs);
9
+ --gap-12: var(--gap-s);
10
+ --gap-20: var(--gap-l);
11
+ --gap-24: var(--gap-xl);
12
+ --gap-32: var(--gap-2xl);
13
+ } :root {
14
+ --size-s-height: 48px;
15
+ --size-m-height: 56px;
16
+ } :root {
17
+ --pattern-lock-v1-max-width: 500px;
18
+ } .pattern-lock-v1__component_916tb {
19
+ max-width: var(--pattern-lock-v1-max-width);
20
+ margin: var(--gap-8) var(--gap-0) var(--gap-24) var(--gap-0);
21
+ } .pattern-lock-v1__forgotBtn_916tb {
22
+ margin: var(--gap-24) auto var(--gap-0);
23
+ } @media screen and (min-width: 360px) {
24
+ .pattern-lock-v1__forgotBtn_916tb {
25
+ margin-top: var(--gap-32);
26
+ min-height: var(--size-s-height);
27
+ }
28
+
29
+ .pattern-lock-v1__component_916tb {
30
+ margin-bottom: var(--gap-12);
31
+ }
32
+ } @media screen and (min-width: 390px) {
33
+ .pattern-lock-v1__forgotBtn_916tb {
34
+ min-height: var(--size-m-height);
35
+ }
36
+
37
+ .pattern-lock-v1__component_916tb {
38
+ margin-bottom: var(--gap-20);
39
+ }
40
+ }
@@ -0,0 +1,8 @@
1
+ 'use strict';
2
+
3
+ require('./mobile.css');
4
+
5
+ var styles = {"component":"pattern-lock-v1__component_916tb","forgotBtn":"pattern-lock-v1__forgotBtn_916tb"};
6
+
7
+ module.exports = styles;
8
+ //# sourceMappingURL=mobile.module.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mobile.module.css.js","sources":["../src/mobile/mobile.module.css"],"sourcesContent":["@import '@alfalab/core-components-vars/src/no-dynamic-mixins-index.css';\n@import '../vars.css';\n\n.component {\n max-width: var(--pattern-lock-v1-max-width);\n margin: var(--gap-8) var(--gap-0) var(--gap-24) var(--gap-0);\n}\n\n.forgotBtn {\n margin: var(--gap-24) auto var(--gap-0);\n}\n\n@media screen and (min-width: 360px) {\n .forgotBtn {\n margin-top: var(--gap-32);\n min-height: var(--size-s-height);\n }\n\n .component {\n margin-bottom: var(--gap-12);\n }\n}\n\n@media screen and (min-width: 390px) {\n .forgotBtn {\n min-height: var(--size-m-height);\n }\n\n .component {\n margin-bottom: var(--gap-20);\n }\n}\n"],"names":[],"mappings":";;;;AAEgB,aAAe,CAAC,WAAW,CAAC,kCAAkC,CAAC,WAAW,CAAC,kCAAkC,CAAC;;;;"}
@@ -0,0 +1,2 @@
1
+ export { getPatternLockTestIds } from '../utils';
2
+ export { usePatternLockCleanup } from '../hooks/use-pattern-lock-cleanup';
@@ -0,0 +1,12 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var utils = require('../utils.js');
6
+ var usePatternLockCleanup = require('../hooks/use-pattern-lock-cleanup.js');
7
+
8
+
9
+
10
+ exports.getPatternLockTestIds = utils.getPatternLockTestIds;
11
+ exports.usePatternLockCleanup = usePatternLockCleanup.usePatternLockCleanup;
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;"}