@salutejs/plasma-new-hope 0.149.0-canary.1421.10953636107.0 → 0.149.0-canary.1421.10954838350.0
Sign up to get free protection for your applications and to get access to all the features.
- package/cjs/components/DatePicker/RangeDate/RangeDate.css +0 -2
- package/cjs/components/DatePicker/SingleDate/SingleDate.css +0 -2
- package/cjs/components/Mask/Mask.js +45 -0
- package/cjs/components/Mask/Mask.js.map +1 -0
- package/cjs/components/Slider/Slider.css +0 -2
- package/cjs/components/Slider/Slider.js +1 -0
- package/cjs/components/Slider/Slider.js.map +1 -1
- package/cjs/components/Slider/components/Double/Double.css +0 -2
- package/cjs/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.js +1 -0
- package/cjs/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.js.map +1 -1
- package/cjs/components/Slider/components/Single/Single.css +0 -2
- package/cjs/components/TextField/TextField.js +3 -1
- package/cjs/components/TextField/TextField.js.map +1 -1
- package/cjs/index.css +0 -2
- package/cjs/index.js +2 -0
- package/cjs/index.js.map +1 -1
- package/cjs/utils/inputHidden.js +5 -7
- package/cjs/utils/inputHidden.js.map +1 -1
- package/emotion/cjs/components/Mask/Mask.js +55 -0
- package/emotion/cjs/components/Mask/Mask.template-doc.mdx +125 -0
- package/emotion/cjs/components/Mask/Mask.types.js +5 -0
- package/emotion/cjs/components/Mask/index.js +12 -0
- package/emotion/cjs/components/TextField/TextField.js +4 -2
- package/emotion/cjs/examples/plasma_b2c/components/Mask/Mask.js +9 -0
- package/emotion/cjs/examples/plasma_b2c/components/Mask/Mask.stories.tsx +127 -0
- package/emotion/cjs/examples/plasma_web/components/Mask/Mask.js +9 -0
- package/emotion/cjs/examples/plasma_web/components/Mask/Mask.stories.tsx +125 -0
- package/emotion/cjs/index.js +11 -0
- package/emotion/cjs/utils/inputHidden.js +4 -3
- package/emotion/es/components/Mask/Mask.js +45 -0
- package/emotion/es/components/Mask/Mask.template-doc.mdx +125 -0
- package/emotion/es/components/Mask/Mask.types.js +1 -0
- package/emotion/es/components/Mask/index.js +1 -0
- package/emotion/es/components/TextField/TextField.js +4 -2
- package/emotion/es/examples/plasma_b2c/components/Mask/Mask.js +3 -0
- package/emotion/es/examples/plasma_b2c/components/Mask/Mask.stories.tsx +127 -0
- package/emotion/es/examples/plasma_web/components/Mask/Mask.js +3 -0
- package/emotion/es/examples/plasma_web/components/Mask/Mask.stories.tsx +125 -0
- package/emotion/es/index.js +2 -1
- package/emotion/es/utils/inputHidden.js +2 -1
- package/es/components/DatePicker/RangeDate/RangeDate.css +0 -2
- package/es/components/DatePicker/SingleDate/SingleDate.css +0 -2
- package/es/components/Mask/Mask.js +41 -0
- package/es/components/Mask/Mask.js.map +1 -0
- package/es/components/Slider/Slider.css +0 -2
- package/es/components/Slider/Slider.js +1 -0
- package/es/components/Slider/Slider.js.map +1 -1
- package/es/components/Slider/components/Double/Double.css +0 -2
- package/es/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.js +1 -0
- package/es/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.js.map +1 -1
- package/es/components/Slider/components/Single/Single.css +0 -2
- package/es/components/TextField/TextField.js +3 -1
- package/es/components/TextField/TextField.js.map +1 -1
- package/es/index.css +0 -2
- package/es/index.js +1 -0
- package/es/index.js.map +1 -1
- package/es/utils/inputHidden.js +5 -7
- package/es/utils/inputHidden.js.map +1 -1
- package/package.json +4 -2
- package/styled-components/cjs/components/Mask/Mask.js +55 -0
- package/styled-components/cjs/components/Mask/Mask.template-doc.mdx +125 -0
- package/styled-components/cjs/components/Mask/Mask.types.js +5 -0
- package/styled-components/cjs/components/Mask/index.js +12 -0
- package/styled-components/cjs/components/TextField/TextField.js +3 -1
- package/styled-components/cjs/examples/plasma_b2c/components/Mask/Mask.js +9 -0
- package/styled-components/cjs/examples/plasma_b2c/components/Mask/Mask.stories.tsx +127 -0
- package/styled-components/cjs/examples/plasma_web/components/Mask/Mask.js +9 -0
- package/styled-components/cjs/examples/plasma_web/components/Mask/Mask.stories.tsx +125 -0
- package/styled-components/cjs/index.js +11 -0
- package/styled-components/cjs/utils/inputHidden.js +7 -4
- package/styled-components/es/components/Mask/Mask.js +45 -0
- package/styled-components/es/components/Mask/Mask.template-doc.mdx +125 -0
- package/styled-components/es/components/Mask/Mask.types.js +1 -0
- package/styled-components/es/components/Mask/index.js +1 -0
- package/styled-components/es/components/TextField/TextField.js +3 -1
- package/styled-components/es/examples/plasma_b2c/components/Mask/Mask.js +3 -0
- package/styled-components/es/examples/plasma_b2c/components/Mask/Mask.stories.tsx +127 -0
- package/styled-components/es/examples/plasma_web/components/Mask/Mask.js +3 -0
- package/styled-components/es/examples/plasma_web/components/Mask/Mask.stories.tsx +125 -0
- package/styled-components/es/index.js +2 -1
- package/styled-components/es/utils/inputHidden.js +5 -4
- package/types/components/Mask/Mask.d.ts +5 -0
- package/types/components/Mask/Mask.d.ts.map +1 -0
- package/types/components/Mask/Mask.types.d.ts +62 -0
- package/types/components/Mask/Mask.types.d.ts.map +1 -0
- package/types/components/Mask/index.d.ts +2 -0
- package/types/components/Mask/index.d.ts.map +1 -0
- package/types/components/TextField/TextField.d.ts.map +1 -1
- package/types/examples/plasma_b2c/components/Mask/Mask.d.ts +191 -0
- package/types/examples/plasma_b2c/components/Mask/Mask.d.ts.map +1 -0
- package/types/examples/plasma_web/components/Mask/Mask.d.ts +191 -0
- package/types/examples/plasma_web/components/Mask/Mask.d.ts.map +1 -0
- package/types/index.d.ts +1 -0
- package/types/index.d.ts.map +1 -1
- package/types/utils/inputHidden.d.ts +1 -2
- package/types/utils/inputHidden.d.ts.map +1 -1
- package/cjs/utils/inputHidden_1ciypqb.css +0 -1
- package/es/utils/inputHidden_1ciypqb.css +0 -1
@@ -0,0 +1,125 @@
|
|
1
|
+
---
|
2
|
+
id: mask
|
3
|
+
title: Mask
|
4
|
+
---
|
5
|
+
|
6
|
+
import { PropsTable, Description } from '@site/src/components';
|
7
|
+
|
8
|
+
import Tabs from '@theme/Tabs';
|
9
|
+
import TabItem from '@theme/TabItem';
|
10
|
+
|
11
|
+
# Mask
|
12
|
+
<Description name="Mask" />
|
13
|
+
<PropsTable name="Mask" exclude={['css']} />
|
14
|
+
|
15
|
+
## Использование
|
16
|
+
Компонент `Mask` представляет собой поле ввода с возможностью маскирования значения.
|
17
|
+
Он реализован на компоненте [TextField](https://plasma.sberdevices.ru/b2c/components/textfield/)
|
18
|
+
и наследует практически все его свойства (`size`, `view`, `disabled`, `label` и тд.)
|
19
|
+
|
20
|
+
```tsx live
|
21
|
+
import React from 'react';
|
22
|
+
import { Mask } from '@salutejs/{{ package }}';
|
23
|
+
import { IconDone } from '@salutejs/plasma-icons';
|
24
|
+
|
25
|
+
export function App() {
|
26
|
+
return (
|
27
|
+
<div>
|
28
|
+
<Mask
|
29
|
+
label="Лейбл"
|
30
|
+
leftHelper="Подсказка к полю"
|
31
|
+
placeholder="Введите дату"
|
32
|
+
mask="00/00/0000"
|
33
|
+
maskString="DD/MM/YYYY"
|
34
|
+
size="l"
|
35
|
+
/>
|
36
|
+
</div>
|
37
|
+
);
|
38
|
+
}
|
39
|
+
```
|
40
|
+
|
41
|
+
### Маска
|
42
|
+
Маска задается с помощью свойства `mask`.
|
43
|
+
Поддерживает следующие символы:
|
44
|
+
|
45
|
+
| Обозначение | Описание |
|
46
|
+
|-------------|---------------------------------------|
|
47
|
+
| 0 | любая цифра от 0 до 9 |
|
48
|
+
| a (англ.) | A-Z, a-z |
|
49
|
+
| я | А-Я, а-я, ё, Ё |
|
50
|
+
| q | буква "q" |
|
51
|
+
| 2 | цифра "2" |
|
52
|
+
| * | любой символ |
|
53
|
+
| \ | символ экранирования "\a" - буква "a" |
|
54
|
+
|
55
|
+
|
56
|
+
<Tabs>
|
57
|
+
<TabItem value="phone" label="Маска телефона">
|
58
|
+
Пример маски для ввода телефона
|
59
|
+
|
60
|
+
```tsx live
|
61
|
+
import React from 'react';
|
62
|
+
import { Mask } from '@salutejs/{{ package }}';
|
63
|
+
|
64
|
+
export function App() {
|
65
|
+
return (
|
66
|
+
<div>
|
67
|
+
<Mask
|
68
|
+
label="Маска телефона"
|
69
|
+
placeholder="Введите телефон"
|
70
|
+
mask="+7 (000) 000 - 00 - 00"
|
71
|
+
maskChar="_"
|
72
|
+
size="l"
|
73
|
+
alwaysShowMask
|
74
|
+
/>
|
75
|
+
</div>
|
76
|
+
);
|
77
|
+
}
|
78
|
+
```
|
79
|
+
</TabItem>
|
80
|
+
<TabItem value="date" label="Маска даты">
|
81
|
+
Пример маски для ввода даты
|
82
|
+
|
83
|
+
```tsx live
|
84
|
+
import React from 'react';
|
85
|
+
import { Mask } from '@salutejs/{{ package }}';
|
86
|
+
|
87
|
+
export function App() {
|
88
|
+
return (
|
89
|
+
<div>
|
90
|
+
<Mask
|
91
|
+
label="Маска даты"
|
92
|
+
placeholder="Введите дату"
|
93
|
+
mask="00/00/0000"
|
94
|
+
maskString="DD/MM/YYYY"
|
95
|
+
size="l"
|
96
|
+
/>
|
97
|
+
</div>
|
98
|
+
);
|
99
|
+
}
|
100
|
+
```
|
101
|
+
</TabItem>
|
102
|
+
<TabItem value="time" label="Маска времени">
|
103
|
+
Пример маски для ввода даты
|
104
|
+
|
105
|
+
```tsx live
|
106
|
+
import React from 'react';
|
107
|
+
import { Mask } from '@salutejs/{{ package }}';
|
108
|
+
|
109
|
+
export function App() {
|
110
|
+
return (
|
111
|
+
<div>
|
112
|
+
<Mask
|
113
|
+
label="Маска времени"
|
114
|
+
placeholder="Введите время"
|
115
|
+
mask="1\0:00"
|
116
|
+
maskChar="_"
|
117
|
+
size="l"
|
118
|
+
showPrefix
|
119
|
+
/>
|
120
|
+
</div>
|
121
|
+
);
|
122
|
+
}
|
123
|
+
```
|
124
|
+
</TabItem>
|
125
|
+
</Tabs>
|
@@ -0,0 +1,12 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
Object.defineProperty(exports, "composeMask", {
|
7
|
+
enumerable: true,
|
8
|
+
get: function get() {
|
9
|
+
return _Mask.composeMask;
|
10
|
+
}
|
11
|
+
});
|
12
|
+
var _Mask = /*#__PURE__*/require("./Mask");
|
@@ -38,7 +38,7 @@ var base = exports.base = process.env.NODE_ENV === "production" ? {
|
|
38
38
|
} : {
|
39
39
|
name: "121o0v2-plasma-new-hope__base",
|
40
40
|
styles: "display:block;label:plasma-new-hope__base;",
|
41
|
-
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy1lbW90aW9uL2NvbXBvbmVudHMvVGV4dEZpZWxkL1RleHRGaWVsZC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBb0N1QiIsImZpbGUiOiIuLi8uLi8uLi8uLi9zcmMtZW1vdGlvbi9jb21wb25lbnRzL1RleHRGaWVsZC9UZXh0RmllbGQudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IGZvcndhcmRSZWYsIHVzZUVmZmVjdCwgdXNlUmVmLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB0eXBlIHsgRm9ybUV2ZW50SGFuZGxlciwgQ2hhbmdlRXZlbnRIYW5kbGVyLCBLZXlib2FyZEV2ZW50LCBDaGFuZ2VFdmVudCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHNhZmVVc2VJZCwgdXNlRm9ya1JlZiB9IGZyb20gJ0BzYWx1dGVqcy9wbGFzbWEtY29yZSc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5cbmltcG9ydCB0eXBlIHsgUm9vdFByb3BzIH0gZnJvbSAnLi4vLi4vZW5naW5lcyc7XG5pbXBvcnQgeyBjeCB9IGZyb20gJy4uLy4uL3V0aWxzJztcblxuaW1wb3J0IHR5cGUgeyBDaGlwVmFsdWVzLCBUZXh0RmllbGRQcmltaXRpdmVWYWx1ZSwgVGV4dEZpZWxkUHJvcHMgfSBmcm9tICcuL1RleHRGaWVsZC50eXBlcyc7XG5pbXBvcnQgeyBiYXNlIGFzIHNpemVDU1MgfSBmcm9tICcuL3ZhcmlhdGlvbnMvX3NpemUvYmFzZSc7XG5pbXBvcnQgeyBiYXNlIGFzIHZpZXdDU1MgfSBmcm9tICcuL3ZhcmlhdGlvbnMvX3ZpZXcvYmFzZSc7XG5pbXBvcnQgeyBiYXNlIGFzIGRpc2FibGVkQ1NTIH0gZnJvbSAnLi92YXJpYXRpb25zL19kaXNhYmxlZC9iYXNlJztcbmltcG9ydCB7IGJhc2UgYXMgcmVhZE9ubHlDU1MgfSBmcm9tICcuL3ZhcmlhdGlvbnMvX3JlYWQtb25seS9iYXNlJztcbmltcG9ydCB7IGJhc2UgYXMgbGFiZWxQbGFjZW1lbnRDU1MgfSBmcm9tICcuL3ZhcmlhdGlvbnMvX2xhYmVsLXBsYWNlbWVudC9iYXNlJztcbmltcG9ydCB7XG4gICAgSW5wdXQsXG4gICAgSW5wdXRDb250YWluZXIsXG4gICAgTGVmdEhlbHBlcixcbiAgICBMYWJlbCxcbiAgICBJbnB1dFdyYXBwZXIsXG4gICAgSW5wdXRMYWJlbFdyYXBwZXIsXG4gICAgU3R5bGVkQ29udGVudExlZnQsXG4gICAgU3R5bGVkQ29udGVudFJpZ2h0LFxuICAgIFN0eWxlZENoaXBzLFxuICAgIFN0eWxlZFRleHRCZWZvcmUsXG4gICAgU3R5bGVkVGV4dEFmdGVyLFxuICAgIFN0eWxlZEluZGljYXRvcixcbiAgICBTdHlsZWRPcHRpb25hbFRleHQsXG4gICAgSW5wdXRQbGFjZWhvbGRlcixcbn0gZnJvbSAnLi9UZXh0RmllbGQuc3R5bGVzJztcbmltcG9ydCB7IGNsYXNzZXMgfSBmcm9tICcuL1RleHRGaWVsZC50b2tlbnMnO1xuaW1wb3J0IHsgVGV4dEZpZWxkQ2hpcCB9IGZyb20gJy4vdWknO1xuaW1wb3J0IHsgdXNlS2V5TmF2aWdhdGlvbiB9IGZyb20gJy4vaG9va3MnO1xuXG5jb25zdCBvcHRpb25hbFRleHQgPSAnb3B0aW9uYWwnO1xuXG5leHBvcnQgY29uc3QgYmFzZSA9IGNzc2BcbiAgICAvKiBOT1RFOiBXZWJraXQg0L3QtSDQv9GA0LjQvNC10L3Rj9C10YIgb3BhY2l0eSDQuiBpbmxpbmUg0YLQtdCz0LDQvCAqL1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuYDtcblxuZXhwb3J0IGNvbnN0IHRleHRGaWVsZFJvb3QgPSAoUm9vdDogUm9vdFByb3BzPEhUTUxEaXZFbGVtZW50LCBUZXh0RmllbGRQcm9wcz4pID0+XG4gICAgZm9yd2FyZFJlZjxIVE1MSW5wdXRFbGVtZW50LCBUZXh0RmllbGRQcm9wcz4oXG4gICAgICAgIChcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpZCxcbiAgICAgICAgICAgICAgICBjbGFzc05hbWUsXG4gICAgICAgICAgICAgICAgc3R5bGUsXG5cbiAgICAgICAgICAgICAgICAvLyBsYXlvdXRcbiAgICAgICAgICAgICAgICBjb250ZW50TGVmdCxcbiAgICAgICAgICAgICAgICBjb250ZW50UmlnaHQsXG4gICAgICAgICAgICAgICAgbGFiZWwsXG4gICAgICAgICAgICAgICAgbGFiZWxQbGFjZW1lbnQsXG4gICAgICAgICAgICAgICAgdGV4dEJlZm9yZSxcbiAgICAgICAgICAgICAgICB0ZXh0QWZ0ZXIsXG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXIsXG4gICAgICAgICAgICAgICAgbGVmdEhlbHBlcixcbiAgICAgICAgICAgICAgICBlbnVtZXJhdGlvblR5cGUgPSAncGxhaW4nLFxuICAgICAgICAgICAgICAgIHJlcXVpcmVkUGxhY2VtZW50ID0gJ3JpZ2h0JyxcblxuICAgICAgICAgICAgICAgIC8vIHZhcmlhdGlvbnNcbiAgICAgICAgICAgICAgICB2aWV3LFxuICAgICAgICAgICAgICAgIHNpemUsXG4gICAgICAgICAgICAgICAgcmVhZE9ubHkgPSBmYWxzZSxcbiAgICAgICAgICAgICAgICBkaXNhYmxlZCA9IGZhbHNlLFxuICAgICAgICAgICAgICAgIHJlcXVpcmVkID0gZmFsc2UsXG4gICAgICAgICAgICAgICAgb3B0aW9uYWwsXG5cbiAgICAgICAgICAgICAgICAvLyBjb250cm9sbGVkXG4gICAgICAgICAgICAgICAgdmFsdWU6IG91dGVyVmFsdWUsXG4gICAgICAgICAgICAgICAgY2hpcHM6IHZhbHVlcyxcblxuICAgICAgICAgICAgICAgIC8vIGV2ZW50c1xuICAgICAgICAgICAgICAgIG9uQ2hhbmdlLFxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlQ2hpcHMsXG4gICAgICAgICAgICAgICAgb25TZWFyY2gsXG4gICAgICAgICAgICAgICAgb25LZXlEb3duLFxuXG4gICAgICAgICAgICAgICAgLi4ucmVzdFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHJlZixcbiAgICAgICAgKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBjb250ZW50UmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKTtcbiAgICAgICAgICAgIGNvbnN0IGlucHV0UmVmID0gdXNlUmVmPEhUTUxJbnB1dEVsZW1lbnQ+KG51bGwpO1xuICAgICAgICAgICAgY29uc3QgaW5wdXRGb3JrUmVmID0gdXNlRm9ya1JlZihpbnB1dFJlZiwgcmVmKTtcbiAgICAgICAgICAgIGNvbnN0IGNoaXBzUmVmcyA9IHVzZVJlZjxBcnJheTxIVE1MQnV0dG9uRWxlbWVudD4+KFtdKTtcblxuICAgICAgICAgICAgY29uc3QgY29udHJvbGxlZFJlZnMgPSB7IGNvbnRlbnRSZWYsIGlucHV0UmVmLCBjaGlwc1JlZnMgfTtcblxuICAgICAgICAgICAgY29uc3QgW2hhc1ZhbHVlLCBzZXRIYXNWYWx1ZV0gPSB1c2VTdGF0ZShcbiAgICAgICAgICAgICAgICBCb29sZWFuKG91dGVyVmFsdWUpIHx8IEJvb2xlYW4oaW5wdXRSZWY/LmN1cnJlbnQ/LnZhbHVlKSB8fCBCb29sZWFuKHJlc3Q/LmRlZmF1bHRWYWx1ZSksXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgY29uc3QgW2NoaXBzLCBzZXRDaGlwc10gPSB1c2VTdGF0ZTxBcnJheTxDaGlwVmFsdWVzPj4oW10pO1xuXG4gICAgICAgICAgICBjb25zdCB1bmlxSWQgPSBzYWZlVXNlSWQoKTtcbiAgICAgICAgICAgIGNvbnN0IGlubmVySWQgPSBpZCB8fCB1bmlxSWQ7XG4gICAgICAgICAgICBjb25zdCBsYWJlbElkID0gc2FmZVVzZUlkKCk7XG4gICAgICAgICAgICBjb25zdCBoZWxwZXJUZXh0SWQgPSBzYWZlVXNlSWQoKTtcblxuICAgICAgICAgICAgY29uc3QgaXNDaGlwRW51bWVyYXRpb24gPSBlbnVtZXJhdGlvblR5cGUgPT09ICdjaGlwJztcbiAgICAgICAgICAgIGNvbnN0IGlzQ2hpcHNWaXNpYmxlID0gaXNDaGlwRW51bWVyYXRpb24gJiYgQm9vbGVhbihjaGlwcz8ubGVuZ3RoKTtcbiAgICAgICAgICAgIGNvbnN0IHdpdGhIYXNDaGlwcyA9IGlzQ2hpcHNWaXNpYmxlID8gY2xhc3Nlcy5oYXNDaGlwcyA6IHVuZGVmaW5lZDtcblxuICAgICAgICAgICAgY29uc3QgaGFzTGFiZWxWYWx1ZSA9IEJvb2xlYW4obGFiZWwpO1xuICAgICAgICAgICAgY29uc3QgaGFzSW5uZXJMYWJlbCA9IHNpemUgIT09ICd4cycgJiYgbGFiZWxQbGFjZW1lbnQgPT09ICdpbm5lcicgJiYgIWlzQ2hpcHNWaXNpYmxlICYmIGhhc0xhYmVsVmFsdWU7XG4gICAgICAgICAgICBjb25zdCBoYXNPdXRlckxhYmVsID0gbGFiZWxQbGFjZW1lbnQgPT09ICdvdXRlcicgJiYgaGFzTGFiZWxWYWx1ZTtcbiAgICAgICAgICAgIGNvbnN0IGhhc1BsYWNlaG9sZGVyID0gQm9vbGVhbihwbGFjZWhvbGRlcikgJiYgIWhhc0lubmVyTGFiZWw7XG5cbiAgICAgICAgICAgIGNvbnN0IGlubmVyTGFiZWxWYWx1ZSA9IGhhc0lubmVyTGFiZWwgfHwgaGFzT3V0ZXJMYWJlbCA/IGxhYmVsIDogdW5kZWZpbmVkO1xuICAgICAgICAgICAgY29uc3QgaW5uZXJMYWJlbFBsYWNlbWVudFZhbHVlID0gbGFiZWxQbGFjZW1lbnQgPT09ICdpbm5lcicgJiYgIWhhc0lubmVyTGFiZWwgPyB1bmRlZmluZWQgOiBsYWJlbFBsYWNlbWVudDtcblxuICAgICAgICAgICAgY29uc3QgaW5uZXJQbGFjZWhvbGRlclZhbHVlID0gaGFzUGxhY2Vob2xkZXIgPyBwbGFjZWhvbGRlciA6IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIGNvbnN0IHBsYWNlaG9sZGVyU2hvd24gPSBCb29sZWFuKGlubmVyUGxhY2Vob2xkZXJWYWx1ZSkgJiYgIWhhc1ZhbHVlO1xuXG4gICAgICAgICAgICBjb25zdCByZXF1aXJlZFBsYWNlbWVudENsYXNzID0gcmVxdWlyZWRQbGFjZW1lbnQgPT09ICdyaWdodCcgPyAnYWxpZ24tcmlnaHQgJyA6IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIGNvbnN0IGxhYmVsUGxhY2VtZW50Q2xhc3MgPSBpbm5lckxhYmVsUGxhY2VtZW50VmFsdWVcbiAgICAgICAgICAgICAgICA/IGNsYXNzZXNbYCR7aW5uZXJMYWJlbFBsYWNlbWVudFZhbHVlfUxhYmVsUGxhY2VtZW50YCBhcyBrZXlvZiB0eXBlb2YgY2xhc3Nlc11cbiAgICAgICAgICAgICAgICA6IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIGNvbnN0IGhhc1ZhbHVlQ2xhc3MgPSBoYXNWYWx1ZSA/IGNsYXNzZXMuaGFzVmFsdWUgOiB1bmRlZmluZWQ7XG5cbiAgICAgICAgICAgIGNvbnN0IHdyYXBwZXJXaXRob3V0TGVmdENvbnRlbnQgPSAhY29udGVudExlZnQgJiYgaXNDaGlwc1Zpc2libGUgPyBjbGFzc2VzLmhhc0VtcHR5Q29udGVudExlZnQgOiB1bmRlZmluZWQ7XG4gICAgICAgICAgICBjb25zdCB3cmFwcGVyV2l0aG91dFJpZ2h0Q29udGVudCA9XG4gICAgICAgICAgICAgICAgIWNvbnRlbnRSaWdodCAmJiBpc0NoaXBzVmlzaWJsZSA/IGNsYXNzZXMuaGFzRW1wdHlDb250ZW50UmlnaHQgOiB1bmRlZmluZWQ7XG5cbiAgICAgICAgICAgIGNvbnN0IGhhbmRsZUlucHV0OiBGb3JtRXZlbnRIYW5kbGVyPEhUTUxJbnB1dEVsZW1lbnQ+ID0gKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgc2V0SGFzVmFsdWUoQm9vbGVhbigoZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQpLnZhbHVlKSk7XG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICBjb25zdCBoYW5kbGVDaGFuZ2U6IENoYW5nZUV2ZW50SGFuZGxlcjxIVE1MSW5wdXRFbGVtZW50PiA9IChldmVudCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChkaXNhYmxlZCB8fCByZWFkT25seSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgY29uc3QgeyBtYXhMZW5ndGgsIHZhbHVlIH0gPSBldmVudC50YXJnZXQ7XG5cbiAgICAgICAgICAgICAgICBpZiAobWF4TGVuZ3RoICE9PSAtMSAmJiB2YWx1ZS5sZW5ndGggPiBtYXhMZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlPy4oZXZlbnQpO1xuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgY29uc3QgdXBkYXRlQ2hpcHMgPSAobmV3Q2hpcHM6IEFycmF5PENoaXBWYWx1ZXM+LCBuZXdWYWx1ZXM6IEFycmF5PFRleHRGaWVsZFByaW1pdGl2ZVZhbHVlPikgPT4ge1xuICAgICAgICAgICAgICAgIHNldENoaXBzKG5ld0NoaXBzKTtcbiAgICAgICAgICAgICAgICBvbkNoYW5nZUNoaXBzPy4obmV3VmFsdWVzKTtcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIGNvbnN0IHsgaGFuZGxlSW5wdXRLZXlkb3duLCBoYW5kbGVDaGlwS2V5RG93biwgb25DaGlwQ2xlYXIsIGhhbmRsZUNvbnRlbnRLZXlEb3duIH0gPSB1c2VLZXlOYXZpZ2F0aW9uKHtcbiAgICAgICAgICAgICAgICBjb250cm9sbGVkUmVmcyxcbiAgICAgICAgICAgICAgICBkaXNhYmxlZCxcbiAgICAgICAgICAgICAgICByZWFkT25seSxcbiAgICAgICAgICAgICAgICBjaGlwcyxcbiAgICAgICAgICAgICAgICBlbnVtZXJhdGlvblR5cGUsXG4gICAgICAgICAgICAgICAgdXBkYXRlQ2hpcHMsXG4gICAgICAgICAgICAgICAgb25TZWFyY2gsXG4gICAgICAgICAgICAgICAgb25DaGFuZ2UsXG4gICAgICAgICAgICAgICAgb25FbnRlckRpc2FibGVkOiAocmVzdCBhcyBhbnkpLm9uRW50ZXJEaXNhYmxlZCxcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBjb25zdCBvbkNoaXBDbGljayA9IChldmVudDogUmVhY3QuTW91c2VFdmVudDxIVE1MQnV0dG9uRWxlbWVudD4pID0+IGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gICAgICAgICAgICBjb25zdCBoYW5kbGVJbnB1dEZvY3VzID0gKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChyZWFkT25seSB8fCBkaXNhYmxlZCB8fCAhaW5wdXRSZWY/LmN1cnJlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlucHV0UmVmLmN1cnJlbnQuc2Nyb2xsVG8oe1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDAsXG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IGlucHV0UmVmLmN1cnJlbnQub2Zmc2V0TGVmdCxcbiAgICAgICAgICAgICAgICAgICAgYmVoYXZpb3I6ICdzbW9vdGgnLFxuICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgaW5wdXRSZWYuY3VycmVudC5mb2N1cygpO1xuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgY29uc3QgZ2V0UmVmID0gKGVsZW1lbnQ6IEhUTUxCdXR0b25FbGVtZW50IHwgbnVsbCwgaW5kZXg6IG51bWJlcikgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChlbGVtZW50ICYmIGNoaXBzUmVmcz8uY3VycmVudCkge1xuICAgICAgICAgICAgICAgICAgICBjaGlwc1JlZnMuY3VycmVudFtpbmRleF0gPSBlbGVtZW50O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIGNvbnN0IGhhbmRsZU9uS2V5RG93biA9IChldmVudDogQ2hhbmdlRXZlbnQ8SFRNTElucHV0RWxlbWVudD4gJiBLZXlib2FyZEV2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+KSA9PiB7XG4gICAgICAgICAgICAgICAgaGFuZGxlSW5wdXRLZXlkb3duKGV2ZW50KTtcbiAgICAgICAgICAgICAgICBvbktleURvd24gJiYgb25LZXlEb3duKGV2ZW50KTtcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCFpc0NoaXBFbnVtZXJhdGlvbiAmJiAhdmFsdWVzPy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGNvbnN0IG5ld0NoaXBzID1cbiAgICAgICAgICAgICAgICAgICAgdmFsdWVzPy5tYXAoKHZhbHVlLCBpbmRleCkgPT4gKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlkOiBgJHtpbmRleH1fJHt2YWx1ZX1gLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dDogdmFsdWUsXG4gICAgICAgICAgICAgICAgICAgIH0pKSB8fCBbXTtcblxuICAgICAgICAgICAgICAgIHNldENoaXBzKG5ld0NoaXBzKTtcbiAgICAgICAgICAgIH0sIFtpc0NoaXBFbnVtZXJhdGlvbiwgdmFsdWVzXSk7XG5cbiAgICAgICAgICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgc2V0SGFzVmFsdWUoQm9vbGVhbihyZXN0Py5kZWZhdWx0VmFsdWUpKTtcbiAgICAgICAgICAgIH0sIFtyZXN0LmRlZmF1bHRWYWx1ZV0pO1xuXG4gICAgICAgICAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHNldEhhc1ZhbHVlKEJvb2xlYW4ob3V0ZXJWYWx1ZSkgfHwgQm9vbGVhbihpbnB1dFJlZj8uY3VycmVudD8udmFsdWUpKTtcbiAgICAgICAgICAgIH0sIFtvdXRlclZhbHVlLCBpbnB1dFJlZj8uY3VycmVudD8udmFsdWVdKTtcblxuICAgICAgICAgICAgY29uc3QgaW5uZXJPcHRpb25hbCA9IEJvb2xlYW4ocmVxdWlyZWQgPyBmYWxzZSA6IG9wdGlvbmFsKTtcbiAgICAgICAgICAgIGNvbnN0IGhhc1BsYWNlaG9sZGVyT3B0aW9uYWwgPSBpbm5lck9wdGlvbmFsICYmICFpbm5lckxhYmVsVmFsdWUgJiYgIWhhc091dGVyTGFiZWw7XG4gICAgICAgICAgICBjb25zdCBvcHRpb25hbFRleHROb2RlID0gaW5uZXJPcHRpb25hbCA/IChcbiAgICAgICAgICAgICAgICA8U3R5bGVkT3B0aW9uYWxUZXh0PlxuICAgICAgICAgICAgICAgICAgICB7Qm9vbGVhbihoYXNQbGFjZWhvbGRlck9wdGlvbmFsID8gaW5uZXJQbGFjZWhvbGRlclZhbHVlIDogaW5uZXJMYWJlbFZhbHVlKSAmJiAnXFx4YTAnfVxuICAgICAgICAgICAgICAgICAgICB7b3B0aW9uYWxUZXh0fVxuICAgICAgICAgICAgICAgIDwvU3R5bGVkT3B0aW9uYWxUZXh0PlxuICAgICAgICAgICAgKSA6IG51bGw7XG5cbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgPFJvb3RcbiAgICAgICAgICAgICAgICAgICAgdmlldz17dmlld31cbiAgICAgICAgICAgICAgICAgICAgc2l6ZT17c2l6ZX1cbiAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICAgICAgICByZWFkT25seT17IWRpc2FibGVkICYmIHJlYWRPbmx5fVxuICAgICAgICAgICAgICAgICAgICBsYWJlbFBsYWNlbWVudD17aW5uZXJMYWJlbFBsYWNlbWVudFZhbHVlfVxuICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXtoYW5kbGVJbnB1dEZvY3VzfVxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2N4KGxhYmVsUGxhY2VtZW50Q2xhc3MsIGNsYXNzZXMudGV4dEZpZWxkR3JvdXBJdGVtLCBjbGFzc05hbWUpfVxuICAgICAgICAgICAgICAgICAgICBzdHlsZT17c3R5bGV9XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7aGFzT3V0ZXJMYWJlbCAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICA8TGFiZWwgaWQ9e2xhYmVsSWR9IGh0bWxGb3I9e2lkfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7cmVxdWlyZWQgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U3R5bGVkSW5kaWNhdG9yIGNsYXNzTmFtZT17Y3goY2xhc3Nlcy5vdXRlckxhYmVsUGxhY2VtZW50LCByZXF1aXJlZFBsYWNlbWVudENsYXNzKX0gLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtpbm5lckxhYmVsVmFsdWV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge29wdGlvbmFsVGV4dE5vZGV9XG4gICAgICAgICAgICAgICAgICAgICAgICA8L0xhYmVsPlxuICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICA8SW5wdXRXcmFwcGVyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBSZWYg0LTQu9GPINCy0L3Rg9GC0YDQtdC90L3QtdCz0L4g0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40Y8uINCd0LUg0L7RgtC00LDQtdGC0YHRjyDQvdCw0YDRg9C20YMuXG4gICAgICAgICAgICAgICAgICAgICAgICByZWY9eyhyZXN0IGFzIGFueSkuaW5wdXRXcmFwcGVyUmVmfVxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjeCh3aXRoSGFzQ2hpcHMsIHdyYXBwZXJXaXRob3V0TGVmdENvbnRlbnQsIHdyYXBwZXJXaXRob3V0UmlnaHRDb250ZW50KX1cbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgeyFoYXNPdXRlckxhYmVsICYmIHJlcXVpcmVkICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U3R5bGVkSW5kaWNhdG9yIGNsYXNzTmFtZT17Y3goY2xhc3Nlcy5pbm5lckxhYmVsUGxhY2VtZW50LCByZXF1aXJlZFBsYWNlbWVudENsYXNzKX0gLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICB7Y29udGVudExlZnQgJiYgPFN0eWxlZENvbnRlbnRMZWZ0Pntjb250ZW50TGVmdH08L1N0eWxlZENvbnRlbnRMZWZ0Pn1cbiAgICAgICAgICAgICAgICAgICAgICAgIDxJbnB1dExhYmVsV3JhcHBlclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhYkluZGV4PXstMX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWY9e2NvbnRlbnRSZWZ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb25LZXlEb3duPXtoYW5kbGVDb250ZW50S2V5RG93bn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e3dpdGhIYXNDaGlwc31cbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7dGV4dEJlZm9yZSAmJiA8U3R5bGVkVGV4dEJlZm9yZT57dGV4dEJlZm9yZX08L1N0eWxlZFRleHRCZWZvcmU+fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtpc0NoaXBFbnVtZXJhdGlvbiAmJiBCb29sZWFuKGNoaXBzPy5sZW5ndGgpICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFN0eWxlZENoaXBzPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2NoaXBzPy5tYXAoKHsgaWQ6IGNoaXBJZCwgdGV4dCB9LCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxUZXh0RmllbGRDaGlwXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD17Y2hpcElkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmPXsoZWxlbWVudCkgPT4gZ2V0UmVmKGVsZW1lbnQsIGluZGV4KX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleT17YCR7Y2hpcElkfV8ke2luZGV4fWB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkT25seT17cmVhZE9ubHl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT17dGV4dH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQ9e3RleHR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbktleURvd249eyhldmVudCkgPT4gaGFuZGxlQ2hpcEtleURvd24oZXZlbnQsIGNoaXBJZCwgaW5kZXgpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGVhcj17KCkgPT4gb25DaGlwQ2xlYXIoY2hpcElkLCBpbmRleCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXtvbkNoaXBDbGlja31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvU3R5bGVkQ2hpcHM+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8SW5wdXRDb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxJbnB1dFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmPXtpbnB1dEZvcmtSZWZ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD17aW5uZXJJZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPXtvdXRlclZhbHVlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbGxlZGJ5PXtsYWJlbElkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1kZXNjcmliZWRieT17aGVscGVyVGV4dElkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9e2lubmVyUGxhY2Vob2xkZXJWYWx1ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y3goaGFzVmFsdWVDbGFzcyl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkT25seT17IWRpc2FibGVkICYmIHJlYWRPbmx5fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25JbnB1dD17aGFuZGxlSW5wdXR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZT17aGFuZGxlQ2hhbmdlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25LZXlEb3duPXtoYW5kbGVPbktleURvd259XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Li4ucmVzdH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2hhc0lubmVyTGFiZWwgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPExhYmVsIGlkPXtsYWJlbElkfSBodG1sRm9yPXtpbm5lcklkfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7aW5uZXJMYWJlbFZhbHVlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtvcHRpb25hbFRleHROb2RlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9MYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3BsYWNlaG9sZGVyU2hvd24gJiYgIWhhc1ZhbHVlICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxJbnB1dFBsYWNlaG9sZGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtpbm5lclBsYWNlaG9sZGVyVmFsdWV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2hhc1BsYWNlaG9sZGVyT3B0aW9uYWwgJiYgb3B0aW9uYWxUZXh0Tm9kZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvSW5wdXRQbGFjZWhvbGRlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0lucHV0Q29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt0ZXh0QWZ0ZXIgJiYgPFN0eWxlZFRleHRBZnRlcj57dGV4dEFmdGVyfTwvU3R5bGVkVGV4dEFmdGVyPn1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvSW5wdXRMYWJlbFdyYXBwZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7Y29udGVudFJpZ2h0ICYmIDxTdHlsZWRDb250ZW50UmlnaHQ+e2NvbnRlbnRSaWdodH08L1N0eWxlZENvbnRlbnRSaWdodD59XG4gICAgICAgICAgICAgICAgICAgIDwvSW5wdXRXcmFwcGVyPlxuICAgICAgICAgICAgICAgICAgICB7bGVmdEhlbHBlciAmJiA8TGVmdEhlbHBlciBpZD17aGVscGVyVGV4dElkfT57bGVmdEhlbHBlcn08L0xlZnRIZWxwZXI+fVxuICAgICAgICAgICAgICAgIDwvUm9vdD5cbiAgICAgICAgICAgICk7XG4gICAgICAgIH0sXG4gICAgKTtcblxuZXhwb3J0IGNvbnN0IHRleHRGaWVsZENvbmZpZyA9IHtcbiAgICBuYW1lOiAnVGV4dEZpZWxkJyxcbiAgICB0YWc6ICdkaXYnLFxuICAgIGxheW91dDogdGV4dEZpZWxkUm9vdCxcbiAgICBiYXNlLFxuICAgIHZhcmlhdGlvbnM6IHtcbiAgICAgICAgdmlldzoge1xuICAgICAgICAgICAgY3NzOiB2aWV3Q1NTLFxuICAgICAgICB9LFxuICAgICAgICBzaXplOiB7XG4gICAgICAgICAgICBjc3M6IHNpemVDU1MsXG4gICAgICAgIH0sXG4gICAgICAgIGRpc2FibGVkOiB7XG4gICAgICAgICAgICBjc3M6IGRpc2FibGVkQ1NTLFxuICAgICAgICAgICAgYXR0cnM6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICAgIHJlYWRPbmx5OiB7XG4gICAgICAgICAgICBjc3M6IHJlYWRPbmx5Q1NTLFxuICAgICAgICAgICAgYXR0cnM6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICAgIGxhYmVsUGxhY2VtZW50OiB7XG4gICAgICAgICAgICBjc3M6IGxhYmVsUGxhY2VtZW50Q1NTLFxuICAgICAgICB9LFxuICAgIH0sXG4gICAgZGVmYXVsdHM6IHtcbiAgICAgICAgc2l6ZTogJ20nLFxuICAgICAgICB2aWV3OiAnZGVmYXVsdCcsXG4gICAgfSxcbn07XG4iXX0= */",
|
41
|
+
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy1lbW90aW9uL2NvbXBvbmVudHMvVGV4dEZpZWxkL1RleHRGaWVsZC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBb0N1QiIsImZpbGUiOiIuLi8uLi8uLi8uLi9zcmMtZW1vdGlvbi9jb21wb25lbnRzL1RleHRGaWVsZC9UZXh0RmllbGQudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IGZvcndhcmRSZWYsIHVzZUVmZmVjdCwgdXNlUmVmLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB0eXBlIHsgRm9ybUV2ZW50SGFuZGxlciwgQ2hhbmdlRXZlbnRIYW5kbGVyLCBLZXlib2FyZEV2ZW50LCBDaGFuZ2VFdmVudCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHNhZmVVc2VJZCwgdXNlRm9ya1JlZiB9IGZyb20gJ0BzYWx1dGVqcy9wbGFzbWEtY29yZSc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5cbmltcG9ydCB0eXBlIHsgUm9vdFByb3BzIH0gZnJvbSAnLi4vLi4vZW5naW5lcyc7XG5pbXBvcnQgeyBjeCB9IGZyb20gJy4uLy4uL3V0aWxzJztcblxuaW1wb3J0IHR5cGUgeyBDaGlwVmFsdWVzLCBUZXh0RmllbGRQcmltaXRpdmVWYWx1ZSwgVGV4dEZpZWxkUHJvcHMgfSBmcm9tICcuL1RleHRGaWVsZC50eXBlcyc7XG5pbXBvcnQgeyBiYXNlIGFzIHNpemVDU1MgfSBmcm9tICcuL3ZhcmlhdGlvbnMvX3NpemUvYmFzZSc7XG5pbXBvcnQgeyBiYXNlIGFzIHZpZXdDU1MgfSBmcm9tICcuL3ZhcmlhdGlvbnMvX3ZpZXcvYmFzZSc7XG5pbXBvcnQgeyBiYXNlIGFzIGRpc2FibGVkQ1NTIH0gZnJvbSAnLi92YXJpYXRpb25zL19kaXNhYmxlZC9iYXNlJztcbmltcG9ydCB7IGJhc2UgYXMgcmVhZE9ubHlDU1MgfSBmcm9tICcuL3ZhcmlhdGlvbnMvX3JlYWQtb25seS9iYXNlJztcbmltcG9ydCB7IGJhc2UgYXMgbGFiZWxQbGFjZW1lbnRDU1MgfSBmcm9tICcuL3ZhcmlhdGlvbnMvX2xhYmVsLXBsYWNlbWVudC9iYXNlJztcbmltcG9ydCB7XG4gICAgSW5wdXQsXG4gICAgSW5wdXRDb250YWluZXIsXG4gICAgTGVmdEhlbHBlcixcbiAgICBMYWJlbCxcbiAgICBJbnB1dFdyYXBwZXIsXG4gICAgSW5wdXRMYWJlbFdyYXBwZXIsXG4gICAgU3R5bGVkQ29udGVudExlZnQsXG4gICAgU3R5bGVkQ29udGVudFJpZ2h0LFxuICAgIFN0eWxlZENoaXBzLFxuICAgIFN0eWxlZFRleHRCZWZvcmUsXG4gICAgU3R5bGVkVGV4dEFmdGVyLFxuICAgIFN0eWxlZEluZGljYXRvcixcbiAgICBTdHlsZWRPcHRpb25hbFRleHQsXG4gICAgSW5wdXRQbGFjZWhvbGRlcixcbn0gZnJvbSAnLi9UZXh0RmllbGQuc3R5bGVzJztcbmltcG9ydCB7IGNsYXNzZXMgfSBmcm9tICcuL1RleHRGaWVsZC50b2tlbnMnO1xuaW1wb3J0IHsgVGV4dEZpZWxkQ2hpcCB9IGZyb20gJy4vdWknO1xuaW1wb3J0IHsgdXNlS2V5TmF2aWdhdGlvbiB9IGZyb20gJy4vaG9va3MnO1xuXG5jb25zdCBvcHRpb25hbFRleHQgPSAnb3B0aW9uYWwnO1xuXG5leHBvcnQgY29uc3QgYmFzZSA9IGNzc2BcbiAgICAvKiBOT1RFOiBXZWJraXQg0L3QtSDQv9GA0LjQvNC10L3Rj9C10YIgb3BhY2l0eSDQuiBpbmxpbmUg0YLQtdCz0LDQvCAqL1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuYDtcblxuZXhwb3J0IGNvbnN0IHRleHRGaWVsZFJvb3QgPSAoUm9vdDogUm9vdFByb3BzPEhUTUxEaXZFbGVtZW50LCBUZXh0RmllbGRQcm9wcz4pID0+XG4gICAgZm9yd2FyZFJlZjxIVE1MSW5wdXRFbGVtZW50LCBUZXh0RmllbGRQcm9wcz4oXG4gICAgICAgIChcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpZCxcbiAgICAgICAgICAgICAgICBjbGFzc05hbWUsXG4gICAgICAgICAgICAgICAgc3R5bGUsXG5cbiAgICAgICAgICAgICAgICAvLyBsYXlvdXRcbiAgICAgICAgICAgICAgICBjb250ZW50TGVmdCxcbiAgICAgICAgICAgICAgICBjb250ZW50UmlnaHQsXG4gICAgICAgICAgICAgICAgbGFiZWwsXG4gICAgICAgICAgICAgICAgbGFiZWxQbGFjZW1lbnQsXG4gICAgICAgICAgICAgICAgdGV4dEJlZm9yZSxcbiAgICAgICAgICAgICAgICB0ZXh0QWZ0ZXIsXG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXIsXG4gICAgICAgICAgICAgICAgbGVmdEhlbHBlcixcbiAgICAgICAgICAgICAgICBlbnVtZXJhdGlvblR5cGUgPSAncGxhaW4nLFxuICAgICAgICAgICAgICAgIHJlcXVpcmVkUGxhY2VtZW50ID0gJ3JpZ2h0JyxcblxuICAgICAgICAgICAgICAgIC8vIHZhcmlhdGlvbnNcbiAgICAgICAgICAgICAgICB2aWV3LFxuICAgICAgICAgICAgICAgIHNpemUsXG4gICAgICAgICAgICAgICAgcmVhZE9ubHkgPSBmYWxzZSxcbiAgICAgICAgICAgICAgICBkaXNhYmxlZCA9IGZhbHNlLFxuICAgICAgICAgICAgICAgIHJlcXVpcmVkID0gZmFsc2UsXG4gICAgICAgICAgICAgICAgb3B0aW9uYWwsXG5cbiAgICAgICAgICAgICAgICAvLyBjb250cm9sbGVkXG4gICAgICAgICAgICAgICAgdmFsdWU6IG91dGVyVmFsdWUsXG4gICAgICAgICAgICAgICAgY2hpcHM6IHZhbHVlcyxcblxuICAgICAgICAgICAgICAgIC8vIGV2ZW50c1xuICAgICAgICAgICAgICAgIG9uQ2hhbmdlLFxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlQ2hpcHMsXG4gICAgICAgICAgICAgICAgb25TZWFyY2gsXG4gICAgICAgICAgICAgICAgb25LZXlEb3duLFxuXG4gICAgICAgICAgICAgICAgLi4ucmVzdFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHJlZixcbiAgICAgICAgKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBjb250ZW50UmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKTtcbiAgICAgICAgICAgIGNvbnN0IGlucHV0UmVmID0gdXNlUmVmPEhUTUxJbnB1dEVsZW1lbnQ+KG51bGwpO1xuICAgICAgICAgICAgY29uc3QgaW5wdXRGb3JrUmVmID0gdXNlRm9ya1JlZihpbnB1dFJlZiwgcmVmKTtcbiAgICAgICAgICAgIGNvbnN0IGNoaXBzUmVmcyA9IHVzZVJlZjxBcnJheTxIVE1MQnV0dG9uRWxlbWVudD4+KFtdKTtcblxuICAgICAgICAgICAgY29uc3QgY29udHJvbGxlZFJlZnMgPSB7IGNvbnRlbnRSZWYsIGlucHV0UmVmLCBjaGlwc1JlZnMgfTtcblxuICAgICAgICAgICAgY29uc3QgW2hhc1ZhbHVlLCBzZXRIYXNWYWx1ZV0gPSB1c2VTdGF0ZShcbiAgICAgICAgICAgICAgICBCb29sZWFuKG91dGVyVmFsdWUpIHx8IEJvb2xlYW4oaW5wdXRSZWY/LmN1cnJlbnQ/LnZhbHVlKSB8fCBCb29sZWFuKHJlc3Q/LmRlZmF1bHRWYWx1ZSksXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgY29uc3QgW2NoaXBzLCBzZXRDaGlwc10gPSB1c2VTdGF0ZTxBcnJheTxDaGlwVmFsdWVzPj4oW10pO1xuXG4gICAgICAgICAgICBjb25zdCB1bmlxSWQgPSBzYWZlVXNlSWQoKTtcbiAgICAgICAgICAgIGNvbnN0IGlubmVySWQgPSBpZCB8fCB1bmlxSWQ7XG4gICAgICAgICAgICBjb25zdCBsYWJlbElkID0gc2FmZVVzZUlkKCk7XG4gICAgICAgICAgICBjb25zdCBoZWxwZXJUZXh0SWQgPSBzYWZlVXNlSWQoKTtcblxuICAgICAgICAgICAgY29uc3QgaXNDaGlwRW51bWVyYXRpb24gPSBlbnVtZXJhdGlvblR5cGUgPT09ICdjaGlwJztcbiAgICAgICAgICAgIGNvbnN0IGlzQ2hpcHNWaXNpYmxlID0gaXNDaGlwRW51bWVyYXRpb24gJiYgQm9vbGVhbihjaGlwcz8ubGVuZ3RoKTtcbiAgICAgICAgICAgIGNvbnN0IHdpdGhIYXNDaGlwcyA9IGlzQ2hpcHNWaXNpYmxlID8gY2xhc3Nlcy5oYXNDaGlwcyA6IHVuZGVmaW5lZDtcblxuICAgICAgICAgICAgY29uc3QgaGFzTGFiZWxWYWx1ZSA9IEJvb2xlYW4obGFiZWwpO1xuICAgICAgICAgICAgY29uc3QgaGFzSW5uZXJMYWJlbCA9IHNpemUgIT09ICd4cycgJiYgbGFiZWxQbGFjZW1lbnQgPT09ICdpbm5lcicgJiYgIWlzQ2hpcHNWaXNpYmxlICYmIGhhc0xhYmVsVmFsdWU7XG4gICAgICAgICAgICBjb25zdCBoYXNPdXRlckxhYmVsID0gbGFiZWxQbGFjZW1lbnQgPT09ICdvdXRlcicgJiYgaGFzTGFiZWxWYWx1ZTtcbiAgICAgICAgICAgIGNvbnN0IGhhc1BsYWNlaG9sZGVyID0gQm9vbGVhbihwbGFjZWhvbGRlcikgJiYgIWhhc0lubmVyTGFiZWw7XG5cbiAgICAgICAgICAgIGNvbnN0IGlubmVyTGFiZWxWYWx1ZSA9IGhhc0lubmVyTGFiZWwgfHwgaGFzT3V0ZXJMYWJlbCA/IGxhYmVsIDogdW5kZWZpbmVkO1xuICAgICAgICAgICAgY29uc3QgaW5uZXJMYWJlbFBsYWNlbWVudFZhbHVlID0gbGFiZWxQbGFjZW1lbnQgPT09ICdpbm5lcicgJiYgIWhhc0lubmVyTGFiZWwgPyB1bmRlZmluZWQgOiBsYWJlbFBsYWNlbWVudDtcblxuICAgICAgICAgICAgY29uc3QgaW5uZXJQbGFjZWhvbGRlclZhbHVlID0gaGFzUGxhY2Vob2xkZXIgPyBwbGFjZWhvbGRlciA6IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIGNvbnN0IHBsYWNlaG9sZGVyU2hvd24gPSBCb29sZWFuKGlubmVyUGxhY2Vob2xkZXJWYWx1ZSkgJiYgIWhhc1ZhbHVlO1xuXG4gICAgICAgICAgICBjb25zdCByZXF1aXJlZFBsYWNlbWVudENsYXNzID0gcmVxdWlyZWRQbGFjZW1lbnQgPT09ICdyaWdodCcgPyAnYWxpZ24tcmlnaHQgJyA6IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIGNvbnN0IGxhYmVsUGxhY2VtZW50Q2xhc3MgPSBpbm5lckxhYmVsUGxhY2VtZW50VmFsdWVcbiAgICAgICAgICAgICAgICA/IGNsYXNzZXNbYCR7aW5uZXJMYWJlbFBsYWNlbWVudFZhbHVlfUxhYmVsUGxhY2VtZW50YCBhcyBrZXlvZiB0eXBlb2YgY2xhc3Nlc11cbiAgICAgICAgICAgICAgICA6IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIGNvbnN0IGhhc1ZhbHVlQ2xhc3MgPSBoYXNWYWx1ZSA/IGNsYXNzZXMuaGFzVmFsdWUgOiB1bmRlZmluZWQ7XG5cbiAgICAgICAgICAgIGNvbnN0IHdyYXBwZXJXaXRob3V0TGVmdENvbnRlbnQgPSAhY29udGVudExlZnQgJiYgaXNDaGlwc1Zpc2libGUgPyBjbGFzc2VzLmhhc0VtcHR5Q29udGVudExlZnQgOiB1bmRlZmluZWQ7XG4gICAgICAgICAgICBjb25zdCB3cmFwcGVyV2l0aG91dFJpZ2h0Q29udGVudCA9XG4gICAgICAgICAgICAgICAgIWNvbnRlbnRSaWdodCAmJiBpc0NoaXBzVmlzaWJsZSA/IGNsYXNzZXMuaGFzRW1wdHlDb250ZW50UmlnaHQgOiB1bmRlZmluZWQ7XG5cbiAgICAgICAgICAgIGNvbnN0IGhhbmRsZUlucHV0OiBGb3JtRXZlbnRIYW5kbGVyPEhUTUxJbnB1dEVsZW1lbnQ+ID0gKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgc2V0SGFzVmFsdWUoQm9vbGVhbigoZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQpLnZhbHVlKSk7XG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICBjb25zdCBoYW5kbGVDaGFuZ2U6IENoYW5nZUV2ZW50SGFuZGxlcjxIVE1MSW5wdXRFbGVtZW50PiA9IChldmVudCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChkaXNhYmxlZCB8fCByZWFkT25seSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgY29uc3QgeyBtYXhMZW5ndGgsIHZhbHVlIH0gPSBldmVudC50YXJnZXQ7XG5cbiAgICAgICAgICAgICAgICBpZiAobWF4TGVuZ3RoICE9PSAtMSAmJiB2YWx1ZS5sZW5ndGggPiBtYXhMZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlPy4oZXZlbnQpO1xuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgY29uc3QgdXBkYXRlQ2hpcHMgPSAobmV3Q2hpcHM6IEFycmF5PENoaXBWYWx1ZXM+LCBuZXdWYWx1ZXM6IEFycmF5PFRleHRGaWVsZFByaW1pdGl2ZVZhbHVlPikgPT4ge1xuICAgICAgICAgICAgICAgIHNldENoaXBzKG5ld0NoaXBzKTtcbiAgICAgICAgICAgICAgICBvbkNoYW5nZUNoaXBzPy4obmV3VmFsdWVzKTtcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIGNvbnN0IHsgaGFuZGxlSW5wdXRLZXlkb3duLCBoYW5kbGVDaGlwS2V5RG93biwgb25DaGlwQ2xlYXIsIGhhbmRsZUNvbnRlbnRLZXlEb3duIH0gPSB1c2VLZXlOYXZpZ2F0aW9uKHtcbiAgICAgICAgICAgICAgICBjb250cm9sbGVkUmVmcyxcbiAgICAgICAgICAgICAgICBkaXNhYmxlZCxcbiAgICAgICAgICAgICAgICByZWFkT25seSxcbiAgICAgICAgICAgICAgICBjaGlwcyxcbiAgICAgICAgICAgICAgICBlbnVtZXJhdGlvblR5cGUsXG4gICAgICAgICAgICAgICAgdXBkYXRlQ2hpcHMsXG4gICAgICAgICAgICAgICAgb25TZWFyY2gsXG4gICAgICAgICAgICAgICAgb25DaGFuZ2UsXG4gICAgICAgICAgICAgICAgb25FbnRlckRpc2FibGVkOiAocmVzdCBhcyBhbnkpLm9uRW50ZXJEaXNhYmxlZCxcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBjb25zdCBvbkNoaXBDbGljayA9IChldmVudDogUmVhY3QuTW91c2VFdmVudDxIVE1MQnV0dG9uRWxlbWVudD4pID0+IGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gICAgICAgICAgICBjb25zdCBoYW5kbGVJbnB1dEZvY3VzID0gKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChyZWFkT25seSB8fCBkaXNhYmxlZCB8fCAhaW5wdXRSZWY/LmN1cnJlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlucHV0UmVmLmN1cnJlbnQuc2Nyb2xsVG8oe1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDAsXG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IGlucHV0UmVmLmN1cnJlbnQub2Zmc2V0TGVmdCxcbiAgICAgICAgICAgICAgICAgICAgYmVoYXZpb3I6ICdzbW9vdGgnLFxuICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgaW5wdXRSZWYuY3VycmVudC5mb2N1cygpO1xuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgY29uc3QgZ2V0UmVmID0gKGVsZW1lbnQ6IEhUTUxCdXR0b25FbGVtZW50IHwgbnVsbCwgaW5kZXg6IG51bWJlcikgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChlbGVtZW50ICYmIGNoaXBzUmVmcz8uY3VycmVudCkge1xuICAgICAgICAgICAgICAgICAgICBjaGlwc1JlZnMuY3VycmVudFtpbmRleF0gPSBlbGVtZW50O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIGNvbnN0IGhhbmRsZU9uS2V5RG93biA9IChldmVudDogQ2hhbmdlRXZlbnQ8SFRNTElucHV0RWxlbWVudD4gJiBLZXlib2FyZEV2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+KSA9PiB7XG4gICAgICAgICAgICAgICAgaGFuZGxlSW5wdXRLZXlkb3duKGV2ZW50KTtcblxuICAgICAgICAgICAgICAgIGlmIChvbktleURvd24pIHtcbiAgICAgICAgICAgICAgICAgICAgb25LZXlEb3duKGV2ZW50KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghaXNDaGlwRW51bWVyYXRpb24gJiYgIXZhbHVlcz8ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBjb25zdCBuZXdDaGlwcyA9XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlcz8ubWFwKCh2YWx1ZSwgaW5kZXgpID0+ICh7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZDogYCR7aW5kZXh9XyR7dmFsdWV9YCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQ6IHZhbHVlLFxuICAgICAgICAgICAgICAgICAgICB9KSkgfHwgW107XG5cbiAgICAgICAgICAgICAgICBzZXRDaGlwcyhuZXdDaGlwcyk7XG4gICAgICAgICAgICB9LCBbaXNDaGlwRW51bWVyYXRpb24sIHZhbHVlc10pO1xuXG4gICAgICAgICAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHNldEhhc1ZhbHVlKEJvb2xlYW4ocmVzdD8uZGVmYXVsdFZhbHVlKSk7XG4gICAgICAgICAgICB9LCBbcmVzdC5kZWZhdWx0VmFsdWVdKTtcblxuICAgICAgICAgICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgICAgICAgICBzZXRIYXNWYWx1ZShCb29sZWFuKG91dGVyVmFsdWUpIHx8IEJvb2xlYW4oaW5wdXRSZWY/LmN1cnJlbnQ/LnZhbHVlKSk7XG4gICAgICAgICAgICB9LCBbb3V0ZXJWYWx1ZSwgaW5wdXRSZWY/LmN1cnJlbnQ/LnZhbHVlXSk7XG5cbiAgICAgICAgICAgIGNvbnN0IGlubmVyT3B0aW9uYWwgPSBCb29sZWFuKHJlcXVpcmVkID8gZmFsc2UgOiBvcHRpb25hbCk7XG4gICAgICAgICAgICBjb25zdCBoYXNQbGFjZWhvbGRlck9wdGlvbmFsID0gaW5uZXJPcHRpb25hbCAmJiAhaW5uZXJMYWJlbFZhbHVlICYmICFoYXNPdXRlckxhYmVsO1xuICAgICAgICAgICAgY29uc3Qgb3B0aW9uYWxUZXh0Tm9kZSA9IGlubmVyT3B0aW9uYWwgPyAoXG4gICAgICAgICAgICAgICAgPFN0eWxlZE9wdGlvbmFsVGV4dD5cbiAgICAgICAgICAgICAgICAgICAge0Jvb2xlYW4oaGFzUGxhY2Vob2xkZXJPcHRpb25hbCA/IGlubmVyUGxhY2Vob2xkZXJWYWx1ZSA6IGlubmVyTGFiZWxWYWx1ZSkgJiYgJ1xceGEwJ31cbiAgICAgICAgICAgICAgICAgICAge29wdGlvbmFsVGV4dH1cbiAgICAgICAgICAgICAgICA8L1N0eWxlZE9wdGlvbmFsVGV4dD5cbiAgICAgICAgICAgICkgOiBudWxsO1xuXG4gICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgIDxSb290XG4gICAgICAgICAgICAgICAgICAgIHZpZXc9e3ZpZXd9XG4gICAgICAgICAgICAgICAgICAgIHNpemU9e3NpemV9XG4gICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgICAgICAgcmVhZE9ubHk9eyFkaXNhYmxlZCAmJiByZWFkT25seX1cbiAgICAgICAgICAgICAgICAgICAgbGFiZWxQbGFjZW1lbnQ9e2lubmVyTGFiZWxQbGFjZW1lbnRWYWx1ZX1cbiAgICAgICAgICAgICAgICAgICAgb25DbGljaz17aGFuZGxlSW5wdXRGb2N1c31cbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjeChsYWJlbFBsYWNlbWVudENsYXNzLCBjbGFzc2VzLnRleHRGaWVsZEdyb3VwSXRlbSwgY2xhc3NOYW1lKX1cbiAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3N0eWxlfVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge2hhc091dGVyTGFiZWwgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgPExhYmVsIGlkPXtsYWJlbElkfSBodG1sRm9yPXtpZH0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3JlcXVpcmVkICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFN0eWxlZEluZGljYXRvciBjbGFzc05hbWU9e2N4KGNsYXNzZXMub3V0ZXJMYWJlbFBsYWNlbWVudCwgcmVxdWlyZWRQbGFjZW1lbnRDbGFzcyl9IC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7aW5uZXJMYWJlbFZhbHVlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtvcHRpb25hbFRleHROb2RlfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9MYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgPElucHV0V3JhcHBlclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gUmVmINC00LvRjyDQstC90YPRgtGA0LXQvdC90LXQs9C+INC40YHQv9C+0LvRjNC30L7QstCw0L3QuNGPLiDQndC1INC+0YLQtNCw0LXRgtGB0Y8g0L3QsNGA0YPQttGDLlxuICAgICAgICAgICAgICAgICAgICAgICAgcmVmPXsocmVzdCBhcyBhbnkpLmlucHV0V3JhcHBlclJlZn1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y3god2l0aEhhc0NoaXBzLCB3cmFwcGVyV2l0aG91dExlZnRDb250ZW50LCB3cmFwcGVyV2l0aG91dFJpZ2h0Q29udGVudCl9XG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIHshaGFzT3V0ZXJMYWJlbCAmJiByZXF1aXJlZCAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPFN0eWxlZEluZGljYXRvciBjbGFzc05hbWU9e2N4KGNsYXNzZXMuaW5uZXJMYWJlbFBsYWNlbWVudCwgcmVxdWlyZWRQbGFjZW1lbnRDbGFzcyl9IC8+XG4gICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAge2NvbnRlbnRMZWZ0ICYmIDxTdHlsZWRDb250ZW50TGVmdD57Y29udGVudExlZnR9PC9TdHlsZWRDb250ZW50TGVmdD59XG4gICAgICAgICAgICAgICAgICAgICAgICA8SW5wdXRMYWJlbFdyYXBwZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YWJJbmRleD17LTF9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmPXtjb250ZW50UmVmfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uS2V5RG93bj17aGFuZGxlQ29udGVudEtleURvd259XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXt3aXRoSGFzQ2hpcHN9XG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3RleHRCZWZvcmUgJiYgPFN0eWxlZFRleHRCZWZvcmU+e3RleHRCZWZvcmV9PC9TdHlsZWRUZXh0QmVmb3JlPn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7aXNDaGlwRW51bWVyYXRpb24gJiYgQm9vbGVhbihjaGlwcz8ubGVuZ3RoKSAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxTdHlsZWRDaGlwcz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtjaGlwcz8ubWFwKCh7IGlkOiBjaGlwSWQsIHRleHQgfSwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8VGV4dEZpZWxkQ2hpcFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ9e2NoaXBJZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZj17KGVsZW1lbnQpID0+IGdldFJlZihlbGVtZW50LCBpbmRleCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk9e2Ake2NoaXBJZH1fJHtpbmRleH1gfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVhZE9ubHk9e3JlYWRPbmx5fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU9e3RleHR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0PXt0ZXh0fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25LZXlEb3duPXsoZXZlbnQpID0+IGhhbmRsZUNoaXBLZXlEb3duKGV2ZW50LCBjaGlwSWQsIGluZGV4KX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xlYXI9eygpID0+IG9uQ2hpcENsZWFyKGNoaXBJZCwgaW5kZXgpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17b25DaGlwQ2xpY2t9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1N0eWxlZENoaXBzPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPElucHV0Q29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8SW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZj17aW5wdXRGb3JrUmVmfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ9e2lubmVySWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT17b3V0ZXJWYWx1ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWxsZWRieT17bGFiZWxJZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtZGVzY3JpYmVkYnk9e2hlbHBlclRleHRJZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPXtpbm5lclBsYWNlaG9sZGVyVmFsdWV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2N4KGhhc1ZhbHVlQ2xhc3MpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVhZE9ubHk9eyFkaXNhYmxlZCAmJiByZWFkT25seX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uSW5wdXQ9e2hhbmRsZUlucHV0fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9e2hhbmRsZUNoYW5nZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uS2V5RG93bj17aGFuZGxlT25LZXlEb3dufVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgey4uLnJlc3R9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtoYXNJbm5lckxhYmVsICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxMYWJlbCBpZD17bGFiZWxJZH0gaHRtbEZvcj17aW5uZXJJZH0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2lubmVyTGFiZWxWYWx1ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7b3B0aW9uYWxUZXh0Tm9kZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvTGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtwbGFjZWhvbGRlclNob3duICYmICFoYXNWYWx1ZSAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8SW5wdXRQbGFjZWhvbGRlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7aW5uZXJQbGFjZWhvbGRlclZhbHVlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtoYXNQbGFjZWhvbGRlck9wdGlvbmFsICYmIG9wdGlvbmFsVGV4dE5vZGV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0lucHV0UGxhY2Vob2xkZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9JbnB1dENvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7dGV4dEFmdGVyICYmIDxTdHlsZWRUZXh0QWZ0ZXI+e3RleHRBZnRlcn08L1N0eWxlZFRleHRBZnRlcj59XG4gICAgICAgICAgICAgICAgICAgICAgICA8L0lucHV0TGFiZWxXcmFwcGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAge2NvbnRlbnRSaWdodCAmJiA8U3R5bGVkQ29udGVudFJpZ2h0Pntjb250ZW50UmlnaHR9PC9TdHlsZWRDb250ZW50UmlnaHQ+fVxuICAgICAgICAgICAgICAgICAgICA8L0lucHV0V3JhcHBlcj5cbiAgICAgICAgICAgICAgICAgICAge2xlZnRIZWxwZXIgJiYgPExlZnRIZWxwZXIgaWQ9e2hlbHBlclRleHRJZH0+e2xlZnRIZWxwZXJ9PC9MZWZ0SGVscGVyPn1cbiAgICAgICAgICAgICAgICA8L1Jvb3Q+XG4gICAgICAgICAgICApO1xuICAgICAgICB9LFxuICAgICk7XG5cbmV4cG9ydCBjb25zdCB0ZXh0RmllbGRDb25maWcgPSB7XG4gICAgbmFtZTogJ1RleHRGaWVsZCcsXG4gICAgdGFnOiAnZGl2JyxcbiAgICBsYXlvdXQ6IHRleHRGaWVsZFJvb3QsXG4gICAgYmFzZSxcbiAgICB2YXJpYXRpb25zOiB7XG4gICAgICAgIHZpZXc6IHtcbiAgICAgICAgICAgIGNzczogdmlld0NTUyxcbiAgICAgICAgfSxcbiAgICAgICAgc2l6ZToge1xuICAgICAgICAgICAgY3NzOiBzaXplQ1NTLFxuICAgICAgICB9LFxuICAgICAgICBkaXNhYmxlZDoge1xuICAgICAgICAgICAgY3NzOiBkaXNhYmxlZENTUyxcbiAgICAgICAgICAgIGF0dHJzOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICByZWFkT25seToge1xuICAgICAgICAgICAgY3NzOiByZWFkT25seUNTUyxcbiAgICAgICAgICAgIGF0dHJzOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICBsYWJlbFBsYWNlbWVudDoge1xuICAgICAgICAgICAgY3NzOiBsYWJlbFBsYWNlbWVudENTUyxcbiAgICAgICAgfSxcbiAgICB9LFxuICAgIGRlZmF1bHRzOiB7XG4gICAgICAgIHNpemU6ICdtJyxcbiAgICAgICAgdmlldzogJ2RlZmF1bHQnLFxuICAgIH0sXG59O1xuIl19 */",
|
42
42
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
43
43
|
};
|
44
44
|
var textFieldRoot = exports.textFieldRoot = function textFieldRoot(Root) {
|
@@ -167,7 +167,9 @@ var textFieldRoot = exports.textFieldRoot = function textFieldRoot(Root) {
|
|
167
167
|
};
|
168
168
|
var handleOnKeyDown = function handleOnKeyDown(event) {
|
169
169
|
handleInputKeydown(event);
|
170
|
-
|
170
|
+
if (onKeyDown) {
|
171
|
+
onKeyDown(event);
|
172
|
+
}
|
171
173
|
};
|
172
174
|
(0, _react.useEffect)(function () {
|
173
175
|
if (!isChipEnumeration && !(values !== null && values !== void 0 && values.length)) {
|
@@ -0,0 +1,9 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.Mask = void 0;
|
7
|
+
var _Mask = /*#__PURE__*/require("../../../../components/Mask");
|
8
|
+
var _TextField = /*#__PURE__*/require("../TextField/TextField");
|
9
|
+
var Mask = exports.Mask = /*#__PURE__*/(0, _Mask.composeMask)(_TextField.TextField);
|
@@ -0,0 +1,127 @@
|
|
1
|
+
import React, { useEffect, useRef } from 'react';
|
2
|
+
import type { ComponentProps } from 'react';
|
3
|
+
import type { StoryObj, Meta } from '@storybook/react';
|
4
|
+
import { action } from '@storybook/addon-actions';
|
5
|
+
|
6
|
+
import { WithTheme } from '../../../_helpers';
|
7
|
+
|
8
|
+
import { Mask } from './Mask';
|
9
|
+
|
10
|
+
const onChange = action('onChange');
|
11
|
+
|
12
|
+
const sizes = ['l', 'm', 's', 'xs'];
|
13
|
+
const views = ['default', 'positive', 'warning', 'negative'];
|
14
|
+
|
15
|
+
const meta: Meta<typeof Mask> = {
|
16
|
+
title: 'plasma_b2c/Mask',
|
17
|
+
component: Mask,
|
18
|
+
decorators: [WithTheme],
|
19
|
+
argTypes: {
|
20
|
+
view: {
|
21
|
+
options: views,
|
22
|
+
control: {
|
23
|
+
type: 'select',
|
24
|
+
},
|
25
|
+
},
|
26
|
+
size: {
|
27
|
+
options: sizes,
|
28
|
+
control: {
|
29
|
+
type: 'inline-radio',
|
30
|
+
},
|
31
|
+
},
|
32
|
+
},
|
33
|
+
};
|
34
|
+
|
35
|
+
export default meta;
|
36
|
+
|
37
|
+
type StoryPropsDefault = Omit<
|
38
|
+
ComponentProps<typeof Mask>,
|
39
|
+
| 'helperBlock'
|
40
|
+
| 'contentLeft'
|
41
|
+
| 'htmlSize'
|
42
|
+
| 'contentRight'
|
43
|
+
| 'type'
|
44
|
+
| 'name'
|
45
|
+
| 'onFocus'
|
46
|
+
| 'onBlur'
|
47
|
+
| 'onChange'
|
48
|
+
| 'value'
|
49
|
+
| 'checked'
|
50
|
+
| 'maxLength'
|
51
|
+
| 'minLength'
|
52
|
+
| 'required'
|
53
|
+
| 'enumerationType'
|
54
|
+
| 'chips'
|
55
|
+
| 'onChangeChips'
|
56
|
+
>;
|
57
|
+
|
58
|
+
const StoryDemo = ({ view, ...rest }: StoryPropsDefault) => {
|
59
|
+
return (
|
60
|
+
<div style={{ display: 'flex', flexDirection: 'column', gap: '2rem', width: '50%' }}>
|
61
|
+
<Mask
|
62
|
+
label="Маска телефона"
|
63
|
+
mask="+7 (000) 000 - 00 - 00"
|
64
|
+
maskChar="_"
|
65
|
+
showStartChars={false}
|
66
|
+
view={view}
|
67
|
+
onChange={onChange}
|
68
|
+
{...rest}
|
69
|
+
/>
|
70
|
+
|
71
|
+
<Mask
|
72
|
+
label="Маска телефона: отображается всегда"
|
73
|
+
mask="+7 (000) 000 - 00 - 00"
|
74
|
+
maskChar="_"
|
75
|
+
view={view}
|
76
|
+
alwaysShowMask
|
77
|
+
onChange={onChange}
|
78
|
+
{...rest}
|
79
|
+
value="+79123"
|
80
|
+
name="example"
|
81
|
+
/>
|
82
|
+
|
83
|
+
<Mask
|
84
|
+
label="Маска даты"
|
85
|
+
mask="00/00/0000"
|
86
|
+
maskString="DD/MM/YYYY"
|
87
|
+
alwaysShowMask
|
88
|
+
view={view}
|
89
|
+
onChange={onChange}
|
90
|
+
{...rest}
|
91
|
+
/>
|
92
|
+
|
93
|
+
<Mask
|
94
|
+
label="Маска даты: значения по умолчанию"
|
95
|
+
// eslint-disable-next-line no-octal-escape
|
96
|
+
mask="12.\04.0000"
|
97
|
+
maskChar="_"
|
98
|
+
alwaysShowMask
|
99
|
+
view={view}
|
100
|
+
onChange={onChange}
|
101
|
+
{...rest}
|
102
|
+
/>
|
103
|
+
|
104
|
+
<Mask
|
105
|
+
label="Маска времени"
|
106
|
+
mask="00:00"
|
107
|
+
maskChar="_"
|
108
|
+
alwaysShowMask
|
109
|
+
view={view}
|
110
|
+
onChange={onChange}
|
111
|
+
{...rest}
|
112
|
+
/>
|
113
|
+
</div>
|
114
|
+
);
|
115
|
+
};
|
116
|
+
|
117
|
+
export const Default: StoryObj<StoryPropsDefault> = {
|
118
|
+
args: {
|
119
|
+
size: 'l',
|
120
|
+
view: 'default',
|
121
|
+
labelPlacement: 'outer',
|
122
|
+
placeholder: 'Заполните поле',
|
123
|
+
disabled: false,
|
124
|
+
readOnly: false,
|
125
|
+
},
|
126
|
+
render: (args) => <StoryDemo {...args} />,
|
127
|
+
};
|
@@ -0,0 +1,9 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.Mask = void 0;
|
7
|
+
var _Mask = /*#__PURE__*/require("../../../../components/Mask");
|
8
|
+
var _TextField = /*#__PURE__*/require("../TextField/TextField");
|
9
|
+
var Mask = exports.Mask = /*#__PURE__*/(0, _Mask.composeMask)(_TextField.TextField);
|
@@ -0,0 +1,125 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
import type { ComponentProps } from 'react';
|
3
|
+
import type { StoryObj, Meta } from '@storybook/react';
|
4
|
+
import { action } from '@storybook/addon-actions';
|
5
|
+
|
6
|
+
import { WithTheme } from '../../../_helpers';
|
7
|
+
|
8
|
+
import { Mask } from './Mask';
|
9
|
+
|
10
|
+
const onChange = action('onChange');
|
11
|
+
|
12
|
+
const sizes = ['l', 'm', 's', 'xs'];
|
13
|
+
const views = ['default', 'positive', 'warning', 'negative'];
|
14
|
+
|
15
|
+
const meta: Meta<typeof Mask> = {
|
16
|
+
title: 'plasma_web/Mask',
|
17
|
+
component: Mask,
|
18
|
+
decorators: [WithTheme],
|
19
|
+
argTypes: {
|
20
|
+
view: {
|
21
|
+
options: views,
|
22
|
+
control: {
|
23
|
+
type: 'select',
|
24
|
+
},
|
25
|
+
},
|
26
|
+
size: {
|
27
|
+
options: sizes,
|
28
|
+
control: {
|
29
|
+
type: 'inline-radio',
|
30
|
+
},
|
31
|
+
},
|
32
|
+
},
|
33
|
+
};
|
34
|
+
|
35
|
+
export default meta;
|
36
|
+
|
37
|
+
type StoryPropsDefault = Omit<
|
38
|
+
ComponentProps<typeof Mask>,
|
39
|
+
| 'helperBlock'
|
40
|
+
| 'contentLeft'
|
41
|
+
| 'htmlSize'
|
42
|
+
| 'contentRight'
|
43
|
+
| 'type'
|
44
|
+
| 'name'
|
45
|
+
| 'onFocus'
|
46
|
+
| 'onBlur'
|
47
|
+
| 'onChange'
|
48
|
+
| 'value'
|
49
|
+
| 'checked'
|
50
|
+
| 'maxLength'
|
51
|
+
| 'minLength'
|
52
|
+
| 'required'
|
53
|
+
| 'enumerationType'
|
54
|
+
| 'chips'
|
55
|
+
| 'onChangeChips'
|
56
|
+
>;
|
57
|
+
|
58
|
+
const StoryDemo = ({ view, ...rest }: StoryPropsDefault) => {
|
59
|
+
return (
|
60
|
+
<div style={{ display: 'flex', flexDirection: 'column', gap: '2rem', width: '50%' }}>
|
61
|
+
<Mask
|
62
|
+
label="Маска телефона"
|
63
|
+
mask="+7 (000) 000 - 00 - 00"
|
64
|
+
maskChar="_"
|
65
|
+
showStartChars={false}
|
66
|
+
view={view}
|
67
|
+
onChange={onChange}
|
68
|
+
{...rest}
|
69
|
+
/>
|
70
|
+
|
71
|
+
<Mask
|
72
|
+
label="Маска телефона: отображается всегда"
|
73
|
+
mask="+7 (000) 000 - 00 - 00"
|
74
|
+
maskChar="_"
|
75
|
+
view={view}
|
76
|
+
alwaysShowMask
|
77
|
+
onChange={onChange}
|
78
|
+
{...rest}
|
79
|
+
/>
|
80
|
+
|
81
|
+
<Mask
|
82
|
+
label="Маска даты"
|
83
|
+
mask="00/00/0000"
|
84
|
+
maskString="DD/MM/YYYY"
|
85
|
+
alwaysShowMask
|
86
|
+
view={view}
|
87
|
+
onChange={onChange}
|
88
|
+
{...rest}
|
89
|
+
/>
|
90
|
+
|
91
|
+
<Mask
|
92
|
+
label="Маска даты: значения по умолчанию"
|
93
|
+
// eslint-disable-next-line no-octal-escape
|
94
|
+
mask="12.\04.0000"
|
95
|
+
maskChar="_"
|
96
|
+
alwaysShowMask
|
97
|
+
view={view}
|
98
|
+
onChange={onChange}
|
99
|
+
{...rest}
|
100
|
+
/>
|
101
|
+
|
102
|
+
<Mask
|
103
|
+
label="Маска времени"
|
104
|
+
mask="00:00"
|
105
|
+
maskChar="_"
|
106
|
+
alwaysShowMask
|
107
|
+
view={view}
|
108
|
+
onChange={onChange}
|
109
|
+
{...rest}
|
110
|
+
/>
|
111
|
+
</div>
|
112
|
+
);
|
113
|
+
};
|
114
|
+
|
115
|
+
export const Default: StoryObj<StoryPropsDefault> = {
|
116
|
+
args: {
|
117
|
+
size: 'l',
|
118
|
+
view: 'default',
|
119
|
+
labelPlacement: 'outer',
|
120
|
+
placeholder: 'Заполните поле',
|
121
|
+
disabled: false,
|
122
|
+
readOnly: false,
|
123
|
+
},
|
124
|
+
render: (args) => <StoryDemo {...args} />,
|
125
|
+
};
|
package/emotion/cjs/index.js
CHANGED
@@ -629,4 +629,15 @@ Object.keys(_Editable).forEach(function (key) {
|
|
629
629
|
return _Editable[key];
|
630
630
|
}
|
631
631
|
});
|
632
|
+
});
|
633
|
+
var _Mask = /*#__PURE__*/require("./components/Mask");
|
634
|
+
Object.keys(_Mask).forEach(function (key) {
|
635
|
+
if (key === "default" || key === "__esModule") return;
|
636
|
+
if (key in exports && exports[key] === _Mask[key]) return;
|
637
|
+
Object.defineProperty(exports, key, {
|
638
|
+
enumerable: true,
|
639
|
+
get: function get() {
|
640
|
+
return _Mask[key];
|
641
|
+
}
|
642
|
+
});
|
632
643
|
});
|
@@ -4,7 +4,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
5
5
|
});
|
6
6
|
exports.InputHidden = void 0;
|
7
|
-
var
|
8
|
-
var _templateObject;
|
7
|
+
var _styledComponents = /*#__PURE__*/_interopRequireDefault( /*#__PURE__*/require("styled-components"));
|
8
|
+
var _templateObject; // import { styled } from '@linaria/react';
|
9
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
9
10
|
function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
|
10
|
-
var InputHidden = exports.InputHidden = /*#__PURE__*/
|
11
|
+
var InputHidden = exports.InputHidden = /*#__PURE__*/_styledComponents["default"].input(_templateObject || (_templateObject = /*#__PURE__*/_taggedTemplateLiteral(["\n visibility: hidden;\n width: 0;\n height: 0;\n opacity: 0;\n margin: 0;\n padding: 0;\n border: none;\n"])));
|
@@ -0,0 +1,45 @@
|
|
1
|
+
var _excluded = ["maskFormat"];
|
2
|
+
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
3
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
4
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
5
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
6
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
7
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
8
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
9
|
+
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
10
|
+
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
11
|
+
import React, { forwardRef, useImperativeHandle, useState } from 'react';
|
12
|
+
import maskInputCompose from '@salutejs/react-maskinput';
|
13
|
+
var defaultFormatChars = [{
|
14
|
+
str: '0',
|
15
|
+
regexp: /[0-9]/
|
16
|
+
}, {
|
17
|
+
str: '*',
|
18
|
+
regexp: /./
|
19
|
+
}, {
|
20
|
+
str: 'a',
|
21
|
+
regexp: /[a-zA-Z]/
|
22
|
+
}, {
|
23
|
+
str: 'я',
|
24
|
+
regexp: /[а-яА-ЯёЁ]/
|
25
|
+
}];
|
26
|
+
export var composeMask = function composeMask(InputComponent) {
|
27
|
+
var MaskedInput = maskInputCompose(InputComponent);
|
28
|
+
return /*#__PURE__*/forwardRef(function (_ref, outerRef) {
|
29
|
+
var _ref$maskFormat = _ref.maskFormat,
|
30
|
+
maskFormat = _ref$maskFormat === void 0 ? defaultFormatChars : _ref$maskFormat,
|
31
|
+
rest = _objectWithoutProperties(_ref, _excluded);
|
32
|
+
// TODO: replace inside react-maskinput 'getReference' on 'forwardRef'
|
33
|
+
var _useState = useState(null),
|
34
|
+
_useState2 = _slicedToArray(_useState, 2),
|
35
|
+
ref = _useState2[0],
|
36
|
+
setRef = _useState2[1];
|
37
|
+
useImperativeHandle(outerRef, function () {
|
38
|
+
return ref;
|
39
|
+
}, [ref]);
|
40
|
+
return /*#__PURE__*/React.createElement(MaskedInput, _extends({
|
41
|
+
getReference: setRef,
|
42
|
+
maskFormat: maskFormat
|
43
|
+
}, rest));
|
44
|
+
});
|
45
|
+
};
|