@1money/component-ui 0.0.48 → 0.0.50
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/components/Accordion/style/Accordion.css +94 -1
- package/es/components/Alert/style/Alert.css +101 -1
- package/es/components/Button/style/Button.css +178 -1
- package/es/components/Calendar/style/Calendar.css +400 -1
- package/es/components/Carousel/style/Carousel.css +57 -1
- package/es/components/Cell/style/Cell.css +80 -1
- package/es/components/Checkbox/style/Checkbox.css +191 -1
- package/es/components/CoachMark/style/CoachMark.css +156 -1
- package/es/components/Copy/style/Clipboard.css +45 -1
- package/es/components/Copy/style/Copy.css +48 -1
- package/es/components/Dialog/style/Dialog.css +204 -1
- package/es/components/Divider/style/Divider.css +128 -1
- package/es/components/Drawer/style/Drawer.css +145 -1
- package/es/components/Dropdown/style/Dropdown.css +48 -1
- package/es/components/Empty/style/Empty.css +58 -1
- package/es/components/Flex/style/Flex.css +71 -1
- package/es/components/Grid/style/Grid.css +952 -1
- package/es/components/Icons/style/Icons.css +81 -1
- package/es/components/Input/Amount/style/Amount.css +103 -1
- package/es/components/Input/FieldShell/FieldShell.css +76 -1
- package/es/components/Input/Input/Input.css +124 -1
- package/es/components/Input/OTP/OTP.css +79 -1
- package/es/components/Input/TextArea/TextArea.css +93 -1
- package/es/components/Input/Trade/Trade.css +192 -1
- package/es/components/Link/style/Link.css +70 -1
- package/es/components/Navigation/style/Nav.css +158 -1
- package/es/components/Navigation/style/Navigation.css +373 -1
- package/es/components/Navigation/style/NavigationStepper.css +97 -1
- package/es/components/Notification/NotificationStatic.js +22 -22
- package/es/components/Notification/style/Notification.css +170 -1
- package/es/components/Pagination/style/Pagination.css +89 -1
- package/es/components/Popconfirm/style/Popconfirm.css +137 -1
- package/es/components/ProForm/ProForm.js +38 -38
- package/es/components/ProForm/ProFormDependency.js +5 -5
- package/es/components/ProForm/Submitter.js +4 -4
- package/es/components/ProForm/core/hooks/useForm.js +101 -101
- package/es/components/ProForm/core/useFormItem.js +5 -5
- package/es/components/ProForm/hooks/useFieldRequest.js +12 -12
- package/es/components/ProForm/layouts/useOverlayForm.js +5 -5
- package/es/components/ProForm/style/ProForm.css +168 -1
- package/es/components/Progress/style/Progress.css +103 -1
- package/es/components/Radio/style/Radio.css +362 -1
- package/es/components/Segment/style/Segment.css +79 -1
- package/es/components/Select/style/Select.css +468 -1
- package/es/components/Skeleton/style/Skeleton.css +54 -1
- package/es/components/Slider/style/Slider.css +161 -1
- package/es/components/Space/style/Space.css +47 -1
- package/es/components/Spinner/Spinner.js +7 -7
- package/es/components/Spinner/style/Spinner.css +99 -1
- package/es/components/Step/style/Step.css +107 -1
- package/es/components/Switch/style/Switch.css +102 -1
- package/es/components/Table/style/Table.css +370 -1
- package/es/components/Tabs/style/Tabs.css +118 -1
- package/es/components/Tag/style/Tag.css +87 -1
- package/es/components/Tooltip/style/Tooltip.css +98 -1
- package/es/components/Trigger/style/Trigger.css +35 -1
- package/es/components/Typography/style/Typography.css +444 -1
- package/es/components/Upload/style/Upload.css +55 -1
- package/es/components/Upload/style/UploadFileBar.css +88 -1
- package/es/components/VirtualList/style/VirtualList.css +25 -1
- package/es/index.css +1 -1
- package/es/stories/docs/storybook-docs.css +323 -1
- package/es/styles/index.css +5328 -1
- package/lib/components/Accordion/style/Accordion.css +94 -1
- package/lib/components/Alert/style/Alert.css +101 -1
- package/lib/components/Button/style/Button.css +178 -1
- package/lib/components/Calendar/style/Calendar.css +400 -1
- package/lib/components/Carousel/style/Carousel.css +57 -1
- package/lib/components/Cell/style/Cell.css +80 -1
- package/lib/components/Checkbox/style/Checkbox.css +191 -1
- package/lib/components/CoachMark/style/CoachMark.css +156 -1
- package/lib/components/Copy/style/Clipboard.css +45 -1
- package/lib/components/Copy/style/Copy.css +48 -1
- package/lib/components/Dialog/style/Dialog.css +204 -1
- package/lib/components/Divider/style/Divider.css +128 -1
- package/lib/components/Drawer/style/Drawer.css +145 -1
- package/lib/components/Dropdown/style/Dropdown.css +48 -1
- package/lib/components/Empty/style/Empty.css +58 -1
- package/lib/components/Flex/style/Flex.css +71 -1
- package/lib/components/Grid/style/Grid.css +952 -1
- package/lib/components/Icons/style/Icons.css +81 -1
- package/lib/components/Input/Amount/style/Amount.css +103 -1
- package/lib/components/Input/FieldShell/FieldShell.css +76 -1
- package/lib/components/Input/Input/Input.css +124 -1
- package/lib/components/Input/OTP/OTP.css +79 -1
- package/lib/components/Input/TextArea/TextArea.css +93 -1
- package/lib/components/Input/Trade/Trade.css +192 -1
- package/lib/components/Link/style/Link.css +70 -1
- package/lib/components/Navigation/style/Nav.css +158 -1
- package/lib/components/Navigation/style/Navigation.css +373 -1
- package/lib/components/Navigation/style/NavigationStepper.css +97 -1
- package/lib/components/Notification/NotificationStatic.js +22 -22
- package/lib/components/Notification/style/Notification.css +170 -1
- package/lib/components/Pagination/style/Pagination.css +89 -1
- package/lib/components/Popconfirm/style/Popconfirm.css +137 -1
- package/lib/components/ProForm/ProForm.js +38 -38
- package/lib/components/ProForm/ProFormDependency.js +5 -5
- package/lib/components/ProForm/Submitter.js +4 -4
- package/lib/components/ProForm/core/hooks/useForm.js +101 -101
- package/lib/components/ProForm/core/useFormItem.js +5 -5
- package/lib/components/ProForm/hooks/useFieldRequest.js +12 -12
- package/lib/components/ProForm/layouts/useOverlayForm.js +5 -5
- package/lib/components/ProForm/style/ProForm.css +168 -1
- package/lib/components/Progress/style/Progress.css +103 -1
- package/lib/components/Radio/style/Radio.css +362 -1
- package/lib/components/Segment/style/Segment.css +79 -1
- package/lib/components/Select/style/Select.css +468 -1
- package/lib/components/Skeleton/style/Skeleton.css +54 -1
- package/lib/components/Slider/style/Slider.css +161 -1
- package/lib/components/Space/style/Space.css +47 -1
- package/lib/components/Spinner/Spinner.js +7 -7
- package/lib/components/Spinner/style/Spinner.css +99 -1
- package/lib/components/Step/style/Step.css +107 -1
- package/lib/components/Switch/style/Switch.css +102 -1
- package/lib/components/Table/style/Table.css +370 -1
- package/lib/components/Tabs/style/Tabs.css +118 -1
- package/lib/components/Tag/style/Tag.css +87 -1
- package/lib/components/Tooltip/style/Tooltip.css +98 -1
- package/lib/components/Trigger/style/Trigger.css +35 -1
- package/lib/components/Typography/style/Typography.css +444 -1
- package/lib/components/Upload/style/Upload.css +55 -1
- package/lib/components/Upload/style/UploadFileBar.css +88 -1
- package/lib/components/VirtualList/style/VirtualList.css +25 -1
- package/lib/index.css +1 -1
- package/lib/stories/docs/storybook-docs.css +323 -1
- package/lib/styles/index.css +5328 -1
- package/package.json +65 -34
|
@@ -1 +1,161 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Retrieves the spacing value for a given token key.
|
|
3
|
+
*
|
|
4
|
+
* @param {string} $key - The spacing token key (e.g., '100', '200').
|
|
5
|
+
* @return {length|null} The computed spacing value or null if the key is invalid.
|
|
6
|
+
* @example
|
|
7
|
+
* .element {
|
|
8
|
+
* padding: om-spacing-token('200'); // Returns 8px if $om-sys-spacing-unit is 4px
|
|
9
|
+
* }
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* Computes the spacing value based on a token key or a direct length value.
|
|
13
|
+
*
|
|
14
|
+
* @param {string|length} $value - The spacing token key (e.g., '100') or a direct length value (e.g., '16px').
|
|
15
|
+
* @return {length} The computed spacing value.
|
|
16
|
+
* @example
|
|
17
|
+
* .element {
|
|
18
|
+
* margin: om-spacing-value('300'); // Returns 12px if $om-sys-spacing-unit is 4px
|
|
19
|
+
* padding: om-spacing-value(16px); // Returns 16px
|
|
20
|
+
* gap: om-spacing-value(2); // Returns 8px if $om-sys-spacing-unit is 4px
|
|
21
|
+
* }
|
|
22
|
+
*/
|
|
23
|
+
.om-component-ui-slider {
|
|
24
|
+
display: flex;
|
|
25
|
+
flex-direction: column;
|
|
26
|
+
gap: var(--om-spacing-300, 12px);
|
|
27
|
+
width: 100%;
|
|
28
|
+
min-width: 120px;
|
|
29
|
+
}
|
|
30
|
+
.om-component-ui-slider-label-row {
|
|
31
|
+
display: flex;
|
|
32
|
+
align-items: center;
|
|
33
|
+
justify-content: space-between;
|
|
34
|
+
width: 100%;
|
|
35
|
+
}
|
|
36
|
+
.om-component-ui-slider-label {
|
|
37
|
+
flex: 1 0 0;
|
|
38
|
+
color: var(--om-text-default, #131313);
|
|
39
|
+
}
|
|
40
|
+
.om-component-ui-slider-output {
|
|
41
|
+
display: flex;
|
|
42
|
+
flex-shrink: 0;
|
|
43
|
+
align-items: center;
|
|
44
|
+
color: var(--om-text-default, #131313);
|
|
45
|
+
white-space: nowrap;
|
|
46
|
+
text-align: right;
|
|
47
|
+
}
|
|
48
|
+
.om-component-ui-slider-track-wrapper {
|
|
49
|
+
position: relative;
|
|
50
|
+
display: flex;
|
|
51
|
+
align-items: center;
|
|
52
|
+
width: 100%;
|
|
53
|
+
height: 8px;
|
|
54
|
+
cursor: pointer;
|
|
55
|
+
}
|
|
56
|
+
.om-component-ui-slider-input {
|
|
57
|
+
position: absolute;
|
|
58
|
+
z-index: 2;
|
|
59
|
+
inset: 0;
|
|
60
|
+
width: 100%;
|
|
61
|
+
height: 100%;
|
|
62
|
+
margin: 0;
|
|
63
|
+
cursor: inherit;
|
|
64
|
+
opacity: 0;
|
|
65
|
+
-webkit-appearance: none;
|
|
66
|
+
-moz-appearance: none;
|
|
67
|
+
appearance: none;
|
|
68
|
+
}
|
|
69
|
+
.om-component-ui-slider-input::-webkit-slider-thumb {
|
|
70
|
+
width: 12px;
|
|
71
|
+
height: 12px;
|
|
72
|
+
cursor: pointer;
|
|
73
|
+
-webkit-appearance: none;
|
|
74
|
+
}
|
|
75
|
+
.om-component-ui-slider-input::-moz-range-thumb {
|
|
76
|
+
width: 12px;
|
|
77
|
+
height: 12px;
|
|
78
|
+
background: transparent;
|
|
79
|
+
border: none;
|
|
80
|
+
cursor: pointer;
|
|
81
|
+
}
|
|
82
|
+
.om-component-ui-slider-track {
|
|
83
|
+
position: relative;
|
|
84
|
+
display: flex;
|
|
85
|
+
align-items: center;
|
|
86
|
+
width: 100%;
|
|
87
|
+
height: 8px;
|
|
88
|
+
overflow: hidden;
|
|
89
|
+
background-color: var(--om-bg-default-tertiary, #e3e4e4);
|
|
90
|
+
border-radius: var(--om-radius-full, 9999px);
|
|
91
|
+
pointer-events: none;
|
|
92
|
+
}
|
|
93
|
+
.om-component-ui-slider-fill {
|
|
94
|
+
height: 8px;
|
|
95
|
+
background-color: var(--om-bg-neutral, #131313);
|
|
96
|
+
border-radius: var(--om-radius-full, 9999px);
|
|
97
|
+
pointer-events: none;
|
|
98
|
+
}
|
|
99
|
+
.om-component-ui-slider-knob {
|
|
100
|
+
position: absolute;
|
|
101
|
+
z-index: 1;
|
|
102
|
+
width: 12px;
|
|
103
|
+
height: 12px;
|
|
104
|
+
background-color: var(--om-bg-neutral, #131313);
|
|
105
|
+
border-radius: var(--om-radius-full, 9999px);
|
|
106
|
+
transform: translateX(-50%);
|
|
107
|
+
transition: box-shadow 0.15s ease;
|
|
108
|
+
pointer-events: none;
|
|
109
|
+
}
|
|
110
|
+
.om-component-ui-slider-knob-end {
|
|
111
|
+
position: absolute;
|
|
112
|
+
right: 0;
|
|
113
|
+
z-index: 1;
|
|
114
|
+
width: 12px;
|
|
115
|
+
height: 12px;
|
|
116
|
+
background-color: var(--om-bg-neutral, #131313);
|
|
117
|
+
border-radius: var(--om-radius-full, 9999px);
|
|
118
|
+
pointer-events: none;
|
|
119
|
+
}
|
|
120
|
+
.om-component-ui-slider-input:focus-visible ~ .om-component-ui-slider-knob {
|
|
121
|
+
box-shadow: 0 0 0 2px var(--om-border-brand, #073387);
|
|
122
|
+
}
|
|
123
|
+
.om-component-ui-slider:not(.om-component-ui-slider-disabled) .om-component-ui-slider-track-wrapper:hover .om-component-ui-slider-knob {
|
|
124
|
+
box-shadow: var(--om-shadow-100, 0 4px 8px rgba(65, 91, 130, 0.12));
|
|
125
|
+
}
|
|
126
|
+
.om-component-ui-slider-description {
|
|
127
|
+
width: 100%;
|
|
128
|
+
color: var(--om-text-default-tertiary, #646465);
|
|
129
|
+
}
|
|
130
|
+
.om-component-ui-slider-disabled {
|
|
131
|
+
cursor: not-allowed;
|
|
132
|
+
}
|
|
133
|
+
.om-component-ui-slider-disabled .om-component-ui-slider-track-wrapper {
|
|
134
|
+
cursor: not-allowed;
|
|
135
|
+
}
|
|
136
|
+
.om-component-ui-slider-disabled .om-component-ui-slider-input {
|
|
137
|
+
cursor: not-allowed;
|
|
138
|
+
}
|
|
139
|
+
.om-component-ui-slider-disabled .om-component-ui-slider-label {
|
|
140
|
+
color: var(--om-text-disabled, #bbbdc1);
|
|
141
|
+
}
|
|
142
|
+
.om-component-ui-slider-disabled .om-component-ui-slider-output {
|
|
143
|
+
color: var(--om-text-disabled, #bbbdc1);
|
|
144
|
+
}
|
|
145
|
+
.om-component-ui-slider-disabled .om-component-ui-slider-track {
|
|
146
|
+
background-color: var(--om-bg-default-tertiary, #e3e4e4);
|
|
147
|
+
}
|
|
148
|
+
.om-component-ui-slider-disabled .om-component-ui-slider-fill {
|
|
149
|
+
background-color: transparent;
|
|
150
|
+
}
|
|
151
|
+
.om-component-ui-slider-disabled .om-component-ui-slider-knob {
|
|
152
|
+
background-color: var(--om-bg-disabled, #f0f0f0);
|
|
153
|
+
border: 0.75px solid var(--om-border-default, #d1d2d2);
|
|
154
|
+
}
|
|
155
|
+
.om-component-ui-slider-disabled .om-component-ui-slider-knob-end {
|
|
156
|
+
background-color: var(--om-bg-disabled, #f0f0f0);
|
|
157
|
+
border: 0.75px solid var(--om-border-default, #d1d2d2);
|
|
158
|
+
}
|
|
159
|
+
.om-component-ui-slider-disabled .om-component-ui-slider-description {
|
|
160
|
+
color: var(--om-text-disabled, #bbbdc1);
|
|
161
|
+
}
|
|
@@ -1 +1,47 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Retrieves the spacing value for a given token key.
|
|
3
|
+
*
|
|
4
|
+
* @param {string} $key - The spacing token key (e.g., '100', '200').
|
|
5
|
+
* @return {length|null} The computed spacing value or null if the key is invalid.
|
|
6
|
+
* @example
|
|
7
|
+
* .element {
|
|
8
|
+
* padding: om-spacing-token('200'); // Returns 8px if $om-sys-spacing-unit is 4px
|
|
9
|
+
* }
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* Computes the spacing value based on a token key or a direct length value.
|
|
13
|
+
*
|
|
14
|
+
* @param {string|length} $value - The spacing token key (e.g., '100') or a direct length value (e.g., '16px').
|
|
15
|
+
* @return {length} The computed spacing value.
|
|
16
|
+
* @example
|
|
17
|
+
* .element {
|
|
18
|
+
* margin: om-spacing-value('300'); // Returns 12px if $om-sys-spacing-unit is 4px
|
|
19
|
+
* padding: om-spacing-value(16px); // Returns 16px
|
|
20
|
+
* gap: om-spacing-value(2); // Returns 8px if $om-sys-spacing-unit is 4px
|
|
21
|
+
* }
|
|
22
|
+
*/
|
|
23
|
+
.om-component-ui-space {
|
|
24
|
+
display: inline-flex;
|
|
25
|
+
gap: var(--om-space-row-gap, 8px) var(--om-space-column-gap, 8px);
|
|
26
|
+
}
|
|
27
|
+
.om-component-ui-space-vertical {
|
|
28
|
+
flex-direction: column;
|
|
29
|
+
}
|
|
30
|
+
.om-component-ui-space-wrap {
|
|
31
|
+
flex-wrap: wrap;
|
|
32
|
+
}
|
|
33
|
+
.om-component-ui-space-align-start {
|
|
34
|
+
align-items: flex-start;
|
|
35
|
+
}
|
|
36
|
+
.om-component-ui-space-align-end {
|
|
37
|
+
align-items: flex-end;
|
|
38
|
+
}
|
|
39
|
+
.om-component-ui-space-align-center {
|
|
40
|
+
align-items: center;
|
|
41
|
+
}
|
|
42
|
+
.om-component-ui-space-align-baseline {
|
|
43
|
+
align-items: baseline;
|
|
44
|
+
}
|
|
45
|
+
.om-component-ui-space-item, .om-component-ui-space-split {
|
|
46
|
+
display: inline-flex;
|
|
47
|
+
}
|
|
@@ -109,19 +109,19 @@ export var Spinner = function Spinner(props) {
|
|
|
109
109
|
(function () {
|
|
110
110
|
return __awaiter(void 0, void 0, void 0, /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
|
|
111
111
|
var lottie;
|
|
112
|
-
return _regeneratorRuntime.wrap(function
|
|
112
|
+
return _regeneratorRuntime.wrap(function (_context) {
|
|
113
113
|
while (1) switch (_context.prev = _context.next) {
|
|
114
114
|
case 0:
|
|
115
|
-
_context.next =
|
|
115
|
+
_context.next = 1;
|
|
116
116
|
return import('lottie-web');
|
|
117
|
-
case
|
|
117
|
+
case 1:
|
|
118
118
|
lottie = _context.sent["default"];
|
|
119
119
|
if (!(destroyed || !lottieRef.current)) {
|
|
120
|
-
_context.next =
|
|
120
|
+
_context.next = 2;
|
|
121
121
|
break;
|
|
122
122
|
}
|
|
123
123
|
return _context.abrupt("return");
|
|
124
|
-
case
|
|
124
|
+
case 2:
|
|
125
125
|
instance = lottie.loadAnimation({
|
|
126
126
|
container: lottieRef.current,
|
|
127
127
|
renderer: 'svg',
|
|
@@ -129,7 +129,7 @@ export var Spinner = function Spinner(props) {
|
|
|
129
129
|
autoplay: true,
|
|
130
130
|
animationData: lottiePureJson
|
|
131
131
|
});
|
|
132
|
-
case
|
|
132
|
+
case 3:
|
|
133
133
|
case "end":
|
|
134
134
|
return _context.stop();
|
|
135
135
|
}
|
|
@@ -216,4 +216,4 @@ export var Spinner = function Spinner(props) {
|
|
|
216
216
|
}));
|
|
217
217
|
};
|
|
218
218
|
export default /*#__PURE__*/memo(Spinner);
|
|
219
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvU3Bpbm5lci9TcGlubmVyLnRzeCIsImNvbXBvbmVudHMvU3Bpbm5lci9TcGlubmVyLmpzIl0sIm5hbWVzIjpbIl9yZWdlbmVyYXRvclJ1bnRpbWUiLCJfX2F3YWl0ZXIiLCJ0aGlzQXJnIiwiX2FyZ3VtZW50cyIsIlAiLCJnZW5lcmF0b3IiLCJhZG9wdCIsInZhbHVlIiwicmVzb2x2ZSIsIlByb21pc2UiLCJyZWplY3QiLCJmdWxmaWxsZWQiLCJzdGVwIiwibmV4dCIsImUiLCJyZWplY3RlZCIsInJlc3VsdCIsImRvbmUiLCJ0aGVuIiwiYXBwbHkiLCJfX3Jlc3QiLCJzIiwidCIsInAiLCJPYmplY3QiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpbmRleE9mIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwiaSIsImxlbmd0aCIsInByb3BlcnR5SXNFbnVtZXJhYmxlIiwianN4IiwiX2pzeCIsImpzeHMiLCJfanN4cyIsIm1lbW8iLCJ1c2VFZmZlY3QiLCJ1c2VJZCIsInVzZVJlZiIsIlR5cG9ncmFwaHkiLCJjbGFzc25hbWVzIiwiam9pbkNscyIsImxvdHRpZVB1cmVKc29uIiwiREVGQVVMVF9TSVpFIiwiQkdfTE9HT19SQVRJTyIsIkJyYW5kQmdDaXJjbGUiLCJfcmVmIiwic2l6ZSIsImNsYXNzTmFtZSIsInJhd0lkIiwiZ3JhZElkIiwiY29uY2F0IiwicmVwbGFjZSIsIndpZHRoIiwiaGVpZ2h0Iiwidmlld0JveCIsImNoaWxkcmVuIiwiY3giLCJjeSIsInIiLCJmaWxsIiwiaWQiLCJncmFkaWVudFVuaXRzIiwiZ3JhZGllbnRUcmFuc2Zvcm0iLCJzdG9wQ29sb3IiLCJvZmZzZXQiLCJTcGlubmVyIiwicHJvcHMiLCJzdHlsZSIsIl9wcm9wcyRwcmVmaXhDbHMiLCJwcmVmaXhDbHMiLCJfcHJvcHMkdHlwZSIsInR5cGUiLCJfcHJvcHMkc2l6ZSIsIl9wcm9wcyRzdHJva2VXaWR0aCIsInN0cm9rZVdpZHRoIiwiY29sb3IiLCJ0aXRsZSIsImJvZHkiLCJyZXN0IiwiY2xhc3NlcyIsImxvdHRpZVJlZiIsImlzQnJhbmQiLCJjdXJyZW50IiwiaW5zdGFuY2UiLCJkZXN0cm95ZWQiLCJtYXJrIiwiX2NhbGxlZSIsImxvdHRpZSIsIndyYXAiLCJfY2FsbGVlJCIsIl9jb250ZXh0IiwicHJldiIsInNlbnQiLCJhYnJ1cHQiLCJsb2FkQW5pbWF0aW9uIiwiY29udGFpbmVyIiwicmVuZGVyZXIiLCJsb29wIiwiYXV0b3BsYXkiLCJhbmltYXRpb25EYXRhIiwic3RvcCIsImRlc3Ryb3kiLCJoYXNCZyIsImxvdHRpZVNpemUiLCJsb3R0aWVTdHlsZSIsImFzc2lnbiIsInJlZiIsIkhlYWRsaW5lIiwiQm9keSIsInJvbGUiXSwibWFwcGluZ3MiOiJBQUFBLFlBQVk7O0FBQUMsT0FBQUEsbUJBQUE7QUNDYixJQUFJQyxTQUFTLEdBQUksSUFBSSxJQUFJLElBQUksQ0FBQ0EsU0FBUyxJQUFLLFVBQVVDLE9BQU8sRUFBRUMsVUFBVSxFQUFFQyxDQUFDLEVBQUVDLFNBQVMsRUFBRTtFQUNyRixTQUFTQyxLQUFLQSxDQUFDQyxLQUFLLEVBQUU7SUFBRSxPQUFPQSxLQUFLLFlBQVlILENBQUMsR0FBR0csS0FBSyxHQUFHLElBQUlILENBQUMsQ0FBQyxVQUFVSSxPQUFPLEVBQUU7TUFBRUEsT0FBTyxDQUFDRCxLQUFLLENBQUM7SUFBRSxDQUFDLENBQUM7RUFBRTtFQUMzRyxPQUFPLEtBQUtILENBQUMsS0FBS0EsQ0FBQyxHQUFHSyxPQUFPLENBQUMsRUFBRSxVQUFVRCxPQUFPLEVBQUVFLE1BQU0sRUFBRTtJQUN2RCxTQUFTQyxTQUFTQSxDQUFDSixLQUFLLEVBQUU7TUFBRSxJQUFJO1FBQUVLLElBQUksQ0FBQ1AsU0FBUyxDQUFDUSxJQUFJLENBQUNOLEtBQUssQ0FBQyxDQUFDO01BQUUsQ0FBQyxDQUFDLE9BQU9PLENBQUMsRUFBRTtRQUFFSixNQUFNLENBQUNJLENBQUMsQ0FBQztNQUFFO0lBQUU7SUFD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QUMsS0FBSyxDQUFDLEVBQUVoQyxTQUFTLENBQUM7SUFDckNvQixLQUFLLEVBQUE5QyxNQUFBLENBQUFvRixNQUFBLENBQUFwRixNQUFBLENBQUFvRixNQUFBLENBQUE7TUFBSXJELEtBQUssRUFBRU4sSUFBSTtNQUFFTyxNQUFNLEVBQUVQO0lBQUksQ0FBQSxFQUFLcUIsS0FBSyxDQUFBLEVBQU1RLEtBQUssR0FBRztNQUFFQSxLQUFLLEVBQUxBO0lBQUssQ0FBRSxHQUFHLElBQUssQ0FBQTtJQUFBcEIsUUFBQSxFQUUzRXhCLElBQUEsQ0FBQSxLQUFBLEVBQUE7TUFBS2dCLFNBQVMsRUFBRWdDLE9BQU8sQ0FBQyxRQUFRLENBQUM7TUFBRXpCLE9BQU8sRUFBQyxXQUFXO01BQUFDLFFBQUEsRUFDcER4QixJQUFBLENBQUEsUUFBQSxFQUFBO1FBQ0VnQixTQUFTLEVBQUVnQyxPQUFPLENBQUMsTUFBTSxDQUFDO1FBQzFCdkIsRUFBRSxFQUFDLElBQUk7UUFDUEMsRUFBRSxFQUFDLElBQUk7UUFDUEMsQ0FBQyxFQUFDLElBQUk7UUFDTkMsSUFBSSxFQUFDLE1BQU07UUFDWGUsV0FBVyxFQUFFQTtNQUFXLENBQUE7SUFDeEIsQ0FBQTtFQUNFLENBQUEsQ0FBQSxDQUNGO0FBRVYsQ0FBQztBQUVELDRCQUFleEMsSUFBSSxDQUFDK0IsT0FBTyxDQUFDIiwiZmlsZSI6ImNvbXBvbmVudHMvU3Bpbm5lci9TcGlubmVyLmpzIiwic291cmNlc0NvbnRlbnQiOltudWxsLCIndXNlIGNsaWVudCc7XG52YXIgX19hd2FpdGVyID0gKHRoaXMgJiYgdGhpcy5fX2F3YWl0ZXIpIHx8IGZ1bmN0aW9uICh0aGlzQXJnLCBfYXJndW1lbnRzLCBQLCBnZW5lcmF0b3IpIHtcbiAgICBmdW5jdGlvbiBhZG9wdCh2YWx1ZSkgeyByZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBQID8gdmFsdWUgOiBuZXcgUChmdW5jdGlvbiAocmVzb2x2ZSkgeyByZXNvbHZlKHZhbHVlKTsgfSk7IH1cbiAgICByZXR1cm4gbmV3IChQIHx8IChQID0gUHJvbWlzZSkpKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcbiAgICAgICAgZnVuY3Rpb24gZnVsZmlsbGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yLm5leHQodmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxuICAgICAgICBmdW5jdGlvbiByZWplY3RlZCh2YWx1ZSkgeyB0cnkgeyBzdGVwKGdlbmVyYXRvcltcInRocm93XCJdKHZhbHVlKSk7IH0gY2F0Y2ggKGUpIHsgcmVqZWN0KGUpOyB9IH1cbiAgICAgICAgZnVuY3Rpb24gc3RlcChyZXN1bHQpIHsgcmVzdWx0LmRvbmUgPyByZXNvbHZlKHJlc3VsdC52YWx1ZSkgOiBhZG9wdChyZXN1bHQudmFsdWUpLnRoZW4oZnVsZmlsbGVkLCByZWplY3RlZCk7IH1cbiAgICAgICAgc3RlcCgoZ2VuZXJhdG9yID0gZ2VuZXJhdG9yLmFwcGx5KHRoaXNBcmcsIF9hcmd1bWVudHMgfHwgW10pKS5uZXh0KCkpO1xuICAgIH0pO1xufTtcbnZhciBfX3Jlc3QgPSAodGhpcyAmJiB0aGlzLl9fcmVzdCkgfHwgZnVuY3Rpb24gKHMsIGUpIHtcbiAgICB2YXIgdCA9IHt9O1xuICAgIGZvciAodmFyIHAgaW4gcykgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzLCBwKSAmJiBlLmluZGV4T2YocCkgPCAwKVxuICAgICAgICB0W3BdID0gc1twXTtcbiAgICBpZiAocyAhPSBudWxsICYmIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzID09PSBcImZ1bmN0aW9uXCIpXG4gICAgICAgIGZvciAodmFyIGkgPSAwLCBwID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhzKTsgaSA8IHAubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGlmIChlLmluZGV4T2YocFtpXSkgPCAwICYmIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChzLCBwW2ldKSlcbiAgICAgICAgICAgICAgICB0W3BbaV1dID0gc1twW2ldXTtcbiAgICAgICAgfVxuICAgIHJldHVybiB0O1xufTtcbmltcG9ydCB7IGpzeCBhcyBfanN4LCBqc3hzIGFzIF9qc3hzIH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgeyBtZW1vLCB1c2VFZmZlY3QsIHVzZUlkLCB1c2VSZWYgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBUeXBvZ3JhcGh5IH0gZnJvbSAnLi4vVHlwb2dyYXBoeSc7XG5pbXBvcnQgY2xhc3NuYW1lcywgeyBqb2luQ2xzIH0gZnJvbSAnLi4vLi4vdXRpbHMvY2xhc3NuYW1lcyc7XG5pbXBvcnQgbG90dGllUHVyZUpzb24gZnJvbSAnLi9sb3R0aWUtcHVyZS5qc29uJztcbmltcG9ydCAnLi9zdHlsZSc7XG5jb25zdCBERUZBVUxUX1NJWkUgPSAzMjtcbmNvbnN0IEJHX0xPR09fUkFUSU8gPSAyIC8gMztcbmNvbnN0IEJyYW5kQmdDaXJjbGUgPSAoeyBzaXplLCBjbGFzc05hbWUgfSkgPT4ge1xuICAgIGNvbnN0IHJhd0lkID0gdXNlSWQoKTtcbiAgICBjb25zdCBncmFkSWQgPSBgc3Bpbm5lci1iZy0ke3Jhd0lkLnJlcGxhY2UoL1teYS16QS1aMC05XS9nLCAnJyl9YDtcbiAgICByZXR1cm4gKF9qc3hzKFwic3ZnXCIsIHsgd2lkdGg6IHNpemUsIGhlaWdodDogc2l6ZSwgdmlld0JveDogXCIwIDAgNTYgNTdcIiwgY2xhc3NOYW1lOiBjbGFzc05hbWUsIFwiYXJpYS1oaWRkZW5cIjogXCJ0cnVlXCIsIGNoaWxkcmVuOiBbX2pzeChcImNpcmNsZVwiLCB7IGN4OiBcIjI4XCIsIGN5OiBcIjI4Ljc1XCIsIHI6IFwiMjhcIiwgZmlsbDogYHVybCgjJHtncmFkSWR9KWAgfSksIF9qc3goXCJkZWZzXCIsIHsgY2hpbGRyZW46IF9qc3hzKFwicmFkaWFsR3JhZGllbnRcIiwgeyBpZDogZ3JhZElkLCBjeDogXCIwXCIsIGN5OiBcIjBcIiwgcjogXCIxXCIsIGdyYWRpZW50VW5pdHM6IFwidXNlclNwYWNlT25Vc2VcIiwgZ3JhZGllbnRUcmFuc2Zvcm06IFwidHJhbnNsYXRlKC0zNC45MDg1IDkyLjY2NzgpIHJvdGF0ZSgtNDUuNjU5NCkgc2NhbGUoMTA4Ljg1MyAxMDMuNjk4KVwiLCBjaGlsZHJlbjogW19qc3goXCJzdG9wXCIsIHsgc3RvcENvbG9yOiBcIiMwNzMzODdcIiB9KSwgX2pzeChcInN0b3BcIiwgeyBvZmZzZXQ6IFwiMC4yMTY4NTJcIiwgc3RvcENvbG9yOiBcIiM5MEE4Q0ZcIiB9KSwgX2pzeChcInN0b3BcIiwgeyBvZmZzZXQ6IFwiMC41NjcxMDNcIiwgc3RvcENvbG9yOiBcIiNDQkQ2RThcIiB9KSwgX2pzeChcInN0b3BcIiwgeyBvZmZzZXQ6IFwiMVwiLCBzdG9wQ29sb3I6IFwiI0Y5RjlGOVwiIH0pXSB9KSB9KV0gfSkpO1xufTtcbmV4cG9ydCBjb25zdCBTcGlubmVyID0gcHJvcHMgPT4ge1xuICAgIGNvbnN0IHsgY2xhc3NOYW1lLCBzdHlsZSwgcHJlZml4Q2xzID0gJ3NwaW5uZXInLCB0eXBlID0gJ2RlZmF1bHQnLCBzaXplID0gREVGQVVMVF9TSVpFLCBzdHJva2VXaWR0aCA9IDQsIGNvbG9yLCB0aXRsZSwgYm9keSB9ID0gcHJvcHMsIHJlc3QgPSBfX3Jlc3QocHJvcHMsIFtcImNsYXNzTmFtZVwiLCBcInN0eWxlXCIsIFwicHJlZml4Q2xzXCIsIFwidHlwZVwiLCBcInNpemVcIiwgXCJzdHJva2VXaWR0aFwiLCBcImNvbG9yXCIsIFwidGl0bGVcIiwgXCJib2R5XCJdKTtcbiAgICBjb25zdCBjbGFzc2VzID0gY2xhc3NuYW1lcyhwcmVmaXhDbHMpO1xuICAgIGNvbnN0IGxvdHRpZVJlZiA9IHVzZVJlZihudWxsKTtcbiAgICBjb25zdCBpc0JyYW5kID0gdHlwZSA9PT0gJ2JyYW5kJyB8fCB0eXBlID09PSAnYnJhbmQtYmcnO1xuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGlmICghaXNCcmFuZCB8fCAhbG90dGllUmVmLmN1cnJlbnQpXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIGxldCBpbnN0YW5jZSA9IG51bGw7XG4gICAgICAgIGxldCBkZXN0cm95ZWQgPSBmYWxzZTtcbiAgICAgICAgKCgpID0+IF9fYXdhaXRlcih2b2lkIDAsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICAgICAgY29uc3QgbG90dGllID0gKHlpZWxkIGltcG9ydCgnbG90dGllLXdlYicpKS5kZWZhdWx0O1xuICAgICAgICAgICAgaWYgKGRlc3Ryb3llZCB8fCAhbG90dGllUmVmLmN1cnJlbnQpXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgaW5zdGFuY2UgPSBsb3R0aWUubG9hZEFuaW1hdGlvbih7XG4gICAgICAgICAgICAgICAgY29udGFpbmVyOiBsb3R0aWVSZWYuY3VycmVudCxcbiAgICAgICAgICAgICAgICByZW5kZXJlcjogJ3N2ZycsXG4gICAgICAgICAgICAgICAgbG9vcDogdHJ1ZSxcbiAgICAgICAgICAgICAgICBhdXRvcGxheTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBhbmltYXRpb25EYXRhOiBsb3R0aWVQdXJlSnNvbixcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KSkoKTtcbiAgICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgICAgIGRlc3Ryb3llZCA9IHRydWU7XG4gICAgICAgICAgICBpZiAoaW5zdGFuY2UpIHtcbiAgICAgICAgICAgICAgICBpbnN0YW5jZS5kZXN0cm95KCk7XG4gICAgICAgICAgICAgICAgaW5zdGFuY2UgPSBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgIH0sIFtpc0JyYW5kXSk7XG4gICAgaWYgKGlzQnJhbmQpIHtcbiAgICAgICAgY29uc3QgaGFzQmcgPSB0eXBlID09PSAnYnJhbmQtYmcnO1xuICAgICAgICBjb25zdCBsb3R0aWVTaXplID0gaGFzQmcgPyBzaXplICogQkdfTE9HT19SQVRJTyA6IHNpemU7XG4gICAgICAgIGNvbnN0IGxvdHRpZVN0eWxlID0geyB3aWR0aDogbG90dGllU2l6ZSwgaGVpZ2h0OiBsb3R0aWVTaXplIH07XG4gICAgICAgIHJldHVybiAoX2pzeHMoXCJkaXZcIiwgT2JqZWN0LmFzc2lnbih7fSwgcmVzdCwgeyBjbGFzc05hbWU6IGNsYXNzZXModm9pZCAwLCBqb2luQ2xzKGNsYXNzZXMoJ2JyYW5kJyksIGhhc0JnICYmIGNsYXNzZXMoJ2JyYW5kLWJnJyksIGNsYXNzTmFtZSkpLCBjaGlsZHJlbjogW2hhc0JnID8gKF9qc3hzKFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdpY29uLXdyYXAnKSwgc3R5bGU6IHsgd2lkdGg6IHNpemUsIGhlaWdodDogc2l6ZSB9LCBjaGlsZHJlbjogW19qc3goQnJhbmRCZ0NpcmNsZSwgeyBzaXplOiBzaXplLCBjbGFzc05hbWU6IGNsYXNzZXMoJ2JnJykgfSksIF9qc3goXCJkaXZcIiwgeyByZWY6IGxvdHRpZVJlZiwgY2xhc3NOYW1lOiBjbGFzc2VzKCdsb3R0aWUnKSwgc3R5bGU6IGxvdHRpZVN0eWxlIH0pXSB9KSkgOiAoX2pzeChcImRpdlwiLCB7IHJlZjogbG90dGllUmVmLCBjbGFzc05hbWU6IGNsYXNzZXMoJ2xvdHRpZScpLCBzdHlsZTogbG90dGllU3R5bGUgfSkpLCAodGl0bGUgfHwgYm9keSkgJiYgKF9qc3hzKFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdjb250ZW50JyksIGNoaWxkcmVuOiBbdGl0bGUgJiYgKGhhc0JnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBfanN4KFR5cG9ncmFwaHkuSGVhZGxpbmUsIHsgc2l6ZTogXCJzbVwiLCBjb2xvcjogXCJkZWZhdWx0XCIsIGNsYXNzTmFtZTogY2xhc3NlcygndGl0bGUnKSwgY2hpbGRyZW46IHRpdGxlIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfanN4KFR5cG9ncmFwaHkuQm9keSwgeyBzaXplOiBcIm1kXCIsIGNvbG9yOiBcImRlZmF1bHQtdGVydGlhcnlcIiwgY2xhc3NOYW1lOiBjbGFzc2VzKCd0aXRsZScpLCBjaGlsZHJlbjogdGl0bGUgfSkpLCBib2R5ICYmIChfanN4KFR5cG9ncmFwaHkuQm9keSwgeyBzaXplOiBcIm1kXCIsIGNvbG9yOiBcImRlZmF1bHQtdGVydGlhcnlcIiwgY2xhc3NOYW1lOiBjbGFzc2VzKCdib2R5JyksIGNoaWxkcmVuOiBib2R5IH0pKV0gfSkpXSB9KSkpO1xuICAgIH1cbiAgICByZXR1cm4gKF9qc3goXCJkaXZcIiwgT2JqZWN0LmFzc2lnbih7fSwgcmVzdCwgeyByb2xlOiBcInByb2dyZXNzYmFyXCIsIGNsYXNzTmFtZTogY2xhc3Nlcyh2b2lkIDAsIGNsYXNzTmFtZSksIHN0eWxlOiBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oeyB3aWR0aDogc2l6ZSwgaGVpZ2h0OiBzaXplIH0sIHN0eWxlKSwgKGNvbG9yID8geyBjb2xvciB9IDogbnVsbCkpLCBjaGlsZHJlbjogX2pzeChcInN2Z1wiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnY2lyY2xlJyksIHZpZXdCb3g6IFwiMCAwIDUwIDUwXCIsIGNoaWxkcmVuOiBfanN4KFwiY2lyY2xlXCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdwYXRoJyksIGN4OiBcIjI1XCIsIGN5OiBcIjI1XCIsIHI6IFwiMjBcIiwgZmlsbDogXCJub25lXCIsIHN0cm9rZVdpZHRoOiBzdHJva2VXaWR0aCB9KSB9KSB9KSkpO1xufTtcbmV4cG9ydCBkZWZhdWx0IG1lbW8oU3Bpbm5lcik7Il0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
|
|
219
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvU3Bpbm5lci9TcGlubmVyLnRzeCIsImNvbXBvbmVudHMvU3Bpbm5lci9TcGlubmVyLmpzIl0sIm5hbWVzIjpbIl9yZWdlbmVyYXRvclJ1bnRpbWUiLCJfX2F3YWl0ZXIiLCJ0aGlzQXJnIiwiX2FyZ3VtZW50cyIsIlAiLCJnZW5lcmF0b3IiLCJhZG9wdCIsInZhbHVlIiwicmVzb2x2ZSIsIlByb21pc2UiLCJyZWplY3QiLCJmdWxmaWxsZWQiLCJzdGVwIiwibmV4dCIsImUiLCJyZWplY3RlZCIsInJlc3VsdCIsImRvbmUiLCJ0aGVuIiwiYXBwbHkiLCJfX3Jlc3QiLCJzIiwidCIsInAiLCJPYmplY3QiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpbmRleE9mIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwiaSIsImxlbmd0aCIsInByb3BlcnR5SXNFbnVtZXJhYmxlIiwianN4IiwiX2pzeCIsImpzeHMiLCJfanN4cyIsIm1lbW8iLCJ1c2VFZmZlY3QiLCJ1c2VJZCIsInVzZVJlZiIsIlR5cG9ncmFwaHkiLCJjbGFzc25hbWVzIiwiam9pbkNscyIsImxvdHRpZVB1cmVKc29uIiwiREVGQVVMVF9TSVpFIiwiQkdfTE9HT19SQVRJTyIsIkJyYW5kQmdDaXJjbGUiLCJfcmVmIiwic2l6ZSIsImNsYXNzTmFtZSIsInJhd0lkIiwiZ3JhZElkIiwiY29uY2F0IiwicmVwbGFjZSIsIndpZHRoIiwiaGVpZ2h0Iiwidmlld0JveCIsImNoaWxkcmVuIiwiY3giLCJjeSIsInIiLCJmaWxsIiwiaWQiLCJncmFkaWVudFVuaXRzIiwiZ3JhZGllbnRUcmFuc2Zvcm0iLCJzdG9wQ29sb3IiLCJvZmZzZXQiLCJTcGlubmVyIiwicHJvcHMiLCJzdHlsZSIsIl9wcm9wcyRwcmVmaXhDbHMiLCJwcmVmaXhDbHMiLCJfcHJvcHMkdHlwZSIsInR5cGUiLCJfcHJvcHMkc2l6ZSIsIl9wcm9wcyRzdHJva2VXaWR0aCIsInN0cm9rZVdpZHRoIiwiY29sb3IiLCJ0aXRsZSIsImJvZHkiLCJyZXN0IiwiY2xhc3NlcyIsImxvdHRpZVJlZiIsImlzQnJhbmQiLCJjdXJyZW50IiwiaW5zdGFuY2UiLCJkZXN0cm95ZWQiLCJtYXJrIiwiX2NhbGxlZSIsImxvdHRpZSIsIndyYXAiLCJfY29udGV4dCIsInByZXYiLCJzZW50IiwiYWJydXB0IiwibG9hZEFuaW1hdGlvbiIsImNvbnRhaW5lciIsInJlbmRlcmVyIiwibG9vcCIsImF1dG9wbGF5IiwiYW5pbWF0aW9uRGF0YSIsInN0b3AiLCJkZXN0cm95IiwiaGFzQmciLCJsb3R0aWVTaXplIiwibG90dGllU3R5bGUiLCJhc3NpZ24iLCJyZWYiLCJIZWFkbGluZSIsIkJvZHkiLCJyb2xlIl0sIm1hcHBpbmdzIjoiQUFBQSxZQUFZOztBQUFDLE9BQUFBLG1CQUFBO0FDQ2IsSUFBSUMsU0FBUyxHQUFJLElBQUksSUFBSSxJQUFJLENBQUNBLFNBQVMsSUFBSyxVQUFVQyxPQUFPLEVBQUVDLFVBQVUsRUFBRUMsQ0FBQyxFQUFFQyxTQUFTLEVBQUU7RUFDckYsU0FBU0MsS0FBS0EsQ0FBQ0MsS0FBSyxFQUFFO0lBQUUsT0FBT0EsS0FBSyxZQUFZSCxDQUFDLEdBQUdHLEtBQUssR0FBRyxJQUFJSCxDQUFDLENBQUMsVUFBVUksT0FBTyxFQUFFO01BQUVBLE9BQU8sQ0FBQ0QsS0FBSyxDQUFDO0lBQUUsQ0FBQyxDQUFDO0VBQUU7RUFDM0csT0FBTyxLQUFLSCxDQUFDLEtBQUtBLENBQUMsR0FBR0ssT0FBTyxDQUFDLEVBQUUsVUFBVUQsT0FBTyxFQUFFRSxNQUFNLEVBQUU7SUFDdkQsU0FBU0MsU0FBU0EsQ0FBQ0osS0FBSyxFQUFFO01BQUUsSUFBSTtRQUFFSyxJQUFJLENBQUNQLFNBQVMsQ0FBQ1EsSUFBSSxDQUFDTixLQUFLLENBQUMsQ0FBQztNQUFFLENBQUMsQ0FBQyxPQUFPTyxDQUFDLEVBQUU7UUFBRUosTUFBTSxDQUFDSSxDQUFDLENBQUM7TUFBRTtJQUFFO0lBQzFGLFNBQVNDLFFB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aEMsU0FBUyxDQUFDO0lBQ3JDb0IsS0FBSyxFQUFBOUMsTUFBQSxDQUFBbUYsTUFBQSxDQUFBbkYsTUFBQSxDQUFBbUYsTUFBQSxDQUFBO01BQUlwRCxLQUFLLEVBQUVOLElBQUk7TUFBRU8sTUFBTSxFQUFFUDtJQUFJLENBQUEsRUFBS3FCLEtBQUssQ0FBQSxFQUFNUSxLQUFLLEdBQUc7TUFBRUEsS0FBSyxFQUFMQTtJQUFLLENBQUUsR0FBRyxJQUFLLENBQUE7SUFBQXBCLFFBQUEsRUFFM0V4QixJQUFBLENBQUEsS0FBQSxFQUFBO01BQUtnQixTQUFTLEVBQUVnQyxPQUFPLENBQUMsUUFBUSxDQUFDO01BQUV6QixPQUFPLEVBQUMsV0FBVztNQUFBQyxRQUFBLEVBQ3BEeEIsSUFBQSxDQUFBLFFBQUEsRUFBQTtRQUNFZ0IsU0FBUyxFQUFFZ0MsT0FBTyxDQUFDLE1BQU0sQ0FBQztRQUMxQnZCLEVBQUUsRUFBQyxJQUFJO1FBQ1BDLEVBQUUsRUFBQyxJQUFJO1FBQ1BDLENBQUMsRUFBQyxJQUFJO1FBQ05DLElBQUksRUFBQyxNQUFNO1FBQ1hlLFdBQVcsRUFBRUE7TUFBVyxDQUFBO0lBQ3hCLENBQUE7RUFDRSxDQUFBLENBQUEsQ0FDRjtBQUVWLENBQUM7QUFFRCw0QkFBZXhDLElBQUksQ0FBQytCLE9BQU8sQ0FBQyIsImZpbGUiOiJjb21wb25lbnRzL1NwaW5uZXIvU3Bpbm5lci5qcyIsInNvdXJjZXNDb250ZW50IjpbbnVsbCwiJ3VzZSBjbGllbnQnO1xudmFyIF9fYXdhaXRlciA9ICh0aGlzICYmIHRoaXMuX19hd2FpdGVyKSB8fCBmdW5jdGlvbiAodGhpc0FyZywgX2FyZ3VtZW50cywgUCwgZ2VuZXJhdG9yKSB7XG4gICAgZnVuY3Rpb24gYWRvcHQodmFsdWUpIHsgcmV0dXJuIHZhbHVlIGluc3RhbmNlb2YgUCA/IHZhbHVlIDogbmV3IFAoZnVuY3Rpb24gKHJlc29sdmUpIHsgcmVzb2x2ZSh2YWx1ZSk7IH0pOyB9XG4gICAgcmV0dXJuIG5ldyAoUCB8fCAoUCA9IFByb21pc2UpKShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XG4gICAgICAgIGZ1bmN0aW9uIGZ1bGZpbGxlZCh2YWx1ZSkgeyB0cnkgeyBzdGVwKGdlbmVyYXRvci5uZXh0KHZhbHVlKSk7IH0gY2F0Y2ggKGUpIHsgcmVqZWN0KGUpOyB9IH1cbiAgICAgICAgZnVuY3Rpb24gcmVqZWN0ZWQodmFsdWUpIHsgdHJ5IHsgc3RlcChnZW5lcmF0b3JbXCJ0aHJvd1wiXSh2YWx1ZSkpOyB9IGNhdGNoIChlKSB7IHJlamVjdChlKTsgfSB9XG4gICAgICAgIGZ1bmN0aW9uIHN0ZXAocmVzdWx0KSB7IHJlc3VsdC5kb25lID8gcmVzb2x2ZShyZXN1bHQudmFsdWUpIDogYWRvcHQocmVzdWx0LnZhbHVlKS50aGVuKGZ1bGZpbGxlZCwgcmVqZWN0ZWQpOyB9XG4gICAgICAgIHN0ZXAoKGdlbmVyYXRvciA9IGdlbmVyYXRvci5hcHBseSh0aGlzQXJnLCBfYXJndW1lbnRzIHx8IFtdKSkubmV4dCgpKTtcbiAgICB9KTtcbn07XG52YXIgX19yZXN0ID0gKHRoaXMgJiYgdGhpcy5fX3Jlc3QpIHx8IGZ1bmN0aW9uIChzLCBlKSB7XG4gICAgdmFyIHQgPSB7fTtcbiAgICBmb3IgKHZhciBwIGluIHMpIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocywgcCkgJiYgZS5pbmRleE9mKHApIDwgMClcbiAgICAgICAgdFtwXSA9IHNbcF07XG4gICAgaWYgKHMgIT0gbnVsbCAmJiB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyA9PT0gXCJmdW5jdGlvblwiKVxuICAgICAgICBmb3IgKHZhciBpID0gMCwgcCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMocyk7IGkgPCBwLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBpZiAoZS5pbmRleE9mKHBbaV0pIDwgMCAmJiBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwocywgcFtpXSkpXG4gICAgICAgICAgICAgICAgdFtwW2ldXSA9IHNbcFtpXV07XG4gICAgICAgIH1cbiAgICByZXR1cm4gdDtcbn07XG5pbXBvcnQgeyBqc3ggYXMgX2pzeCwganN4cyBhcyBfanN4cyB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IHsgbWVtbywgdXNlRWZmZWN0LCB1c2VJZCwgdXNlUmVmIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgVHlwb2dyYXBoeSB9IGZyb20gJy4uL1R5cG9ncmFwaHknO1xuaW1wb3J0IGNsYXNzbmFtZXMsIHsgam9pbkNscyB9IGZyb20gJy4uLy4uL3V0aWxzL2NsYXNzbmFtZXMnO1xuaW1wb3J0IGxvdHRpZVB1cmVKc29uIGZyb20gJy4vbG90dGllLXB1cmUuanNvbic7XG5pbXBvcnQgJy4vc3R5bGUnO1xuY29uc3QgREVGQVVMVF9TSVpFID0gMzI7XG5jb25zdCBCR19MT0dPX1JBVElPID0gMiAvIDM7XG5jb25zdCBCcmFuZEJnQ2lyY2xlID0gKHsgc2l6ZSwgY2xhc3NOYW1lIH0pID0+IHtcbiAgICBjb25zdCByYXdJZCA9IHVzZUlkKCk7XG4gICAgY29uc3QgZ3JhZElkID0gYHNwaW5uZXItYmctJHtyYXdJZC5yZXBsYWNlKC9bXmEtekEtWjAtOV0vZywgJycpfWA7XG4gICAgcmV0dXJuIChfanN4cyhcInN2Z1wiLCB7IHdpZHRoOiBzaXplLCBoZWlnaHQ6IHNpemUsIHZpZXdCb3g6IFwiMCAwIDU2IDU3XCIsIGNsYXNzTmFtZTogY2xhc3NOYW1lLCBcImFyaWEtaGlkZGVuXCI6IFwidHJ1ZVwiLCBjaGlsZHJlbjogW19qc3goXCJjaXJjbGVcIiwgeyBjeDogXCIyOFwiLCBjeTogXCIyOC43NVwiLCByOiBcIjI4XCIsIGZpbGw6IGB1cmwoIyR7Z3JhZElkfSlgIH0pLCBfanN4KFwiZGVmc1wiLCB7IGNoaWxkcmVuOiBfanN4cyhcInJhZGlhbEdyYWRpZW50XCIsIHsgaWQ6IGdyYWRJZCwgY3g6IFwiMFwiLCBjeTogXCIwXCIsIHI6IFwiMVwiLCBncmFkaWVudFVuaXRzOiBcInVzZXJTcGFjZU9uVXNlXCIsIGdyYWRpZW50VHJhbnNmb3JtOiBcInRyYW5zbGF0ZSgtMzQuOTA4NSA5Mi42Njc4KSByb3RhdGUoLTQ1LjY1OTQpIHNjYWxlKDEwOC44NTMgMTAzLjY5OClcIiwgY2hpbGRyZW46IFtfanN4KFwic3RvcFwiLCB7IHN0b3BDb2xvcjogXCIjMDczMzg3XCIgfSksIF9qc3goXCJzdG9wXCIsIHsgb2Zmc2V0OiBcIjAuMjE2ODUyXCIsIHN0b3BDb2xvcjogXCIjOTBBOENGXCIgfSksIF9qc3goXCJzdG9wXCIsIHsgb2Zmc2V0OiBcIjAuNTY3MTAzXCIsIHN0b3BDb2xvcjogXCIjQ0JENkU4XCIgfSksIF9qc3goXCJzdG9wXCIsIHsgb2Zmc2V0OiBcIjFcIiwgc3RvcENvbG9yOiBcIiNGOUY5RjlcIiB9KV0gfSkgfSldIH0pKTtcbn07XG5leHBvcnQgY29uc3QgU3Bpbm5lciA9IHByb3BzID0+IHtcbiAgICBjb25zdCB7IGNsYXNzTmFtZSwgc3R5bGUsIHByZWZpeENscyA9ICdzcGlubmVyJywgdHlwZSA9ICdkZWZhdWx0Jywgc2l6ZSA9IERFRkFVTFRfU0laRSwgc3Ryb2tlV2lkdGggPSA0LCBjb2xvciwgdGl0bGUsIGJvZHkgfSA9IHByb3BzLCByZXN0ID0gX19yZXN0KHByb3BzLCBbXCJjbGFzc05hbWVcIiwgXCJzdHlsZVwiLCBcInByZWZpeENsc1wiLCBcInR5cGVcIiwgXCJzaXplXCIsIFwic3Ryb2tlV2lkdGhcIiwgXCJjb2xvclwiLCBcInRpdGxlXCIsIFwiYm9keVwiXSk7XG4gICAgY29uc3QgY2xhc3NlcyA9IGNsYXNzbmFtZXMocHJlZml4Q2xzKTtcbiAgICBjb25zdCBsb3R0aWVSZWYgPSB1c2VSZWYobnVsbCk7XG4gICAgY29uc3QgaXNCcmFuZCA9IHR5cGUgPT09ICdicmFuZCcgfHwgdHlwZSA9PT0gJ2JyYW5kLWJnJztcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBpZiAoIWlzQnJhbmQgfHwgIWxvdHRpZVJlZi5jdXJyZW50KVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICBsZXQgaW5zdGFuY2UgPSBudWxsO1xuICAgICAgICBsZXQgZGVzdHJveWVkID0gZmFsc2U7XG4gICAgICAgICgoKSA9PiBfX2F3YWl0ZXIodm9pZCAwLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgICAgIGNvbnN0IGxvdHRpZSA9ICh5aWVsZCBpbXBvcnQoJ2xvdHRpZS13ZWInKSkuZGVmYXVsdDtcbiAgICAgICAgICAgIGlmIChkZXN0cm95ZWQgfHwgIWxvdHRpZVJlZi5jdXJyZW50KVxuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIGluc3RhbmNlID0gbG90dGllLmxvYWRBbmltYXRpb24oe1xuICAgICAgICAgICAgICAgIGNvbnRhaW5lcjogbG90dGllUmVmLmN1cnJlbnQsXG4gICAgICAgICAgICAgICAgcmVuZGVyZXI6ICdzdmcnLFxuICAgICAgICAgICAgICAgIGxvb3A6IHRydWUsXG4gICAgICAgICAgICAgICAgYXV0b3BsYXk6IHRydWUsXG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uRGF0YTogbG90dGllUHVyZUpzb24sXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSkpKCk7XG4gICAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgICAgICBkZXN0cm95ZWQgPSB0cnVlO1xuICAgICAgICAgICAgaWYgKGluc3RhbmNlKSB7XG4gICAgICAgICAgICAgICAgaW5zdGFuY2UuZGVzdHJveSgpO1xuICAgICAgICAgICAgICAgIGluc3RhbmNlID0gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICB9LCBbaXNCcmFuZF0pO1xuICAgIGlmIChpc0JyYW5kKSB7XG4gICAgICAgIGNvbnN0IGhhc0JnID0gdHlwZSA9PT0gJ2JyYW5kLWJnJztcbiAgICAgICAgY29uc3QgbG90dGllU2l6ZSA9IGhhc0JnID8gc2l6ZSAqIEJHX0xPR09fUkFUSU8gOiBzaXplO1xuICAgICAgICBjb25zdCBsb3R0aWVTdHlsZSA9IHsgd2lkdGg6IGxvdHRpZVNpemUsIGhlaWdodDogbG90dGllU2l6ZSB9O1xuICAgICAgICByZXR1cm4gKF9qc3hzKFwiZGl2XCIsIE9iamVjdC5hc3NpZ24oe30sIHJlc3QsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKHZvaWQgMCwgam9pbkNscyhjbGFzc2VzKCdicmFuZCcpLCBoYXNCZyAmJiBjbGFzc2VzKCdicmFuZC1iZycpLCBjbGFzc05hbWUpKSwgY2hpbGRyZW46IFtoYXNCZyA/IChfanN4cyhcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnaWNvbi13cmFwJyksIHN0eWxlOiB7IHdpZHRoOiBzaXplLCBoZWlnaHQ6IHNpemUgfSwgY2hpbGRyZW46IFtfanN4KEJyYW5kQmdDaXJjbGUsIHsgc2l6ZTogc2l6ZSwgY2xhc3NOYW1lOiBjbGFzc2VzKCdiZycpIH0pLCBfanN4KFwiZGl2XCIsIHsgcmVmOiBsb3R0aWVSZWYsIGNsYXNzTmFtZTogY2xhc3NlcygnbG90dGllJyksIHN0eWxlOiBsb3R0aWVTdHlsZSB9KV0gfSkpIDogKF9qc3goXCJkaXZcIiwgeyByZWY6IGxvdHRpZVJlZiwgY2xhc3NOYW1lOiBjbGFzc2VzKCdsb3R0aWUnKSwgc3R5bGU6IGxvdHRpZVN0eWxlIH0pKSwgKHRpdGxlIHx8IGJvZHkpICYmIChfanN4cyhcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnY29udGVudCcpLCBjaGlsZHJlbjogW3RpdGxlICYmIChoYXNCZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gX2pzeChUeXBvZ3JhcGh5LkhlYWRsaW5lLCB7IHNpemU6IFwic21cIiwgY29sb3I6IFwiZGVmYXVsdFwiLCBjbGFzc05hbWU6IGNsYXNzZXMoJ3RpdGxlJyksIGNoaWxkcmVuOiB0aXRsZSB9KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX2pzeChUeXBvZ3JhcGh5LkJvZHksIHsgc2l6ZTogXCJtZFwiLCBjb2xvcjogXCJkZWZhdWx0LXRlcnRpYXJ5XCIsIGNsYXNzTmFtZTogY2xhc3NlcygndGl0bGUnKSwgY2hpbGRyZW46IHRpdGxlIH0pKSwgYm9keSAmJiAoX2pzeChUeXBvZ3JhcGh5LkJvZHksIHsgc2l6ZTogXCJtZFwiLCBjb2xvcjogXCJkZWZhdWx0LXRlcnRpYXJ5XCIsIGNsYXNzTmFtZTogY2xhc3NlcygnYm9keScpLCBjaGlsZHJlbjogYm9keSB9KSldIH0pKV0gfSkpKTtcbiAgICB9XG4gICAgcmV0dXJuIChfanN4KFwiZGl2XCIsIE9iamVjdC5hc3NpZ24oe30sIHJlc3QsIHsgcm9sZTogXCJwcm9ncmVzc2JhclwiLCBjbGFzc05hbWU6IGNsYXNzZXModm9pZCAwLCBjbGFzc05hbWUpLCBzdHlsZTogT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHsgd2lkdGg6IHNpemUsIGhlaWdodDogc2l6ZSB9LCBzdHlsZSksIChjb2xvciA/IHsgY29sb3IgfSA6IG51bGwpKSwgY2hpbGRyZW46IF9qc3goXCJzdmdcIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ2NpcmNsZScpLCB2aWV3Qm94OiBcIjAgMCA1MCA1MFwiLCBjaGlsZHJlbjogX2pzeChcImNpcmNsZVwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygncGF0aCcpLCBjeDogXCIyNVwiLCBjeTogXCIyNVwiLCByOiBcIjIwXCIsIGZpbGw6IFwibm9uZVwiLCBzdHJva2VXaWR0aDogc3Ryb2tlV2lkdGggfSkgfSkgfSkpKTtcbn07XG5leHBvcnQgZGVmYXVsdCBtZW1vKFNwaW5uZXIpOyJdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
|
|
@@ -1 +1,99 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Retrieves the spacing value for a given token key.
|
|
3
|
+
*
|
|
4
|
+
* @param {string} $key - The spacing token key (e.g., '100', '200').
|
|
5
|
+
* @return {length|null} The computed spacing value or null if the key is invalid.
|
|
6
|
+
* @example
|
|
7
|
+
* .element {
|
|
8
|
+
* padding: om-spacing-token('200'); // Returns 8px if $om-sys-spacing-unit is 4px
|
|
9
|
+
* }
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* Computes the spacing value based on a token key or a direct length value.
|
|
13
|
+
*
|
|
14
|
+
* @param {string|length} $value - The spacing token key (e.g., '100') or a direct length value (e.g., '16px').
|
|
15
|
+
* @return {length} The computed spacing value.
|
|
16
|
+
* @example
|
|
17
|
+
* .element {
|
|
18
|
+
* margin: om-spacing-value('300'); // Returns 12px if $om-sys-spacing-unit is 4px
|
|
19
|
+
* padding: om-spacing-value(16px); // Returns 16px
|
|
20
|
+
* gap: om-spacing-value(2); // Returns 8px if $om-sys-spacing-unit is 4px
|
|
21
|
+
* }
|
|
22
|
+
*/
|
|
23
|
+
@keyframes om-spin {
|
|
24
|
+
0% {
|
|
25
|
+
transform: rotate(0deg);
|
|
26
|
+
}
|
|
27
|
+
100% {
|
|
28
|
+
transform: rotate(360deg);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
@keyframes om-dash {
|
|
32
|
+
0% {
|
|
33
|
+
stroke-dasharray: 1, 150;
|
|
34
|
+
stroke-dashoffset: 0;
|
|
35
|
+
}
|
|
36
|
+
50% {
|
|
37
|
+
stroke-dasharray: 90, 150;
|
|
38
|
+
stroke-dashoffset: -35;
|
|
39
|
+
}
|
|
40
|
+
100% {
|
|
41
|
+
stroke-dasharray: 90, 150;
|
|
42
|
+
stroke-dashoffset: -124;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
.om-component-ui-spinner {
|
|
46
|
+
display: inline-flex;
|
|
47
|
+
align-items: center;
|
|
48
|
+
justify-content: center;
|
|
49
|
+
color: var(--om-icon-brand, #073387);
|
|
50
|
+
}
|
|
51
|
+
.om-component-ui-spinner-circle {
|
|
52
|
+
width: 100%;
|
|
53
|
+
height: 100%;
|
|
54
|
+
animation: om-spin 2s linear infinite;
|
|
55
|
+
}
|
|
56
|
+
.om-component-ui-spinner-path {
|
|
57
|
+
animation: om-dash 1.5s ease-in-out infinite;
|
|
58
|
+
stroke: currentcolor;
|
|
59
|
+
stroke-linecap: round;
|
|
60
|
+
}
|
|
61
|
+
.om-component-ui-spinner-brand {
|
|
62
|
+
display: flex;
|
|
63
|
+
flex-direction: column;
|
|
64
|
+
gap: var(--om-spacing-200, 8px);
|
|
65
|
+
align-items: center;
|
|
66
|
+
}
|
|
67
|
+
.om-component-ui-spinner-brand.om-component-ui-spinner-brand-bg {
|
|
68
|
+
gap: var(--om-spacing-600, 24px);
|
|
69
|
+
border-radius: var(--om-radius-600, 24px);
|
|
70
|
+
}
|
|
71
|
+
.om-component-ui-spinner-lottie {
|
|
72
|
+
display: block;
|
|
73
|
+
flex-shrink: 0;
|
|
74
|
+
}
|
|
75
|
+
.om-component-ui-spinner-icon-wrap {
|
|
76
|
+
position: relative;
|
|
77
|
+
flex-shrink: 0;
|
|
78
|
+
}
|
|
79
|
+
.om-component-ui-spinner-icon-wrap .om-component-ui-spinner-bg {
|
|
80
|
+
display: block;
|
|
81
|
+
width: 100%;
|
|
82
|
+
height: 100%;
|
|
83
|
+
}
|
|
84
|
+
.om-component-ui-spinner-icon-wrap .om-component-ui-spinner-lottie {
|
|
85
|
+
position: absolute;
|
|
86
|
+
top: 50%;
|
|
87
|
+
left: 50%;
|
|
88
|
+
transform: translate(-50%, -50%);
|
|
89
|
+
}
|
|
90
|
+
.om-component-ui-spinner-content {
|
|
91
|
+
display: flex;
|
|
92
|
+
flex-direction: column;
|
|
93
|
+
gap: var(--om-spacing-100, 4px);
|
|
94
|
+
align-items: center;
|
|
95
|
+
white-space: nowrap;
|
|
96
|
+
}
|
|
97
|
+
.om-component-ui-spinner-title, .om-component-ui-spinner-body {
|
|
98
|
+
text-align: center;
|
|
99
|
+
}
|
|
@@ -1 +1,107 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Retrieves the spacing value for a given token key.
|
|
3
|
+
*
|
|
4
|
+
* @param {string} $key - The spacing token key (e.g., '100', '200').
|
|
5
|
+
* @return {length|null} The computed spacing value or null if the key is invalid.
|
|
6
|
+
* @example
|
|
7
|
+
* .element {
|
|
8
|
+
* padding: om-spacing-token('200'); // Returns 8px if $om-sys-spacing-unit is 4px
|
|
9
|
+
* }
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* Computes the spacing value based on a token key or a direct length value.
|
|
13
|
+
*
|
|
14
|
+
* @param {string|length} $value - The spacing token key (e.g., '100') or a direct length value (e.g., '16px').
|
|
15
|
+
* @return {length} The computed spacing value.
|
|
16
|
+
* @example
|
|
17
|
+
* .element {
|
|
18
|
+
* margin: om-spacing-value('300'); // Returns 12px if $om-sys-spacing-unit is 4px
|
|
19
|
+
* padding: om-spacing-value(16px); // Returns 16px
|
|
20
|
+
* gap: om-spacing-value(2); // Returns 8px if $om-sys-spacing-unit is 4px
|
|
21
|
+
* }
|
|
22
|
+
*/
|
|
23
|
+
.om-component-ui-step {
|
|
24
|
+
--om-step-status-success-bg: var(--om-bg-positive-tertiary-hover, rgba(31, 88, 0, 0.1));
|
|
25
|
+
--om-step-status-success-fg: var(--om-icon-positive, #1f5800);
|
|
26
|
+
--om-step-status-error-bg: var(--om-bg-danger-tertiary-hover, rgba(174, 0, 0, 0.1));
|
|
27
|
+
--om-step-status-error-fg: var(--om-icon-danger, #ae0000);
|
|
28
|
+
display: flex;
|
|
29
|
+
flex-direction: column;
|
|
30
|
+
gap: var(--om-spacing-200, 8px);
|
|
31
|
+
width: 100%;
|
|
32
|
+
}
|
|
33
|
+
.om-component-ui-step-item {
|
|
34
|
+
display: flex;
|
|
35
|
+
gap: var(--om-spacing-300, 12px);
|
|
36
|
+
align-items: flex-start;
|
|
37
|
+
width: 100%;
|
|
38
|
+
min-width: 0;
|
|
39
|
+
}
|
|
40
|
+
.om-component-ui-step-indicator-column {
|
|
41
|
+
display: flex;
|
|
42
|
+
flex-direction: column;
|
|
43
|
+
flex-shrink: 0;
|
|
44
|
+
gap: var(--om-spacing-200, 8px);
|
|
45
|
+
align-items: center;
|
|
46
|
+
align-self: stretch;
|
|
47
|
+
width: 24px;
|
|
48
|
+
}
|
|
49
|
+
.om-component-ui-step-indicator {
|
|
50
|
+
display: flex;
|
|
51
|
+
flex-shrink: 0;
|
|
52
|
+
align-items: center;
|
|
53
|
+
justify-content: center;
|
|
54
|
+
width: 24px;
|
|
55
|
+
height: 24px;
|
|
56
|
+
}
|
|
57
|
+
.om-component-ui-step-indicator-number {
|
|
58
|
+
display: inline-flex;
|
|
59
|
+
align-items: center;
|
|
60
|
+
justify-content: center;
|
|
61
|
+
width: 22px;
|
|
62
|
+
height: 22px;
|
|
63
|
+
color: var(--om-text-on-neutral, #fff);
|
|
64
|
+
background-color: var(--om-bg-brand, #073387);
|
|
65
|
+
border-radius: var(--om-radius-full, 9999px);
|
|
66
|
+
font-size: var(--om-body-md-font-size);
|
|
67
|
+
font-family: var(--om-body-md-font-family);
|
|
68
|
+
line-height: var(--om-body-md-line-height);
|
|
69
|
+
letter-spacing: var(--om-body-md-letter-spacing);
|
|
70
|
+
font-weight: var(--om-body-md-font-weight);
|
|
71
|
+
}
|
|
72
|
+
.om-component-ui-step-indicator-icon {
|
|
73
|
+
display: block;
|
|
74
|
+
flex-shrink: 0;
|
|
75
|
+
}
|
|
76
|
+
.om-component-ui-step-connector {
|
|
77
|
+
flex: 1 0 0;
|
|
78
|
+
width: 1px;
|
|
79
|
+
min-height: 1px;
|
|
80
|
+
background-color: var(--om-border-brand, #073387);
|
|
81
|
+
}
|
|
82
|
+
.om-component-ui-step-item-completed .om-component-ui-step-connector {
|
|
83
|
+
background-color: var(--om-border-positive, #1f5800);
|
|
84
|
+
}
|
|
85
|
+
.om-component-ui-step-item-error .om-component-ui-step-connector {
|
|
86
|
+
background-color: var(--om-border-danger, #ae0000);
|
|
87
|
+
}
|
|
88
|
+
.om-component-ui-step-content {
|
|
89
|
+
display: flex;
|
|
90
|
+
flex: 1 1 auto;
|
|
91
|
+
flex-direction: column;
|
|
92
|
+
gap: var(--om-spacing-200, 8px);
|
|
93
|
+
min-width: 0;
|
|
94
|
+
}
|
|
95
|
+
.om-component-ui-step-content-continuation {
|
|
96
|
+
padding-bottom: var(--om-spacing-400, 16px);
|
|
97
|
+
}
|
|
98
|
+
.om-component-ui-step-copy {
|
|
99
|
+
display: flex;
|
|
100
|
+
flex-direction: column;
|
|
101
|
+
gap: var(--om-spacing-100, 4px);
|
|
102
|
+
min-width: 0;
|
|
103
|
+
}
|
|
104
|
+
.om-component-ui-step-tag {
|
|
105
|
+
display: flex;
|
|
106
|
+
align-items: center;
|
|
107
|
+
}
|
|
@@ -1 +1,102 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Retrieves the spacing value for a given token key.
|
|
3
|
+
*
|
|
4
|
+
* @param {string} $key - The spacing token key (e.g., '100', '200').
|
|
5
|
+
* @return {length|null} The computed spacing value or null if the key is invalid.
|
|
6
|
+
* @example
|
|
7
|
+
* .element {
|
|
8
|
+
* padding: om-spacing-token('200'); // Returns 8px if $om-sys-spacing-unit is 4px
|
|
9
|
+
* }
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* Computes the spacing value based on a token key or a direct length value.
|
|
13
|
+
*
|
|
14
|
+
* @param {string|length} $value - The spacing token key (e.g., '100') or a direct length value (e.g., '16px').
|
|
15
|
+
* @return {length} The computed spacing value.
|
|
16
|
+
* @example
|
|
17
|
+
* .element {
|
|
18
|
+
* margin: om-spacing-value('300'); // Returns 12px if $om-sys-spacing-unit is 4px
|
|
19
|
+
* padding: om-spacing-value(16px); // Returns 16px
|
|
20
|
+
* gap: om-spacing-value(2); // Returns 8px if $om-sys-spacing-unit is 4px
|
|
21
|
+
* }
|
|
22
|
+
*/
|
|
23
|
+
.om-component-ui-switch {
|
|
24
|
+
display: inline-flex;
|
|
25
|
+
gap: var(--om-spacing-300, 12px);
|
|
26
|
+
align-items: center;
|
|
27
|
+
cursor: pointer;
|
|
28
|
+
}
|
|
29
|
+
.om-component-ui-switch-track-wrapper {
|
|
30
|
+
position: relative;
|
|
31
|
+
display: flex;
|
|
32
|
+
flex-shrink: 0;
|
|
33
|
+
align-items: center;
|
|
34
|
+
}
|
|
35
|
+
.om-component-ui-switch-input {
|
|
36
|
+
position: absolute;
|
|
37
|
+
inset: 0;
|
|
38
|
+
margin: 0;
|
|
39
|
+
cursor: inherit;
|
|
40
|
+
opacity: 0;
|
|
41
|
+
}
|
|
42
|
+
.om-component-ui-switch-track {
|
|
43
|
+
position: relative;
|
|
44
|
+
display: flex;
|
|
45
|
+
align-items: center;
|
|
46
|
+
width: 40px;
|
|
47
|
+
height: 24px;
|
|
48
|
+
background-color: var(--om-bg-neutral-secondary, #e3e4e4);
|
|
49
|
+
border-radius: var(--om-radius-full, 9999px);
|
|
50
|
+
transition: background-color 0.2s ease, border-color 0.2s ease;
|
|
51
|
+
}
|
|
52
|
+
.om-component-ui-switch-thumb {
|
|
53
|
+
position: absolute;
|
|
54
|
+
left: 2px;
|
|
55
|
+
width: 20px;
|
|
56
|
+
height: 20px;
|
|
57
|
+
background-color: var(--om-bg-default, #fff);
|
|
58
|
+
border-radius: var(--om-radius-full, 9999px);
|
|
59
|
+
box-shadow: var(--om-shadow-100, 0 4px 8px rgba(65, 91, 130, 0.12));
|
|
60
|
+
transform: translateX(0);
|
|
61
|
+
transition: transform 0.2s ease;
|
|
62
|
+
}
|
|
63
|
+
.om-component-ui-switch-input:focus-visible + .om-component-ui-switch-track {
|
|
64
|
+
box-shadow: 0 0 0 2px var(--om-border-brand, #073387);
|
|
65
|
+
}
|
|
66
|
+
.om-component-ui-switch-content {
|
|
67
|
+
display: flex;
|
|
68
|
+
flex: 1 0 0;
|
|
69
|
+
flex-direction: column;
|
|
70
|
+
min-width: 0;
|
|
71
|
+
}
|
|
72
|
+
.om-component-ui-switch-description {
|
|
73
|
+
min-height: 20px;
|
|
74
|
+
}
|
|
75
|
+
.om-component-ui-switch:not(.om-component-ui-switch-disabled):hover .om-component-ui-switch-track {
|
|
76
|
+
background-color: var(--om-bg-neutral-secondary-hover, #d1d2d2);
|
|
77
|
+
}
|
|
78
|
+
.om-component-ui-switch-checked .om-component-ui-switch-track {
|
|
79
|
+
background-color: var(--om-bg-brand, #073387);
|
|
80
|
+
}
|
|
81
|
+
.om-component-ui-switch-checked .om-component-ui-switch-thumb {
|
|
82
|
+
transform: translateX(16px);
|
|
83
|
+
}
|
|
84
|
+
.om-component-ui-switch-checked:not(.om-component-ui-switch-disabled):hover .om-component-ui-switch-track {
|
|
85
|
+
background-color: var(--om-bg-brand-hover, #052561);
|
|
86
|
+
}
|
|
87
|
+
.om-component-ui-switch-disabled {
|
|
88
|
+
cursor: not-allowed;
|
|
89
|
+
}
|
|
90
|
+
.om-component-ui-switch-disabled .om-component-ui-switch-track {
|
|
91
|
+
background-color: var(--om-bg-disabled, #f0f0f0);
|
|
92
|
+
}
|
|
93
|
+
.om-component-ui-switch-disabled .om-component-ui-switch-thumb {
|
|
94
|
+
background-color: var(--om-bg-default, #fff);
|
|
95
|
+
box-shadow: none;
|
|
96
|
+
}
|
|
97
|
+
.om-component-ui-switch-disabled .om-component-ui-switch-content {
|
|
98
|
+
color: var(--om-text-disabled, #bbbdc1);
|
|
99
|
+
}
|
|
100
|
+
.om-component-ui-switch-right .om-component-ui-switch-track-wrapper {
|
|
101
|
+
order: -1;
|
|
102
|
+
}
|