@1money/component-ui 0.0.95-alpha.1 → 0.0.95-alpha.3
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/business/Dialog/BaseDialog/BaseDialog.d.ts +0 -1
- package/es/business/Dialog/BaseDialog/BaseDialog.js +43 -66
- package/es/business/Dialog/BaseDialog/constants.d.ts +7 -8
- package/es/business/Dialog/BaseDialog/constants.js +8 -9
- package/es/business/Dialog/variants/LoadingDialog.js +3 -3
- package/es/business/{PageForm → Form/PageForm}/PageForm.d.ts +1 -1
- package/es/business/Form/PageForm/PageForm.js +97 -0
- package/es/business/Form/PageForm/index.js +5 -0
- package/es/business/{PageForm → Form/PageForm}/interface.d.ts +5 -5
- package/es/business/Form/PageForm/interface.js +2 -0
- package/es/business/Form/ResultForm/ResultForm.d.ts +2 -0
- package/es/business/Form/ResultForm/ResultForm.js +38 -0
- package/es/business/Form/ResultForm/index.d.ts +4 -0
- package/es/business/Form/ResultForm/index.js +5 -0
- package/es/business/Form/ResultForm/interface.d.ts +10 -0
- package/es/business/Form/ResultForm/interface.js +2 -0
- package/es/business/Form/index.d.ts +3 -0
- package/es/business/Form/index.js +15 -0
- package/es/business/Form/variants/ExpiredForm.d.ts +3 -0
- package/es/business/Form/variants/ExpiredForm.js +21 -0
- package/es/business/Form/variants/FailureForm.d.ts +3 -0
- package/es/business/Form/variants/FailureForm.js +20 -0
- package/es/business/Form/variants/PendingForm.d.ts +3 -0
- package/es/business/Form/variants/PendingForm.js +20 -0
- package/es/business/Form/variants/SuccessForm.d.ts +3 -0
- package/es/business/Form/variants/SuccessForm.js +20 -0
- package/es/business/Form/variants/index.d.ts +8 -0
- package/es/business/Form/variants/index.js +12 -0
- package/es/business/index.d.ts +1 -1
- package/es/business/index.js +2 -2
- package/es/components/ActionBar/ActionBar.js +3 -4
- package/es/components/ActionBar/interface.d.ts +7 -2
- package/es/components/Dialog/interface.d.ts +10 -4
- package/es/components/FormLayout/interface.d.ts +6 -1
- package/es/components/PanelLayout/PanelLayout.d.ts +3 -0
- package/es/components/PanelLayout/PanelLayout.js +162 -0
- package/es/components/PanelLayout/constants.d.ts +60 -0
- package/es/components/PanelLayout/constants.js +48 -0
- package/es/components/PanelLayout/index.d.ts +6 -0
- package/es/components/PanelLayout/index.js +6 -0
- package/es/components/PanelLayout/interface.d.ts +73 -0
- package/es/components/PanelLayout/interface.js +2 -0
- package/es/components/PanelLayout/style/PanelLayout.css +50 -0
- package/es/components/PanelLayout/style/css.js +2 -0
- package/es/components/PanelLayout/style/index.d.ts +1 -0
- package/es/components/PanelLayout/style/index.js +2 -0
- package/es/index.css +1 -1
- package/es/index.d.ts +2 -0
- package/es/index.js +2 -1
- package/lib/business/Dialog/BaseDialog/BaseDialog.d.ts +0 -1
- package/lib/business/Dialog/BaseDialog/BaseDialog.js +42 -65
- package/lib/business/Dialog/BaseDialog/constants.d.ts +7 -8
- package/lib/business/Dialog/BaseDialog/constants.js +9 -10
- package/lib/business/Dialog/variants/LoadingDialog.js +3 -3
- package/lib/business/{PageForm → Form/PageForm}/PageForm.d.ts +1 -1
- package/lib/business/Form/PageForm/PageForm.js +103 -0
- package/lib/business/Form/PageForm/index.js +30 -0
- package/lib/business/{PageForm → Form/PageForm}/interface.d.ts +5 -5
- package/lib/business/Form/PageForm/interface.js +6 -0
- package/lib/business/Form/ResultForm/ResultForm.d.ts +2 -0
- package/lib/business/Form/ResultForm/ResultForm.js +44 -0
- package/lib/business/Form/ResultForm/index.d.ts +4 -0
- package/lib/business/Form/ResultForm/index.js +30 -0
- package/lib/business/Form/ResultForm/interface.d.ts +10 -0
- package/lib/business/Form/ResultForm/interface.js +6 -0
- package/lib/business/Form/index.d.ts +3 -0
- package/lib/business/Form/index.js +39 -0
- package/lib/business/Form/variants/ExpiredForm.d.ts +3 -0
- package/lib/business/Form/variants/ExpiredForm.js +27 -0
- package/lib/business/Form/variants/FailureForm.d.ts +3 -0
- package/lib/business/Form/variants/FailureForm.js +26 -0
- package/lib/business/Form/variants/PendingForm.d.ts +3 -0
- package/lib/business/Form/variants/PendingForm.js +26 -0
- package/lib/business/Form/variants/SuccessForm.d.ts +3 -0
- package/lib/business/Form/variants/SuccessForm.js +26 -0
- package/lib/business/Form/variants/index.d.ts +8 -0
- package/lib/business/Form/variants/index.js +34 -0
- package/lib/business/index.d.ts +1 -1
- package/lib/business/index.js +5 -5
- package/lib/components/ActionBar/ActionBar.js +3 -4
- package/lib/components/ActionBar/interface.d.ts +7 -2
- package/lib/components/Dialog/interface.d.ts +10 -4
- package/lib/components/FormLayout/interface.d.ts +6 -1
- package/lib/components/PanelLayout/PanelLayout.d.ts +3 -0
- package/lib/components/PanelLayout/PanelLayout.js +171 -0
- package/lib/components/PanelLayout/constants.d.ts +60 -0
- package/lib/components/PanelLayout/constants.js +54 -0
- package/lib/components/PanelLayout/index.d.ts +6 -0
- package/lib/components/PanelLayout/index.js +52 -0
- package/lib/components/PanelLayout/interface.d.ts +73 -0
- package/lib/components/PanelLayout/interface.js +6 -0
- package/lib/components/PanelLayout/style/PanelLayout.css +50 -0
- package/lib/components/PanelLayout/style/css.js +4 -0
- package/lib/components/PanelLayout/style/index.d.ts +1 -0
- package/lib/components/PanelLayout/style/index.js +4 -0
- package/lib/index.css +1 -1
- package/lib/index.d.ts +2 -0
- package/lib/index.js +14 -1
- package/package.json +29 -4
- package/scripts/mcp-server/examples.generated.json +42 -0
- package/scripts/mcp-server/index.generated.json +236 -3
- package/es/business/Dialog/BaseDialog/style/BaseDialog.css +0 -72
- package/es/business/Dialog/BaseDialog/style/css.js +0 -2
- package/es/business/Dialog/BaseDialog/style/index.d.ts +0 -1
- package/es/business/Dialog/BaseDialog/style/index.js +0 -2
- package/es/business/PageForm/PageForm.js +0 -97
- package/es/business/PageForm/index.js +0 -5
- package/es/business/PageForm/interface.js +0 -2
- package/lib/business/Dialog/BaseDialog/style/BaseDialog.css +0 -72
- package/lib/business/Dialog/BaseDialog/style/css.js +0 -4
- package/lib/business/Dialog/BaseDialog/style/index.d.ts +0 -1
- package/lib/business/Dialog/BaseDialog/style/index.js +0 -4
- package/lib/business/PageForm/PageForm.js +0 -103
- package/lib/business/PageForm/index.js +0 -30
- package/lib/business/PageForm/interface.js +0 -6
- /package/es/business/{PageForm → Form/PageForm}/index.d.ts +0 -0
- /package/lib/business/{PageForm → Form/PageForm}/index.d.ts +0 -0
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
// Form — scenario shells for the PAGE host, one per surface kind:
|
|
2
|
+
// `PageForm` mounts a ProForm inside FormLayout, `ResultForm` pins
|
|
3
|
+
// PanelLayout to the page. Their dialog counterparts (FormDialog /
|
|
4
|
+
// BaseDialog) live in `business/Dialog`, and both pairs are the same
|
|
5
|
+
// ingredients rearranged: the page shells use a panel directly, the dialog
|
|
6
|
+
// shells wrap one in `Dialog(bare)`.
|
|
7
|
+
//
|
|
8
|
+
// NOTE: `PageForm` used to sit at `business/PageForm`, and that subpath is
|
|
9
|
+
// still published (package.json maps it here) so existing imports keep
|
|
10
|
+
// resolving. New code should use `business/Form/PageForm` — or just the
|
|
11
|
+
// `business` barrel, which is how the app imports it today.
|
|
12
|
+
export * from './PageForm';
|
|
13
|
+
export * from './ResultForm';
|
|
14
|
+
export * from './variants';
|
|
15
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1c2luZXNzL3NyYy9idXNpbmVzcy9Gb3JtL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjLFlBQVk7QUFDMUIsY0FBYyxjQUFjO0FBQzVCLGNBQWMsWUFBWSIsImZpbGUiOiJidXNpbmVzcy9Gb3JtL2luZGV4LmpzIiwic291cmNlc0NvbnRlbnQiOltudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { memo } from 'react';
|
|
3
|
+
import { ResultForm } from '../ResultForm';
|
|
4
|
+
/**
|
|
5
|
+
* `ResultForm` preset for expired links (verification, invitation, password
|
|
6
|
+
* reset). It has no dialog counterpart: an expired link is always something
|
|
7
|
+
* the user LANDS on from an email, never something a dialog opens onto.
|
|
8
|
+
*
|
|
9
|
+
* Shape only. Copy (title / description / labels) always comes from the
|
|
10
|
+
* caller; product copy never lives in the library.
|
|
11
|
+
*/
|
|
12
|
+
var ExpiredFormBase = function ExpiredFormBase(props) {
|
|
13
|
+
return (
|
|
14
|
+
// The preset leads so an explicit `illustration` still wins.
|
|
15
|
+
_jsx(ResultForm, Object.assign({
|
|
16
|
+
illustration: 'illusLinkExpired'
|
|
17
|
+
}, props))
|
|
18
|
+
);
|
|
19
|
+
};
|
|
20
|
+
export var ExpiredForm = /*#__PURE__*/memo(ExpiredFormBase);
|
|
21
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1c2luZXNzL0Zvcm0vdmFyaWFudHMvRXhwaXJlZEZvcm0uanMiLCJidXNpbmVzcy9Gb3JtL3NyYy9idXNpbmVzcy9Gb3JtL3ZhcmlhbnRzL0V4cGlyZWRGb3JtLnRzeCJdLCJuYW1lcyI6WyJqc3giLCJfanN4IiwibWVtbyIsIlJlc3VsdEZvcm0iLCJFeHBpcmVkRm9ybUJhc2UiLCJwcm9wcyIsIk9iamVjdCIsImFzc2lnbiIsImlsbHVzdHJhdGlvbiIsIkV4cGlyZWRGb3JtIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxHQUFHLElBQUlDLElBQUksUUFBUSxtQkFBbUI7QUNBL0MsU0FBU0MsSUFBSSxRQUFRLE9BQU87QUFDNUIsU0FBU0MsVUFBVSxRQUFRLGVBQWU7QUFNMUM7QURIQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQ0tBLElBQU1DLGVBQWUsR0FBeUIsU0FBeENBLGVBQWVBLENBQTBCQyxLQUFLO0VBQUE7SUFDbEQ7SUFDQUosSUFBQSxDQUFDRSxVQUFVLEVBQUFHLE1BQUEsQ0FBQUMsTUFBQSxDQUFBO01BQUNDLFlBQVksRUFBQztJQUFrQixDQUFBLEVBQUtILEtBQUssQ0FBQTtFQUFJO0FBQUEsQ0FDMUQ7QUFFRCxPQUFPLElBQU1JLFdBQVcsZ0JBQUdQLElBQUksQ0FBQ0UsZUFBZSxDQUFDIiwiZmlsZSI6ImJ1c2luZXNzL0Zvcm0vdmFyaWFudHMvRXhwaXJlZEZvcm0uanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBqc3ggYXMgX2pzeCB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IHsgbWVtbyB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IFJlc3VsdEZvcm0gfSBmcm9tICcuLi9SZXN1bHRGb3JtJztcbi8qKlxuICogYFJlc3VsdEZvcm1gIHByZXNldCBmb3IgZXhwaXJlZCBsaW5rcyAodmVyaWZpY2F0aW9uLCBpbnZpdGF0aW9uLCBwYXNzd29yZFxuICogcmVzZXQpLiBJdCBoYXMgbm8gZGlhbG9nIGNvdW50ZXJwYXJ0OiBhbiBleHBpcmVkIGxpbmsgaXMgYWx3YXlzIHNvbWV0aGluZ1xuICogdGhlIHVzZXIgTEFORFMgb24gZnJvbSBhbiBlbWFpbCwgbmV2ZXIgc29tZXRoaW5nIGEgZGlhbG9nIG9wZW5zIG9udG8uXG4gKlxuICogU2hhcGUgb25seS4gQ29weSAodGl0bGUgLyBkZXNjcmlwdGlvbiAvIGxhYmVscykgYWx3YXlzIGNvbWVzIGZyb20gdGhlXG4gKiBjYWxsZXI7IHByb2R1Y3QgY29weSBuZXZlciBsaXZlcyBpbiB0aGUgbGlicmFyeS5cbiAqL1xuY29uc3QgRXhwaXJlZEZvcm1CYXNlID0gKHByb3BzKSA9PiAoXG4vLyBUaGUgcHJlc2V0IGxlYWRzIHNvIGFuIGV4cGxpY2l0IGBpbGx1c3RyYXRpb25gIHN0aWxsIHdpbnMuXG5fanN4KFJlc3VsdEZvcm0sIE9iamVjdC5hc3NpZ24oeyBpbGx1c3RyYXRpb246ICdpbGx1c0xpbmtFeHBpcmVkJyB9LCBwcm9wcykpKTtcbmV4cG9ydCBjb25zdCBFeHBpcmVkRm9ybSA9IG1lbW8oRXhwaXJlZEZvcm1CYXNlKTsiLG51bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { memo } from 'react';
|
|
3
|
+
import { ResultForm } from '../ResultForm';
|
|
4
|
+
/**
|
|
5
|
+
* `ResultForm` preset for failure results on a page — the page counterpart of
|
|
6
|
+
* `FailureDialog`, carrying the same illustration.
|
|
7
|
+
*
|
|
8
|
+
* Shape only. Copy (title / description / labels) always comes from the
|
|
9
|
+
* caller; product copy never lives in the library.
|
|
10
|
+
*/
|
|
11
|
+
var FailureFormBase = function FailureFormBase(props) {
|
|
12
|
+
return (
|
|
13
|
+
// The preset leads so an explicit `illustration` still wins.
|
|
14
|
+
_jsx(ResultForm, Object.assign({
|
|
15
|
+
illustration: 'illusError'
|
|
16
|
+
}, props))
|
|
17
|
+
);
|
|
18
|
+
};
|
|
19
|
+
export var FailureForm = /*#__PURE__*/memo(FailureFormBase);
|
|
20
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1c2luZXNzL0Zvcm0vdmFyaWFudHMvRmFpbHVyZUZvcm0uanMiLCJidXNpbmVzcy9Gb3JtL3NyYy9idXNpbmVzcy9Gb3JtL3ZhcmlhbnRzL0ZhaWx1cmVGb3JtLnRzeCJdLCJuYW1lcyI6WyJqc3giLCJfanN4IiwibWVtbyIsIlJlc3VsdEZvcm0iLCJGYWlsdXJlRm9ybUJhc2UiLCJwcm9wcyIsIk9iamVjdCIsImFzc2lnbiIsImlsbHVzdHJhdGlvbiIsIkZhaWx1cmVGb3JtIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxHQUFHLElBQUlDLElBQUksUUFBUSxtQkFBbUI7QUNBL0MsU0FBU0MsSUFBSSxRQUFRLE9BQU87QUFDNUIsU0FBU0MsVUFBVSxRQUFRLGVBQWU7QUFNMUM7QURIQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUNLQSxJQUFNQyxlQUFlLEdBQXlCLFNBQXhDQSxlQUFlQSxDQUEwQkMsS0FBSztFQUFBO0lBQ2xEO0lBQ0FKLElBQUEsQ0FBQ0UsVUFBVSxFQUFBRyxNQUFBLENBQUFDLE1BQUEsQ0FBQTtNQUFDQyxZQUFZLEVBQUM7SUFBWSxDQUFBLEVBQUtILEtBQUssQ0FBQTtFQUFJO0FBQUEsQ0FDcEQ7QUFFRCxPQUFPLElBQU1JLFdBQVcsZ0JBQUdQLElBQUksQ0FBQ0UsZUFBZSxDQUFDIiwiZmlsZSI6ImJ1c2luZXNzL0Zvcm0vdmFyaWFudHMvRmFpbHVyZUZvcm0uanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBqc3ggYXMgX2pzeCB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IHsgbWVtbyB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IFJlc3VsdEZvcm0gfSBmcm9tICcuLi9SZXN1bHRGb3JtJztcbi8qKlxuICogYFJlc3VsdEZvcm1gIHByZXNldCBmb3IgZmFpbHVyZSByZXN1bHRzIG9uIGEgcGFnZSDigJQgdGhlIHBhZ2UgY291bnRlcnBhcnQgb2ZcbiAqIGBGYWlsdXJlRGlhbG9nYCwgY2FycnlpbmcgdGhlIHNhbWUgaWxsdXN0cmF0aW9uLlxuICpcbiAqIFNoYXBlIG9ubHkuIENvcHkgKHRpdGxlIC8gZGVzY3JpcHRpb24gLyBsYWJlbHMpIGFsd2F5cyBjb21lcyBmcm9tIHRoZVxuICogY2FsbGVyOyBwcm9kdWN0IGNvcHkgbmV2ZXIgbGl2ZXMgaW4gdGhlIGxpYnJhcnkuXG4gKi9cbmNvbnN0IEZhaWx1cmVGb3JtQmFzZSA9IChwcm9wcykgPT4gKFxuLy8gVGhlIHByZXNldCBsZWFkcyBzbyBhbiBleHBsaWNpdCBgaWxsdXN0cmF0aW9uYCBzdGlsbCB3aW5zLlxuX2pzeChSZXN1bHRGb3JtLCBPYmplY3QuYXNzaWduKHsgaWxsdXN0cmF0aW9uOiAnaWxsdXNFcnJvcicgfSwgcHJvcHMpKSk7XG5leHBvcnQgY29uc3QgRmFpbHVyZUZvcm0gPSBtZW1vKEZhaWx1cmVGb3JtQmFzZSk7IixudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { memo } from 'react';
|
|
3
|
+
import { ResultForm } from '../ResultForm';
|
|
4
|
+
/**
|
|
5
|
+
* `ResultForm` preset for pending / in-review results on a page — the page
|
|
6
|
+
* counterpart of `PendingDialog`, carrying the same illustration.
|
|
7
|
+
*
|
|
8
|
+
* Shape only. Copy (title / description / labels) always comes from the
|
|
9
|
+
* caller; product copy never lives in the library.
|
|
10
|
+
*/
|
|
11
|
+
var PendingFormBase = function PendingFormBase(props) {
|
|
12
|
+
return (
|
|
13
|
+
// The preset leads so an explicit `illustration` still wins.
|
|
14
|
+
_jsx(ResultForm, Object.assign({
|
|
15
|
+
illustration: 'illusPending'
|
|
16
|
+
}, props))
|
|
17
|
+
);
|
|
18
|
+
};
|
|
19
|
+
export var PendingForm = /*#__PURE__*/memo(PendingFormBase);
|
|
20
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1c2luZXNzL0Zvcm0vdmFyaWFudHMvUGVuZGluZ0Zvcm0uanMiLCJidXNpbmVzcy9Gb3JtL3NyYy9idXNpbmVzcy9Gb3JtL3ZhcmlhbnRzL1BlbmRpbmdGb3JtLnRzeCJdLCJuYW1lcyI6WyJqc3giLCJfanN4IiwibWVtbyIsIlJlc3VsdEZvcm0iLCJQZW5kaW5nRm9ybUJhc2UiLCJwcm9wcyIsIk9iamVjdCIsImFzc2lnbiIsImlsbHVzdHJhdGlvbiIsIlBlbmRpbmdGb3JtIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxHQUFHLElBQUlDLElBQUksUUFBUSxtQkFBbUI7QUNBL0MsU0FBU0MsSUFBSSxRQUFRLE9BQU87QUFDNUIsU0FBU0MsVUFBVSxRQUFRLGVBQWU7QUFNMUM7QURIQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUNLQSxJQUFNQyxlQUFlLEdBQXlCLFNBQXhDQSxlQUFlQSxDQUEwQkMsS0FBSztFQUFBO0lBQ2xEO0lBQ0FKLElBQUEsQ0FBQ0UsVUFBVSxFQUFBRyxNQUFBLENBQUFDLE1BQUEsQ0FBQTtNQUFDQyxZQUFZLEVBQUM7SUFBYyxDQUFBLEVBQUtILEtBQUssQ0FBQTtFQUFJO0FBQUEsQ0FDdEQ7QUFFRCxPQUFPLElBQU1JLFdBQVcsZ0JBQUdQLElBQUksQ0FBQ0UsZUFBZSxDQUFDIiwiZmlsZSI6ImJ1c2luZXNzL0Zvcm0vdmFyaWFudHMvUGVuZGluZ0Zvcm0uanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBqc3ggYXMgX2pzeCB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IHsgbWVtbyB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IFJlc3VsdEZvcm0gfSBmcm9tICcuLi9SZXN1bHRGb3JtJztcbi8qKlxuICogYFJlc3VsdEZvcm1gIHByZXNldCBmb3IgcGVuZGluZyAvIGluLXJldmlldyByZXN1bHRzIG9uIGEgcGFnZSDigJQgdGhlIHBhZ2VcbiAqIGNvdW50ZXJwYXJ0IG9mIGBQZW5kaW5nRGlhbG9nYCwgY2FycnlpbmcgdGhlIHNhbWUgaWxsdXN0cmF0aW9uLlxuICpcbiAqIFNoYXBlIG9ubHkuIENvcHkgKHRpdGxlIC8gZGVzY3JpcHRpb24gLyBsYWJlbHMpIGFsd2F5cyBjb21lcyBmcm9tIHRoZVxuICogY2FsbGVyOyBwcm9kdWN0IGNvcHkgbmV2ZXIgbGl2ZXMgaW4gdGhlIGxpYnJhcnkuXG4gKi9cbmNvbnN0IFBlbmRpbmdGb3JtQmFzZSA9IChwcm9wcykgPT4gKFxuLy8gVGhlIHByZXNldCBsZWFkcyBzbyBhbiBleHBsaWNpdCBgaWxsdXN0cmF0aW9uYCBzdGlsbCB3aW5zLlxuX2pzeChSZXN1bHRGb3JtLCBPYmplY3QuYXNzaWduKHsgaWxsdXN0cmF0aW9uOiAnaWxsdXNQZW5kaW5nJyB9LCBwcm9wcykpKTtcbmV4cG9ydCBjb25zdCBQZW5kaW5nRm9ybSA9IG1lbW8oUGVuZGluZ0Zvcm1CYXNlKTsiLG51bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { memo } from 'react';
|
|
3
|
+
import { ResultForm } from '../ResultForm';
|
|
4
|
+
/**
|
|
5
|
+
* `ResultForm` preset for success results on a page — the page counterpart of
|
|
6
|
+
* `SuccessDialog`, carrying the same illustration.
|
|
7
|
+
*
|
|
8
|
+
* Shape only. Copy (title / description / labels) always comes from the
|
|
9
|
+
* caller; product copy never lives in the library.
|
|
10
|
+
*/
|
|
11
|
+
var SuccessFormBase = function SuccessFormBase(props) {
|
|
12
|
+
return (
|
|
13
|
+
// The preset leads so an explicit `illustration` still wins.
|
|
14
|
+
_jsx(ResultForm, Object.assign({
|
|
15
|
+
illustration: 'illusChecked'
|
|
16
|
+
}, props))
|
|
17
|
+
);
|
|
18
|
+
};
|
|
19
|
+
export var SuccessForm = /*#__PURE__*/memo(SuccessFormBase);
|
|
20
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1c2luZXNzL0Zvcm0vdmFyaWFudHMvU3VjY2Vzc0Zvcm0uanMiLCJidXNpbmVzcy9Gb3JtL3NyYy9idXNpbmVzcy9Gb3JtL3ZhcmlhbnRzL1N1Y2Nlc3NGb3JtLnRzeCJdLCJuYW1lcyI6WyJqc3giLCJfanN4IiwibWVtbyIsIlJlc3VsdEZvcm0iLCJTdWNjZXNzRm9ybUJhc2UiLCJwcm9wcyIsIk9iamVjdCIsImFzc2lnbiIsImlsbHVzdHJhdGlvbiIsIlN1Y2Nlc3NGb3JtIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxHQUFHLElBQUlDLElBQUksUUFBUSxtQkFBbUI7QUNBL0MsU0FBU0MsSUFBSSxRQUFRLE9BQU87QUFDNUIsU0FBU0MsVUFBVSxRQUFRLGVBQWU7QUFNMUM7QURIQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUNLQSxJQUFNQyxlQUFlLEdBQXlCLFNBQXhDQSxlQUFlQSxDQUEwQkMsS0FBSztFQUFBO0lBQ2xEO0lBQ0FKLElBQUEsQ0FBQ0UsVUFBVSxFQUFBRyxNQUFBLENBQUFDLE1BQUEsQ0FBQTtNQUFDQyxZQUFZLEVBQUM7SUFBYyxDQUFBLEVBQUtILEtBQUssQ0FBQTtFQUFJO0FBQUEsQ0FDdEQ7QUFFRCxPQUFPLElBQU1JLFdBQVcsZ0JBQUdQLElBQUksQ0FBQ0UsZUFBZSxDQUFDIiwiZmlsZSI6ImJ1c2luZXNzL0Zvcm0vdmFyaWFudHMvU3VjY2Vzc0Zvcm0uanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBqc3ggYXMgX2pzeCB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IHsgbWVtbyB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IFJlc3VsdEZvcm0gfSBmcm9tICcuLi9SZXN1bHRGb3JtJztcbi8qKlxuICogYFJlc3VsdEZvcm1gIHByZXNldCBmb3Igc3VjY2VzcyByZXN1bHRzIG9uIGEgcGFnZSDigJQgdGhlIHBhZ2UgY291bnRlcnBhcnQgb2ZcbiAqIGBTdWNjZXNzRGlhbG9nYCwgY2FycnlpbmcgdGhlIHNhbWUgaWxsdXN0cmF0aW9uLlxuICpcbiAqIFNoYXBlIG9ubHkuIENvcHkgKHRpdGxlIC8gZGVzY3JpcHRpb24gLyBsYWJlbHMpIGFsd2F5cyBjb21lcyBmcm9tIHRoZVxuICogY2FsbGVyOyBwcm9kdWN0IGNvcHkgbmV2ZXIgbGl2ZXMgaW4gdGhlIGxpYnJhcnkuXG4gKi9cbmNvbnN0IFN1Y2Nlc3NGb3JtQmFzZSA9IChwcm9wcykgPT4gKFxuLy8gVGhlIHByZXNldCBsZWFkcyBzbyBhbiBleHBsaWNpdCBgaWxsdXN0cmF0aW9uYCBzdGlsbCB3aW5zLlxuX2pzeChSZXN1bHRGb3JtLCBPYmplY3QuYXNzaWduKHsgaWxsdXN0cmF0aW9uOiAnaWxsdXNDaGVja2VkJyB9LCBwcm9wcykpKTtcbmV4cG9ydCBjb25zdCBTdWNjZXNzRm9ybSA9IG1lbW8oU3VjY2Vzc0Zvcm1CYXNlKTsiLG51bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export { SuccessForm } from './SuccessForm';
|
|
2
|
+
export type { SuccessFormProps } from './SuccessForm';
|
|
3
|
+
export { FailureForm } from './FailureForm';
|
|
4
|
+
export type { FailureFormProps } from './FailureForm';
|
|
5
|
+
export { PendingForm } from './PendingForm';
|
|
6
|
+
export type { PendingFormProps } from './PendingForm';
|
|
7
|
+
export { ExpiredForm } from './ExpiredForm';
|
|
8
|
+
export type { ExpiredFormProps } from './ExpiredForm';
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
// Named ResultForm variants — SHAPE-ONLY presets (the illustration). No copy:
|
|
2
|
+
// titles, descriptions, and button labels always come from the caller.
|
|
3
|
+
//
|
|
4
|
+
// Mirrors `Dialog/variants` so the same scenario reads the same in both hosts
|
|
5
|
+
// (SuccessForm ↔ SuccessDialog). Only the scenarios that actually occur on a
|
|
6
|
+
// page are here: Delete / Loading are dialog-only by nature — a destructive
|
|
7
|
+
// confirm or a spinner-and-wait interrupts, it is not a page you land on.
|
|
8
|
+
export { SuccessForm } from './SuccessForm';
|
|
9
|
+
export { FailureForm } from './FailureForm';
|
|
10
|
+
export { PendingForm } from './PendingForm';
|
|
11
|
+
export { ExpiredForm } from './ExpiredForm';
|
|
12
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1c2luZXNzL0Zvcm0vc3JjL2J1c2luZXNzL0Zvcm0vdmFyaWFudHMvaW5kZXgudHMiXSwibmFtZXMiOlsiU3VjY2Vzc0Zvcm0iLCJGYWlsdXJlRm9ybSIsIlBlbmRpbmdGb3JtIiwiRXhwaXJlZEZvcm0iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBU0EsV0FBVyxRQUFRLGVBQWU7QUFFM0MsU0FBU0MsV0FBVyxRQUFRLGVBQWU7QUFFM0MsU0FBU0MsV0FBVyxRQUFRLGVBQWU7QUFFM0MsU0FBU0MsV0FBVyxRQUFRLGVBQWUiLCJmaWxlIjoiYnVzaW5lc3MvRm9ybS92YXJpYW50cy9pbmRleC5qcyIsInNvdXJjZXNDb250ZW50IjpbbnVsbF0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
|
package/es/business/index.d.ts
CHANGED
package/es/business/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export * from './Filter';
|
|
2
2
|
export * from './Dialog';
|
|
3
3
|
export * from './Select';
|
|
4
|
-
export * from './
|
|
4
|
+
export * from './Form';
|
|
5
5
|
export { default as FieldList } from './FieldList';
|
|
6
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,
|
|
6
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9idXNpbmVzcy9pbmRleC50cyJdLCJuYW1lcyI6WyJkZWZhdWx0IiwiRmllbGRMaXN0Il0sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFVBQVU7QUFDeEIsY0FBYyxVQUFVO0FBQ3hCLGNBQWMsVUFBVTtBQUN4QixjQUFjLFFBQVE7QUFDdEIsU0FBU0EsT0FBTyxJQUFJQyxTQUFTLFFBQVEsYUFBYSIsImZpbGUiOiJidXNpbmVzcy9pbmRleC5qcyIsInNvdXJjZXNDb250ZW50IjpbbnVsbF0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
|
|
@@ -41,12 +41,11 @@ var Footnote = function Footnote(_ref) {
|
|
|
41
41
|
justify: 'center',
|
|
42
42
|
gap: 4,
|
|
43
43
|
children: [prompt && _jsx(Typography.Body, {
|
|
44
|
-
size: '
|
|
45
|
-
strong: true,
|
|
44
|
+
size: 'sm',
|
|
46
45
|
color: 'default-tertiary',
|
|
47
46
|
children: prompt
|
|
48
47
|
}), action && _jsx(Typography.Link, {
|
|
49
|
-
size: '
|
|
48
|
+
size: 'sm',
|
|
50
49
|
color: 'brand',
|
|
51
50
|
role: 'button',
|
|
52
51
|
tabIndex: 0,
|
|
@@ -114,4 +113,4 @@ var ActionBarBase = function ActionBarBase(_ref2) {
|
|
|
114
113
|
});
|
|
115
114
|
};
|
|
116
115
|
export var ActionBar = /*#__PURE__*/memo(ActionBarBase);
|
|
117
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvQWN0aW9uQmFyL0FjdGlvbkJhci5qcyIsImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvQWN0aW9uQmFyL0FjdGlvbkJhci50c3giXSwibmFtZXMiOlsianN4IiwiX2pzeCIsImpzeHMiLCJfanN4cyIsIkZyYWdtZW50IiwibWVtbyIsIkJ1dHRvbiIsIkRpdmlkZXIiLCJGbGV4IiwiVHlwb2dyYXBoeSIsImRlZmF1bHQiLCJjbGFzc25hbWVzIiwiam9pbkNscyIsIkFDVElPTl9CQVJfQlVUVE9OX1NJWkUiLCJBQ1RJT05fQkFSX0RFRkFVTFRTIiwiQUNUSU9OX0JBUl9QUkVGSVgiLCJBQ1RJT05fQkFSX1NMT1QiLCJBQ1RJVkFUSU9OX0tFWVMiLCJyZW5kZXJBY3Rpb24iLCJhY3Rpb24iLCJmYWxsYmFja0xhYmVsIiwiZGVmYXVsdENvbG9yIiwic2l6ZSIsIl9hIiwiX2IiLCJ2YXJpYW50IiwiY29sb3IiLCJpY29uU3RhcnQiLCJpY29uIiwibG9hZGluZyIsImRpc2FibGVkIiwib25DbGljayIsInR5cGUiLCJmb3JtIiwiY2hpbGRyZW4iLCJsYWJlbCIsIkZvb3Rub3RlIiwiX3JlZiIsInByb21wdCIsImRpdmlkZWQiLCJjbGFzc2VzIiwiaGFuZGxlS2V5RG93biIsImV2ZW50IiwiaW5jbHVkZXMiLCJrZXkiLCJwcmV2ZW50RGVmYXVsdCIsImNsYXNzTmFtZSIsImZvb3Rub3RlIiwiYWxpZ24iLCJqdXN0aWZ5IiwiZ2FwIiwiQm9keSIsInN0cm9uZyIsIkxpbmsiLCJyb2xlIiwidGFiSW5kZXgiLCJvbktleURvd24iLCJBY3Rpb25CYXJCYXNlIiwiX3JlZjIiLCJfcmVmMiRsYXlvdXQiLCJsYXlvdXQiLCJfcmVmMiRkaXJlY3Rpb24iLCJkaXJlY3Rpb24iLCJwcmltYXJ5IiwicHJpbWFyeVNsb3QiLCJzZWNvbmRhcnkiLCJfcmVmMiRwcmVmaXhDbHMiLCJwcmVmaXhDbHMiLCJfYyIsIl9kIiwidmVydGljYWwiLCJidXR0b25TaXplIiwiaXRlbXMiLCJvcmRlciIsIm5vZGUiLCJzZWNvbmRhcnlMYWJlbCIsInNlY29uZGFyeUNvbG9yIiwicHJpbWFyeUxhYmVsIiwicHJpbWFyeUNvbG9yIiwidW5kZWZpbmVkIiwiZmlsdGVyIiwiaXRlbSIsIkJvb2xlYW4iLCJzb3J0IiwiYSIsImIiLCJsZW5ndGgiLCJhY3Rpb25zIiwibWFwIiwiT2JqZWN0IiwiYXNzaWduIiwiQWN0aW9uQmFyIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxHQUFHLElBQUlDLElBQUksRUFBRUMsSUFBSSxJQUFJQyxLQUFLLFFBQVEsbUJBQW1CO0FDQTlELFNBQVNDLFFBQVEsRUFBRUMsSUFBSSxRQUFRLE9BQU87QUFDdEMsU0FBU0MsTUFBTSxRQUFRLFdBQVc7QUFDbEMsU0FBU0MsT0FBTyxRQUFRLFlBQVk7QUFDcEMsU0FBU0MsSUFBSSxRQUFRLFNBQVM7QUFDOUIsU0FBU0MsVUFBVSxRQUFRLGVBQWU7QUFDMUMsU0FBU0MsT0FBTyxJQUFJQyxVQUFVLEVBQUVDLE9BQU8sUUFBUSx3QkFBd0I7QUFDdkUsU0FDRUMsc0JBQXNCLEVBQ3RCQyxtQkFBbUIsRUFDbkJDLGlCQUFpQixFQUNqQkMsZUFBZSxRQUNWLGFBQWE7QUFLcEIsT0FBTyxTQUFTO0FBRWhCLElBQU1DLGVBQWUsR0FBRyxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUM7QUFFdEMsSUFBTUMsWUFBWSxHQUFHLFNBQWZBLFlBQVlBLENBQ2hCQyxNQUF1QixFQUN2QkMsYUFBd0IsRUFDeEJDLFlBQXlCLEVBQ3pCQyxJQUFnQixFQUNkO0VEZEEsSUFBSUMsRUFBRSxFQUFFQyxFQUFFO0VDY1QsT0FDSHZCLElBQUEsQ0FBQ0ssTUFBTSxFQUFBO0lBQ0xnQixJQUFJLEVBQUVBLElBQUk7SUFDVkcsT0FBTyxFQUFFTixNQUFNLENBQUNNLE9BQU87SUFDdkJDLEtBQUssRUFBRSxDQUFBSCxFQUFBLEdBQUFKLE1BQU0sQ0FBQ08sS0FBSyxNQUFBLElBQUEsSUFBQUgsRUFBQSxLQUFBLEtBQUEsQ0FBQSxHQUFBQSxFQUFB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LENBQUNPLElBQUksRUFBQTtNQUFDOEQsUUFBUSxFQUFFQSxRQUFRO01BQUV4QixTQUFTLEVBQUVOLE9BQU8sQ0FBQ3hCLGVBQWUsQ0FBQ3VFLE9BQU8sQ0FBQztNQUFBckQsUUFBQSxFQUNsRXNDLEtBQUssQ0FBQ2dCLEdBQUcsQ0FBQyxVQUFDUCxJQUFJO1FBQUEsT0FDZGhGLElBQUEsQ0FBQ0csUUFBUSxFQUFBO1VBQUE4QixRQUFBLEVBQWlCK0MsSUFBSSxDQUFDUDtRQUFJLENBQUEsRUFBcEJPLElBQUksQ0FBQ3JDLEdBQUcsQ0FBd0I7TUFBQSxDQUNoRDtJQUFDLENBQUEsQ0FFTCxFQUNBRyxRQUFRLElBQUk5QyxJQUFBLENBQUNtQyxRQUFRLEVBQUFxRCxNQUFBLENBQUFDLE1BQUEsQ0FBQSxDQUFBLENBQUEsRUFBSzNDLFFBQVEsRUFBQTtNQUFFUCxPQUFPLEVBQUVBO0lBQU8sQ0FBQSxDQUFBLENBQUk7RUFBQSxDQUFBLENBQ3BEO0FBRVgsQ0FBQztBQUVELE9BQU8sSUFBTW1ELFNBQVMsZ0JBQUd0RixJQUFJLENBQUNvRCxhQUFhLENBQUMiLCJmaWxlIjoiY29tcG9uZW50cy9BY3Rpb25CYXIvQWN0aW9uQmFyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsganN4IGFzIF9qc3gsIGpzeHMgYXMgX2pzeHMgfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCB7IEZyYWdtZW50LCBtZW1vIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgQnV0dG9uIH0gZnJvbSAnLi4vQnV0dG9uJztcbmltcG9ydCB7IERpdmlkZXIgfSBmcm9tICcuLi9EaXZpZGVyJztcbmltcG9ydCB7IEZsZXggfSBmcm9tICcuLi9GbGV4JztcbmltcG9ydCB7IFR5cG9ncmFwaHkgfSBmcm9tICcuLi9UeXBvZ3JhcGh5JztcbmltcG9ydCB7IGRlZmF1bHQgYXMgY2xhc3NuYW1lcywgam9pbkNscyB9IGZyb20gJy4uLy4uL3V0aWxzL2NsYXNzbmFtZXMnO1xuaW1wb3J0IHsgQUNUSU9OX0JBUl9CVVRUT05fU0laRSwgQUNUSU9OX0JBUl9ERUZBVUxUUywgQUNUSU9OX0JBUl9QUkVGSVgsIEFDVElPTl9CQVJfU0xPVCwgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgJy4vc3R5bGUnO1xuY29uc3QgQUNUSVZBVElPTl9LRVlTID0gWydFbnRlcicsICcgJ107XG5jb25zdCByZW5kZXJBY3Rpb24gPSAoYWN0aW9uLCBmYWxsYmFja0xhYmVsLCBkZWZhdWx0Q29sb3IsIHNpemUpID0+IHtcbiAgICB2YXIgX2EsIF9iO1xuICAgIHJldHVybiAoX2pzeChCdXR0b24sIHsgc2l6ZTogc2l6ZSwgdmFyaWFudDogYWN0aW9uLnZhcmlhbnQsIGNvbG9yOiAoX2EgPSBhY3Rpb24uY29sb3IpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IGRlZmF1bHRDb2xvciwgaWNvblN0YXJ0OiBhY3Rpb24uaWNvbiwgbG9hZGluZzogYWN0aW9uLmxvYWRpbmcsIGRpc2FibGVkOiBhY3Rpb24uZGlzYWJsZWQsIG9uQ2xpY2s6IGFjdGlvbi5vbkNsaWNrLCB0eXBlOiBhY3Rpb24udHlwZSwgZm9ybTogYWN0aW9uLmZvcm0sIGNoaWxkcmVuOiAoX2IgPSBhY3Rpb24ubGFiZWwpICE9PSBudWxsICYmIF9iICE9PSB2b2lkIDAgPyBfYiA6IGZhbGxiYWNrTGFiZWwgfSkpO1xufTtcbmNvbnN0IEZvb3Rub3RlID0gKHsgcHJvbXB0LCBhY3Rpb24sIG9uQ2xpY2ssIGRpdmlkZWQsIGNsYXNzZXMsIH0pID0+IHtcbiAgICBjb25zdCBoYW5kbGVLZXlEb3duID0gKGV2ZW50KSA9PiB7XG4gICAgICAgIGlmICghQUNUSVZBVElPTl9LRVlTLmluY2x1ZGVzKGV2ZW50LmtleSkpXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIG9uQ2xpY2sgPT09IG51bGwgfHwgb25DbGljayA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25DbGljaygpO1xuICAgIH07XG4gICAgcmV0dXJuIChfanN4cyhcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcyhBQ1RJT05fQkFSX1NMT1QuZm9vdG5vdGUpLCBjaGlsZHJlbjogW2RpdmlkZWQgJiYgX2pzeChEaXZpZGVyLCB7fSksIF9qc3hzKEZsZXgsIHsgYWxpZ246ICdjZW50ZXInLCBqdXN0aWZ5OiAnY2VudGVyJywgZ2FwOiA0LCBjaGlsZHJlbjogW3Byb21wdCAmJiAoX2pzeChUeXBvZ3JhcGh5LkJvZHksIHsgc2l6ZTogJ21kJywgc3Ryb25nOiB0cnVlLCBjb2xvcjogJ2RlZmF1bHQtdGVydGlhcnknLCBjaGlsZHJlbjogcHJvbXB0IH0pKSwgYWN0aW9uICYmIChfanN4KFR5cG9ncmFwaHkuTGluaywgeyBzaXplOiAnbWQnLCBjb2xvcjogJ2JyYW5kJywgcm9sZTogJ2J1dHRvbicsIHRhYkluZGV4OiAwLCBvbkNsaWNrOiBvbkNsaWNrLCBvbktleURvd246IGhhbmRsZUtleURvd24sIGNoaWxkcmVuOiBhY3Rpb24gfSkpXSB9KV0gfSkpO1xufTtcbi8qKlxuICogRm9vdGVyIGFjdGlvbiBlbmdpbmUgc2hhcmVkIGJ5IGV2ZXJ5IGZvcm0vZGlhbG9nIHN1cmZhY2UuIE9yZGVyIGFuZCB0b25lc1xuICogYXJlIGxvY2tlZCAoc2Vjb25kYXJ5IGxlZnQsIHByaW1hcnkgcmlnaHQpOyB0aGUgYGxheW91dGAg4oCUIGNob3NlbiBieSB0aGVcbiAqIHNjZW5hcmlvIHNoZWxsLCBuZXZlciBieSBidXNpbmVzcyBjb2RlIOKAlCBkZWNpZGVzIHRoZSB0d28gRFMgZm9vdGVyIHNoYXBlczpcbiAqIGBmaWxsYCAocm93LXNoYXJpbmcgbGFyZ2UgYnV0dG9ucykgb3IgYGNvbXBhY3RgIChhdXRvLXdpZHRoIG1lZGl1bSBidXR0b25zLFxuICogbGVmdC1hbGlnbmVkKS5cbiAqL1xuY29uc3QgQWN0aW9uQmFyQmFzZSA9ICh7IGxheW91dCA9ICdmaWxsJywgZGlyZWN0aW9uID0gJ2hvcml6b250YWwnLCBwcmltYXJ5LCBwcmltYXJ5U2xvdCwgc2Vjb25kYXJ5LCBmb290bm90ZSwgcHJlZml4Q2xzID0gQUNUSU9OX0JBUl9QUkVGSVgsIGNsYXNzTmFtZSwgfSkgPT4ge1xuICAgIHZhciBfYSwgX2IsIF9jLCBfZDtcbiAgICBjb25zdCBjbGFzc2VzID0gY2xhc3NuYW1lcyhwcmVmaXhDbHMpO1xuICAgIGNvbnN0IHZlcnRpY2FsID0gZGlyZWN0aW9uID09PSAndmVydGljYWwnO1xuICAgIGNvbnN0IGJ1dHRvblNpemUgPSBBQ1RJT05fQkFSX0JVVFRPTl9TSVpFW2xheW91dF07XG4gICAgLy8gRGVmYXVsdCBvcmRlcjogaG9yaXpvbnRhbCDihpIgc2Vjb25kYXJ5IGxlZnQgb2YgcHJpbWFyeTsgdmVydGljYWwg4oaSXG4gICAgLy8gcHJpbWFyeSBvbiB0b3AuIEFuIGV4cGxpY2l0IGBhY3Rpb24ub3JkZXJgIG92ZXJyaWRlcyBlaXRoZXIuXG4gICAgY29uc3QgaXRlbXMgPSBbXG4gICAgICAgIHNlY29uZGFyeSAmJiB7XG4gICAgICAgICAgICBrZXk6ICdzZWNvbmRhcnknLFxuICAgICAgICAgICAgb3JkZXI6IChfYSA9IHNlY29uZGFyeS5vcmRlcikgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogKHZlcnRpY2FsID8gMSA6IDApLFxuICAgICAgICAgICAgbm9kZTogcmVuZGVyQWN0aW9uKHNlY29uZGFyeSwgQUNUSU9OX0JBUl9ERUZBVUxUUy5zZWNvbmRhcnlMYWJlbCwgQUNUSU9OX0JBUl9ERUZBVUxUUy5zZWNvbmRhcnlDb2xvciwgKF9iID0gc2Vjb25kYXJ5LnNpemUpICE9PSBudWxsICYmIF9iICE9PSB2b2lkIDAgPyBfYiA6IGJ1dHRvblNpemUpLFxuICAgICAgICB9LFxuICAgICAgICAocHJpbWFyeSB8fCBwcmltYXJ5U2xvdCAhPSBudWxsKSA/IHtcbiAgICAgICAgICAgIGtleTogJ3ByaW1hcnknLFxuICAgICAgICAgICAgb3JkZXI6IChfYyA9IHByaW1hcnkgPT09IG51bGwgfHwgcHJpbWFyeSA9PT0gdm9pZCAwID8gdm9pZCAwIDogcHJpbWFyeS5vcmRlcikgIT09IG51bGwgJiYgX2MgIT09IHZvaWQgMCA/IF9jIDogKHZlcnRpY2FsID8gMCA6IDEpLFxuICAgICAgICAgICAgbm9kZTogcHJpbWFyeVNsb3QgIT09IG51bGwgJiYgcHJpbWFyeVNsb3QgIT09IHZvaWQgMCA/IHByaW1hcnlTbG90IDogcmVuZGVyQWN0aW9uKHByaW1hcnksIEFDVElPTl9CQVJfREVGQVVMVFMucHJpbWFyeUxhYmVsLCBBQ1RJT05fQkFSX0RFRkFVTFRTLnByaW1hcnlDb2xvciwgKF9kID0gcHJpbWFyeS5zaXplKSAhPT0gbnVsbCAmJiBfZCAhPT0gdm9pZCAwID8gX2QgOiBidXR0b25TaXplKSxcbiAgICAgICAgfSA6IHVuZGVmaW5lZCxcbiAgICBdXG4gICAgICAgIC5maWx0ZXIoKGl0ZW0pID0+IEJvb2xlYW4oaXRlbSkpXG4gICAgICAgIC5zb3J0KChhLCBiKSA9PiBhLm9yZGVyIC0gYi5vcmRlcik7XG4gICAgaWYgKCFpdGVtcy5sZW5ndGggJiYgIWZvb3Rub3RlKVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICByZXR1cm4gKF9qc3hzKEZsZXgsIHsgdmVydGljYWw6IHRydWUsIGdhcDogMTYsIGNsYXNzTmFtZTogam9pbkNscyhjbGFzc2VzKCksIGNsYXNzZXMobGF5b3V0KSwgY2xhc3NlcyhkaXJlY3Rpb24pLCBjbGFzc05hbWUpLCBjaGlsZHJlbjogW2l0ZW1zLmxlbmd0aCA+IDAgJiYgKF9qc3goRmxleCwgeyB2ZXJ0aWNhbDogdmVydGljYWwsIGNsYXNzTmFtZTogY2xhc3NlcyhBQ1RJT05fQkFSX1NMT1QuYWN0aW9ucyksIGNoaWxkcmVuOiBpdGVtcy5tYXAoKGl0ZW0pID0+IChfanN4KEZyYWdtZW50LCB7IGNoaWxkcmVuOiBpdGVtLm5vZGUgfSwgaXRlbS5rZXkpKSkgfSkpLCBmb290bm90ZSAmJiBfanN4KEZvb3Rub3RlLCBPYmplY3QuYXNzaWduKHt9LCBmb290bm90ZSwgeyBjbGFzc2VzOiBjbGFzc2VzIH0pKV0gfSkpO1xufTtcbmV4cG9ydCBjb25zdCBBY3Rpb25CYXIgPSBtZW1vKEFjdGlvbkJhckJhc2UpOyIsbnVsbF0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
|
|
116
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvQWN0aW9uQmFyL0FjdGlvbkJhci5qcyIsImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvQWN0aW9uQmFyL0FjdGlvbkJhci50c3giXSwibmFtZXMiOlsianN4IiwiX2pzeCIsImpzeHMiLCJfanN4cyIsIkZyYWdtZW50IiwibWVtbyIsIkJ1dHRvbiIsIkRpdmlkZXIiLCJGbGV4IiwiVHlwb2dyYXBoeSIsImRlZmF1bHQiLCJjbGFzc25hbWVzIiwiam9pbkNscyIsIkFDVElPTl9CQVJfQlVUVE9OX1NJWkUiLCJBQ1RJT05fQkFSX0RFRkFVTFRTIiwiQUNUSU9OX0JBUl9QUkVGSVgiLCJBQ1RJT05fQkFSX1NMT1QiLCJBQ1RJVkFUSU9OX0tFWVMiLCJyZW5kZXJBY3Rpb24iLCJhY3Rpb24iLCJmYWxsYmFja0xhYmVsIiwiZGVmYXVsdENvbG9yIiwic2l6ZSIsIl9hIiwiX2IiLCJ2YXJpYW50IiwiY29sb3IiLCJpY29uU3RhcnQiLCJpY29uIiwibG9hZGluZyIsImRpc2FibGVkIiwib25DbGljayIsInR5cGUiLCJmb3JtIiwiY2hpbGRyZW4iLCJsYWJlbCIsIkZvb3Rub3RlIiwiX3JlZiIsInByb21wdCIsImRpdmlkZWQiLCJjbGFzc2VzIiwiaGFuZGxlS2V5RG93biIsImV2ZW50IiwiaW5jbHVkZXMiLCJrZXkiLCJwcmV2ZW50RGVmYXVsdCIsImNsYXNzTmFtZSIsImZvb3Rub3RlIiwiYWxpZ24iLCJqdXN0aWZ5IiwiZ2FwIiwiQm9keSIsIkxpbmsiLCJyb2xlIiwidGFiSW5kZXgiLCJvbktleURvd24iLCJBY3Rpb25CYXJCYXNlIiwiX3JlZjIiLCJfcmVmMiRsYXlvdXQiLCJsYXlvdXQiLCJfcmVmMiRkaXJlY3Rpb24iLCJkaXJlY3Rpb24iLCJwcmltYXJ5IiwicHJpbWFyeVNsb3QiLCJzZWNvbmRhcnkiLCJfcmVmMiRwcmVmaXhDbHMiLCJwcmVmaXhDbHMiLCJfYyIsIl9kIiwidmVydGljYWwiLCJidXR0b25TaXplIiwiaXRlbXMiLCJvcmRlciIsIm5vZGUiLCJzZWNvbmRhcnlMYWJlbCIsInNlY29uZGFyeUNvbG9yIiwicHJpbWFyeUxhYmVsIiwicHJpbWFyeUNvbG9yIiwidW5kZWZpbmVkIiwiZmlsdGVyIiwiaXRlbSIsIkJvb2xlYW4iLCJzb3J0IiwiYSIsImIiLCJsZW5ndGgiLCJhY3Rpb25zIiwibWFwIiwiT2JqZWN0IiwiYXNzaWduIiwiQWN0aW9uQmFyIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxHQUFHLElBQUlDLElBQUksRUFBRUMsSUFBSSxJQUFJQyxLQUFLLFFBQVEsbUJBQW1CO0FDQTlELFNBQVNDLFFBQVEsRUFBRUMsSUFBSSxRQUFRLE9BQU87QUFDdEMsU0FBU0MsTUFBTSxRQUFRLFdBQVc7QUFDbEMsU0FBU0MsT0FBTyxRQUFRLFlBQVk7QUFDcEMsU0FBU0MsSUFBSSxRQUFRLFNBQVM7QUFDOUIsU0FBU0MsVUFBVSxRQUFRLGVBQWU7QUFDMUMsU0FBU0MsT0FBTyxJQUFJQyxVQUFVLEVBQUVDLE9BQU8sUUFBUSx3QkFBd0I7QUFDdkUsU0FDRUMsc0JBQXNCLEVBQ3RCQyxtQkFBbUIsRUFDbkJDLGlCQUFpQixFQUNqQkMsZUFBZSxRQUNWLGFBQWE7QUFLcEIsT0FBTyxTQUFTO0FBRWhCLElBQU1DLGVBQWUsR0FBRyxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUM7QUFFdEMsSUFBTUMsWUFBWSxHQUFHLFNBQWZBLFlBQVlBLENBQ2hCQyxNQUF1QixFQUN2QkMsYUFBd0IsRUFDeEJDLFlBQXlCLEVBQ3pCQyxJQUFnQixFQUNkO0VEZEEsSUFBSUMsRUFBRSxFQUFFQyxFQUFFO0VDY1QsT0FDSHZCLElBQUEsQ0FBQ0ssTUFBTSxFQUFBO0lBQ0xnQixJQUFJLEVBQUVBLElBQUk7SUFDVkcsT0FBTyxFQUFFTixNQUFNLENBQUNNLE9BQU87SUFDdkJDLEtBQUssRUFBRSxDQUFBSCxFQUFBLEdBQUFKLE1BQU0sQ0FBQ08sS0FBSyxNQUFBLElBQUEsSUFBQUgsRUFBQSxLQUFBLEtBQUEsQ0FBQSxHQUFBQSxFQUFBLEdBQUlGLFlB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QSxRQUFRO01BQUV2QixTQUFTLEVBQUVOLE9BQU8sQ0FBQ3hCLGVBQWUsQ0FBQ3NFLE9BQU8sQ0FBQztNQUFBcEQsUUFBQSxFQUNsRXFDLEtBQUssQ0FBQ2dCLEdBQUcsQ0FBQyxVQUFDUCxJQUFJO1FBQUEsT0FDZC9FLElBQUEsQ0FBQ0csUUFBUSxFQUFBO1VBQUE4QixRQUFBLEVBQWlCOEMsSUFBSSxDQUFDUDtRQUFJLENBQUEsRUFBcEJPLElBQUksQ0FBQ3BDLEdBQUcsQ0FBd0I7TUFBQSxDQUNoRDtJQUFDLENBQUEsQ0FFTCxFQUNBRyxRQUFRLElBQUk5QyxJQUFBLENBQUNtQyxRQUFRLEVBQUFvRCxNQUFBLENBQUFDLE1BQUEsQ0FBQSxDQUFBLENBQUEsRUFBSzFDLFFBQVEsRUFBQTtNQUFFUCxPQUFPLEVBQUVBO0lBQU8sQ0FBQSxDQUFBLENBQUk7RUFBQSxDQUFBLENBQ3BEO0FBRVgsQ0FBQztBQUVELE9BQU8sSUFBTWtELFNBQVMsZ0JBQUdyRixJQUFJLENBQUNtRCxhQUFhLENBQUMiLCJmaWxlIjoiY29tcG9uZW50cy9BY3Rpb25CYXIvQWN0aW9uQmFyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsganN4IGFzIF9qc3gsIGpzeHMgYXMgX2pzeHMgfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCB7IEZyYWdtZW50LCBtZW1vIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgQnV0dG9uIH0gZnJvbSAnLi4vQnV0dG9uJztcbmltcG9ydCB7IERpdmlkZXIgfSBmcm9tICcuLi9EaXZpZGVyJztcbmltcG9ydCB7IEZsZXggfSBmcm9tICcuLi9GbGV4JztcbmltcG9ydCB7IFR5cG9ncmFwaHkgfSBmcm9tICcuLi9UeXBvZ3JhcGh5JztcbmltcG9ydCB7IGRlZmF1bHQgYXMgY2xhc3NuYW1lcywgam9pbkNscyB9IGZyb20gJy4uLy4uL3V0aWxzL2NsYXNzbmFtZXMnO1xuaW1wb3J0IHsgQUNUSU9OX0JBUl9CVVRUT05fU0laRSwgQUNUSU9OX0JBUl9ERUZBVUxUUywgQUNUSU9OX0JBUl9QUkVGSVgsIEFDVElPTl9CQVJfU0xPVCwgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgJy4vc3R5bGUnO1xuY29uc3QgQUNUSVZBVElPTl9LRVlTID0gWydFbnRlcicsICcgJ107XG5jb25zdCByZW5kZXJBY3Rpb24gPSAoYWN0aW9uLCBmYWxsYmFja0xhYmVsLCBkZWZhdWx0Q29sb3IsIHNpemUpID0+IHtcbiAgICB2YXIgX2EsIF9iO1xuICAgIHJldHVybiAoX2pzeChCdXR0b24sIHsgc2l6ZTogc2l6ZSwgdmFyaWFudDogYWN0aW9uLnZhcmlhbnQsIGNvbG9yOiAoX2EgPSBhY3Rpb24uY29sb3IpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IGRlZmF1bHRDb2xvciwgaWNvblN0YXJ0OiBhY3Rpb24uaWNvbiwgbG9hZGluZzogYWN0aW9uLmxvYWRpbmcsIGRpc2FibGVkOiBhY3Rpb24uZGlzYWJsZWQsIG9uQ2xpY2s6IGFjdGlvbi5vbkNsaWNrLCB0eXBlOiBhY3Rpb24udHlwZSwgZm9ybTogYWN0aW9uLmZvcm0sIGNoaWxkcmVuOiAoX2IgPSBhY3Rpb24ubGFiZWwpICE9PSBudWxsICYmIF9iICE9PSB2b2lkIDAgPyBfYiA6IGZhbGxiYWNrTGFiZWwgfSkpO1xufTtcbmNvbnN0IEZvb3Rub3RlID0gKHsgcHJvbXB0LCBhY3Rpb24sIG9uQ2xpY2ssIGRpdmlkZWQsIGNsYXNzZXMsIH0pID0+IHtcbiAgICBjb25zdCBoYW5kbGVLZXlEb3duID0gKGV2ZW50KSA9PiB7XG4gICAgICAgIGlmICghQUNUSVZBVElPTl9LRVlTLmluY2x1ZGVzKGV2ZW50LmtleSkpXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIG9uQ2xpY2sgPT09IG51bGwgfHwgb25DbGljayA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25DbGljaygpO1xuICAgIH07XG4gICAgcmV0dXJuIChfanN4cyhcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcyhBQ1RJT05fQkFSX1NMT1QuZm9vdG5vdGUpLCBjaGlsZHJlbjogW2RpdmlkZWQgJiYgX2pzeChEaXZpZGVyLCB7fSksIF9qc3hzKEZsZXgsIHsgYWxpZ246ICdjZW50ZXInLCBqdXN0aWZ5OiAnY2VudGVyJywgZ2FwOiA0LCBjaGlsZHJlbjogW3Byb21wdCAmJiAoX2pzeChUeXBvZ3JhcGh5LkJvZHksIHsgc2l6ZTogJ3NtJywgY29sb3I6ICdkZWZhdWx0LXRlcnRpYXJ5JywgY2hpbGRyZW46IHByb21wdCB9KSksIGFjdGlvbiAmJiAoX2pzeChUeXBvZ3JhcGh5LkxpbmssIHsgc2l6ZTogJ3NtJywgY29sb3I6ICdicmFuZCcsIHJvbGU6ICdidXR0b24nLCB0YWJJbmRleDogMCwgb25DbGljazogb25DbGljaywgb25LZXlEb3duOiBoYW5kbGVLZXlEb3duLCBjaGlsZHJlbjogYWN0aW9uIH0pKV0gfSldIH0pKTtcbn07XG4vKipcbiAqIEZvb3RlciBhY3Rpb24gZW5naW5lIHNoYXJlZCBieSBldmVyeSBmb3JtL2RpYWxvZyBzdXJmYWNlLiBPcmRlciBhbmQgdG9uZXNcbiAqIGFyZSBsb2NrZWQgKHNlY29uZGFyeSBsZWZ0LCBwcmltYXJ5IHJpZ2h0KTsgdGhlIGBsYXlvdXRgIOKAlCBjaG9zZW4gYnkgdGhlXG4gKiBzY2VuYXJpbyBzaGVsbCwgbmV2ZXIgYnkgYnVzaW5lc3MgY29kZSDigJQgZGVjaWRlcyB0aGUgdHdvIERTIGZvb3RlciBzaGFwZXM6XG4gKiBgZmlsbGAgKHJvdy1zaGFyaW5nIGxhcmdlIGJ1dHRvbnMpIG9yIGBjb21wYWN0YCAoYXV0by13aWR0aCBtZWRpdW0gYnV0dG9ucyxcbiAqIGxlZnQtYWxpZ25lZCkuXG4gKi9cbmNvbnN0IEFjdGlvbkJhckJhc2UgPSAoeyBsYXlvdXQgPSAnZmlsbCcsIGRpcmVjdGlvbiA9ICdob3Jpem9udGFsJywgcHJpbWFyeSwgcHJpbWFyeVNsb3QsIHNlY29uZGFyeSwgZm9vdG5vdGUsIHByZWZpeENscyA9IEFDVElPTl9CQVJfUFJFRklYLCBjbGFzc05hbWUsIH0pID0+IHtcbiAgICB2YXIgX2EsIF9iLCBfYywgX2Q7XG4gICAgY29uc3QgY2xhc3NlcyA9IGNsYXNzbmFtZXMocHJlZml4Q2xzKTtcbiAgICBjb25zdCB2ZXJ0aWNhbCA9IGRpcmVjdGlvbiA9PT0gJ3ZlcnRpY2FsJztcbiAgICBjb25zdCBidXR0b25TaXplID0gQUNUSU9OX0JBUl9CVVRUT05fU0laRVtsYXlvdXRdO1xuICAgIC8vIERlZmF1bHQgb3JkZXI6IGhvcml6b250YWwg4oaSIHNlY29uZGFyeSBsZWZ0IG9mIHByaW1hcnk7IHZlcnRpY2FsIOKGklxuICAgIC8vIHByaW1hcnkgb24gdG9wLiBBbiBleHBsaWNpdCBgYWN0aW9uLm9yZGVyYCBvdmVycmlkZXMgZWl0aGVyLlxuICAgIGNvbnN0IGl0ZW1zID0gW1xuICAgICAgICBzZWNvbmRhcnkgJiYge1xuICAgICAgICAgICAga2V5OiAnc2Vjb25kYXJ5JyxcbiAgICAgICAgICAgIG9yZGVyOiAoX2EgPSBzZWNvbmRhcnkub3JkZXIpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6ICh2ZXJ0aWNhbCA/IDEgOiAwKSxcbiAgICAgICAgICAgIG5vZGU6IHJlbmRlckFjdGlvbihzZWNvbmRhcnksIEFDVElPTl9CQVJfREVGQVVMVFMuc2Vjb25kYXJ5TGFiZWwsIEFDVElPTl9CQVJfREVGQVVMVFMuc2Vjb25kYXJ5Q29sb3IsIChfYiA9IHNlY29uZGFyeS5zaXplKSAhPT0gbnVsbCAmJiBfYiAhPT0gdm9pZCAwID8gX2IgOiBidXR0b25TaXplKSxcbiAgICAgICAgfSxcbiAgICAgICAgKHByaW1hcnkgfHwgcHJpbWFyeVNsb3QgIT0gbnVsbCkgPyB7XG4gICAgICAgICAgICBrZXk6ICdwcmltYXJ5JyxcbiAgICAgICAgICAgIG9yZGVyOiAoX2MgPSBwcmltYXJ5ID09PSBudWxsIHx8IHByaW1hcnkgPT09IHZvaWQgMCA/IHZvaWQgMCA6IHByaW1hcnkub3JkZXIpICE9PSBudWxsICYmIF9jICE9PSB2b2lkIDAgPyBfYyA6ICh2ZXJ0aWNhbCA/IDAgOiAxKSxcbiAgICAgICAgICAgIG5vZGU6IHByaW1hcnlTbG90ICE9PSBudWxsICYmIHByaW1hcnlTbG90ICE9PSB2b2lkIDAgPyBwcmltYXJ5U2xvdCA6IHJlbmRlckFjdGlvbihwcmltYXJ5LCBBQ1RJT05fQkFSX0RFRkFVTFRTLnByaW1hcnlMYWJlbCwgQUNUSU9OX0JBUl9ERUZBVUxUUy5wcmltYXJ5Q29sb3IsIChfZCA9IHByaW1hcnkuc2l6ZSkgIT09IG51bGwgJiYgX2QgIT09IHZvaWQgMCA/IF9kIDogYnV0dG9uU2l6ZSksXG4gICAgICAgIH0gOiB1bmRlZmluZWQsXG4gICAgXVxuICAgICAgICAuZmlsdGVyKChpdGVtKSA9PiBCb29sZWFuKGl0ZW0pKVxuICAgICAgICAuc29ydCgoYSwgYikgPT4gYS5vcmRlciAtIGIub3JkZXIpO1xuICAgIGlmICghaXRlbXMubGVuZ3RoICYmICFmb290bm90ZSlcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgcmV0dXJuIChfanN4cyhGbGV4LCB7IHZlcnRpY2FsOiB0cnVlLCBnYXA6IDE2LCBjbGFzc05hbWU6IGpvaW5DbHMoY2xhc3NlcygpLCBjbGFzc2VzKGxheW91dCksIGNsYXNzZXMoZGlyZWN0aW9uKSwgY2xhc3NOYW1lKSwgY2hpbGRyZW46IFtpdGVtcy5sZW5ndGggPiAwICYmIChfanN4KEZsZXgsIHsgdmVydGljYWw6IHZlcnRpY2FsLCBjbGFzc05hbWU6IGNsYXNzZXMoQUNUSU9OX0JBUl9TTE9ULmFjdGlvbnMpLCBjaGlsZHJlbjogaXRlbXMubWFwKChpdGVtKSA9PiAoX2pzeChGcmFnbWVudCwgeyBjaGlsZHJlbjogaXRlbS5ub2RlIH0sIGl0ZW0ua2V5KSkpIH0pKSwgZm9vdG5vdGUgJiYgX2pzeChGb290bm90ZSwgT2JqZWN0LmFzc2lnbih7fSwgZm9vdG5vdGUsIHsgY2xhc3NlczogY2xhc3NlcyB9KSldIH0pKTtcbn07XG5leHBvcnQgY29uc3QgQWN0aW9uQmFyID0gbWVtbyhBY3Rpb25CYXJCYXNlKTsiLG51bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
|
|
@@ -69,8 +69,13 @@ export interface ActionBarProps {
|
|
|
69
69
|
*/
|
|
70
70
|
layout?: ActionBarLayout;
|
|
71
71
|
/**
|
|
72
|
-
* Arrangement: `horizontal` (default
|
|
73
|
-
* full-width
|
|
72
|
+
* Arrangement: `horizontal` (default — two actions split the row) or
|
|
73
|
+
* `vertical` (stacked, each button full-width).
|
|
74
|
+
*
|
|
75
|
+
* The default applies everywhere, result surfaces included: `PanelLayout`
|
|
76
|
+
* and `BaseDialog` pass this straight through and set no default of their
|
|
77
|
+
* own. `vertical` is opt-in, for flows that want the actions read
|
|
78
|
+
* top-to-bottom rather than weighed side by side.
|
|
74
79
|
*/
|
|
75
80
|
direction?: ActionBarDirection;
|
|
76
81
|
/**
|
|
@@ -15,10 +15,16 @@ export interface DialogProps extends Omit<HTMLAttributes<HTMLDivElement>, 'child
|
|
|
15
15
|
fullWidth?: boolean;
|
|
16
16
|
fixed?: boolean;
|
|
17
17
|
/**
|
|
18
|
-
* Bare panel mode: keep the overlay machinery (portal, mask, Esc, close
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
18
|
+
* Bare panel mode: keep the overlay machinery (portal, mask, Esc, the close
|
|
19
|
+
* control, viewport max-height, width presets) but render NO panel chrome
|
|
20
|
+
* and NO header/body/footer slots — children fill the panel directly. For
|
|
21
|
+
* surfaces that bring their own chrome (e.g. FormLayout).
|
|
22
|
+
*
|
|
23
|
+
* `showBackIcon` is NOT honoured here. The close control is absolutely
|
|
24
|
+
* positioned overlay chrome and works in either mode, but the back arrow
|
|
25
|
+
* takes its own row in the content flow — and a bare panel has no content
|
|
26
|
+
* flow to put it in. A bare host that needs one renders it into its own
|
|
27
|
+
* surface instead (PanelLayout takes `showBackIcon`/`onBack` of its own).
|
|
22
28
|
*/
|
|
23
29
|
bare?: boolean;
|
|
24
30
|
width?: number | string;
|
|
@@ -27,7 +27,12 @@ export interface FormLayoutProps extends Omit<HTMLAttributes<HTMLDivElement>, 't
|
|
|
27
27
|
* footer stay pinned); when `false` content always grows the panel.
|
|
28
28
|
*/
|
|
29
29
|
scroll?: boolean;
|
|
30
|
-
/**
|
|
30
|
+
/**
|
|
31
|
+
* Heading; a plain string renders as `Headline/sm` (24 / 28) regardless of
|
|
32
|
+
* variant or size. Pass a node to compose your own header block (e.g. a
|
|
33
|
+
* title with a description under it) — the automatic wrapping is skipped,
|
|
34
|
+
* so supply the `Headline/sm` typography yourself.
|
|
35
|
+
*/
|
|
31
36
|
title?: ReactNode;
|
|
32
37
|
/** Trailing slot on the title row (e.g. an environment switcher). */
|
|
33
38
|
extra?: ReactNode;
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { memo } from 'react';
|
|
3
|
+
import { ActionBar } from '../ActionBar';
|
|
4
|
+
import { FormLayout } from '../FormLayout';
|
|
5
|
+
import { Icons } from '../Icons';
|
|
6
|
+
import { Typography } from '../Typography';
|
|
7
|
+
import { default as classnames, joinCls } from '../../utils/classnames';
|
|
8
|
+
import { PANEL_LAYOUT_BACK_ICON_SIZE, PANEL_LAYOUT_BACK_LABEL, PANEL_LAYOUT_PREFIX, resolvePanelLayoutConfig } from './constants';
|
|
9
|
+
import './style';
|
|
10
|
+
/**
|
|
11
|
+
* The non-form content PANEL — the counterpart to `FormLayout`: that one
|
|
12
|
+
* holds fields, this one holds an illustration, copy and actions. ONE surface
|
|
13
|
+
* serving two hosts:
|
|
14
|
+
*
|
|
15
|
+
* page host <PanelLayout /> used directly
|
|
16
|
+
* dialog host BaseDialog = Dialog(bare) + this(modal) only adds the overlay
|
|
17
|
+
*
|
|
18
|
+
* Deliberately NOT named for a scenario, because it carries several: a
|
|
19
|
+
* verification challenge, a stepped wizard (2FA setup — hence the back
|
|
20
|
+
* arrow), a terminal page with no action at all.
|
|
21
|
+
*
|
|
22
|
+
* On a page, ONE of those scenarios has a shell of its own and the rest do
|
|
23
|
+
* not — which decides where business code should reach:
|
|
24
|
+
*
|
|
25
|
+
* a result (success / failure / expired / …) → `ResultForm`, business/Form
|
|
26
|
+
* anything else → this, directly
|
|
27
|
+
*
|
|
28
|
+
* So being used directly is the normal case here, not a fallback. Only add
|
|
29
|
+
* another shell on top when a scenario earns a name AND recurring copy (a
|
|
30
|
+
* `preset`); a shell that just re-exports this one buys nothing.
|
|
31
|
+
*
|
|
32
|
+
* Assembly:
|
|
33
|
+
*
|
|
34
|
+
* FormLayout card chrome (surface, hairline, radius) + the 24
|
|
35
|
+
* │ padding and 16 region gap. Its `page/small` width
|
|
36
|
+
* │ (448, the sign-in card) is NOT used — the panel width
|
|
37
|
+
* │ comes from the config table.
|
|
38
|
+
* ├─ header slot back / illustration / eyebrow / title / description as
|
|
39
|
+
* │ ONE block on 8px seams. It goes in the title slot, not
|
|
40
|
+
* │ the content region, because it is all header copy —
|
|
41
|
+
* │ that also keeps it pinned when the content scrolls.
|
|
42
|
+
* ├─ content region `children` — free-form (a QR code, an OTP input, rows)
|
|
43
|
+
* └─ ActionBar(fill) the actions.
|
|
44
|
+
*
|
|
45
|
+
* It owns no copy and no loose numbers: everything host-specific comes from
|
|
46
|
+
* `PANEL_LAYOUT_CONFIG`, so a divergence between page and dialog is a value
|
|
47
|
+
* change in that table and nothing else.
|
|
48
|
+
*/
|
|
49
|
+
var PanelLayoutBase = function PanelLayoutBase(_ref) {
|
|
50
|
+
var _ref$variant = _ref.variant,
|
|
51
|
+
variant = _ref$variant === void 0 ? 'page' : _ref$variant,
|
|
52
|
+
scroll = _ref.scroll,
|
|
53
|
+
width = _ref.width,
|
|
54
|
+
className = _ref.className,
|
|
55
|
+
showBackIcon = _ref.showBackIcon,
|
|
56
|
+
onBack = _ref.onBack,
|
|
57
|
+
backIcon = _ref.backIcon,
|
|
58
|
+
eyebrow = _ref.eyebrow,
|
|
59
|
+
title = _ref.title,
|
|
60
|
+
description = _ref.description,
|
|
61
|
+
_ref$descriptionStron = _ref.descriptionStrong,
|
|
62
|
+
descriptionStrong = _ref$descriptionStron === void 0 ? true : _ref$descriptionStron,
|
|
63
|
+
illustration = _ref.illustration,
|
|
64
|
+
primary = _ref.primary,
|
|
65
|
+
secondary = _ref.secondary,
|
|
66
|
+
direction = _ref.direction,
|
|
67
|
+
footnote = _ref.footnote,
|
|
68
|
+
children = _ref.children;
|
|
69
|
+
var classes = classnames(PANEL_LAYOUT_PREFIX);
|
|
70
|
+
var config = resolvePanelLayoutConfig(variant);
|
|
71
|
+
// A plain string becomes the family heading; a node passes through so
|
|
72
|
+
// callers can compose (e.g. a Tag above a two-line title).
|
|
73
|
+
var titleNode = typeof title === 'string' || typeof title === 'number' ? _jsx(Typography.Headline, {
|
|
74
|
+
size: 'sm',
|
|
75
|
+
as: 'h2',
|
|
76
|
+
color: 'default',
|
|
77
|
+
children: title
|
|
78
|
+
}) : title;
|
|
79
|
+
// Same contract as `title`: a plain string gets the family treatment (the
|
|
80
|
+
// muted label of "Step 2 of 3"), a node passes through so a Tag or a
|
|
81
|
+
// composed row still works. Without this every caller with a text eyebrow
|
|
82
|
+
// would hand-roll the same Typography.
|
|
83
|
+
//
|
|
84
|
+
// An EMPTY string counts as absent. Callers routinely hold the eyebrow in a
|
|
85
|
+
// state object that starts as `''`, and rendering an empty label would open
|
|
86
|
+
// an 8px seam above the title for nothing — so they can pass the value
|
|
87
|
+
// straight through instead of guarding it at every call site.
|
|
88
|
+
var eyebrowNode = eyebrow == null || eyebrow === '' ? null : typeof eyebrow === 'string' || typeof eyebrow === 'number' ? _jsx(Typography.Body, {
|
|
89
|
+
size: 'sm',
|
|
90
|
+
color: 'default-tertiary',
|
|
91
|
+
children: eyebrow
|
|
92
|
+
}) : eyebrow;
|
|
93
|
+
var illustrationNode = typeof illustration === 'string' ? _jsx(Icons, {
|
|
94
|
+
name: illustration,
|
|
95
|
+
size: config.illustrationSize
|
|
96
|
+
}) : illustration;
|
|
97
|
+
// Its own row above everything else, on the block's 8px seam — the shape
|
|
98
|
+
// stepped flows use in both hosts (2FA setup on a page, wizard dialogs).
|
|
99
|
+
var backNode = showBackIcon ? _jsx("button", {
|
|
100
|
+
type: 'button',
|
|
101
|
+
className: classes('back'),
|
|
102
|
+
"aria-label": PANEL_LAYOUT_BACK_LABEL,
|
|
103
|
+
onClick: onBack,
|
|
104
|
+
children: backIcon !== null && backIcon !== void 0 ? backIcon : _jsx(Icons, {
|
|
105
|
+
name: 'arrowLeft',
|
|
106
|
+
size: PANEL_LAYOUT_BACK_ICON_SIZE
|
|
107
|
+
})
|
|
108
|
+
}) : null;
|
|
109
|
+
var hasHeader = showBackIcon || illustration != null || eyebrowNode != null || title != null || description != null;
|
|
110
|
+
var header = hasHeader ? _jsxs("div", {
|
|
111
|
+
className: classes('header'),
|
|
112
|
+
children: [backNode, illustrationNode != null && _jsx("div", {
|
|
113
|
+
className: classes('illustration'),
|
|
114
|
+
children: illustrationNode
|
|
115
|
+
}), eyebrowNode, titleNode, description != null && _jsx(Typography.Body, {
|
|
116
|
+
as: 'p',
|
|
117
|
+
size: 'md',
|
|
118
|
+
strong: descriptionStrong,
|
|
119
|
+
color: 'default-secondary',
|
|
120
|
+
children: description
|
|
121
|
+
})]
|
|
122
|
+
}) : undefined;
|
|
123
|
+
// The bar owns the button size, so the family size is applied per action
|
|
124
|
+
// rather than as a bar-level prop; an explicit per-action `size` still wins.
|
|
125
|
+
var withSize = function withSize(action) {
|
|
126
|
+
var _a;
|
|
127
|
+
return action && Object.assign(Object.assign({}, action), {
|
|
128
|
+
size: (_a = action.size) !== null && _a !== void 0 ? _a : config.buttonSize
|
|
129
|
+
});
|
|
130
|
+
};
|
|
131
|
+
var footer = primary || secondary || footnote ? _jsx(ActionBar, {
|
|
132
|
+
direction: direction,
|
|
133
|
+
primary: withSize(primary),
|
|
134
|
+
secondary: withSize(secondary),
|
|
135
|
+
footnote: footnote
|
|
136
|
+
}) : undefined;
|
|
137
|
+
return _jsx(FormLayout
|
|
138
|
+
// `page/small` is used for its 24 padding and 16 region gap, which are
|
|
139
|
+
// already the result family's numbers. Its 448 width is NOT — that is
|
|
140
|
+
// the sign-in card; the result panel is 380, from the config table.
|
|
141
|
+
, {
|
|
142
|
+
// `page/small` is used for its 24 padding and 16 region gap, which are
|
|
143
|
+
// already the result family's numbers. Its 448 width is NOT — that is
|
|
144
|
+
// the sign-in card; the result panel is 380, from the config table.
|
|
145
|
+
variant: 'page',
|
|
146
|
+
size: 'small',
|
|
147
|
+
scroll: scroll,
|
|
148
|
+
// In a dialog the Dialog panel carries the width (BaseDialog reads the
|
|
149
|
+
// same entry) and the layout fills it: sizing a bare panel from its
|
|
150
|
+
// child hits the shrink-to-fit percentage circularity.
|
|
151
|
+
width: width !== null && width !== void 0 ? width : variant === 'modal' ? '100%' : config.width,
|
|
152
|
+
className: joinCls(classes(), classes(variant), className),
|
|
153
|
+
style: {
|
|
154
|
+
'--form-layout-action-gap': "".concat(config.actionGap, "px")
|
|
155
|
+
},
|
|
156
|
+
title: header,
|
|
157
|
+
footer: footer,
|
|
158
|
+
children: children
|
|
159
|
+
});
|
|
160
|
+
};
|
|
161
|
+
export var PanelLayout = /*#__PURE__*/memo(PanelLayoutBase);
|
|
162
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUGFuZWxMYXlvdXQvUGFuZWxMYXlvdXQuanMiLCJjb21wb25lbnRzL3NyYy9jb21wb25lbnRzL1BhbmVsTGF5b3V0L1BhbmVsTGF5b3V0LnRzeCJdLCJuYW1lcyI6WyJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwibWVtbyIsIkFjdGlvbkJhciIsIkZvcm1MYXlvdXQiLCJJY29ucyIsIlR5cG9ncmFwaHkiLCJkZWZhdWx0IiwiY2xhc3NuYW1lcyIsImpvaW5DbHMiLCJQQU5FTF9MQVlPVVRfQkFDS19JQ09OX1NJWkUiLCJQQU5FTF9MQVlPVVRfQkFDS19MQUJFTCIsIlBBTkVMX0xBWU9VVF9QUkVGSVgiLCJyZXNvbHZlUGFuZWxMYXlvdXRDb25maWciLCJQYW5lbExheW91dEJhc2UiLCJfcmVmIiwiX3JlZiR2YXJpYW50IiwidmFyaWFudCIsInNjcm9sbCIsIndpZHRoIiwiY2xhc3NOYW1lIiwic2hvd0JhY2tJY29uIiwib25CYWNrIiwiYmFja0ljb24iLCJleWVicm93IiwidGl0bGUiLCJkZXNjcmlwdGlvbiIsIl9yZWYkZGVzY3JpcHRpb25TdHJvbiIsImRlc2NyaXB0aW9uU3Ryb25nIiwiaWxsdXN0cmF0aW9uIiwicHJpbWFyeSIsInNlY29uZGFyeSIsImRpcmVjdGlvbiIsImZvb3Rub3RlIiwiY2hpbGRyZW4iLCJjbGFzc2VzIiwiY29uZmlnIiwidGl0bGVOb2RlIiwiSGVhZGxpbmUiLCJzaXplIiwiYXMiLCJjb2xvciIsImV5ZWJyb3dOb2RlIiwiQm9keSIsImlsbHVzdHJhdGlvbk5vZGUiLCJuYW1lIiwiaWxsdXN0cmF0aW9uU2l6ZSIsImJhY2tOb2RlIiwidHlwZSIsIm9uQ2xpY2siLCJoYXNIZWFkZXIiLCJoZWFkZXIiLCJzdHJvbmciLCJ1bmRlZmluZWQiLCJ3aXRoU2l6ZSIsImFjdGlvbiIsIl9hIiwiT2JqZWN0IiwiYXNzaWduIiwiYnV0dG9uU2l6ZSIsImZvb3RlciIsInN0eWxlIiwiY29uY2F0IiwiYWN0aW9uR2FwIiwiUGFuZWxMYXlvdXQiXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLEdBQUcsSUFBSUMsSUFBSSxFQUFFQyxJQUFJLElBQUlDLEtBQUssUUFBUSxtQkFBbUI7QUNBOUQsU0FBU0MsSUFBSSxRQUFRLE9BQU87QUFDNUIsU0FBU0MsU0FBUyxRQUFRLGNBQWM7QUFDeEMsU0FBU0MsVUFBVSxRQUFRLGVBQWU7QUFDMUMsU0FBU0MsS0FBSyxRQUFRLFVBQVU7QUFDaEMsU0FBU0MsVUFBVSxRQUFRLGVBQWU7QUFDMUMsU0FBU0MsT0FBTyxJQUFJQyxVQUFVLEVBQUVDLE9BQU8sUUFBUSx3QkFBd0I7QUFDdkUsU0FDRUMsMkJBQTJCLEVBQzNCQyx1QkFBdUIsRUFDdkJDLG1CQUFtQixFQUNuQkMsd0JBQXdCLFFBQ25CLGFBQWE7QUFLcEIsT0FBTyxTQUFTO0FBRWhCO0FEUkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQ1VBLElBQU1DLGVBQWUsR0FBeUIsU0FBeENBLGVBQWVBLENBQUFDLElBQUEsRUFrQmhCO0VBQUEsSUFBQUMsWUFBQSxHQUFBRCxJQUFBLENBakJIRSxPQUFPO0lBQVBBLE9BQU8sR0FBQUQsWUFBQSxjQUFHLE1BQU0sR0FBQUEsWUFBQTtJQUNoQkUsTUFBTSxHQUFBSCxJQUFBLENBQU5HLE1BQU07SUFDTkMsS0FBSyxHQUFBSixJQUFBLENBQUxJLEtBQUs7SUFDTEMsU0FBUyxHQUFBTCxJQUFBLENBQVRLLFNBQVM7SUFDVEMsWUFBWSxHQUFBTixJQUFBLENBQVpNLFlBQVk7SUFDWkMsTUFBTSxHQUFBUCxJQUFBLENBQU5PLE1BQU07SUFDTkMsUUFBUSxHQUFBUixJQUFBLENBQVJRLFFBQVE7SUFDUkMsT0FBTyxHQUFBVCxJQUFBLENBQVBTLE9BQU87SUFDUEMsS0FBSyxHQUFBVixJQUFBLENBQUxVLEtBQUs7SUFDTEMsV0FBVyxHQUFBWCxJQUFBLENBQVhXLFdBQVc7SUFBQUMscUJBQUEsR0FBQVosSUFBQSxDQUNYYSxpQkFBaUI7SUFBakJBLGlCQUFpQixHQUFBRCxxQkFBQSxjQUFHLElBQUksR0FBQUEscUJBQUE7SUFDeEJFLFlBQVksR0FBQWQsSUFBQSxDQUFaYyxZQUFZO0lBQ1pDLE9BQU8sR0FBQWYsSUFBQSxDQUFQZSxPQUFPO0lBQ1BDLFNBQVMsR0FBQWhCLElBQUEsQ0FBVGdCLFNBQVM7SUFDVEMsU0FBUyxHQUFBakIsSUFBQSxDQUFUaUIsU0FBUztJQUNUQyxRQUFRLEdBQUFsQixJQUFBLENBQVJrQixRQUFRO0lBQ1JDLFFBQVEsR0FBQW5CLElBQUEsQ0FBUm1CLFFBQVE7RUFFUixJQUFNQyxPQUFPLEdBQUczQixVQUFVLENBQUNJLG1CQUFtQixDQUFDO0VBQy9DLElBQU13QixNQUFNLEdBQUd2Qix3QkFBd0IsQ0FBQ0ksT0FBTyxDQUFDO0VBRWhEO0VBQ0E7RUFDQSxJQUFNb0IsU0FBUyxHQUNiLE9BQU9aLEtBQUssS0FBSyxRQUFRLElBQUksT0FBT0EsS0FBSyxLQUFLLFFBQVEsR0FDcEQxQixJQUFBLENBQUNPLFVBQVUsQ0FBQ2dDLFFBQVEsRUFBQTtJQUFDQyxJQUFJLEVBQUMsSUFBSTtJQUFDQyxFQUFFLEVBQUMsSUFBSTtJQUFDQyxLQUFLLEVBQUMsU0FBUztJQUFBUCxRQUFBLEVBQ25EVDtFQUFLLENBQUEsQ0FDYyxHQUV0QkEsS0FDRDtFQUVIO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLElBQU1pQixXQUFXLEdBQ2ZsQixPQUFPLElBQUksSUFBSSxJQUFJQSxPQUFPLEtBQUssRUFBRSxHQUFHLElBQUksR0FDcEMsT0FBT0EsT0FBTyxLQUFLLFFBQVEsSUFBSSxPQUFPQSxPQUFPLEtBQUssUUFBUSxHQUMxRHpCLElBQUEsQ0FBQ08sVUFBVSxDQUFDcUMsSUFBSSxFQUFBO0lBQUNKLElBQUksRUFBQyxJQUFJO0lBQUNFLEtBQUssRUFBQyxrQkFBa0I7SUFBQVAsUUFBQSxFQUNoRFY7RUFBTyxDQUFBLENBQ1EsR0FFbEJBLE9BQ0Q7RUFFTCxJQUFNb0IsZ0JBQWdCLEdBQ3BCLE9BQU9mLFlBQVksS0FBSyxRQUFRLEdBQzlCOUIsSUFBQSxDQUFDTSxLQUFLLEVBQUE7SUFBQ3dDLElBQUksRUFBRWhCLFlBQXdCO0lBQUVVLElBQUksRUFBRUgsTUFBTSxDQUFDVTtFQUFnQixDQUFBLENBQUksR0FFeEVqQixZQUNEO0VBRUg7RUFDQTtFQUNBLElBQU1rQixRQUFRLEdBQUcxQixZQUFZLEdBQzNCdEIsSUFBQSxDQUFBLFFBQUEsRUFBQTtJQUNFaUQsSUFBSSxFQUFDLFFBQVE7SUFDYjVCLFNBQVMsRUFBRWUsT0FBTyxDQUFDLE1BQU0sQ0FBQztJQUFBLFlBQUEsRUFDZHhCLHVCQUF1QjtJQUNuQ3NDLE9BQU8sRUFBRTNCLE1BQU07SUFBQVksUUFBQSxFQUVkWCxRQUFRLEtBQUEsSUFBQSxJQUFSQSxRQUFRLEtBQUEsS0FBQSxDQUFBLEdBQVJBLFFBQVEsR0FBSXhCLElBQUEsQ0FBQ00sS0FBSyxFQUFBO01BQUN3QyxJQUFJLEVBQUMsV0FBVztNQUFDTixJQUFJLEVBQUU3QjtJQUEyQixDQUFBO0VBQUksQ0FBQSxDQUNuRSxHQUNQLElBQUk7RUFFUixJQUFNd0MsU0FBUyxHQUNiN0IsWUFBWSxJQUNaUSxZQUFZLElBQUksSUFBSSxJQUNwQmEsV0FBVyxJQUFJLElBQUksSUFDbkJqQixLQUFLLElBQUksSUFBSSxJQUNiQyxXQUFXLElBQUksSUFBSTtFQUVyQixJQUFNeUIsTUFBTSxHQUFHRCxTQUFTLEdBQ3RCakQsS0FBQSxDQUFBLEtBQUEsRUFBQTtJQUFLbUIsU0FBUyxFQUFFZSxPQUFPLENBQUMsUUFBUSxDQUFDO0lBQUFELFFBQUEsRUFBQSxDQUM5QmEsUUFBUSxFQUdSSCxnQkFBZ0IsSUFBSSxJQUFJLElBQ3ZCN0MsSUFBQSxDQUFBLEtBQUEsRUFBQTtNQUFLcUIsU0FBUyxFQUFFZSxPQUFPLENBQUMsY0FBYyxDQUFDO01BQUFELFFBQUEsRUFBR1U7SUFBZ0IsQ0FBQSxDQUMzRCxFQUNBRixXQUFXLEVBQ1hMLFNBQVMsRUFDVFgsV0FBVyxJQUFJLElBQUksSUFDbEIzQixJQUFBLENBQUNPLFVBQVUsQ0FBQ3FDLElBQUksRUFBQTtNQUFDSCxFQUFFLEVBQUMsR0FBRztNQUFDRCxJQUFJLEVBQUMsSUFBSTtNQUFDYSxNQUFNLEVBQUV4QixpQkFBaUI7TUFBRWEsS0FBSyxFQUFDLG1CQUFtQjtNQUFBUCxRQUFBLEVBQ25GUjtJQUFXLENBQUEsQ0FFZjtFQUFBLENBQUEsQ0FDRyxHQUNKMkIsU0FBUztFQUViO0VBQ0E7RUFDQSxJQUFNQyxRQUFRLEdBQUcsU0FBWEEsUUFBUUEsQ0FBSUMsTUFBd0IsRUFBSTtJQUFBLElBQUFDLEVBQUE7SUFDNUMsT0FBQUQsTUFBTSxJQUFBRSxNQUFBLENBQUFDLE1BQUEsQ0FBQUQsTUFBQSxDQUFBQyxNQUFBLENBQUEsQ0FBQSxDQUFBLEVBQVNILE1BQU0sQ0FBQSxFQUFBO01BQUVoQixJQUFJLEVBQUUsQ0FBQWlCLEVBQUEsR0FBQUQsTUFBTSxDQUFDaEIsSUFBSSxNQUFBLElBQUEsSUFBQWlCLEVBQUEsS0FBQSxLQUFBLENBQUEsR0FBQUEsRUFBQSxHQUFJcEIsTUFBTSxDQUFDdUI7SUFBVSxDQUFBLENBQUU7RUFBQSxDQUFBO0VBRWpFLElBQU1DLE1BQU0sR0FDVjlCLE9BQU8sSUFBSUMsU0FBUyxJQUFJRSxRQUFRLEdBQzlCbEMsSUFBQSxDQUFDSSxTQUFTLEVBQUE7SUFDUjZCLFNBQVMsRUFBRUEsU0FBUztJQUNwQkYsT0FBTyxFQUFFd0IsUUFBUSxDQUFDeEIsT0FBTyxDQUFDO0lBQzFCQyxTQUFTLEVBQUV1QixRQUFRLENBQUN2QixTQUFTLENBQUM7SUFDOUJFLFFBQVEsRUFBRUE7RUFBUSxDQUFBLENBQ2xCLEdBQ0FvQixTQUFTO0VBRWYsT0FDRXRELElBQUEsQ0FBQ0s7RUFDQztFQUNBO0VBQ0E7RUFBQSxFRDFGQTtJQ3dGQTtJQUNBO0lBQ0E7SUFDQWEsT0FBTyxFQUFDLE1BQU07SUFDZHNCLElBQUksRUFBQyxPQUFPO0lBQ1pyQixNQUFNLEVBQUVBLE1BQU07SUFDZDtJQUNBO0lBQ0E7SUFDQUMsS0FBSyxFQUFFQSxLQUFLLEtBQUEsSUFBQSxJQUFMQSxLQUFLLEtBQUEsS0FBQSxDQUFBLEdBQUxBLEtBQUssR0FBS0YsT0FBTyxLQUFLLE9BQU8sR0FBRyxNQUFNLEdBQUdtQixNQUFNLENBQUNqQixLQUFNO0lBQzdEQyxTQUFTLEVBQUVYLE9BQU8sQ0FBQzBCLE9BQU8sQ0FBQSxDQUFFLEVBQUVBLE9BQU8sQ0FBQ2xCLE9BQU8sQ0FBQyxFQUFFRyxTQUFTLENBQUM7SUFDMUR5QyxLQUFLLEVBQUU7TUFBRSwwQkFBMEIsS0FBQUMsTUFBQSxDQUFLMUIsTUFBTSxDQUFDMkIsU0FBUztJQUFJLENBQW1CO0lBQy9FdEMsS0FBSyxFQUFFMEIsTUFBTTtJQUNiUyxNQUFNLEVBQUVBLE1BQU07SUFBQTFCLFFBQUEsRUFFYkE7RUFBUSxDQUFBLENBQ0U7QUFFakIsQ0FBQztBQUVELE9BQU8sSUFBTThCLFdBQVcsZ0JBQUc5RCxJQUFJLENBQUNZLGVBQWUsQ0FBQyIsImZpbGUiOiJjb21wb25lbnRzL1BhbmVsTGF5b3V0L1BhbmVsTGF5b3V0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsganN4IGFzIF9qc3gsIGpzeHMgYXMgX2pzeHMgfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCB7IG1lbW8gfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBBY3Rpb25CYXIgfSBmcm9tICcuLi9BY3Rpb25CYXInO1xuaW1wb3J0IHsgRm9ybUxheW91dCB9IGZyb20gJy4uL0Zvcm1MYXlvdXQnO1xuaW1wb3J0IHsgSWNvbnMgfSBmcm9tICcuLi9JY29ucyc7XG5pbXBvcnQgeyBUeXBvZ3JhcGh5IH0gZnJvbSAnLi4vVHlwb2dyYXBoeSc7XG5pbXBvcnQgeyBkZWZhdWx0IGFzIGNsYXNzbmFtZXMsIGpvaW5DbHMgfSBmcm9tICcuLi8uLi91dGlscy9jbGFzc25hbWVzJztcbmltcG9ydCB7IFBBTkVMX0xBWU9VVF9CQUNLX0lDT05fU0laRSwgUEFORUxfTEFZT1VUX0JBQ0tfTEFCRUwsIFBBTkVMX0xBWU9VVF9QUkVGSVgsIHJlc29sdmVQYW5lbExheW91dENvbmZpZywgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgJy4vc3R5bGUnO1xuLyoqXG4gKiBUaGUgbm9uLWZvcm0gY29udGVudCBQQU5FTCDigJQgdGhlIGNvdW50ZXJwYXJ0IHRvIGBGb3JtTGF5b3V0YDogdGhhdCBvbmVcbiAqIGhvbGRzIGZpZWxkcywgdGhpcyBvbmUgaG9sZHMgYW4gaWxsdXN0cmF0aW9uLCBjb3B5IGFuZCBhY3Rpb25zLiBPTkUgc3VyZmFjZVxuICogc2VydmluZyB0d28gaG9zdHM6XG4gKlxuICogICBwYWdlIGhvc3QgICAgPFBhbmVsTGF5b3V0IC8+ICAgICAgICAgICAgICAgICAgICAgICAgIHVzZWQgZGlyZWN0bHlcbiAqICAgZGlhbG9nIGhvc3QgIEJhc2VEaWFsb2cgPSBEaWFsb2coYmFyZSkgKyB0aGlzKG1vZGFsKSBvbmx5IGFkZHMgdGhlIG92ZXJsYXlcbiAqXG4gKiBEZWxpYmVyYXRlbHkgTk9UIG5hbWVkIGZvciBhIHNjZW5hcmlvLCBiZWNhdXNlIGl0IGNhcnJpZXMgc2V2ZXJhbDogYVxuICogdmVyaWZpY2F0aW9uIGNoYWxsZW5nZSwgYSBzdGVwcGVkIHdpemFyZCAoMkZBIHNldHVwIOKAlCBoZW5jZSB0aGUgYmFja1xuICogYXJyb3cpLCBhIHRlcm1pbmFsIHBhZ2Ugd2l0aCBubyBhY3Rpb24gYXQgYWxsLlxuICpcbiAqIE9uIGEgcGFnZSwgT05FIG9mIHRob3NlIHNjZW5hcmlvcyBoYXMgYSBzaGVsbCBvZiBpdHMgb3duIGFuZCB0aGUgcmVzdCBkb1xuICogbm90IOKAlCB3aGljaCBkZWNpZGVzIHdoZXJlIGJ1c2luZXNzIGNvZGUgc2hvdWxkIHJlYWNoOlxuICpcbiAqICAgYSByZXN1bHQgKHN1Y2Nlc3MgLyBmYWlsdXJlIC8gZXhwaXJlZCAvIOKApikgIOKGkiBgUmVzdWx0Rm9ybWAsIGJ1c2luZXNzL0Zvcm1cbiAqICAgYW55dGhpbmcgZWxzZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDihpIgdGhpcywgZGlyZWN0bHlcbiAqXG4gKiBTbyBiZWluZyB1c2VkIGRpcmVjdGx5IGlzIHRoZSBub3JtYWwgY2FzZSBoZXJlLCBub3QgYSBmYWxsYmFjay4gT25seSBhZGRcbiAqIGFub3RoZXIgc2hlbGwgb24gdG9wIHdoZW4gYSBzY2VuYXJpbyBlYXJucyBhIG5hbWUgQU5EIHJlY3VycmluZyBjb3B5IChhXG4gKiBgcHJlc2V0YCk7IGEgc2hlbGwgdGhhdCBqdXN0IHJlLWV4cG9ydHMgdGhpcyBvbmUgYnV5cyBub3RoaW5nLlxuICpcbiAqIEFzc2VtYmx5OlxuICpcbiAqICAgRm9ybUxheW91dCAgICAgICAgICBjYXJkIGNocm9tZSAoc3VyZmFjZSwgaGFpcmxpbmUsIHJhZGl1cykgKyB0aGUgMjRcbiAqICAg4pSCICAgICAgICAgICAgICAgICAgIHBhZGRpbmcgYW5kIDE2IHJlZ2lvbiBnYXAuIEl0cyBgcGFnZS9zbWFsbGAgd2lkdGhcbiAqICAg4pSCICAgICAgICAgICAgICAgICAgICg0NDgsIHRoZSBzaWduLWluIGNhcmQpIGlzIE5PVCB1c2VkIOKAlCB0aGUgcGFuZWwgd2lkdGhcbiAqICAg4pSCICAgICAgICAgICAgICAgICAgIGNvbWVzIGZyb20gdGhlIGNvbmZpZyB0YWJsZS5cbiAqICAg4pSc4pSAIGhlYWRlciBzbG90ICAgICAgYmFjayAvIGlsbHVzdHJhdGlvbiAvIGV5ZWJyb3cgLyB0aXRsZSAvIGRlc2NyaXB0aW9uIGFzXG4gKiAgIOKUgiAgICAgICAgICAgICAgICAgICBPTkUgYmxvY2sgb24gOHB4IHNlYW1zLiBJdCBnb2VzIGluIHRoZSB0aXRsZSBzbG90LCBub3RcbiAqICAg4pSCICAgICAgICAgICAgICAgICAgIHRoZSBjb250ZW50IHJlZ2lvbiwgYmVjYXVzZSBpdCBpcyBhbGwgaGVhZGVyIGNvcHkg4oCUXG4gKiAgIOKUgiAgICAgICAgICAgICAgICAgICB0aGF0IGFsc28ga2VlcHMgaXQgcGlubmVkIHdoZW4gdGhlIGNvbnRlbnQgc2Nyb2xscy5cbiAqICAg4pSc4pSAIGNvbnRlbnQgcmVnaW9uICAgYGNoaWxkcmVuYCDigJQgZnJlZS1mb3JtIChhIFFSIGNvZGUsIGFuIE9UUCBpbnB1dCwgcm93cylcbiAqICAg4pSU4pSAIEFjdGlvbkJhcihmaWxsKSAgdGhlIGFjdGlvbnMuXG4gKlxuICogSXQgb3ducyBubyBjb3B5IGFuZCBubyBsb29zZSBudW1iZXJzOiBldmVyeXRoaW5nIGhvc3Qtc3BlY2lmaWMgY29tZXMgZnJvbVxuICogYFBBTkVMX0xBWU9VVF9DT05GSUdgLCBzbyBhIGRpdmVyZ2VuY2UgYmV0d2VlbiBwYWdlIGFuZCBkaWFsb2cgaXMgYSB2YWx1ZVxuICogY2hhbmdlIGluIHRoYXQgdGFibGUgYW5kIG5vdGhpbmcgZWxzZS5cbiAqL1xuY29uc3QgUGFuZWxMYXlvdXRCYXNlID0gKHsgdmFyaWFudCA9ICdwYWdlJywgc2Nyb2xsLCB3aWR0aCwgY2xhc3NOYW1lLCBzaG93QmFja0ljb24sIG9uQmFjaywgYmFja0ljb24sIGV5ZWJyb3csIHRpdGxlLCBkZXNjcmlwdGlvbiwgZGVzY3JpcHRpb25TdHJvbmcgPSB0cnVlLCBpbGx1c3RyYXRpb24sIHByaW1hcnksIHNlY29uZGFyeSwgZGlyZWN0aW9uLCBmb290bm90ZSwgY2hpbGRyZW4sIH0pID0+IHtcbiAgICBjb25zdCBjbGFzc2VzID0gY2xhc3NuYW1lcyhQQU5FTF9MQVlPVVRfUFJFRklYKTtcbiAgICBjb25zdCBjb25maWcgPSByZXNvbHZlUGFuZWxMYXlvdXRDb25maWcodmFyaWFudCk7XG4gICAgLy8gQSBwbGFpbiBzdHJpbmcgYmVjb21lcyB0aGUgZmFtaWx5IGhlYWRpbmc7IGEgbm9kZSBwYXNzZXMgdGhyb3VnaCBzb1xuICAgIC8vIGNhbGxlcnMgY2FuIGNvbXBvc2UgKGUuZy4gYSBUYWcgYWJvdmUgYSB0d28tbGluZSB0aXRsZSkuXG4gICAgY29uc3QgdGl0bGVOb2RlID0gdHlwZW9mIHRpdGxlID09PSAnc3RyaW5nJyB8fCB0eXBlb2YgdGl0bGUgPT09ICdudW1iZXInID8gKF9qc3goVHlwb2dyYXBoeS5IZWFkbGluZSwgeyBzaXplOiAnc20nLCBhczogJ2gyJywgY29sb3I6ICdkZWZhdWx0JywgY2hpbGRyZW46IHRpdGxlIH0pKSA6ICh0aXRsZSk7XG4gICAgLy8gU2FtZSBjb250cmFjdCBhcyBgdGl0bGVgOiBhIHBsYWluIHN0cmluZyBnZXRzIHRoZSBmYW1pbHkgdHJlYXRtZW50ICh0aGVcbiAgICAvLyBtdXRlZCBsYWJlbCBvZiBcIlN0ZXAgMiBvZiAzXCIpLCBhIG5vZGUgcGFzc2VzIHRocm91Z2ggc28gYSBUYWcgb3IgYVxuICAgIC8vIGNvbXBvc2VkIHJvdyBzdGlsbCB3b3Jrcy4gV2l0aG91dCB0aGlzIGV2ZXJ5IGNhbGxlciB3aXRoIGEgdGV4dCBleWVicm93XG4gICAgLy8gd291bGQgaGFuZC1yb2xsIHRoZSBzYW1lIFR5cG9ncmFwaHkuXG4gICAgLy9cbiAgICAvLyBBbiBFTVBUWSBzdHJpbmcgY291bnRzIGFzIGFic2VudC4gQ2FsbGVycyByb3V0aW5lbHkgaG9sZCB0aGUgZXllYnJvdyBpbiBhXG4gICAgLy8gc3RhdGUgb2JqZWN0IHRoYXQgc3RhcnRzIGFzIGAnJ2AsIGFuZCByZW5kZXJpbmcgYW4gZW1wdHkgbGFiZWwgd291bGQgb3BlblxuICAgIC8vIGFuIDhweCBzZWFtIGFib3ZlIHRoZSB0aXRsZSBmb3Igbm90aGluZyDigJQgc28gdGhleSBjYW4gcGFzcyB0aGUgdmFsdWVcbiAgICAvLyBzdHJhaWdodCB0aHJvdWdoIGluc3RlYWQgb2YgZ3VhcmRpbmcgaXQgYXQgZXZlcnkgY2FsbCBzaXRlLlxuICAgIGNvbnN0IGV5ZWJyb3dOb2RlID0gZXllYnJvdyA9PSBudWxsIHx8IGV5ZWJyb3cgPT09ICcnID8gbnVsbFxuICAgICAgICA6IHR5cGVvZiBleWVicm93ID09PSAnc3RyaW5nJyB8fCB0eXBlb2YgZXllYnJvdyA9PT0gJ251bWJlcicgPyAoX2pzeChUeXBvZ3JhcGh5LkJvZHksIHsgc2l6ZTogJ3NtJywgY29sb3I6ICdkZWZhdWx0LXRlcnRpYXJ5JywgY2hpbGRyZW46IGV5ZWJyb3cgfSkpIDogKGV5ZWJyb3cpO1xuICAgIGNvbnN0IGlsbHVzdHJhdGlvbk5vZGUgPSB0eXBlb2YgaWxsdXN0cmF0aW9uID09PSAnc3RyaW5nJyA/IChfanN4KEljb25zLCB7IG5hbWU6IGlsbHVzdHJhdGlvbiwgc2l6ZTogY29uZmlnLmlsbHVzdHJhdGlvblNpemUgfSkpIDogKGlsbHVzdHJhdGlvbik7XG4gICAgLy8gSXRzIG93biByb3cgYWJvdmUgZXZlcnl0aGluZyBlbHNlLCBvbiB0aGUgYmxvY2sncyA4cHggc2VhbSDigJQgdGhlIHNoYXBlXG4gICAgLy8gc3RlcHBlZCBmbG93cyB1c2UgaW4gYm90aCBob3N0cyAoMkZBIHNldHVwIG9uIGEgcGFnZSwgd2l6YXJkIGRpYWxvZ3MpLlxuICAgIGNvbnN0IGJhY2tOb2RlID0gc2hvd0JhY2tJY29uID8gKF9qc3goXCJidXR0b25cIiwgeyB0eXBlOiAnYnV0dG9uJywgY2xhc3NOYW1lOiBjbGFzc2VzKCdiYWNrJyksIFwiYXJpYS1sYWJlbFwiOiBQQU5FTF9MQVlPVVRfQkFDS19MQUJFTCwgb25DbGljazogb25CYWNrLCBjaGlsZHJlbjogYmFja0ljb24gIT09IG51bGwgJiYgYmFja0ljb24gIT09IHZvaWQgMCA/IGJhY2tJY29uIDogX2pzeChJY29ucywgeyBuYW1lOiAnYXJyb3dMZWZ0Jywgc2l6ZTogUEFORUxfTEFZT1VUX0JBQ0tfSUNPTl9TSVpFIH0pIH0pKSA6IG51bGw7XG4gICAgY29uc3QgaGFzSGVhZGVyID0gc2hvd0JhY2tJY29uIHx8XG4gICAgICAgIGlsbHVzdHJhdGlvbiAhPSBudWxsIHx8XG4gICAgICAgIGV5ZWJyb3dOb2RlICE9IG51bGwgfHxcbiAgICAgICAgdGl0bGUgIT0gbnVsbCB8fFxuICAgICAgICBkZXNjcmlwdGlvbiAhPSBudWxsO1xuICAgIGNvbnN0IGhlYWRlciA9IGhhc0hlYWRlciA/IChfanN4cyhcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnaGVhZGVyJyksIGNoaWxkcmVuOiBbYmFja05vZGUsIGlsbHVzdHJhdGlvbk5vZGUgIT0gbnVsbCAmJiAoX2pzeChcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnaWxsdXN0cmF0aW9uJyksIGNoaWxkcmVuOiBpbGx1c3RyYXRpb25Ob2RlIH0pKSwgZXllYnJvd05vZGUsIHRpdGxlTm9kZSwgZGVzY3JpcHRpb24gIT0gbnVsbCAmJiAoX2pzeChUeXBvZ3JhcGh5LkJvZHksIHsgYXM6ICdwJywgc2l6ZTogJ21kJywgc3Ryb25nOiBkZXNjcmlwdGlvblN0cm9uZywgY29sb3I6ICdkZWZhdWx0LXNlY29uZGFyeScsIGNoaWxkcmVuOiBkZXNjcmlwdGlvbiB9KSldIH0pKSA6IHVuZGVmaW5lZDtcbiAgICAvLyBUaGUgYmFyIG93bnMgdGhlIGJ1dHRvbiBzaXplLCBzbyB0aGUgZmFtaWx5IHNpemUgaXMgYXBwbGllZCBwZXIgYWN0aW9uXG4gICAgLy8gcmF0aGVyIHRoYW4gYXMgYSBiYXItbGV2ZWwgcHJvcDsgYW4gZXhwbGljaXQgcGVyLWFjdGlvbiBgc2l6ZWAgc3RpbGwgd2lucy5cbiAgICBjb25zdCB3aXRoU2l6ZSA9IChhY3Rpb24pID0+IHsgdmFyIF9hOyByZXR1cm4gYWN0aW9uICYmIE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgYWN0aW9uKSwgeyBzaXplOiAoX2EgPSBhY3Rpb24uc2l6ZSkgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogY29uZmlnLmJ1dHRvblNpemUgfSk7IH07XG4gICAgY29uc3QgZm9vdGVyID0gcHJpbWFyeSB8fCBzZWNvbmRhcnkgfHwgZm9vdG5vdGUgPyAoX2pzeChBY3Rpb25CYXIsIHsgZGlyZWN0aW9uOiBkaXJlY3Rpb24sIHByaW1hcnk6IHdpdGhTaXplKHByaW1hcnkpLCBzZWNvbmRhcnk6IHdpdGhTaXplKHNlY29uZGFyeSksIGZvb3Rub3RlOiBmb290bm90ZSB9KSkgOiB1bmRlZmluZWQ7XG4gICAgcmV0dXJuIChfanN4KEZvcm1MYXlvdXRcbiAgICAvLyBgcGFnZS9zbWFsbGAgaXMgdXNlZCBmb3IgaXRzIDI0IHBhZGRpbmcgYW5kIDE2IHJlZ2lvbiBnYXAsIHdoaWNoIGFyZVxuICAgIC8vIGFscmVhZHkgdGhlIHJlc3VsdCBmYW1pbHkncyBudW1iZXJzLiBJdHMgNDQ4IHdpZHRoIGlzIE5PVCDigJQgdGhhdCBpc1xuICAgIC8vIHRoZSBzaWduLWluIGNhcmQ7IHRoZSByZXN1bHQgcGFuZWwgaXMgMzgwLCBmcm9tIHRoZSBjb25maWcgdGFibGUuXG4gICAgLCB7IFxuICAgICAgICAvLyBgcGFnZS9zbWFsbGAgaXMgdXNlZCBmb3IgaXRzIDI0IHBhZGRpbmcgYW5kIDE2IHJlZ2lvbiBnYXAsIHdoaWNoIGFyZVxuICAgICAgICAvLyBhbHJlYWR5IHRoZSByZXN1bHQgZmFtaWx5J3MgbnVtYmVycy4gSXRzIDQ0OCB3aWR0aCBpcyBOT1Qg4oCUIHRoYXQgaXNcbiAgICAgICAgLy8gdGhlIHNpZ24taW4gY2FyZDsgdGhlIHJlc3VsdCBwYW5lbCBpcyAzODAsIGZyb20gdGhlIGNvbmZpZyB0YWJsZS5cbiAgICAgICAgdmFyaWFudDogJ3BhZ2UnLCBzaXplOiAnc21hbGwnLCBzY3JvbGw6IHNjcm9sbCwgXG4gICAgICAgIC8vIEluIGEgZGlhbG9nIHRoZSBEaWFsb2cgcGFuZWwgY2FycmllcyB0aGUgd2lkdGggKEJhc2VEaWFsb2cgcmVhZHMgdGhlXG4gICAgICAgIC8vIHNhbWUgZW50cnkpIGFuZCB0aGUgbGF5b3V0IGZpbGxzIGl0OiBzaXppbmcgYSBiYXJlIHBhbmVsIGZyb20gaXRzXG4gICAgICAgIC8vIGNoaWxkIGhpdHMgdGhlIHNocmluay10by1maXQgcGVyY2VudGFnZSBjaXJjdWxhcml0eS5cbiAgICAgICAgd2lkdGg6IHdpZHRoICE9PSBudWxsICYmIHdpZHRoICE9PSB2b2lkIDAgPyB3aWR0aCA6ICh2YXJpYW50ID09PSAnbW9kYWwnID8gJzEwMCUnIDogY29uZmlnLndpZHRoKSwgY2xhc3NOYW1lOiBqb2luQ2xzKGNsYXNzZXMoKSwgY2xhc3Nlcyh2YXJpYW50KSwgY2xhc3NOYW1lKSwgc3R5bGU6IHsgJy0tZm9ybS1sYXlvdXQtYWN0aW9uLWdhcCc6IGAke2NvbmZpZy5hY3Rpb25HYXB9cHhgIH0sIHRpdGxlOiBoZWFkZXIsIGZvb3RlcjogZm9vdGVyLCBjaGlsZHJlbjogY2hpbGRyZW4gfSkpO1xufTtcbmV4cG9ydCBjb25zdCBQYW5lbExheW91dCA9IG1lbW8oUGFuZWxMYXlvdXRCYXNlKTsiLG51bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
export declare const PANEL_LAYOUT_PREFIX = "panel-layout";
|
|
2
|
+
/** Back-arrow control: 24px icon, and its accessible name. */
|
|
3
|
+
export declare const PANEL_LAYOUT_BACK_ICON_SIZE = 24;
|
|
4
|
+
export declare const PANEL_LAYOUT_BACK_LABEL = "Go back";
|
|
5
|
+
/**
|
|
6
|
+
* THE density table for content panels — the single thing to edit when the
|
|
7
|
+
* design changes. Same shape as `FORM_LAYOUT_CONFIG`: one entry per host, so
|
|
8
|
+
* a divergence between the two is a value change, never a structural one.
|
|
9
|
+
*
|
|
10
|
+
* The two entries are currently IDENTICAL, and that is the design: a panel
|
|
11
|
+
* renders the same on a page and in a dialog, the only difference being
|
|
12
|
+
* whether a `Dialog(bare)` is wrapped around it. They are still spelled out
|
|
13
|
+
* separately so that (a) the sameness reads as deliberate rather than as an
|
|
14
|
+
* oversight, and (b) a divergence later is a value change here and nothing
|
|
15
|
+
* else — no consumer passes these numbers, they only pass `variant`.
|
|
16
|
+
*
|
|
17
|
+
* `width` is the panel width used in BOTH hosts (380). It is NOT inherited
|
|
18
|
+
* from FormLayout's `page/small` density — that entry is 448, the app's
|
|
19
|
+
* sign-in card, a different surface. Only the padding (24) and the region gap
|
|
20
|
+
* (16) come from that density, and those already match. Inside a dialog the
|
|
21
|
+
* value goes on the Dialog panel and the layout fills at 100%: sizing a bare
|
|
22
|
+
* panel from its child hits the shrink-to-fit percentage circularity (the
|
|
23
|
+
* same reason FormDialog gives).
|
|
24
|
+
*/
|
|
25
|
+
export declare const PANEL_LAYOUT_CONFIG: {
|
|
26
|
+
/** Standalone on a page. */
|
|
27
|
+
readonly page: {
|
|
28
|
+
/** Panel width (px). */
|
|
29
|
+
readonly width: 380;
|
|
30
|
+
/** Illustration above the header copy (px). */
|
|
31
|
+
readonly illustrationSize: 52;
|
|
32
|
+
/** Footer action button size. */
|
|
33
|
+
readonly buttonSize: "medium";
|
|
34
|
+
/** Gap between footer action buttons (px); ActionBar reads it via var. */
|
|
35
|
+
readonly actionGap: 8;
|
|
36
|
+
};
|
|
37
|
+
/** Inside a dialog, wrapped by `BaseDialog` in a `Dialog(bare)`. */
|
|
38
|
+
readonly modal: {
|
|
39
|
+
readonly width: 380;
|
|
40
|
+
readonly illustrationSize: 52;
|
|
41
|
+
readonly buttonSize: "medium";
|
|
42
|
+
readonly actionGap: 8;
|
|
43
|
+
};
|
|
44
|
+
};
|
|
45
|
+
export type PanelLayoutVariant = keyof typeof PANEL_LAYOUT_CONFIG;
|
|
46
|
+
export declare const resolvePanelLayoutConfig: (variant: PanelLayoutVariant) => {
|
|
47
|
+
/** Panel width (px). */
|
|
48
|
+
readonly width: 380;
|
|
49
|
+
/** Illustration above the header copy (px). */
|
|
50
|
+
readonly illustrationSize: 52;
|
|
51
|
+
/** Footer action button size. */
|
|
52
|
+
readonly buttonSize: "medium";
|
|
53
|
+
/** Gap between footer action buttons (px); ActionBar reads it via var. */
|
|
54
|
+
readonly actionGap: 8;
|
|
55
|
+
} | {
|
|
56
|
+
readonly width: 380;
|
|
57
|
+
readonly illustrationSize: 52;
|
|
58
|
+
readonly buttonSize: "medium";
|
|
59
|
+
readonly actionGap: 8;
|
|
60
|
+
};
|