@cakemail-org/ui-components-v2 2.2.115 → 2.2.117
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/dist/cjs/components/scopePicker/index.d.ts +3 -0
- package/dist/cjs/components/scopePicker/scopeGroups.d.ts +9 -2
- package/dist/cjs/components/sideMenu/types.d.ts +1 -0
- package/dist/cjs/index.js +233 -102
- package/dist/cjs/utils/service.d.ts +1 -0
- package/dist/esm/components/scopePicker/index.d.ts +3 -0
- package/dist/esm/components/scopePicker/scopeGroups.d.ts +9 -2
- package/dist/esm/components/sideMenu/types.d.ts +1 -0
- package/dist/esm/index.js +232 -103
- package/dist/esm/utils/service.d.ts +1 -0
- package/package.json +5 -2
package/dist/esm/index.js
CHANGED
|
@@ -509,8 +509,37 @@ function fetchRetry(_a) {
|
|
|
509
509
|
});
|
|
510
510
|
}
|
|
511
511
|
}).catch(function (e) {
|
|
512
|
-
onError
|
|
513
|
-
|
|
512
|
+
// Return the result of onError: on a retry it resolves to the recursive
|
|
513
|
+
// fetchRetry promise, so the caller receives the retried response. Without
|
|
514
|
+
// the return the chain would resolve to undefined and silently swallow it.
|
|
515
|
+
return onError(e);
|
|
516
|
+
});
|
|
517
|
+
}
|
|
518
|
+
// Single-resource API responses may be flat (the object itself) or enveloped as
|
|
519
|
+
// `{ data }`. Returns the inner payload in both cases; a flat object (no `data`
|
|
520
|
+
// key) is returned as-is. Centralizes the unwrap used by single-resource factories.
|
|
521
|
+
function unwrapResponse(data) {
|
|
522
|
+
// Reject null/undefined/empty-string/non-object bodies (e.g. a 204) loudly
|
|
523
|
+
// instead of building a model with undefined fields.
|
|
524
|
+
if (data == null || typeof data !== "object") {
|
|
525
|
+
throw new Error("API returned an empty or non-object response");
|
|
526
|
+
}
|
|
527
|
+
// Enveloped responses wrap the resource in a `data` field; flat responses are
|
|
528
|
+
// the resource object itself. When the envelope is present, its payload MUST
|
|
529
|
+
// be a non-array object — a null/array/scalar `data` is a malformed response
|
|
530
|
+
// and throws, rather than silently yielding the envelope as the resource.
|
|
531
|
+
if ("data" in data) {
|
|
532
|
+
var inner = data.data;
|
|
533
|
+
if (inner == null || typeof inner !== "object" || Array.isArray(inner)) {
|
|
534
|
+
throw new Error("API returned a null, array, or non-object payload");
|
|
535
|
+
}
|
|
536
|
+
return inner;
|
|
537
|
+
}
|
|
538
|
+
// Flat response: the object itself is the payload (but never an array).
|
|
539
|
+
if (Array.isArray(data)) {
|
|
540
|
+
throw new Error("API returned an array where a single resource was expected");
|
|
541
|
+
}
|
|
542
|
+
return data;
|
|
514
543
|
}
|
|
515
544
|
|
|
516
545
|
function getStorage(_a) {
|
|
@@ -6457,8 +6486,8 @@ function styleInject(css, ref) {
|
|
|
6457
6486
|
}
|
|
6458
6487
|
}
|
|
6459
6488
|
|
|
6460
|
-
var css_248z$
|
|
6461
|
-
styleInject(css_248z$
|
|
6489
|
+
var css_248z$z = ".actionBarContainer-component-v2 {\n left: 0;\n position: fixed;\n z-index: 8999;\n display: flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n width: 100%;\n pointer-events: none;\n}\n.actionBarContainer-component-v2:not(.open) {\n display: none;\n}\n.actionBarContainer-component-v2.open {\n display: flex;\n}\n.actionBarContainer-component-v2.bottom {\n bottom: 2rem;\n}\n.actionBarContainer-component-v2.bottom .barsContainer > * {\n margin-top: 1rem;\n}\n.actionBarContainer-component-v2.top {\n top: 2rem;\n}\n.actionBarContainer-component-v2.top .barsContainer > * {\n margin-bottom: 1rem;\n}\n.actionBarContainer-component-v2 .barsContainer {\n pointer-events: all;\n min-width: -moz-max-content;\n min-width: max-content;\n}\n.actionBarContainer-component-v2 .barsContainer > * {\n max-width: unset;\n}\n.actionBarContainer-component-v2 .barsContainer > *:not(.manualContent) {\n border-radius: 8px;\n background-color: var(--white, #FFFFFF);\n box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.15);\n padding: 1.5rem;\n min-width: 29rem;\n box-sizing: border-box;\n}\n.actionBarContainer-component-v2 .barsContainer > * .fullBar-component > .left > div:not(:first-child) {\n margin-left: 1rem;\n}\n.actionBarContainer-component-v2 .barsContainer > * .fullBar-component > .middle,\n.actionBarContainer-component-v2 .barsContainer > * .fullBar-component > .right {\n margin-left: 3rem;\n}\n.actionBarContainer-component-v2 .barsContainer > * .fullBar-component > .middle > div:first-child,\n.actionBarContainer-component-v2 .barsContainer > * .fullBar-component > .right > div:first-child {\n margin-right: 0;\n}\n.actionBarContainer-component-v2 .barsContainer > * .fullBar-component > .middle > div:not(:first-child),\n.actionBarContainer-component-v2 .barsContainer > * .fullBar-component > .right > div:not(:first-child) {\n margin-left: 0.75rem;\n}\n.actionBarContainer-component-v2 .barsContainer > * p,\n.actionBarContainer-component-v2 .barsContainer > * button {\n white-space: nowrap;\n}";
|
|
6490
|
+
styleInject(css_248z$z);
|
|
6462
6491
|
|
|
6463
6492
|
var ActionBarContainer = forwardRef(function (props, ref) {
|
|
6464
6493
|
var refState = useRef({ open: false });
|
|
@@ -7654,8 +7683,8 @@ function Icon(_a) {
|
|
|
7654
7683
|
return React__default.createElement(React__default.Fragment, null, Component ? React__default.createElement(SvgIcon, __assign({ fontSize: fontSize, sx: __assign(__assign({}, sx), csx) }, iconProps, { component: Component })) : "");
|
|
7655
7684
|
}
|
|
7656
7685
|
|
|
7657
|
-
var css_248z$
|
|
7658
|
-
styleInject(css_248z$
|
|
7686
|
+
var css_248z$y = ".circulatProgress-component-v2.content {\n flex: 1;\n}\n.circulatProgress-component-v2.container {\n position: absolute;\n}\n.circulatProgress-component-v2.page {\n position: fixed;\n}\n.circulatProgress-component-v2.page, .circulatProgress-component-v2.container {\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n}\n.circulatProgress-component-v2.content, .circulatProgress-component-v2.container, .circulatProgress-component-v2.page {\n display: flex;\n align-items: center;\n justify-content: center;\n}";
|
|
7687
|
+
styleInject(css_248z$y);
|
|
7659
7688
|
|
|
7660
7689
|
function CircularProgress(_a) {
|
|
7661
7690
|
var color = _a.color, _b = _a.location, location = _b === void 0 ? "default" : _b, props = __rest(_a, ["color", "location"]);
|
|
@@ -7669,8 +7698,8 @@ function LinearProgress(_a) {
|
|
|
7669
7698
|
return React__default.createElement(LinearProgress$1, __assign({}, props, { color: color, className: classes }));
|
|
7670
7699
|
}
|
|
7671
7700
|
|
|
7672
|
-
var css_248z$
|
|
7673
|
-
styleInject(css_248z$
|
|
7701
|
+
var css_248z$x = ".loadingContainer-component-v2.keepChildren {\n position: relative;\n}\n.loadingContainer-component-v2.keepChildren .hiddenChildren {\n visibility: hidden;\n}\n.loadingContainer-component-v2.keepChildren .circulatProgress-component-v2,\n.loadingContainer-component-v2.keepChildren .MuiLinearProgress-root {\n position: absolute;\n display: flex;\n justify-content: center;\n align-items: center;\n}";
|
|
7702
|
+
styleInject(css_248z$x);
|
|
7674
7703
|
|
|
7675
7704
|
function LoadingContainer(_a) {
|
|
7676
7705
|
var _b = _a.loading, loading = _b === void 0 ? false : _b, children = _a.children, _c = _a.variant, variant = _c === void 0 ? "circular" : _c, width = _a.width, _d = _a.className, className = _d === void 0 ? "" : _d, keepChildren = _a.keepChildren, // Works with contenet not in iframes
|
|
@@ -7693,8 +7722,8 @@ function LoadingContainer(_a) {
|
|
|
7693
7722
|
React__default.createElement(Container, { className: "loadingContainer-component-v2 ".concat(className), sx: { display: "flex", alignItems: "center", justifyContent: "center", width: "100%" } }, loader)));
|
|
7694
7723
|
}
|
|
7695
7724
|
|
|
7696
|
-
var css_248z$
|
|
7697
|
-
styleInject(css_248z$
|
|
7725
|
+
var css_248z$w = ".textfield-component-v2 {\n position: relative;\n}\n.textfield-component-v2.small .MuiSvgIcon-root {\n top: 1.4rem !important;\n}\n.textfield-component-v2.disabled {\n opacity: 0.65;\n pointer-events: none;\n}\n.textfield-component-v2 .MuiSvgIcon-root ~ .MuiFormControl-root .MuiInputBase-input {\n padding-left: 42px;\n}\n.textfield-component-v2 .MuiSvgIcon-root {\n position: absolute;\n left: 1rem;\n top: 1.65rem;\n transform: translateY(-50%);\n z-index: 1;\n}\n\n.locationTextField-component-v2 {\n position: relative;\n}\n.locationTextField-component-v2 .autocomplete-dropdown-container {\n position: absolute;\n width: 100%;\n z-index: 10000;\n}\n\n.phoneTextField-component-v2 .MuiInputAdornment-root .MuiSelect-select {\n padding-right: 1.75rem !important;\n}\n.phoneTextField-component-v2 .MuiInputAdornment-root .MuiSelect-icon {\n display: inline-block;\n right: 0.5rem;\n}\n\n.react-international-phone-flag-emoji {\n width: 1.5rem;\n height: 1.5rem;\n}\n\n.colorTextField-component-v2 {\n position: relative;\n}\n.colorTextField-component-v2 .boxedColor {\n position: absolute;\n width: 20px;\n height: 20px;\n border-radius: 20px;\n left: 1rem;\n top: 1.65rem;\n transform: translateY(-50%);\n z-index: 1;\n}\n.colorTextField-component-v2 .boxedColor .MuiSvgIcon-root {\n width: unset;\n height: unset;\n}\n.colorTextField-component-v2 .boxedColor::after {\n position: absolute;\n width: 6px;\n height: 6px;\n content: \"\";\n background-color: var(--white, #FFFFFF);\n border-radius: 20px;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n}\n.colorTextField-component-v2 .boxedColor ~ .textfield-component-v2 .MuiInputBase-input {\n padding-left: 44px;\n}\n.colorTextField-component-v2.bottom .react-colorful {\n top: 3.5rem;\n}\n.colorTextField-component-v2.top .react-colorful {\n bottom: 4rem;\n}\n.colorTextField-component-v2 .react-colorful {\n width: 100%;\n position: absolute;\n}";
|
|
7726
|
+
styleInject(css_248z$w);
|
|
7698
7727
|
|
|
7699
7728
|
var TextField = forwardRef(function (_a, ref) {
|
|
7700
7729
|
var _b = _a.className, className = _b === void 0 ? "" : _b, label = _a.label, timeout = _a.timeout, labelTooltipText = _a.labelTooltipText, disabled = _a.disabled, useBareBoneInput = _a.useBareBoneInput, onChange = _a.onChange, multiline = _a.multiline, inputProps = _a.inputProps, iconName = _a.iconName, onKeyDown = _a.onKeyDown, size = _a.size, props = __rest(_a, ["className", "label", "timeout", "labelTooltipText", "disabled", "useBareBoneInput", "onChange", "multiline", "inputProps", "iconName", "onKeyDown", "size"]);
|
|
@@ -7749,8 +7778,8 @@ var TextField = forwardRef(function (_a, ref) {
|
|
|
7749
7778
|
React__default.createElement(MUITextField, __assign({}, props, { inputProps: inputProps, onChange: useBareBoneInput ? onChange : onChangeHandler, label: cLabel, disabled: disabled, onKeyDown: handleKeyDown, multiline: multiline, inputRef: ref, size: size })));
|
|
7750
7779
|
});
|
|
7751
7780
|
|
|
7752
|
-
var css_248z$
|
|
7753
|
-
styleInject(css_248z$
|
|
7781
|
+
var css_248z$v = ".assetmanager-component-v2 {\n box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.15);\n background: var(--background-color-1, var(--white, #FFFFFF));\n min-width: 25rem;\n width: 100%;\n}\n.assetmanager-component-v2 .loadingContainer-component-v2 {\n padding: 3rem;\n}\n.assetmanager-component-v2 .container {\n padding: 0.75rem;\n}\n.assetmanager-component-v2 .container > div.textInputContainer {\n display: flex;\n border: solid 1px var(--wild-sand, #dddddd);\n border-radius: 6px;\n justify-content: flex-start;\n align-items: center;\n}\n.assetmanager-component-v2 .container > div.textInputContainer > div .MuiSvgIcon-root {\n display: block;\n cursor: pointer;\n}\n.assetmanager-component-v2 .container > div.textInputContainer > div:first-child {\n padding: 0 0.75rem 0 0.75rem;\n height: 100%;\n}\n.assetmanager-component-v2 .container > div.textInputContainer > div:last-child:not(.textfield-component-v2) {\n padding: 0 0.875rem;\n height: 100%;\n}\n.assetmanager-component-v2 .container > div.textInputContainer .textfield-component-v2 {\n width: 100%;\n}\n.assetmanager-component-v2 .container > div.textInputContainer .textfield-component-v2 fieldset {\n outline: none !important;\n border: none !important;\n}\n.assetmanager-component-v2 .container > div.textInputContainer .textfield-component-v2 input {\n padding: 0.5rem 0 !important;\n}\n.assetmanager-component-v2 .container .optionsListingContainer {\n padding: 0 1.25rem 0.5rem 1.25rem;\n margin: 1.25rem 0 0.5rem 0;\n max-height: 20rem;\n overflow-y: auto;\n}\n.assetmanager-component-v2 .container .optionsListingContainer button {\n text-transform: capitalize;\n}\n.assetmanager-component-v2 .container .optionsListingContainer::-webkit-scrollbar {\n display: block;\n}\n.assetmanager-component-v2 .container .optionsListingContainer::-webkit-scrollbar-track:horizontal {\n position: absolute;\n bottom: -20px;\n}\n.assetmanager-component-v2 .container .optionsListingContainer::-webkit-scrollbar-track:vertical {\n border-bottom-left-radius: 0 !important;\n border-bottom-right-radius: 8px !important;\n border-top-right-radius: 8px !important;\n}\n.assetmanager-component-v2 .container .optionsListingContainer::-webkit-scrollbar-track {\n height: 2.5rem;\n width: 2.5rem;\n padding: 2rem;\n background-clip: content-box;\n border-bottom-left-radius: 8px;\n}\n.assetmanager-component-v2 .container .optionsListingContainer::-webkit-scrollbar-thumb {\n background: var(--body-font-color-2, var(--silver, #9B9B9B));\n border-radius: 24px;\n border-top: 5px solid var(--background-color-1, var(--white, #FFFFFF));\n border-bottom: 5px solid var(--background-color-1, var(--white, #FFFFFF));\n border-right: 5px solid var(--background-color-1, var(--white, #FFFFFF));\n border-left: 5px solid var(--background-color-1, var(--white, #FFFFFF));\n}\n.assetmanager-component-v2 .container .optionsListingContainer > div:first-child:not(.listItem) {\n padding-bottom: 0.75rem;\n text-transform: uppercase;\n font-weight: 700;\n color: var(--body-font-color, var(--dark-matter, #2B2B2B));\n}\n.assetmanager-component-v2 .container .optionsListingContainer > p.h8 {\n margin-bottom: 1rem;\n color: var(--body-font-color, var(--dark-matter, #2B2B2B));\n}\n.assetmanager-component-v2 .container .optionsListingContainer p.h8 {\n flex: 1;\n font-family: proxima-nova, Lucida Grande, Lucida Sans Unicode, Lucida Sans, Geneva, Verdana, sans-serif;\n text-transform: uppercase;\n font-weight: 700;\n line-height: 1rem;\n font-size: 0.75rem;\n}\n.assetmanager-component-v2 .container .optionsListingContainer .listItem {\n display: flex;\n justify-content: space-between;\n align-items: center;\n min-height: 2rem;\n}\n.assetmanager-component-v2 .container .optionsListingContainer .listItem p.h8 {\n color: var(--body-font-color-2, var(--silver, #9B9B9B));\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n}\n.assetmanager-component-v2 .container .optionsListingContainer .listItem > .MuiSvgIcon-root {\n margin-right: 1rem;\n}\n.assetmanager-component-v2 .container .optionsListingContainer .listItem.selected p.h8 {\n color: var(--secondary-brand-color, var(--teal, #0ABDAE));\n padding-right: 1rem;\n max-width: 100%;\n}\n.assetmanager-component-v2 .container .optionsListingContainer .listItem.selected .MuiSvgIcon-root span svg path {\n fill: var(--secondary-brand-color, var(--teal, #0ABDAE));\n}\n.assetmanager-component-v2 .container .optionsListingContainer .listItem .buttonContainer {\n margin-left: 1rem;\n visibility: hidden;\n}\n.assetmanager-component-v2 .container .optionsListingContainer .listItem .buttonContainer button:nth-child(2) {\n margin-left: 0.5rem;\n}\n.assetmanager-component-v2 .container .optionsListingContainer .listItem:hover .buttonContainer {\n visibility: visible;\n}\n.assetmanager-component-v2 > button:last-child {\n width: 100%;\n text-transform: uppercase;\n font-family: proxima-nova, Lucida Grande, Lucida Sans Unicode, Lucida Sans, Geneva, Verdana, sans-serif;\n height: 3rem;\n border-top: 1px solid var(--wild-sand, #dddddd) !important;\n outline: none;\n border-radius: 0;\n font-weight: 700;\n}";
|
|
7782
|
+
styleInject(css_248z$v);
|
|
7754
7783
|
|
|
7755
7784
|
var EAssetManagerMatchType;
|
|
7756
7785
|
(function (EAssetManagerMatchType) {
|
|
@@ -8228,8 +8257,8 @@ function DialogTitle(_a) {
|
|
|
8228
8257
|
React__default.createElement(Typography, { className: className, variant: variant }, children));
|
|
8229
8258
|
}
|
|
8230
8259
|
|
|
8231
|
-
var css_248z$
|
|
8232
|
-
styleInject(css_248z$
|
|
8260
|
+
var css_248z$u = ".dialog-component-v2 {\n box-sizing: border-box;\n z-index: 9000 !important;\n}\n.dialog-component-v2.alert {\n pointer-events: none;\n}\n.dialog-component-v2.alert .MuiBackdrop-root {\n display: none;\n}\n.dialog-component-v2.alert > .MuiDialog-container > .MuiPaper-root {\n border-radius: 8px;\n pointer-events: all;\n width: -moz-max-content;\n width: max-content;\n padding: 1rem;\n}\n.dialog-component-v2.alert > .MuiDialog-container > .MuiPaper-root .MuiDialogContent-root {\n text-align: left;\n padding: 0.25rem 0 0;\n}\n.dialog-component-v2:not(.alert) > .MuiDialog-container > .MuiPaper-root {\n border-radius: 16px;\n max-width: 500px;\n width: 100%;\n max-height: calc(100vh - 2rem);\n padding: 2rem;\n}\n.dialog-component-v2:not(.alert) > .MuiDialog-container > .MuiPaper-root::-webkit-scrollbar {\n display: block;\n}\n.dialog-component-v2:not(.alert) > .MuiDialog-container > .MuiPaper-root::-webkit-scrollbar-track:horizontal {\n position: absolute;\n bottom: -20px;\n}\n.dialog-component-v2:not(.alert) > .MuiDialog-container > .MuiPaper-root::-webkit-scrollbar-track:vertical {\n border-bottom-left-radius: 0 !important;\n border-bottom-right-radius: 8px !important;\n border-top-right-radius: 8px !important;\n}\n.dialog-component-v2:not(.alert) > .MuiDialog-container > .MuiPaper-root::-webkit-scrollbar-track {\n height: 2.5rem;\n width: 2.5rem;\n padding: 2rem;\n background-clip: content-box;\n border-bottom-left-radius: 8px;\n}\n.dialog-component-v2:not(.alert) > .MuiDialog-container > .MuiPaper-root::-webkit-scrollbar-thumb {\n background: var(--body-font-color-2, var(--silver, #9B9B9B));\n border-radius: 24px;\n border-top: 5px solid var(--background-color-1, var(--white, #FFFFFF));\n border-bottom: 5px solid var(--background-color-1, var(--white, #FFFFFF));\n border-right: 5px solid var(--background-color-1, var(--white, #FFFFFF));\n border-left: 5px solid var(--background-color-1, var(--white, #FFFFFF));\n}\n.dialog-component-v2 .dialogTitle .MuiSvgIcon-root {\n margin-right: 0.75rem;\n}\n.dialog-component-v2 .dialogTitle.warning .MuiSvgIcon-root path {\n fill: var(--warning-brand-color, var(--orange, #FF9E0E));\n}\n.dialog-component-v2 .dialogTitle.error .MuiSvgIcon-root path {\n fill: var(--error-brand-color, var(--rad-red, #FF4835));\n}\n.dialog-component-v2 .dialogTitle.success .MuiSvgIcon-root path {\n fill: var(--secondary-brand-color, var(--teal, #0ABDAE));\n}";
|
|
8261
|
+
styleInject(css_248z$u);
|
|
8233
8262
|
|
|
8234
8263
|
var Dialog = forwardRef(function (props, ref) {
|
|
8235
8264
|
var refState = useRef({ open: false });
|
|
@@ -8319,8 +8348,8 @@ var Dialog = forwardRef(function (props, ref) {
|
|
|
8319
8348
|
!state.managedByContent && props.children);
|
|
8320
8349
|
});
|
|
8321
8350
|
|
|
8322
|
-
var css_248z$
|
|
8323
|
-
styleInject(css_248z$
|
|
8351
|
+
var css_248z$t = "";
|
|
8352
|
+
styleInject(css_248z$t);
|
|
8324
8353
|
|
|
8325
8354
|
var Drawer = forwardRef(function (props, ref) {
|
|
8326
8355
|
var _a = useState(props.open || false), isOpen = _a[0], setIsOpen = _a[1];
|
|
@@ -8367,16 +8396,16 @@ var Drawer = forwardRef(function (props, ref) {
|
|
|
8367
8396
|
return React__default.createElement(MuiDrawer, { open: isOpen, variant: state.variant, onClose: handleClose, className: "drawer-component-v2 ".concat(state.className), anchor: state.position, transitionDuration: state.transitionDuration }, props.children || state.children);
|
|
8368
8397
|
});
|
|
8369
8398
|
|
|
8370
|
-
var css_248z$
|
|
8371
|
-
styleInject(css_248z$
|
|
8399
|
+
var css_248z$s = ".contentSectionContainer {\n padding: 2rem;\n flex: 1;\n display: flex;\n flex-direction: column;\n justify-content: flex-start;\n overflow: auto;\n}\n.contentSectionContainer > *:not(:first-child) {\n margin-top: 2rem;\n}\n.contentSectionContainer > *:not(:last-child) {\n flex: 0;\n}\n.contentSectionContainer > *:last-child {\n flex: 1;\n}";
|
|
8400
|
+
styleInject(css_248z$s);
|
|
8372
8401
|
|
|
8373
8402
|
function ContentSectionContainer(_a) {
|
|
8374
8403
|
var _b = _a.className, className = _b === void 0 ? "" : _b, children = _a.children;
|
|
8375
8404
|
return React__default.createElement(Box, { className: "contentSectionContainer ".concat(className) }, children);
|
|
8376
8405
|
}
|
|
8377
8406
|
|
|
8378
|
-
var css_248z$
|
|
8379
|
-
styleInject(css_248z$
|
|
8407
|
+
var css_248z$r = ".fullBar-component-v2 {\n position: relative;\n flex-wrap: wrap;\n}\n.fullBar-component-v2 > div {\n position: unset;\n}\n.fullBar-component-v2 .left > *:nth-child(n+2),\n.fullBar-component-v2 .center > *:nth-child(n+2),\n.fullBar-component-v2 .right > *:nth-child(n+2) {\n margin-left: 0.75rem;\n}";
|
|
8408
|
+
styleInject(css_248z$r);
|
|
8380
8409
|
|
|
8381
8410
|
function FullBar(props) {
|
|
8382
8411
|
if (props === void 0) { props = {}; }
|
|
@@ -8390,8 +8419,8 @@ function FullBar(props) {
|
|
|
8390
8419
|
React__default.createElement(Stack$1, __assign({ direction: "row" }, rightProps, { sx: __assign({ alignItems: "center", justifyContent: "right", fex: 1 }, rightSX), className: "right" }), right));
|
|
8391
8420
|
}
|
|
8392
8421
|
|
|
8393
|
-
var css_248z$
|
|
8394
|
-
styleInject(css_248z$
|
|
8422
|
+
var css_248z$q = ".logo-component-v2 {\n line-height: 0;\n}";
|
|
8423
|
+
styleInject(css_248z$q);
|
|
8395
8424
|
|
|
8396
8425
|
function Logo(_a) {
|
|
8397
8426
|
var url = _a.url, _b = _a.className, className = _b === void 0 ? "" : _b, _c = _a.imgProps, imgProps = _c === void 0 ? {} : _c;
|
|
@@ -8401,8 +8430,8 @@ function Logo(_a) {
|
|
|
8401
8430
|
React__default.createElement("img", __assign({ src: url, style: __assign({ maxHeight: "45px", maxWidth: "200px" }, styles) }, imgProps)));
|
|
8402
8431
|
}
|
|
8403
8432
|
|
|
8404
|
-
var css_248z$
|
|
8405
|
-
styleInject(css_248z$
|
|
8433
|
+
var css_248z$p = ".modal-component-v2 {\n position: fixed;\n top: 0;\n left: 0;\n width: 100vw;\n height: 100vh;\n background: var(--white, #FFFFFF);\n z-index: 8500;\n flex-direction: column;\n}\n.modal-component-v2.spacedHeader .fullBar-component-v2 {\n padding: 2rem 2rem 0 2rem;\n}\n.modal-component-v2.open {\n display: flex;\n}\n.modal-component-v2:not(.open) {\n display: none;\n}\n.modal-component-v2 .vSeperator {\n width: 1px;\n height: 50%;\n background: var(--wild-sand, #dddddd);\n}\n.modal-component-v2:not(.spacedHeader) > .fullBar-component-v2 {\n background: var(--shade100, #F3F2F2);\n}\n.modal-component-v2 > .fullBar-component-v2 {\n flex: 0;\n padding: 0.75rem 1.5rem;\n}\n.modal-component-v2 > .fullBar-component-v2 .subNav-component-v2 button {\n padding-top: 0;\n padding-bottom: 0;\n}\n.modal-component-v2 > .fullBar-component-v2 .left > *:nth-child(n+2) {\n margin-left: 1rem;\n}\n.modal-component-v2 > div:not(.fullBar-component-v2) {\n flex: 1;\n}\n.modal-component-v2 .contentSectionContainer {\n display: flex;\n align-items: center;\n overflow-y: auto;\n}";
|
|
8434
|
+
styleInject(css_248z$p);
|
|
8406
8435
|
|
|
8407
8436
|
function ModalHeading(props) {
|
|
8408
8437
|
if (props === void 0) { props = {}; }
|
|
@@ -8492,8 +8521,8 @@ var Modal = forwardRef(function (props, ref) {
|
|
|
8492
8521
|
React__default.createElement(ContentSectionContainer, null, state.content))));
|
|
8493
8522
|
});
|
|
8494
8523
|
|
|
8495
|
-
var css_248z$
|
|
8496
|
-
styleInject(css_248z$
|
|
8524
|
+
var css_248z$o = ".overlay-component-v2 {\n position: fixed;\n top: 0;\n left: 0;\n width: 100vw;\n height: 100vh;\n background: rgba(0, 0, 0, 0.5);\n z-index: 9000;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n.overlay-component-v2 .container {\n background: var(--white, #FFFFFF);\n border-radius: 16px;\n width: 80%;\n height: 80%;\n}\n.overlay-component-v2 .container .contentSectionContainer > div {\n width: 100%;\n}\n.overlay-component-v2 .container .vSeperator {\n width: 1px;\n height: 50%;\n background: var(--wild-sand, #dddddd);\n}\n.overlay-component-v2 .container > .fullBar-component-v2 {\n flex: 0;\n padding: 0.75rem 0.75rem;\n border-bottom: 1px solid var(--wild-sand, #dddddd);\n}\n.overlay-component-v2 .container > .fullBar-component-v2 .subNav-component-v2 button {\n padding-top: 0;\n padding-bottom: 0;\n}\n.overlay-component-v2 .container > .fullBar-component-v2 .left > *:nth-child(n+2) {\n margin-left: 1rem;\n}\n.overlay-component-v2 .container > div:not(.fullBar-component-v2) {\n flex: 1;\n}\n.overlay-component-v2 .container .contentSectionContainer {\n display: flex;\n align-items: center;\n overflow-y: auto;\n}\n.overlay-component-v2.open {\n display: flex;\n}\n.overlay-component-v2:not(.open) {\n display: none;\n}";
|
|
8525
|
+
styleInject(css_248z$o);
|
|
8497
8526
|
|
|
8498
8527
|
function OverlayHeading(props) {
|
|
8499
8528
|
if (props === void 0) { props = {}; }
|
|
@@ -8582,8 +8611,8 @@ var Overlay = forwardRef(function (props, ref) {
|
|
|
8582
8611
|
React__default.createElement(ContentSectionContainer, null, state.content)))));
|
|
8583
8612
|
});
|
|
8584
8613
|
|
|
8585
|
-
var css_248z$
|
|
8586
|
-
styleInject(css_248z$
|
|
8614
|
+
var css_248z$n = ".ui-kit-v2-wrapper {\n width: 100%;\n flex: 1;\n display: flex;\n flex-direction: column;\n}";
|
|
8615
|
+
styleInject(css_248z$n);
|
|
8587
8616
|
|
|
8588
8617
|
function BrandWrapper(_a) {
|
|
8589
8618
|
_a.onInit; var _b = _a.onBrandSuccess, onBrandSuccess = _b === void 0 ? function () { } : _b, _c = _a.onBrandError, onBrandError = _c === void 0 ? function () { } : _c, MUITheme = _a.MUITheme, brandId = _a.brandId, brandHost = _a.brandHost, children = _a.children, _d = _a.noFetch, noFetch = _d === void 0 ? false : _d, _e = _a.setPageHead, setPageHead = _e === void 0 ? true : _e, _f = _a.includeHandlers, includeHandlers = _f === void 0 ? true : _f, brandThemeContext = _a.brandThemeContext, styleOverride = _a.styleOverride;
|
|
@@ -8683,8 +8712,8 @@ function MenuOption(_a) {
|
|
|
8683
8712
|
React__default.createElement(Icon, { name: "Checkmark10" }))));
|
|
8684
8713
|
}
|
|
8685
8714
|
|
|
8686
|
-
var css_248z$
|
|
8687
|
-
styleInject(css_248z$
|
|
8715
|
+
var css_248z$m = ".dropMenu-component-v2.inlineMenu {\n position: relative;\n overflow-y: auto;\n margin-top: 0.75rem;\n max-height: 35vh;\n box-shadow: 0px 0px 15px 0px rgba(0, 0, 0, 0.1490196078);\n padding: 0.75rem;\n border-radius: 16px;\n min-width: 300;\n background: var(--background-color-1, var(--white, #FFFFFF));\n box-sizing: border-box;\n}\n.dropMenu-component-v2.inlineMenu::-webkit-scrollbar {\n display: block;\n}\n.dropMenu-component-v2.inlineMenu::-webkit-scrollbar-track:horizontal {\n position: absolute;\n bottom: -20px;\n}\n.dropMenu-component-v2.inlineMenu::-webkit-scrollbar-track:vertical {\n border-bottom-left-radius: 0 !important;\n border-bottom-right-radius: 8px !important;\n border-top-right-radius: 8px !important;\n}\n.dropMenu-component-v2.inlineMenu::-webkit-scrollbar-track {\n height: 2.5rem;\n width: 2.5rem;\n padding: 2rem;\n background-clip: content-box;\n border-bottom-left-radius: 8px;\n}\n.dropMenu-component-v2.inlineMenu::-webkit-scrollbar-thumb {\n background: var(--body-font-color-2, var(--silver, #9B9B9B));\n border-radius: 24px;\n border-top: 5px solid var(--background-color-1, var(--white, #FFFFFF));\n border-bottom: 5px solid var(--background-color-1, var(--white, #FFFFFF));\n border-right: 5px solid var(--background-color-1, var(--white, #FFFFFF));\n border-left: 5px solid var(--background-color-1, var(--white, #FFFFFF));\n}";
|
|
8716
|
+
styleInject(css_248z$m);
|
|
8688
8717
|
|
|
8689
8718
|
function DropMenu(_a) {
|
|
8690
8719
|
var _b = _a.options, options = _b === void 0 ? [] : _b, _c = _a.popoverProps, popoverProps = _c === void 0 ? {
|
|
@@ -8709,8 +8738,8 @@ function DropMenu(_a) {
|
|
|
8709
8738
|
}
|
|
8710
8739
|
}
|
|
8711
8740
|
|
|
8712
|
-
var css_248z$
|
|
8713
|
-
styleInject(css_248z$
|
|
8741
|
+
var css_248z$l = ".buttonMenu-component-v2.MuiButton-sizeSmall {\n min-height: 2rem;\n}\n.buttonMenu-component-v2.MuiButton-sizeMedium {\n min-height: 3.125rem;\n}\n.buttonMenu-component-v2.MuiButton-sizeLarge {\n min-height: 3.75rem;\n}";
|
|
8742
|
+
styleInject(css_248z$l);
|
|
8714
8743
|
|
|
8715
8744
|
function ButtonMenu(_a) {
|
|
8716
8745
|
var children = _a.children, _b = _a.buttonProps, buttonProps = _b === void 0 ? {
|
|
@@ -8753,8 +8782,8 @@ function Chip(_a) {
|
|
|
8753
8782
|
return React__default.createElement(Chip$1, __assign({}, props, { className: classes, color: color }));
|
|
8754
8783
|
}
|
|
8755
8784
|
|
|
8756
|
-
var css_248z$
|
|
8757
|
-
styleInject(css_248z$
|
|
8785
|
+
var css_248z$k = ".codeInput-component > div {\n justify-content: center;\n align-items: center;\n}\n.codeInput-component > div input {\n box-sizing: border-box;\n width: 48px;\n height: 48px;\n padding: 1rem;\n border-radius: 8px;\n outline: none;\n color: var(--primary-brand-color, var(--grape, #69006E));\n font-size: 1rem;\n line-height: 1.25rem;\n text-align: center;\n margin: 0 0.5rem;\n}\n.codeInput-component > div input[type=number]::-webkit-inner-spin-button, .codeInput-component > div input[type=number]::-webkit-outer-spin-button {\n -webkit-appearance: none;\n margin: 0;\n}\n.codeInput-component > div input:-moz-placeholder {\n border: 1px solid var(--wild-sand, #dddddd);\n color: var(--body-font-color-2, var(--silver, #9B9B9B));\n}\n.codeInput-component > div input:placeholder-shown {\n border: 1px solid var(--wild-sand, #dddddd);\n color: var(--body-font-color-2, var(--silver, #9B9B9B));\n}\n.codeInput-component > div input:not(:-moz-placeholder) {\n border: 1px solid var(--secondary-brand-color, var(--teal, #0ABDAE));\n}\n.codeInput-component > div input:not(:placeholder-shown) {\n border: 1px solid var(--secondary-brand-color, var(--teal, #0ABDAE));\n}\n.codeInput-component > div input:first-child {\n margin-left: 0;\n}\n.codeInput-component > div input:last-child {\n margin-right: 0;\n}";
|
|
8786
|
+
styleInject(css_248z$k);
|
|
8758
8787
|
|
|
8759
8788
|
function CodeInput(_a) {
|
|
8760
8789
|
var className = _a.className, initValue = _a.initValue, value = _a.value, _b = _a.numInputs, numInputs = _b === void 0 ? 6 : _b, _c = _a.shouldAutoFocus, shouldAutoFocus = _c === void 0 ? true : _c, placeholder = _a.placeholder, renderSeparator = _a.renderSeparator, _d = _a.inputType, inputType = _d === void 0 ? "text" : _d, onChange = _a.onChange, onPaste = _a.onPaste;
|
|
@@ -8807,8 +8836,8 @@ function CustomPaginationActions(_a) {
|
|
|
8807
8836
|
React__default.createElement(Button, { onClick: handleLastPageButtonClick, disabled: page >= Math.ceil(count / rowsPerPage) - 1, "aria-label": "last page", variant: "outlined", color: "body1" }, "Last")));
|
|
8808
8837
|
}
|
|
8809
8838
|
|
|
8810
|
-
var css_248z$
|
|
8811
|
-
styleInject(css_248z$
|
|
8839
|
+
var css_248z$j = ".dataTable-component-v2 {\n position: relative;\n height: 100%;\n}\n.dataTable-component-v2 .MuiTableContainer-root {\n margin-bottom: 5rem;\n}\n.dataTable-component-v2 .MuiTableContainer-root::-webkit-scrollbar {\n display: block;\n}\n.dataTable-component-v2 .MuiTableContainer-root::-webkit-scrollbar-track:horizontal {\n position: absolute;\n bottom: -20px;\n}\n.dataTable-component-v2 .MuiTableContainer-root::-webkit-scrollbar-track:vertical {\n border-bottom-left-radius: 0 !important;\n border-bottom-right-radius: 8px !important;\n border-top-right-radius: 8px !important;\n}\n.dataTable-component-v2 .MuiTableContainer-root::-webkit-scrollbar-track {\n height: 2.5rem;\n width: 2.5rem;\n padding: 2rem;\n background-clip: content-box;\n border-bottom-left-radius: 8px;\n}\n.dataTable-component-v2 .MuiTableContainer-root::-webkit-scrollbar-thumb {\n background: var(--body-font-color-2, var(--silver, #9B9B9B));\n border-radius: 24px;\n border-top: 5px solid var(--background-color-1, var(--white, #FFFFFF));\n border-bottom: 5px solid var(--background-color-1, var(--white, #FFFFFF));\n border-right: 5px solid var(--background-color-1, var(--white, #FFFFFF));\n border-left: 5px solid var(--background-color-1, var(--white, #FFFFFF));\n}\n.dataTable-component-v2 .MuiTableContainer-root > table thead {\n border-bottom: 1px solid transparent;\n}\n.dataTable-component-v2 .MuiTableContainer-root > table th {\n vertical-align: middle;\n}\n.dataTable-component-v2 .MuiTableContainer-root > table th.sortable {\n cursor: pointer;\n}\n.dataTable-component-v2 .MuiTableContainer-root > table th.sortable .MuiTableSortLabel-root .MuiTableSortLabel-icon path {\n color: var(--body-font-color, var(--dark-matter, #2B2B2B));\n}\n.dataTable-component-v2 .MuiTableContainer-root > table th.sortable:hover .MuiTableSortLabel-root .MuiTableSortLabel-icon {\n opacity: 0.5;\n}\n.dataTable-component-v2 .MuiTableContainer-root > table th,\n.dataTable-component-v2 .MuiTableContainer-root > table td {\n white-space: nowrap;\n}\n.dataTable-component-v2 .MuiTableContainer-root > table th > .cellContainer,\n.dataTable-component-v2 .MuiTableContainer-root > table td > .cellContainer {\n width: -moz-max-content;\n width: max-content;\n}\n.dataTable-component-v2 .MuiTableContainer-root > table th.stickyLastCol::before,\n.dataTable-component-v2 .MuiTableContainer-root > table td.stickyLastCol::before {\n content: \"\";\n width: 19px;\n height: -webkit-fill-available;\n display: block;\n position: absolute;\n top: 0;\n}\n.dataTable-component-v2 .MuiTableContainer-root > table th.stickyFirstCol::after,\n.dataTable-component-v2 .MuiTableContainer-root > table td.stickyFirstCol::after {\n content: \"\";\n width: 19px;\n height: -webkit-fill-available;\n display: block;\n position: absolute;\n top: 0;\n}\n.dataTable-component-v2 .MuiTableContainer-root > table th.leftStickyEffect::before, .dataTable-component-v2 .MuiTableContainer-root > table th.rightStickyEffect::before,\n.dataTable-component-v2 .MuiTableContainer-root > table td.leftStickyEffect::before,\n.dataTable-component-v2 .MuiTableContainer-root > table td.rightStickyEffect::before {\n content: \"\";\n}\n.dataTable-component-v2 .MuiTableContainer-root > table th.leftStickyEffect::after, .dataTable-component-v2 .MuiTableContainer-root > table th.rightStickyEffect::after,\n.dataTable-component-v2 .MuiTableContainer-root > table td.leftStickyEffect::after,\n.dataTable-component-v2 .MuiTableContainer-root > table td.rightStickyEffect::after {\n content: \"\";\n background-size: 16px 16px, 16px 16px;\n background-repeat: no-repeat, no-repeat;\n}\n.dataTable-component-v2 .MuiTableContainer-root > table th.leftStickyEffect,\n.dataTable-component-v2 .MuiTableContainer-root > table td.leftStickyEffect {\n left: 0;\n}\n.dataTable-component-v2 .MuiTableContainer-root > table th.leftStickyEffect::after,\n.dataTable-component-v2 .MuiTableContainer-root > table td.leftStickyEffect::after {\n background-position: top left, bottom left;\n}\n.dataTable-component-v2 .MuiTableContainer-root > table th.rightStickyEffect,\n.dataTable-component-v2 .MuiTableContainer-root > table td.rightStickyEffect {\n right: 0;\n}\n.dataTable-component-v2 .MuiTableContainer-root > table th.rightStickyEffect::after,\n.dataTable-component-v2 .MuiTableContainer-root > table td.rightStickyEffect::after {\n right: 0;\n background-position: top right, bottom right;\n}\n.dataTable-component-v2 .MuiTableContainer-root > table tr {\n position: relative;\n}\n.dataTable-component-v2 .MuiTableContainer-root > table tr td .cellContainer {\n display: flex;\n justify-content: left;\n width: -moz-max-content;\n width: max-content;\n min-width: 100%;\n}\n.dataTable-component-v2 .MuiTableContainer-root > table tr td.centered .cellContainer {\n justify-content: center;\n}\n.dataTable-component-v2 .MuiTablePagination-root {\n overflow: visible;\n}\n.dataTable-component-v2 .MuiTablePagination-root .MuiTablePagination-selectLabel,\n.dataTable-component-v2 .MuiTablePagination-root .MuiInputBase-root {\n display: none;\n}\n.dataTable-component-v2 .MuiTablePagination-root .MuiTablePagination-toolbar {\n padding-right: 1.25rem;\n}\n.dataTable-component-v2 .MuiTablePagination-root .MuiTablePagination-actions {\n margin-right: 0.75rem;\n}\n\n.colManagerMenu .MuiListItemText-root .MuiCheckbox-root {\n margin-right: 0.75rem;\n}";
|
|
8840
|
+
styleInject(css_248z$j);
|
|
8812
8841
|
|
|
8813
8842
|
var bottomLeftCorner = "data:image/svg+xml,%3Csvg%20width%3D%228%22%20height%3D%228%22%20viewBox%3D%220%200%208%208%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fillRule%3D%22evenodd%22%20clipRule%3D%22evenodd%22%20d%3D%22M8%208C3.58172%208%20-1.56562e-07%204.41828%20-3.49691e-07%200L0%208L8%208Z%22%20fill%3D%22white%22%2F%3E%3C%2Fsvg%3E";
|
|
8814
8843
|
|
|
@@ -8969,8 +8998,8 @@ function DataTableRow(_a) {
|
|
|
8969
8998
|
React__default.createElement(TableCell, { className: "rightStickyEffect stickyEffect" })));
|
|
8970
8999
|
}
|
|
8971
9000
|
|
|
8972
|
-
var css_248z$
|
|
8973
|
-
styleInject(css_248z$
|
|
9001
|
+
var css_248z$i = ".search-component-v2 {\n width: 100%;\n}\n.search-component-v2 .inputContainer {\n width: 100%;\n padding: 1.25rem 1.5rem;\n background-color: var(--background-color-1, var(--white, #FFFFFF));\n border-radius: 16px;\n box-shadow: 0px 0px 15px 0px rgba(0, 0, 0, 0.15);\n box-sizing: border-box;\n}\n.search-component-v2 .inputContainer > *:not(:first-child) {\n margin-left: 1rem;\n}\n.search-component-v2 .inputContainer input {\n flex: 1;\n font-family: proxima-nova, Lucida Grande, Lucida Sans Unicode, Lucida Sans, Geneva, Verdana, sans-serif;\n font-size: 1rem;\n font-weight: 600;\n line-height: 1.25rem;\n border: none;\n outline: none;\n color: var(--primary-brand-color, var(--grape, #69006E));\n background: none;\n}\n.search-component-v2 .inputContainer input::-moz-placeholder {\n color: var(--silver, #9B9B9B);\n}\n.search-component-v2 .inputContainer input::placeholder {\n color: var(--silver, #9B9B9B);\n}";
|
|
9002
|
+
styleInject(css_248z$i);
|
|
8974
9003
|
|
|
8975
9004
|
function Search(_a) {
|
|
8976
9005
|
var _b = _a.initValue, initValue = _b === void 0 ? "" : _b, name = _a.name, onChange = _a.onChange, _c = _a.intervalTime, intervalTime = _c === void 0 ? 800 : _c, placeholder = _a.placeholder, onClose = _a.onClose, _d = _a.className, className = _d === void 0 ? "" : _d, useClickAway = _a.useClickAway, onEnter = _a.onEnter, _e = _a.useKeyDownForChange, useKeyDownForChange = _e === void 0 ? false : _e;
|
|
@@ -9043,8 +9072,8 @@ function Search(_a) {
|
|
|
9043
9072
|
React__default.createElement(Icon, { actionIcon: true, className: "close", name: "X18", onClick: onClose }))));
|
|
9044
9073
|
}
|
|
9045
9074
|
|
|
9046
|
-
var css_248z$
|
|
9047
|
-
styleInject(css_248z$
|
|
9075
|
+
var css_248z$h = ".dropdown-component-v2 .prefixIcon {\n margin-right: 0.5rem;\n}\n.dropdown-component-v2 .MuiFormLabel-root,\n.dropdown-component-v2 .MuiFormLabel-root.Mui-focused {\n font-family: proxima-nova, Lucida Grande, Lucida Sans Unicode, Lucida Sans, Geneva, Verdana, sans-serif;\n font-weight: 700;\n font-size: 0.875rem;\n line-height: 1.125rem;\n max-width: 52rem;\n color: var(--body-font-color, var(--dark-matter, #2B2B2B));\n transform: translate(14px, -9px) !important;\n}\n.dropdown-component-v2 .MuiFormLabel-root > div,\n.dropdown-component-v2 .MuiFormLabel-root.Mui-focused > div {\n display: flex;\n align-items: \"center\";\n}\n.dropdown-component-v2 .MuiFormLabel-root > div .MuiSvgIcon-root,\n.dropdown-component-v2 .MuiFormLabel-root.Mui-focused > div .MuiSvgIcon-root {\n margin-left: 0.5rem;\n}\n.dropdown-component-v2 .filled fieldset {\n border-color: var(--secondary-brand-color, var(--teal, #0ABDAE)) !important;\n}\n.dropdown-component-v2 fieldset legend span {\n font-weight: 700;\n font-size: 0.875rem;\n line-height: 1.125rem;\n max-width: 52rem;\n}";
|
|
9076
|
+
styleInject(css_248z$h);
|
|
9048
9077
|
|
|
9049
9078
|
function Dropdown(_a) {
|
|
9050
9079
|
var placeholder = _a.placeholder, label = _a.label, keepOpenOnClick = _a.keepOpenOnClick, name = _a.name, _b = _a.className, className = _b === void 0 ? "" : _b, extraSelectProps = _a.extraSelectProps, variant = _a.variant, labelIconColor = _a.labelIconColor, onChange = _a.onChange, defaultValue = _a.defaultValue, _c = _a.menuPlacement, menuPlacement = _c === void 0 ? "bottom-right" : _c, _d = _a.iconOnly, iconOnly = _d === void 0 ? false : _d, chevronIconOverride = _a.chevronIconOverride, renderValue = _a.renderValue, _e = _a.options, options = _e === void 0 ? [] : _e, _f = _a.typographyVariant, typographyVariant = _f === void 0 ? "button" : _f, _g = _a.size, size = _g === void 0 ? "medium" : _g, _h = _a.disabled, disabled = _h === void 0 ? false : _h, _j = _a.color, color = _j === void 0 ? "primary" : _j, _k = _a.value, value = _k === void 0 ? undefined : _k, _l = _a.multiSelect, multiSelect = _l === void 0 ? false : _l, searchProps = _a.searchProps, stickyActions = _a.stickyActions, prefixIcon = _a.prefixIcon, onOpen = _a.onOpen, onClose = _a.onClose;
|
|
@@ -9269,8 +9298,8 @@ function DataTable(_a) {
|
|
|
9269
9298
|
ActionsComponent: CustomPaginationActions }))));
|
|
9270
9299
|
}
|
|
9271
9300
|
|
|
9272
|
-
var css_248z$
|
|
9273
|
-
styleInject(css_248z$
|
|
9301
|
+
var css_248z$g = ".dateTimeSelector.dateTimeCalendar {\n background: var(--white, #FFFFFF);\n}\n.dateTimeSelector .MuiMultiSectionDigitalClock-root,\n.dateTimeSelector .MuiMultiSectionDigitalClockSection-root {\n flex: 1;\n}\n.dateTimeSelector .MuiMultiSectionDigitalClock-root .MuiMultiSectionDigitalClockSection-item.Mui-selected,\n.dateTimeSelector .MuiMultiSectionDigitalClockSection-root .MuiMultiSectionDigitalClockSection-item.Mui-selected {\n background-color: var(--primary-brand-color, var(--grape, #69006E)) !important;\n}";
|
|
9302
|
+
styleInject(css_248z$g);
|
|
9274
9303
|
|
|
9275
9304
|
function DatePicker(_a) {
|
|
9276
9305
|
var className = _a.className, props = __rest(_a, ["className"]);
|
|
@@ -9330,8 +9359,8 @@ function DateTimeCalendar(_a) {
|
|
|
9330
9359
|
} })));
|
|
9331
9360
|
}
|
|
9332
9361
|
|
|
9333
|
-
var css_248z$
|
|
9334
|
-
styleInject(css_248z$
|
|
9362
|
+
var css_248z$f = ".divider-component-v2 {\n width: 100%;\n}";
|
|
9363
|
+
styleInject(css_248z$f);
|
|
9335
9364
|
|
|
9336
9365
|
function Divider(_a) {
|
|
9337
9366
|
var _b = _a.height, height = _b === void 0 ? 1 : _b, _c = _a.color, color = _c === void 0 ? "wildSand" : _c;
|
|
@@ -9358,8 +9387,8 @@ function CountryDropdown(_a) {
|
|
|
9358
9387
|
return React__default.createElement(Dropdown, __assign({}, args, { value: value, defaultValue: defaultValue, options: options, onChange: onChange }));
|
|
9359
9388
|
}
|
|
9360
9389
|
|
|
9361
|
-
var css_248z$
|
|
9362
|
-
styleInject(css_248z$
|
|
9390
|
+
var css_248z$e = ".emptyContent-component-v2 {\n display: flex;\n justify-content: center;\n align-items: center;\n flex: 1;\n width: 100%;\n height: 100%;\n padding: 2rem;\n box-sizing: border-box;\n background: var(--cloud, #F4F4F4);\n align-self: stretch;\n justify-self: stretch;\n border-radius: 32px;\n}\n.emptyContent-component-v2 > .MuiStack-root {\n width: 32rem;\n text-align: center;\n}\n.emptyContent-component-v2 > .MuiStack-root .MuiTypography-h3 {\n margin-top: 1rem;\n}\n.emptyContent-component-v2 > .MuiStack-root .MuiTypography-body1L {\n display: block;\n margin-top: 0.5rem;\n}\n.emptyContent-component-v2 > .MuiStack-root button {\n margin-top: 1rem;\n}";
|
|
9391
|
+
styleInject(css_248z$e);
|
|
9363
9392
|
|
|
9364
9393
|
function EmptyContent(_a) {
|
|
9365
9394
|
var title = _a.title, desc = _a.desc, _b = _a.iconName, iconName = _b === void 0 ? "EmptyFolder44" : _b, _c = _a.className, className = _c === void 0 ? "" : _c, button = _a.button;
|
|
@@ -9373,8 +9402,8 @@ function EmptyContent(_a) {
|
|
|
9373
9402
|
button && button));
|
|
9374
9403
|
}
|
|
9375
9404
|
|
|
9376
|
-
var css_248z$
|
|
9377
|
-
styleInject(css_248z$
|
|
9405
|
+
var css_248z$d = ".fileUpload-component-v2 {\n position: relative;\n width: 100%;\n}\n.fileUpload-component-v2 > .fileUploadContainer {\n box-sizing: border-box;\n text-align: center;\n cursor: pointer;\n width: 100%;\n padding: 3rem 2rem;\n display: flex;\n position: relative;\n}\n.fileUpload-component-v2 > .fileUploadContainer fieldset {\n position: absolute;\n margin: 0;\n padding: 0 0 0 1rem !important;\n box-sizing: border-box;\n width: 100%;\n height: 100%;\n border-radius: 8px;\n border: 1px dashed var(--pebble, #EAEAEA);\n text-align: left;\n position: absolute;\n padding-inline: 0.75em;\n margin-inline: unset;\n}\n.fileUpload-component-v2 > .fileUploadContainer img {\n max-width: 100%;\n}\n.fileUpload-component-v2 > .fileUploadContainer.hasDropdown fieldset {\n border-bottom-right-radius: 0 !important;\n border-bottom-left-radius: 0 !important;\n}\n.fileUpload-component-v2 .dropdown-component-v2 {\n flex: 1;\n margin-top: 0;\n position: relative;\n left: 1px;\n width: calc(100% - 2px);\n}\n.fileUpload-component-v2 .dropdown-component-v2 > .MuiInputBase-root:not(:focus):not(:hover):not(:active) {\n outline-color: var(--secondary-brand-color, var(--teal, #0ABDAE));\n}\n.fileUpload-component-v2 .dropdown-component-v2 > .MuiInputBase-root {\n max-width: unset;\n border-top-right-radius: 0 !important;\n border-top-left-radius: 0 !important;\n}";
|
|
9406
|
+
styleInject(css_248z$d);
|
|
9378
9407
|
|
|
9379
9408
|
function FileUpload(_a) {
|
|
9380
9409
|
var label = _a.label, onChange = _a.onChange, _b = _a.defaultIconName, defaultIconName = _b === void 0 ? "Upload44" : _b, placeholder = _a.placeholder, support = _a.support, dropdown = _a.dropdown;
|
|
@@ -9477,8 +9506,8 @@ function Link(_a) {
|
|
|
9477
9506
|
return React__default.createElement(Link$1, __assign({}, props, { variant: variant, color: color, className: classes }), children);
|
|
9478
9507
|
}
|
|
9479
9508
|
|
|
9480
|
-
var css_248z$
|
|
9481
|
-
styleInject(css_248z$
|
|
9509
|
+
var css_248z$c = ".subNav-component-v2 {\n flex-wrap: wrap;\n}\n.subNav-component-v2.dir-row button:not(:last-child) {\n margin-right: 2px;\n}\n.subNav-component-v2.dir-column button:not(:first-child) {\n margin-top: 1.25rem;\n}\n.subNav-component-v2 button.selected {\n pointer-events: none;\n}\n.subNav-component-v2 button.default, .subNav-component-v2 button.text {\n color: var(--body-font-color, var(--dark-matter, #2B2B2B));\n outline: none;\n}\n.subNav-component-v2 button.default span, .subNav-component-v2 button.text span {\n color: var(--body-font-color, var(--dark-matter, #2B2B2B));\n}\n.subNav-component-v2 button.default:not(:hover), .subNav-component-v2 button.text:not(:hover) {\n background: none;\n}\n.subNav-component-v2 button.default:hover, .subNav-component-v2 button.text:hover {\n outline: none;\n}\n.subNav-component-v2 button.default:active, .subNav-component-v2 button.text:active {\n outline: none !important;\n}\n.subNav-component-v2 button.default {\n text-transform: none;\n}\n.subNav-component-v2 button.default span {\n text-transform: none;\n}\n.subNav-component-v2 button.default.selected {\n background-color: var(--cloud, #F4F4F4);\n}\n.subNav-component-v2 button.text span {\n color: var(--silver, #9B9B9B);\n}\n.subNav-component-v2 button.text:hover, .subNav-component-v2 button.text.selected {\n background: none;\n color: var(--body-font-color, var(--dark-matter, #2B2B2B));\n}\n.subNav-component-v2 button.text:hover span, .subNav-component-v2 button.text.selected span {\n color: var(--body-font-color, var(--dark-matter, #2B2B2B));\n}";
|
|
9510
|
+
styleInject(css_248z$c);
|
|
9482
9511
|
|
|
9483
9512
|
function SubNav(_a) {
|
|
9484
9513
|
var _b = _a.items, items = _b === void 0 ? [] : _b, _c = _a.direction, direction = _c === void 0 ? "row" : _c, initialSelected = _a.initialSelected, selected = _a.selected, onClick = _a.onClick, className = _a.className, _d = _a.menuVariant, menuVariant = _d === void 0 ? "default" : _d, btnOverride = _a.btnOverride;
|
|
@@ -9510,8 +9539,8 @@ function SubNav(_a) {
|
|
|
9510
9539
|
}));
|
|
9511
9540
|
}
|
|
9512
9541
|
|
|
9513
|
-
var css_248z$
|
|
9514
|
-
styleInject(css_248z$
|
|
9542
|
+
var css_248z$b = ".filter-bar-component-v2 {\n background: var(--shade100, #F3F2F2);\n width: 100%;\n box-sizing: border-box;\n}\n.filter-bar-component-v2 .DDItem {\n padding-left: 2rem;\n}\n.filter-bar-component-v2 .DDItem .MuiInputBase-input {\n padding-right: 0 !important;\n}\n.filter-bar-component-v2 .addFilterBox {\n padding: 0 1.5rem;\n position: relative;\n cursor: pointer;\n}\n.filter-bar-component-v2 .addFilterBox .MuiLink-root {\n text-decoration: none;\n}\n.filter-bar-component-v2 .addFilterBox .search-component-v2 .inputContainer {\n padding: 0;\n background: unset;\n box-shadow: none;\n}\n.filter-bar-component-v2 .addFilterBox .dropMenuContainer {\n position: absolute;\n top: 4rem;\n width: -moz-max-content;\n width: max-content;\n min-width: 100%;\n box-shadow: 0px 0px 15px 0px rgba(0, 0, 0, 0.1490196078);\n border-radius: 16px;\n min-width: 300;\n background: var(--background-color-1, var(--white, #FFFFFF));\n box-sizing: border-box;\n z-index: 1000;\n}\n.filter-bar-component-v2 .addFilterBox .dropMenuContainer .subNav-component-v2 {\n justify-content: space-between;\n margin: 0;\n}\n.filter-bar-component-v2 .addFilterBox .dropMenuContainer .subNav-component-v2 button {\n flex: 1;\n border-radius: 0;\n background: var(--cloud, #F4F4F4);\n}\n.filter-bar-component-v2 .addFilterBox .dropMenuContainer .subNav-component-v2 button.selected {\n background: var(--white, #FFFFFF);\n}\n.filter-bar-component-v2 .addFilterBox .dropMenuContainer .subNav-component-v2 button:first-child, .filter-bar-component-v2 .addFilterBox .dropMenuContainer .subNav-component-v2 button:first-child:hover {\n border-top-left-radius: 4px;\n}\n.filter-bar-component-v2 .addFilterBox .dropMenuContainer .subNav-component-v2 button:last-child, .filter-bar-component-v2 .addFilterBox .dropMenuContainer .subNav-component-v2 button:last-child:hover {\n border-top-right-radius: 4px;\n}\n.filter-bar-component-v2 .addFilterBox .dropMenuContainer .dropMenu-component-v2 {\n box-shadow: none;\n margin-top: 0;\n padding: 1.5rem;\n}\n.filter-bar-component-v2 .addFilterBox .dropMenuContainer .dropMenu-component-v2 .MuiMenuItem-root {\n padding: 0.5rem;\n}\n.filter-bar-component-v2 .addFilterBox .dropMenuContainer .dropMenu-component-v2 .MuiMenuItem-root.isTitle {\n padding-top: 0;\n}\n.filter-bar-component-v2 .addFilterBox .dropMenuContainer .dropMenu-component-v2 .MuiTypography-body1L {\n font-size: 0.875rem;\n}\n.filter-bar-component-v2 .addFilterBox .dropMenuContainer > button {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n padding: 0.75rem;\n}\n.filter-bar-component-v2 .pillContainer {\n padding: 0.75rem;\n min-height: 2rem;\n overflow-x: auto;\n}\n.filter-bar-component-v2 .pillContainer .MuiSvgIcon-root {\n padding-right: 0;\n padding-left: 0.5rem;\n}\n.filter-bar-component-v2 .pillContainer .MuiChip-root {\n flex-direction: row-reverse;\n}\n.filter-bar-component-v2 .pillContainer .MuiChip-root.disabled {\n pointer-events: all !important;\n}\n.filter-bar-component-v2 .pillContainer .MuiChip-root .MuiChip-label {\n display: flex;\n align-items: center;\n}\n.filter-bar-component-v2 .pillContainer .MuiChip-root .MuiChip-label .MuiSvgIcon-root {\n margin-right: 0.5rem;\n}\n.filter-bar-component-v2 .pillContainer .MuiChip-root .MuiChip-label .MuiSvgIcon-root path {\n fill: var(--white, #FFFFFF);\n}\n.filter-bar-component-v2 .pillContainer:not(.empty) {\n border-left: 1px solid var(--wild-sand, #dddddd);\n}\n.filter-bar-component-v2 .actionContainer {\n border-left: 1px solid var(--wild-sand, #dddddd);\n padding: 0 2rem;\n padding-left: 2rem;\n}\n.filter-bar-component-v2 .actionContainer .MuiTypography-root {\n cursor: pointer;\n}";
|
|
9543
|
+
styleInject(css_248z$b);
|
|
9515
9544
|
|
|
9516
9545
|
function FilterBar(_a) {
|
|
9517
9546
|
var _b, _c, _d, _e, _f, _g, _h, _j;
|
|
@@ -11928,7 +11957,7 @@ function renderPage(_a) {
|
|
|
11928
11957
|
});
|
|
11929
11958
|
}
|
|
11930
11959
|
|
|
11931
|
-
var BASE_URL = function () { return uiKitConfig.GATEWAY_PROXY + "/pats"; };
|
|
11960
|
+
var BASE_URL = function () { return uiKitConfig.GATEWAY_PROXY + "/users/self/pats"; };
|
|
11932
11961
|
function listPats(_a) {
|
|
11933
11962
|
var page = _a.page, perPage = _a.perPage, status = _a.status;
|
|
11934
11963
|
return callApi({
|
|
@@ -13226,8 +13255,15 @@ var PersonalAccessTokenModel = /** @class */ (function () {
|
|
|
13226
13255
|
return __generator(this, function (_c) {
|
|
13227
13256
|
return [2 /*return*/, updatePat({ keyPrefix: this.key_prefix, name: name, scopes: scopes, allowedAccountIds: allowedAccountIds })
|
|
13228
13257
|
.then(function (data) {
|
|
13258
|
+
// Unlike revoke(), update() does NOT tolerate an empty/204 body: it
|
|
13259
|
+
// must return a model reflecting the new field values, so falling
|
|
13260
|
+
// back to `this` (the pre-update model) would be wrong. ng-api
|
|
13261
|
+
// returns the updated resource; a missing body is a real error.
|
|
13262
|
+
var updated = new PersonalAccessTokenModel(unwrapResponse(data));
|
|
13263
|
+
// Track only after a successful parse, so a malformed body (which
|
|
13264
|
+
// throws above) never misreports a successful update.
|
|
13229
13265
|
trackEvent(EEvents.PAT_UPDATED, { key_prefix: _this.key_prefix });
|
|
13230
|
-
return
|
|
13266
|
+
return updated;
|
|
13231
13267
|
})];
|
|
13232
13268
|
});
|
|
13233
13269
|
});
|
|
@@ -13238,8 +13274,16 @@ var PersonalAccessTokenModel = /** @class */ (function () {
|
|
|
13238
13274
|
return __generator(this, function (_a) {
|
|
13239
13275
|
return [2 /*return*/, revokePat({ keyPrefix: this.key_prefix })
|
|
13240
13276
|
.then(function (data) {
|
|
13277
|
+
// ng-api returns the updated token. Tolerate an empty body (e.g. a
|
|
13278
|
+
// 204) — return a copy with status: "revoked" rather than the
|
|
13279
|
+
// unchanged model, so callers reading .status see the revocation.
|
|
13280
|
+
var revoked = (data != null && typeof data === "object")
|
|
13281
|
+
? new PersonalAccessTokenModel(unwrapResponse(data))
|
|
13282
|
+
: new PersonalAccessTokenModel(__assign(__assign({}, _this), { status: "revoked" }));
|
|
13283
|
+
// Track only after a successful parse, so a malformed body (which
|
|
13284
|
+
// throws above) never misreports a successful revoke.
|
|
13241
13285
|
trackEvent(EEvents.PAT_REVOKED, { key_prefix: _this.key_prefix });
|
|
13242
|
-
return
|
|
13286
|
+
return revoked;
|
|
13243
13287
|
})];
|
|
13244
13288
|
});
|
|
13245
13289
|
});
|
|
@@ -13771,8 +13815,8 @@ function GenericWrapper(_a) {
|
|
|
13771
13815
|
content);
|
|
13772
13816
|
}
|
|
13773
13817
|
|
|
13774
|
-
var css_248z$
|
|
13775
|
-
styleInject(css_248z$
|
|
13818
|
+
var css_248z$a = ".groupedActions-component {\n display: flex;\n}\n.groupedActions-component > *:first-child, .groupedActions-component > *:first-child.dropdown-component-v2 .MuiInputBase-root {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.groupedActions-component > *:last-child, .groupedActions-component > *:last-child.dropdown-component-v2 .MuiInputBase-root {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.groupedActions-component > *:nth-child(n+2):not(:last-child), .groupedActions-component > *:nth-child(n+2):not(:last-child).dropdown-component-v2 .MuiInputBase-root {\n border-radius: 0;\n}\n.groupedActions-component.contained > *:nth-child(n+2):not(:last-child) {\n margin-left: 1px;\n}\n.groupedActions-component.contained > *:last-child {\n margin-left: 1px;\n}\n.groupedActions-component.outlined > *:nth-child(n+2):not(:last-child), .groupedActions-component.outlined > *:nth-child(n+2):not(:last-child).dropdown-component-v2 .MuiInputBase-root, .groupedActions-component.outlined > *:not(:first-child):active, .groupedActions-component.outlined > *:not(:first-child):active.dropdown-component-v2 .MuiInputBase-root, .groupedActions-component.outlined > *:last-child, .groupedActions-component.outlined > *:last-child.dropdown-component-v2 .MuiInputBase-root {\n border-left: none !important;\n}";
|
|
13819
|
+
styleInject(css_248z$a);
|
|
13776
13820
|
|
|
13777
13821
|
function GroupedActions(_a) {
|
|
13778
13822
|
var _b = _a.components, components = _b === void 0 ? [] : _b, classNames$1 = _a.classNames, _c = _a.variant, variant = _c === void 0 ? "contained" : _c;
|
|
@@ -13786,8 +13830,8 @@ function GroupedActions(_a) {
|
|
|
13786
13830
|
return React__default.createElement(Box$1, { className: classes }, components);
|
|
13787
13831
|
}
|
|
13788
13832
|
|
|
13789
|
-
var css_248z$
|
|
13790
|
-
styleInject(css_248z$
|
|
13833
|
+
var css_248z$9 = ".header-component-v2 {\n max-width: 31rem;\n width: 100%;\n}\n.header-component-v2 > * {\n width: -moz-fit-content;\n width: fit-content;\n}\n.header-component-v2 .header .headerText,\n.header-component-v2 .header .headerText span,\n.header-component-v2 .desc span,\n.header-component-v2 .support span {\n overflow: hidden;\n text-overflow: ellipsis;\n max-width: 31rem;\n display: block;\n text-wrap: nowrap;\n width: 100%;\n}\n.header-component-v2 .header,\n.header-component-v2 .desc,\n.header-component-v2 .support {\n width: -moz-fit-content;\n width: fit-content;\n}\n.header-component-v2 .header {\n flex: 1;\n margin-top: 0;\n}\n.header-component-v2 .header .postHeader,\n.header-component-v2 .header .preHeader {\n display: inline-block;\n width: -moz-fit-content;\n width: fit-content;\n text-wrap: nowrap;\n}\n.header-component-v2 .header .preHeader {\n margin-right: 1rem;\n}\n.header-component-v2 .header .postHeader {\n margin-left: 1.5rem;\n}\n.header-component-v2 .support {\n flex: 1;\n line-height: 0.75rem;\n display: block;\n margin-bottom: 1px;\n}\n.header-component-v2 .desc {\n flex: 1;\n margin-top: 1rem;\n border-color: var(--secondary-brand-color, var(--teal, #0ABDAE));\n}";
|
|
13834
|
+
styleInject(css_248z$9);
|
|
13791
13835
|
|
|
13792
13836
|
//TODO when bottom line is secondary color, it means it is in a editable state, clicking it would transform it into a text field with check and x
|
|
13793
13837
|
//https://www.figma.com/proto/OQkvkOI4CMyrcPbuza16e3/Analytics?type=design&node-id=232-14879&t=kNKIjcU4MImW1jef-0&scaling=min-zoom&page-id=0%3A1&starting-point-node-id=232%3A14512&show-proto-sidebar=1
|
|
@@ -13811,8 +13855,8 @@ function Header(_a) {
|
|
|
13811
13855
|
React__default.createElement(Typography$2, { variant: "body1L", className: "desc ".concat(descTooltip ? "showTooltip" : "") }, desc)));
|
|
13812
13856
|
}
|
|
13813
13857
|
|
|
13814
|
-
var css_248z$
|
|
13815
|
-
styleInject(css_248z$
|
|
13858
|
+
var css_248z$8 = ".iconPill-component-v2 {\n position: relative;\n}\n.iconPill-component-v2 span {\n position: absolute;\n display: flex;\n justify-content: center;\n align-items: center;\n background: var(--background-color-1, var(--white, #FFFFFF));\n border: 1px solid var(--wild-sand, #dddddd);\n font-size: 0.625rem;\n border-radius: 20px;\n font-weight: bold;\n top: -0.625rem;\n right: -0.625rem;\n width: 1.25rem;\n height: 1.25rem;\n}\n.iconPill-component-v2.s10 span {\n top: -0.25rem;\n right: -0.75rem;\n width: 0.75rem;\n height: 0.75rem;\n font-size: 0.5rem;\n}\n.iconPill-component-v2.s14 span {\n top: -0.3rem;\n right: -0.7rem;\n width: 0.75rem;\n height: 0.75rem;\n font-size: 0.5rem;\n}\n.iconPill-component-v2.s18 span {\n top: -0.5rem;\n right: -0.5rem;\n width: 1rem;\n height: 1rem;\n}\n.iconPill-component-v2.s32 span {\n top: -0.75rem;\n right: -0.75rem;\n width: 1.5rem;\n height: 1.5rem;\n font-size: 0.85rem;\n}\n.iconPill-component-v2.s44 span {\n top: -0.75rem;\n right: -0.75rem;\n width: 1.5rem;\n height: 1.5rem;\n font-size: 1rem;\n}";
|
|
13859
|
+
styleInject(css_248z$8);
|
|
13816
13860
|
|
|
13817
13861
|
var IconPill = forwardRef(function (_a, ref) {
|
|
13818
13862
|
var _b = _a.count, count = _b === void 0 ? 0 : _b, _c = _a.iconName, iconName = _c === void 0 ? "Domainauthenticated24" : _c, color = _a.color;
|
|
@@ -13833,8 +13877,8 @@ var IconPill = forwardRef(function (_a, ref) {
|
|
|
13833
13877
|
React__default.createElement(Icon, { name: iconName, color: defaultColor }));
|
|
13834
13878
|
});
|
|
13835
13879
|
|
|
13836
|
-
var css_248z$
|
|
13837
|
-
styleInject(css_248z$
|
|
13880
|
+
var css_248z$7 = ".informationGroup-component-v2 {\n display: flex;\n}\n.informationGroup-component-v2:first-child {\n padding-bottom: 2rem;\n}\n.informationGroup-component-v2:last-child {\n padding-top: 2rem;\n}\n.informationGroup-component-v2:not(:first-child):not(:last-child) {\n padding: 2rem 0;\n}\n.informationGroup-component-v2:not(:last-child) {\n border-bottom: 1px solid var(--wild-sand, #dddddd);\n}\n.informationGroup-component-v2 > div {\n max-width: 31.25rem;\n width: 100%;\n}\n.informationGroup-component-v2 > div:first-child {\n margin-right: 3rem;\n}\n.informationGroup-component-v2 > div:last-child {\n margin-top: 0.5rem;\n display: flex;\n flex-direction: column;\n}\n.informationGroup-component-v2 > div:last-child > div:not(:first-child) {\n margin-top: 2.5rem;\n}\n.informationGroup-component-v2 > div:last-child .dropdown-component-v2 .MuiInputBase-root,\n.informationGroup-component-v2 > div:last-child .dropdown-component-v2 {\n width: 100%;\n}\n.informationGroup-component-v2 > div:last-child .autocomplete-dropdown-container {\n z-index: 10000000;\n}";
|
|
13881
|
+
styleInject(css_248z$7);
|
|
13838
13882
|
|
|
13839
13883
|
function InformationGroup(_a) {
|
|
13840
13884
|
var title = _a.title, desc = _a.desc, rightContent = _a.rightContent, children = _a.children;
|
|
@@ -13847,8 +13891,8 @@ function InformationGroup(_a) {
|
|
|
13847
13891
|
children));
|
|
13848
13892
|
}
|
|
13849
13893
|
|
|
13850
|
-
var css_248z$
|
|
13851
|
-
styleInject(css_248z$
|
|
13894
|
+
var css_248z$6 = ".inlineTextEdit-component-v2 {\n border-bottom: var(--secondary-brand-color, var(--teal, #0ABDAE));\n border-bottom-style: dashed;\n position: relative;\n}\n.inlineTextEdit-component-v2 .hasPlaceholder {\n opacity: 0.5;\n}\n.inlineTextEdit-component-v2.editing .actions {\n position: absolute;\n right: -4.875rem;\n top: -2px;\n}\n.inlineTextEdit-component-v2.editing .actions .confirm {\n margin-right: 0.25rem;\n}\n.inlineTextEdit-component-v2.editing .actions .cancel svg {\n width: 10px;\n}\n.inlineTextEdit-component-v2 input,\n.inlineTextEdit-component-v2 textarea,\n.inlineTextEdit-component-v2 .MuiInputBase-root {\n width: 100%;\n border: none;\n padding: 0 !important;\n outline: none;\n}\n.inlineTextEdit-component-v2 input:active, .inlineTextEdit-component-v2 input:focus,\n.inlineTextEdit-component-v2 textarea:active,\n.inlineTextEdit-component-v2 textarea:focus,\n.inlineTextEdit-component-v2 .MuiInputBase-root:active,\n.inlineTextEdit-component-v2 .MuiInputBase-root:focus {\n border: none;\n}\n.inlineTextEdit-component-v2 > span,\n.inlineTextEdit-component-v2 input,\n.inlineTextEdit-component-v2 textarea,\n.inlineTextEdit-component-v2 .MuiBox-root,\n.inlineTextEdit-component-v2 .MuiBox-root .textfield-component-v2,\n.inlineTextEdit-component-v2 .MuiBox-root .textfield-component-v2 .MuiTextField-root,\n.inlineTextEdit-component-v2 .MuiBox-root .textfield-component-v2 .MuiTextField-root .MuiInputBase-root,\n.inlineTextEdit-component-v2 .MuiBox-root .textfield-component-v2 .MuiTextField-root .MuiInputBase-root input {\n font-family: inherit;\n font-weight: inherit;\n font-size: inherit;\n line-height: inherit;\n color: inherit;\n}\n.inlineTextEdit-component-v2 .MuiBox-root .textfield-component-v2 .MuiTextField-root .MuiInputBase-root::before {\n content: unset;\n}\n.inlineTextEdit-component-v2 .MuiBox-root .textfield-component-v2 .MuiTextField-root .MuiInputBase-root::after {\n content: unset !important;\n}\n.inlineTextEdit-component-v2 .MuiBox-root .textfield-component-v2 .MuiTextField-root .MuiInputBase-root input,\n.inlineTextEdit-component-v2 .MuiBox-root .textfield-component-v2 .MuiTextField-root .MuiInputBase-root textarea {\n border: none;\n padding-top: 0;\n height: unset;\n}";
|
|
13895
|
+
styleInject(css_248z$6);
|
|
13852
13896
|
|
|
13853
13897
|
function InlineTextEdit(_a) {
|
|
13854
13898
|
var _b, _c;
|
|
@@ -19260,8 +19304,8 @@ process.env.NODE_ENV !== "production" ? Stack.propTypes /* remove-proptypes */ =
|
|
|
19260
19304
|
useFlexGap: PropTypes.bool
|
|
19261
19305
|
} : void 0;
|
|
19262
19306
|
|
|
19263
|
-
var css_248z$
|
|
19264
|
-
styleInject(css_248z$
|
|
19307
|
+
var css_248z$5 = ".metricCard-component {\n min-width: 250px;\n width: 100%;\n max-width: 35.25rem;\n box-sizing: border-box;\n box-shadow: none !important;\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n gap: 2rem;\n}\n.metricCard-component.card {\n padding: 2rem;\n background: var(--cloud, #F4F4F4);\n}\n.metricCard-component.plain {\n background: none !important;\n}\n.metricCard-component.withRightContent {\n max-width: 72rem;\n}\n.metricCard-component > .rightContent {\n flex: 1;\n align-items: flex-end;\n}\n.metricCard-component > .rightContent img {\n border-radius: 24px;\n border: 1px solid var(--wild-sand, #dddddd);\n width: 100%;\n min-width: 150px;\n max-width: 225px;\n max-height: 18rem;\n}\n.metricCard-component > div:not(.rightContent) {\n flex: 1;\n}\n.metricCard-component > div:not(.rightContent) > img + .heading,\n.metricCard-component > div:not(.rightContent) > img + .subHeading,\n.metricCard-component > div:not(.rightContent) > img + .metricRows {\n margin-top: 2rem;\n}\n.metricCard-component > div:not(.rightContent) > .heading ~ div,\n.metricCard-component > div:not(.rightContent) .subHeading ~ div {\n margin-top: 1.5rem;\n}\n.metricCard-component > div:not(.rightContent) > img {\n border-radius: 48px;\n max-width: 100%;\n max-height: 18.75rem;\n margin: 0 auto;\n}\n.metricCard-component > div:not(.rightContent) > .heading .MuiSvgIcon-root {\n margin-right: 1rem;\n}\n.metricCard-component > div:not(.rightContent) > .subHeading.withProgress {\n margin-top: 1rem;\n}\n.metricCard-component > div:not(.rightContent) > .subHeading > .MuiStack-root {\n flex: 1;\n}\n.metricCard-component > div:not(.rightContent) > .subHeading > .MuiStack-root > .desc {\n display: grid;\n}\n.metricCard-component > div:not(.rightContent) > .subHeading > .MuiStack-root > .progress {\n height: calc(1rem - 2px);\n background: var(--white, #FFFFFF);\n}\n.metricCard-component > div:not(.rightContent) > .subHeading > .MuiStack-root > .progress + .data {\n margin-left: 1rem;\n font-size: 4rem;\n position: relative;\n top: -12px;\n}\n.metricCard-component > div:not(.rightContent) > .subHeading > .MuiStack-root > .data + .desc {\n margin-left: 2rem;\n}\n.metricCard-component > div:not(.rightContent) > .subHeading .MuiChip-root {\n margin-left: 2rem;\n}\n.metricCard-component > div:not(.rightContent) > .subHeading .MuiChip-root .MuiSvgIcon-root {\n padding-right: 0.5rem;\n}\n.metricCard-component > div:not(.rightContent) > .metricRows .MuiStack-root .MuiTypography-root:first-child {\n margin-right: 1rem;\n}\n.metricCard-component > div:not(.rightContent) > .metricRows .MuiStack-root:not(:last-child) {\n padding-bottom: 1rem;\n border-bottom: 1px solid var(--wild-sand, #dddddd);\n}\n.metricCard-component > div:not(.rightContent) > .metricRows .MuiStack-root:not(:first-child) {\n margin-top: 1rem;\n}\n.metricCard-component > div:not(.rightContent) > .floatingRow {\n flex: 1;\n display: flex;\n flex-direction: column;\n justify-content: flex-end;\n}";
|
|
19308
|
+
styleInject(css_248z$5);
|
|
19265
19309
|
|
|
19266
19310
|
function MetricCard(_a) {
|
|
19267
19311
|
var _b, _c, _d, _e;
|
|
@@ -19318,8 +19362,8 @@ function Radio(_a) {
|
|
|
19318
19362
|
return React__default.createElement(Radio$1, __assign({}, props));
|
|
19319
19363
|
}
|
|
19320
19364
|
|
|
19321
|
-
var css_248z$
|
|
19322
|
-
styleInject(css_248z$
|
|
19365
|
+
var css_248z$4 = ".resourceEdit-component-v2 {\n width: 100%;\n padding-bottom: 1.5rem;\n}\n.resourceEdit-component-v2 .resource-heading {\n flex: 1;\n width: 100%;\n}\n.resourceEdit-component-v2 .resource-heading.editable {\n cursor: pointer;\n}\n.resourceEdit-component-v2 .resource-heading.editable:hover button.MuiButton-contained {\n background: var(--wild-sand, #dddddd);\n color: var(--body-font-color, var(--dark-matter, #2B2B2B));\n}\n.resourceEdit-component-v2 .resource-heading.editable:hover button.MuiButton-contained .MuiSvgIcon-root {\n color: var(--body-font-color, var(--dark-matter, #2B2B2B));\n}\n.resourceEdit-component-v2 .resource-heading.editable:hover button.MuiButton-outlined {\n outline: 1px solid var(--wild-sand, #dddddd);\n background: var(--wild-sand, #dddddd);\n color: var(--body-font-color, var(--dark-matter, #2B2B2B));\n}\n.resourceEdit-component-v2 .resource-heading.editable:hover button.MuiButton-outlined .MuiSvgIcon-root {\n color: var(--body-font-color, var(--dark-matter, #2B2B2B));\n}\n.resourceEdit-component-v2 .resource-heading.editable:hover button.MuiButton-text {\n background: var(--wild-sand, #dddddd);\n}\n.resourceEdit-component-v2 .resource-heading .resource-title {\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: flex-start;\n}\n.resourceEdit-component-v2 .resource-heading .statusCheckmark {\n width: 24px;\n height: 24px;\n border-radius: 24px;\n display: flex;\n align-items: center;\n justify-content: center;\n margin-left: 0.5rem;\n}\n.resourceEdit-component-v2 .resource-heading .statusCheckmark.valid {\n background-color: var(--secondary-brand-color, var(--teal, #0ABDAE));\n}\n.resourceEdit-component-v2 .resource-heading .statusCheckmark.warning {\n background-color: var(--warning-brand-color, var(--orange, #FF9E0E));\n}\n.resourceEdit-component-v2 .resource-heading .statusCheckmark.error {\n background-color: var(--error-brand-color, var(--rad-red, #FF4835));\n}\n.resourceEdit-component-v2 .resource-heading .statusCheckmark.empty {\n background-color: var(--shade500, #939292);\n}";
|
|
19366
|
+
styleInject(css_248z$4);
|
|
19323
19367
|
|
|
19324
19368
|
function ResourceEdit(_a) {
|
|
19325
19369
|
var _b = _a.editable, editable = _b === void 0 ? false : _b, title = _a.title, desc = _a.desc, support = _a.support, status = _a.status, editableContent = _a.editableContent, className = _a.className, _c = _a.initOpen, initOpen = _c === void 0 ? false : _c;
|
|
@@ -19343,15 +19387,22 @@ function ResourceEdit(_a) {
|
|
|
19343
19387
|
support && React__default.createElement(Box, { className: "resource-support ".concat(!open ? "open" : "hidden") }, support));
|
|
19344
19388
|
}
|
|
19345
19389
|
|
|
19346
|
-
// Scope implication rules
|
|
19390
|
+
// Scope implication rules: selecting the key action also grants the listed actions.
|
|
19391
|
+
// Implied scopes are filtered against ALL_GRANULAR_SCOPES so we never emit a scope
|
|
19392
|
+
// the API doesn't define (e.g. a resource that has no `read`).
|
|
19347
19393
|
var SCOPE_IMPLICATIONS = {
|
|
19348
19394
|
"write": ["read"],
|
|
19349
19395
|
"delete": ["read"],
|
|
19350
19396
|
"send": ["read"],
|
|
19397
|
+
"send-test": ["read"],
|
|
19398
|
+
"share": ["read"],
|
|
19399
|
+
"publish": ["read"],
|
|
19351
19400
|
"import": ["read", "write"],
|
|
19352
19401
|
"export": ["read"],
|
|
19353
19402
|
"admin": ["read", "write", "delete"],
|
|
19354
19403
|
};
|
|
19404
|
+
// Catalog mirrors the ng-api ResourceScope enum exactly. Keep in sync with it —
|
|
19405
|
+
// the API rejects (422) any scope that is not a member of the enum.
|
|
19355
19406
|
var SCOPE_CATEGORIES = [
|
|
19356
19407
|
{
|
|
19357
19408
|
id: "audience",
|
|
@@ -19379,8 +19430,8 @@ var SCOPE_CATEGORIES = [
|
|
|
19379
19430
|
label: "Campaigns",
|
|
19380
19431
|
adminOnly: false,
|
|
19381
19432
|
resources: [
|
|
19382
|
-
{ resource: "campaigns", label: "Campaigns", actions: ["read", "write", "delete", "send"] },
|
|
19383
|
-
{ resource: "campaign_blueprints", label: "Campaign Blueprints", actions: ["read"
|
|
19433
|
+
{ resource: "campaigns", label: "Campaigns", actions: ["read", "write", "delete", "send", "send-test", "admin"] },
|
|
19434
|
+
{ resource: "campaign_blueprints", label: "Campaign Blueprints", actions: ["read"] },
|
|
19384
19435
|
]
|
|
19385
19436
|
},
|
|
19386
19437
|
{
|
|
@@ -19388,7 +19439,7 @@ var SCOPE_CATEGORIES = [
|
|
|
19388
19439
|
label: "Templates",
|
|
19389
19440
|
adminOnly: false,
|
|
19390
19441
|
resources: [
|
|
19391
|
-
{ resource: "templates", label: "Templates", actions: ["read", "write", "delete"] },
|
|
19442
|
+
{ resource: "templates", label: "Templates", actions: ["read", "write", "delete", "share"] },
|
|
19392
19443
|
]
|
|
19393
19444
|
},
|
|
19394
19445
|
{
|
|
@@ -19396,7 +19447,7 @@ var SCOPE_CATEGORIES = [
|
|
|
19396
19447
|
label: "Email API",
|
|
19397
19448
|
adminOnly: false,
|
|
19398
19449
|
resources: [
|
|
19399
|
-
{ resource: "
|
|
19450
|
+
{ resource: "emailapi", label: "Email API", actions: ["read", "send"] },
|
|
19400
19451
|
]
|
|
19401
19452
|
},
|
|
19402
19453
|
{
|
|
@@ -19404,8 +19455,8 @@ var SCOPE_CATEGORIES = [
|
|
|
19404
19455
|
label: "Forms",
|
|
19405
19456
|
adminOnly: false,
|
|
19406
19457
|
resources: [
|
|
19407
|
-
{ resource: "forms", label: "Forms", actions: ["read", "write", "delete"] },
|
|
19408
|
-
{ resource: "preference_centers", label: "Preference Centers", actions: ["read", "write"
|
|
19458
|
+
{ resource: "forms", label: "Forms", actions: ["read", "write", "delete", "publish"] },
|
|
19459
|
+
{ resource: "preference_centers", label: "Preference Centers", actions: ["read", "write"] },
|
|
19409
19460
|
]
|
|
19410
19461
|
},
|
|
19411
19462
|
{
|
|
@@ -19415,8 +19466,8 @@ var SCOPE_CATEGORIES = [
|
|
|
19415
19466
|
resources: [
|
|
19416
19467
|
{ resource: "senders", label: "Senders", actions: ["read", "write", "delete"] },
|
|
19417
19468
|
{ resource: "dkim", label: "DKIM", actions: ["read", "write", "delete"] },
|
|
19418
|
-
{ resource: "domains", label: "Domains", actions: ["read", "write"
|
|
19419
|
-
{ resource: "logos", label: "Logos", actions: ["
|
|
19469
|
+
{ resource: "domains", label: "Domains", actions: ["read", "write"] },
|
|
19470
|
+
{ resource: "logos", label: "Logos", actions: ["write", "delete"] },
|
|
19420
19471
|
]
|
|
19421
19472
|
},
|
|
19422
19473
|
{
|
|
@@ -19424,7 +19475,7 @@ var SCOPE_CATEGORIES = [
|
|
|
19424
19475
|
label: "Webhooks",
|
|
19425
19476
|
adminOnly: false,
|
|
19426
19477
|
resources: [
|
|
19427
|
-
{ resource: "webhooks", label: "Webhooks", actions: ["read", "write"
|
|
19478
|
+
{ resource: "webhooks", label: "Webhooks", actions: ["read", "write"] },
|
|
19428
19479
|
]
|
|
19429
19480
|
},
|
|
19430
19481
|
{
|
|
@@ -19432,10 +19483,10 @@ var SCOPE_CATEGORIES = [
|
|
|
19432
19483
|
label: "Analytics",
|
|
19433
19484
|
adminOnly: false,
|
|
19434
19485
|
resources: [
|
|
19435
|
-
{ resource: "reports", label: "Reports", actions: ["read"
|
|
19486
|
+
{ resource: "reports", label: "Reports", actions: ["read"] },
|
|
19436
19487
|
{ resource: "logs", label: "Logs", actions: ["read", "export"] },
|
|
19437
19488
|
{ resource: "links", label: "Links", actions: ["read"] },
|
|
19438
|
-
{ resource: "tasks", label: "Tasks", actions: ["read"] },
|
|
19489
|
+
{ resource: "tasks", label: "Tasks", actions: ["read", "delete"] },
|
|
19439
19490
|
]
|
|
19440
19491
|
},
|
|
19441
19492
|
{
|
|
@@ -19462,6 +19513,14 @@ var SCOPE_CATEGORIES = [
|
|
|
19462
19513
|
{ resource: "sub_accounts", label: "Sub-accounts", actions: ["read", "write", "admin"] },
|
|
19463
19514
|
]
|
|
19464
19515
|
},
|
|
19516
|
+
{
|
|
19517
|
+
id: "system_emails_admin",
|
|
19518
|
+
label: "System Emails (Admin)",
|
|
19519
|
+
adminOnly: true,
|
|
19520
|
+
resources: [
|
|
19521
|
+
{ resource: "system_emails", label: "System Emails", actions: ["read", "write"] },
|
|
19522
|
+
]
|
|
19523
|
+
},
|
|
19465
19524
|
{
|
|
19466
19525
|
id: "tokens_admin",
|
|
19467
19526
|
label: "Tokens (Admin)",
|
|
@@ -19471,6 +19530,9 @@ var SCOPE_CATEGORIES = [
|
|
|
19471
19530
|
]
|
|
19472
19531
|
},
|
|
19473
19532
|
];
|
|
19533
|
+
// Every valid granular scope, derived from the catalog. Used to filter out any
|
|
19534
|
+
// implied/preset scope that isn't a real API enum member.
|
|
19535
|
+
var ALL_GRANULAR_SCOPES = new Set(SCOPE_CATEGORIES.flatMap(function (c) { return c.resources.flatMap(function (r) { return r.actions.map(function (a) { return "".concat(r.resource, ":").concat(a); }); }); }));
|
|
19474
19536
|
// Helper to get all scopes for a category
|
|
19475
19537
|
function getCategoryScopes(categoryId) {
|
|
19476
19538
|
var cat = SCOPE_CATEGORIES.find(function (c) { return c.id === categoryId; });
|
|
@@ -19478,13 +19540,31 @@ function getCategoryScopes(categoryId) {
|
|
|
19478
19540
|
return [];
|
|
19479
19541
|
return cat.resources.flatMap(function (r) { return r.actions.map(function (a) { return "".concat(r.resource, ":").concat(a); }); });
|
|
19480
19542
|
}
|
|
19543
|
+
// Group a flat list of granular scopes by their category, for compact display
|
|
19544
|
+
// (e.g. listing pills). Categories with no matching scope are omitted.
|
|
19545
|
+
function groupScopesByCategory(scopes) {
|
|
19546
|
+
var selected = new Set(scopes);
|
|
19547
|
+
return SCOPE_CATEGORIES
|
|
19548
|
+
.map(function (cat) { return ({
|
|
19549
|
+
id: cat.id,
|
|
19550
|
+
label: cat.label,
|
|
19551
|
+
// `cat` is already in hand here — derive its scopes directly instead of
|
|
19552
|
+
// re-locating it with getCategoryScopes (which does a redundant find).
|
|
19553
|
+
scopes: cat.resources
|
|
19554
|
+
.flatMap(function (r) { return r.actions.map(function (a) { return "".concat(r.resource, ":").concat(a); }); })
|
|
19555
|
+
.filter(function (s) { return selected.has(s); }),
|
|
19556
|
+
}); })
|
|
19557
|
+
.filter(function (c) { return c.scopes.length > 0; });
|
|
19558
|
+
}
|
|
19481
19559
|
var SCOPE_PRESETS = [
|
|
19482
19560
|
{
|
|
19483
19561
|
id: "readonly",
|
|
19484
19562
|
label: "Read-only (all)",
|
|
19485
19563
|
scopes: SCOPE_CATEGORIES
|
|
19486
19564
|
.filter(function (c) { return !c.adminOnly; })
|
|
19487
|
-
.flatMap(function (c) { return c.resources
|
|
19565
|
+
.flatMap(function (c) { return c.resources
|
|
19566
|
+
.filter(function (r) { return r.actions.includes("read"); })
|
|
19567
|
+
.map(function (r) { return "".concat(r.resource, ":read"); }); })
|
|
19488
19568
|
},
|
|
19489
19569
|
{
|
|
19490
19570
|
id: "full",
|
|
@@ -19515,10 +19595,28 @@ var SCOPE_PRESETS = [
|
|
|
19515
19595
|
},
|
|
19516
19596
|
];
|
|
19517
19597
|
|
|
19598
|
+
var css_248z$3 = ".scopePicker {\n display: flex;\n flex-direction: column;\n gap: 1rem;\n font-family: proxima-nova, Lucida Grande, Lucida Sans Unicode, Lucida Sans, Geneva, Verdana, sans-serif;\n color: var(--body-font-color, var(--dark-matter, #2B2B2B));\n}\n.scopePicker__presets {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: 0.75rem;\n}\n.scopePicker__presetsLabel {\n font-size: 0.8125rem;\n font-weight: 600;\n color: var(--body-font-color-2, var(--silver, #9B9B9B));\n}\n.scopePicker__presetButtons {\n display: flex;\n flex-wrap: wrap;\n gap: 0.5rem;\n}\n.scopePicker__presetBtn {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n cursor: pointer;\n border: 1px solid var(--shade200, #DBDADA);\n background: var(--white, #FFFFFF);\n color: var(--body-font-color, var(--dark-matter, #2B2B2B));\n font: inherit;\n font-size: 0.8125rem;\n line-height: 1;\n padding: 0.5rem 0.75rem;\n border-radius: 100px;\n transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;\n}\n.scopePicker__presetBtn:hover:not(:disabled) {\n border-color: var(--primary-brand-color, var(--grape, #69006E));\n color: var(--primary-brand-color, var(--grape, #69006E));\n background: var(--shade100, #F3F2F2);\n}\n.scopePicker__presetBtn:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n.scopePicker__categories {\n display: flex;\n flex-direction: column;\n border: 1px solid var(--shade200, #DBDADA);\n border-radius: 8px;\n overflow: hidden;\n}\n.scopePicker__category {\n border-bottom: 1px solid var(--shade150, #E7E6E6);\n}\n.scopePicker__category:last-child {\n border-bottom: none;\n}\n.scopePicker__category--admin {\n background: var(--shade100, #F3F2F2);\n}\n.scopePicker__categoryHeader {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 1rem;\n padding: 0.75rem 1rem;\n}\n.scopePicker__categorySelect {\n display: flex;\n align-items: center;\n gap: 0.75rem;\n cursor: pointer;\n flex: 1;\n}\n.scopePicker__categorySelect input[type=checkbox] {\n width: 1rem;\n height: 1rem;\n accent-color: var(--primary-brand-color, var(--grape, #69006E));\n cursor: pointer;\n}\n.scopePicker__categoryLabel {\n font-size: 0.875rem;\n font-weight: 600;\n}\n.scopePicker__categoryToggle {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n border: none;\n background: none;\n cursor: pointer;\n color: var(--body-font-color-2, var(--silver, #9B9B9B));\n font-size: 0.625rem;\n padding: 0.5rem;\n line-height: 1;\n border-radius: 4px;\n}\n.scopePicker__categoryToggle:hover {\n color: var(--body-font-color, var(--dark-matter, #2B2B2B));\n background: var(--shade150, #E7E6E6);\n}\n.scopePicker__categoryBody {\n display: flex;\n flex-direction: column;\n gap: 0.75rem;\n padding: 0 1rem 1rem calc(1rem + 1.75rem);\n}\n.scopePicker__resource {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: 0.75rem;\n}\n.scopePicker__resourceLabel {\n font-size: 0.8125rem;\n color: var(--body-font-color-2, var(--silver, #9B9B9B));\n min-width: 9rem;\n}\n.scopePicker__actions {\n display: flex;\n flex-wrap: wrap;\n gap: 0.5rem;\n}\n.scopePicker__action {\n display: inline-flex;\n align-items: center;\n gap: 0.375rem;\n font-size: 0.8125rem;\n cursor: pointer;\n padding: 0.125rem 0.5rem;\n border-radius: 4px;\n border: 1px solid transparent;\n}\n.scopePicker__action input[type=checkbox] {\n width: 0.875rem;\n height: 0.875rem;\n accent-color: var(--primary-brand-color, var(--grape, #69006E));\n cursor: pointer;\n}\n.scopePicker__action:hover {\n background: var(--shade100, #F3F2F2);\n}\n.scopePicker__action--implied {\n color: var(--body-font-color-2, var(--silver, #9B9B9B));\n cursor: not-allowed;\n opacity: 0.7;\n}\n.scopePicker__action--implied input {\n cursor: not-allowed;\n}\n.scopePicker__summary {\n border: 1px dashed var(--shade200, #DBDADA);\n border-radius: 8px;\n padding: 0.75rem 1rem;\n font-size: 0.8125rem;\n}\n.scopePicker__summary summary {\n cursor: pointer;\n font-weight: 600;\n color: var(--body-font-color-2, var(--silver, #9B9B9B));\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n}\n.scopePicker__summaryList {\n display: flex;\n flex-wrap: wrap;\n gap: 0.5rem;\n margin-top: 0.75rem;\n}\n.scopePicker__summaryChip {\n font-family: monospace;\n font-size: 0.75rem;\n background: var(--shade100, #F3F2F2);\n border: 1px solid var(--shade200, #DBDADA);\n border-radius: 4px;\n padding: 0.125rem 0.375rem;\n color: var(--body-font-color, var(--dark-matter, #2B2B2B));\n}\n.scopePicker__summaryChip--unknown {\n border-color: var(--warning-brand-color, var(--orange, #FF9E0E));\n color: var(--warning-brand-color, var(--orange, #FF9E0E));\n}";
|
|
19599
|
+
styleInject(css_248z$3);
|
|
19600
|
+
|
|
19601
|
+
// `indeterminate` has no HTML attribute — it must be set imperatively on the DOM
|
|
19602
|
+
// node. A dedicated component scopes that write to a useEffect that runs only
|
|
19603
|
+
// when the flag changes, instead of an inline ref callback that React re-attaches
|
|
19604
|
+
// (null then element) on every parent render.
|
|
19605
|
+
function IndeterminateCheckbox(_a) {
|
|
19606
|
+
var checked = _a.checked, indeterminate = _a.indeterminate, onChange = _a.onChange, disabled = _a.disabled, ariaLabel = _a.ariaLabel;
|
|
19607
|
+
var ref = useRef(null);
|
|
19608
|
+
useEffect(function () {
|
|
19609
|
+
if (ref.current)
|
|
19610
|
+
ref.current.indeterminate = indeterminate;
|
|
19611
|
+
}, [indeterminate]);
|
|
19612
|
+
return (React__default.createElement("input", { ref: ref, type: "checkbox", checked: checked, onChange: function (e) { return onChange(e.target.checked); }, disabled: disabled, "aria-label": ariaLabel }));
|
|
19613
|
+
}
|
|
19518
19614
|
function getImpliedScopes(scope) {
|
|
19519
19615
|
var _a = scope.split(":"), resource = _a[0], action = _a[1];
|
|
19520
19616
|
var implied = SCOPE_IMPLICATIONS[action] || [];
|
|
19521
|
-
|
|
19617
|
+
// Only keep implied scopes that are real API enum members for this resource
|
|
19618
|
+
// (e.g. `logos` has no `read`, `users` has no `delete`).
|
|
19619
|
+
return implied.map(function (a) { return "".concat(resource, ":").concat(a); }).filter(function (s) { return ALL_GRANULAR_SCOPES.has(s); });
|
|
19522
19620
|
}
|
|
19523
19621
|
function ScopePicker(_a) {
|
|
19524
19622
|
var value = _a.value, onChange = _a.onChange, _b = _a.isPartner, isPartner = _b === void 0 ? false : _b, _c = _a.disabled, disabled = _c === void 0 ? false : _c;
|
|
@@ -19545,6 +19643,9 @@ function ScopePicker(_a) {
|
|
|
19545
19643
|
getImpliedScopes(scope).forEach(function (s) { return next.add(s); });
|
|
19546
19644
|
}
|
|
19547
19645
|
else {
|
|
19646
|
+
// Remove only the unchecked scope. We intentionally do NOT cascade-remove
|
|
19647
|
+
// its implied scopes: they are independent permissions the user may still
|
|
19648
|
+
// want, and cascading can silently drop scopes the user explicitly selected.
|
|
19548
19649
|
next.delete(scope);
|
|
19549
19650
|
}
|
|
19550
19651
|
onChange(Array.from(next));
|
|
@@ -19571,6 +19672,9 @@ function ScopePicker(_a) {
|
|
|
19571
19672
|
onChange(Array.from(next));
|
|
19572
19673
|
}, [selectedSet, onChange, disabled]);
|
|
19573
19674
|
var handlePreset = useCallback(function (presetId) {
|
|
19675
|
+
// Guard for symmetry with handleScopeToggle/handleCategorySelectAll: the
|
|
19676
|
+
// preset buttons are only rendered when !disabled, but keeping the check
|
|
19677
|
+
// makes all three value-mutators behave identically and stay safe to call.
|
|
19574
19678
|
if (disabled)
|
|
19575
19679
|
return;
|
|
19576
19680
|
var preset = SCOPE_PRESETS.find(function (p) { return p.id === presetId; });
|
|
@@ -19582,38 +19686,46 @@ function ScopePicker(_a) {
|
|
|
19582
19686
|
expanded.add(s);
|
|
19583
19687
|
getImpliedScopes(s).forEach(function (implied) { return expanded.add(implied); });
|
|
19584
19688
|
});
|
|
19689
|
+
// Preserve any already-selected scopes that aren't in the catalog (e.g.
|
|
19690
|
+
// server-side enum drift): applying a preset replaces the selection, but
|
|
19691
|
+
// it must never silently strip permissions the picker can't display.
|
|
19692
|
+
selectedSet.forEach(function (s) { if (!ALL_GRANULAR_SCOPES.has(s))
|
|
19693
|
+
expanded.add(s); });
|
|
19585
19694
|
onChange(Array.from(expanded));
|
|
19586
|
-
}, [onChange, disabled]);
|
|
19695
|
+
}, [selectedSet, onChange, disabled]);
|
|
19587
19696
|
var isCategoryAllSelected = useCallback(function (categoryId) {
|
|
19588
19697
|
var cat = SCOPE_CATEGORIES.find(function (c) { return c.id === categoryId; });
|
|
19589
19698
|
if (!cat)
|
|
19590
19699
|
return false;
|
|
19591
19700
|
return cat.resources.every(function (r) { return r.actions.every(function (a) { return selectedSet.has("".concat(r.resource, ":").concat(a)); }); });
|
|
19592
19701
|
}, [selectedSet]);
|
|
19702
|
+
var isCategorySomeSelected = useCallback(function (categoryId) {
|
|
19703
|
+
var cat = SCOPE_CATEGORIES.find(function (c) { return c.id === categoryId; });
|
|
19704
|
+
if (!cat)
|
|
19705
|
+
return false;
|
|
19706
|
+
return cat.resources.some(function (r) { return r.actions.some(function (a) { return selectedSet.has("".concat(r.resource, ":").concat(a)); }); });
|
|
19707
|
+
}, [selectedSet]);
|
|
19593
19708
|
var isImplied = useCallback(function (scope) {
|
|
19594
|
-
//
|
|
19595
|
-
|
|
19596
|
-
|
|
19597
|
-
|
|
19598
|
-
|
|
19599
|
-
|
|
19600
|
-
|
|
19601
|
-
if (r !== resource)
|
|
19602
|
-
return false;
|
|
19603
|
-
return (SCOPE_IMPLICATIONS[a] || []).includes(action);
|
|
19604
|
-
});
|
|
19709
|
+
// Only lock a scope as "implied" if it's actually selected — otherwise an
|
|
19710
|
+
// unselected-but-implied scope would render disabled+unchecked (a dead end).
|
|
19711
|
+
if (!selectedSet.has(scope))
|
|
19712
|
+
return false;
|
|
19713
|
+
// Implied if any other selected scope implies it. Uses getImpliedScopes so
|
|
19714
|
+
// the catalog filtering (ALL_GRANULAR_SCOPES) stays consistent across both.
|
|
19715
|
+
return Array.from(selectedSet).some(function (s) { return s !== scope && getImpliedScopes(s).includes(scope); });
|
|
19605
19716
|
}, [selectedSet]);
|
|
19606
19717
|
return (React__default.createElement("div", { className: "scopePicker", "aria-label": "Permission scope picker" },
|
|
19607
|
-
React__default.createElement("div", { className: "scopePicker__presets" },
|
|
19718
|
+
!disabled && (React__default.createElement("div", { className: "scopePicker__presets" },
|
|
19608
19719
|
React__default.createElement("span", { className: "scopePicker__presetsLabel" }, "Quick presets:"),
|
|
19609
|
-
React__default.createElement("div", { className: "scopePicker__presetButtons" }, SCOPE_PRESETS.map(function (preset) { return (React__default.createElement("button", { key: preset.id, type: "button", className: "scopePicker__presetBtn", onClick: function () { return handlePreset(preset.id); }
|
|
19720
|
+
React__default.createElement("div", { className: "scopePicker__presetButtons" }, SCOPE_PRESETS.map(function (preset) { return (React__default.createElement("button", { key: preset.id, type: "button", className: "scopePicker__presetBtn", onClick: function () { return handlePreset(preset.id); } }, preset.label)); })))),
|
|
19610
19721
|
React__default.createElement("div", { className: "scopePicker__categories" }, visibleCategories.map(function (category) {
|
|
19611
19722
|
var isExpanded = expandedCategories.has(category.id);
|
|
19612
19723
|
var allSelected = isCategoryAllSelected(category.id);
|
|
19724
|
+
var someSelected = isCategorySomeSelected(category.id);
|
|
19613
19725
|
return (React__default.createElement("div", { key: category.id, className: "scopePicker__category ".concat(category.adminOnly ? "scopePicker__category--admin" : "") },
|
|
19614
19726
|
React__default.createElement("div", { className: "scopePicker__categoryHeader" },
|
|
19615
19727
|
React__default.createElement("label", { className: "scopePicker__categorySelect" },
|
|
19616
|
-
React__default.createElement(
|
|
19728
|
+
React__default.createElement(IndeterminateCheckbox, { checked: allSelected, indeterminate: someSelected && !allSelected, onChange: function (checked) { return handleCategorySelectAll(category.id, checked); }, disabled: disabled, ariaLabel: "Select all ".concat(category.label, " scopes") }),
|
|
19617
19729
|
React__default.createElement("span", { className: "scopePicker__categoryLabel" }, category.label)),
|
|
19618
19730
|
React__default.createElement("button", { type: "button", className: "scopePicker__categoryToggle", onClick: function () { return toggleCategory(category.id); }, "aria-expanded": isExpanded, "aria-label": "".concat(isExpanded ? "Collapse" : "Expand", " ").concat(category.label) }, isExpanded ? "▲" : "▼")),
|
|
19619
19731
|
isExpanded && (React__default.createElement("div", { className: "scopePicker__categoryBody" }, category.resources.map(function (resource) { return (React__default.createElement("div", { key: resource.resource, className: "scopePicker__resource" },
|
|
@@ -19632,7 +19744,12 @@ function ScopePicker(_a) {
|
|
|
19632
19744
|
"Selected permissions (",
|
|
19633
19745
|
value.length,
|
|
19634
19746
|
")"),
|
|
19635
|
-
React__default.createElement("div", { className: "scopePicker__summaryList" }, value.sort().map(function (scope) {
|
|
19747
|
+
React__default.createElement("div", { className: "scopePicker__summaryList" }, __spreadArray([], value, true).sort().map(function (scope) {
|
|
19748
|
+
// Scopes not in the catalog (e.g. enum drift) get a
|
|
19749
|
+
// distinct style + tooltip so they're never invisible.
|
|
19750
|
+
var unrecognized = !ALL_GRANULAR_SCOPES.has(scope);
|
|
19751
|
+
return (React__default.createElement("span", { key: scope, className: "scopePicker__summaryChip ".concat(unrecognized ? "scopePicker__summaryChip--unknown" : ""), title: unrecognized ? "Not in the current permission catalog — kept as-is on save" : undefined }, scope));
|
|
19752
|
+
}))))));
|
|
19636
19753
|
}
|
|
19637
19754
|
|
|
19638
19755
|
var css_248z$2 = ".sideMenu-component-v2 {\n z-index: 8000;\n width: -moz-fit-content;\n width: fit-content;\n}\n.sideMenu-component-v2 .sideMenu-spacer {\n display: none;\n}\n.sideMenu-component-v2.minified:hover .sideMenu-spacer {\n display: block;\n}\n.sideMenu-component-v2 .sideMenu-wrapper {\n z-index: 8000;\n display: flex;\n height: 100%;\n flex-direction: column;\n width: 20rem;\n min-width: 20rem;\n max-width: 20rem;\n padding: 1rem;\n background: var(--shade100, #F3F2F2);\n position: relative;\n box-sizing: border-box;\n}\n.sideMenu-component-v2 .sideMenu-wrapper::-webkit-scrollbar {\n display: block;\n}\n.sideMenu-component-v2 .sideMenu-wrapper::-webkit-scrollbar-track:horizontal {\n position: absolute;\n bottom: -20px;\n}\n.sideMenu-component-v2 .sideMenu-wrapper::-webkit-scrollbar-track:vertical {\n border-bottom-left-radius: 0 !important;\n border-bottom-right-radius: 8px !important;\n border-top-right-radius: 8px !important;\n}\n.sideMenu-component-v2 .sideMenu-wrapper::-webkit-scrollbar-track {\n height: 2.5rem;\n width: 2.5rem;\n padding: 2rem;\n background-clip: content-box;\n border-bottom-left-radius: 8px;\n}\n.sideMenu-component-v2 .sideMenu-wrapper::-webkit-scrollbar-thumb {\n background: var(--body-font-color-2, var(--silver, #9B9B9B));\n border-radius: 24px;\n border-top: 5px solid var(--background-color-1, var(--white, #FFFFFF));\n border-bottom: 5px solid var(--background-color-1, var(--white, #FFFFFF));\n border-right: 5px solid var(--background-color-1, var(--white, #FFFFFF));\n border-left: 5px solid var(--background-color-1, var(--white, #FFFFFF));\n}\n.sideMenu-component-v2 .sideMenu-wrapper.minified:hover {\n box-shadow: 0px 0px 32px 0px rgba(0, 0, 0, 0.15);\n position: absolute !important;\n}\n.sideMenu-component-v2 .sideMenu-wrapper.minified:not(:hover) {\n gap: 1rem;\n max-width: 73px;\n min-width: 73px;\n}\n.sideMenu-component-v2 .sideMenu-wrapper.minified:not(:hover) .sideMenuHeader {\n display: none;\n}\n.sideMenu-component-v2 .sideMenu-wrapper.minified:not(:hover) .subNav-component-v2 button {\n padding: 0.75rem;\n margin-right: 0;\n}\n.sideMenu-component-v2 .sideMenu-wrapper.minified:not(:hover) .subNav-component-v2 button:not(.selected) {\n display: none;\n}\n.sideMenu-component-v2 .sideMenu-wrapper.minified:not(:hover) .sideMenuContainer-component-v2 .menuItemRow .sideMenuItem-component-v2.subItem,\n.sideMenu-component-v2 .sideMenu-wrapper.minified:not(:hover) .sideMenuContainer-component-v2 .menuItemRow .sideMenuItem-component-v2 .chevron {\n display: none;\n}\n.sideMenu-component-v2 .sideMenu-wrapper.minified:not(:hover) .sideMenuContainer-component-v2 .menuItemRow .sideMenuItem-component-v2 a {\n justify-content: center;\n}\n.sideMenu-component-v2 .sideMenu-wrapper.minified:not(:hover) .sideMenuContainer-component-v2 .menuItemRow .sideMenuItem-component-v2 a .MuiStack-root {\n display: none;\n}\n.sideMenu-component-v2 .sideMenu-wrapper.minified:not(:hover) .footer > .avatar-component-v2 {\n display: block;\n}\n.sideMenu-component-v2 .sideMenu-wrapper.minified:not(:hover) .footer button {\n display: none;\n}\n.sideMenu-component-v2 .sideMenu-wrapper .sideMenuHeader {\n margin-bottom: 1.5rem;\n}\n.sideMenu-component-v2 .sideMenu-wrapper .sideMenuHeader .minifyIcon {\n cursor: pointer;\n}\n.sideMenu-component-v2 .sideMenu-wrapper .search-component-v2 {\n margin-top: 1.5rem;\n position: relative;\n}\n.sideMenu-component-v2 .sideMenu-wrapper .search-component-v2 .inputContainer {\n padding: 0.75rem 1rem;\n box-shadow: unset;\n border-radius: 8px;\n border: 1px solid var(--shade200, #DBDADA);\n}\n.sideMenu-component-v2 .sideMenu-wrapper .search-component-v2:after {\n position: absolute;\n left: 0;\n bottom: -1.5rem;\n content: \"\";\n display: block;\n width: 100%;\n height: 1.5rem;\n background: linear-gradient(var(--shade100, #F3F2F2) 0%, transparent 100%);\n}\n.sideMenu-component-v2 .sideMenu-wrapper .subNav-component-v2 {\n width: 100%;\n position: relative;\n justify-content: space-between;\n}\n.sideMenu-component-v2 .sideMenu-wrapper .subNav-component-v2:after {\n position: absolute;\n left: 0;\n bottom: -1.5rem;\n content: \"\";\n display: block;\n width: 100%;\n height: 1.5rem;\n background: linear-gradient(var(--shade100, #F3F2F2) 0%, transparent 100%);\n}\n.sideMenu-component-v2 .sideMenu-wrapper .subNav-component-v2 button {\n flex: 1;\n}\n.sideMenu-component-v2 .sideMenu-wrapper .subNav-component-v2 button:not(.selected):not(:hover) {\n background: none;\n}\n.sideMenu-component-v2 .sideMenu-wrapper .subNav-component-v2 button:not(.selected):not(:hover) svg path:not(.noFill),\n.sideMenu-component-v2 .sideMenu-wrapper .subNav-component-v2 button:not(.selected):not(:hover) svg rect:not(.noFill) {\n fill: var(--secondary-brand-color, var(--teal, #0ABDAE));\n}\n.sideMenu-component-v2 .sideMenu-wrapper .subNav-component-v2 button:not(.selected):not(:hover) svg path.noFill,\n.sideMenu-component-v2 .sideMenu-wrapper .subNav-component-v2 button:not(.selected):not(:hover) svg rect.noFill {\n stroke: var(--secondary-brand-color, var(--teal, #0ABDAE));\n}\n.sideMenu-component-v2 .sideMenu-wrapper .sideMenuContainer-component-v2 {\n padding-top: 1.5rem;\n padding-bottom: 1.5rem;\n}\n.sideMenu-component-v2 .sideMenu-wrapper .footer {\n position: relative;\n justify-self: flex-end;\n}\n.sideMenu-component-v2 .sideMenu-wrapper .footer:before {\n position: absolute;\n left: 0;\n top: -1.5rem;\n content: \"\";\n display: block;\n width: 100%;\n height: 1.5rem;\n background: linear-gradient(transparent 0, var(--shade100, #F3F2F2) 100%);\n}\n.sideMenu-component-v2 .sideMenu-wrapper .footer > .avatar-component-v2 {\n display: none;\n}\n\n.sideMenuContainer-component-v2 {\n flex: 1;\n overflow-y: auto;\n}\n.sideMenuContainer-component-v2 .menuItemsContainer > .menuItemRow.divider {\n margin-top: 1rem;\n margin-bottom: 1rem;\n}\n.sideMenuContainer-component-v2 .menuItemsContainer > .menuItemRow.withSubItems.openedSubMenu .sideMenuItem-component-v2:nth-child(2) {\n margin-top: calc(0.5rem - 1px);\n}\n.sideMenuContainer-component-v2 .menuItemsContainer > .menuItemRow.withSubItems.openedSubMenu .sideMenuItem-component-v2:last-child {\n margin-bottom: calc(0.5rem - 1px);\n}\n.sideMenuContainer-component-v2 .menuItemsContainer > .menuItemRow.subSection {\n margin-top: 1rem;\n}\n.sideMenuContainer-component-v2 .menuItemsContainer > .menuItemRow:first-child {\n margin-top: 0;\n}\n.sideMenuContainer-component-v2 .menuItemsContainer .sideMenuItem-component-v2.subItem {\n margin-left: 2.75rem;\n}\n.sideMenuContainer-component-v2 .menuItemsContainer .sideMenuItem-component-v2.subItem > a,\n.sideMenuContainer-component-v2 .menuItemsContainer .sideMenuItem-component-v2.subItem > a > div > span {\n font-size: 0.875rem;\n}\n.sideMenuContainer-component-v2 .menuItemsContainer .sideMenuItem-component-v2.rotate .chevron {\n rotate: 180deg;\n}\n.sideMenuContainer-component-v2 .menuItemsContainer .sideMenuItem-component-v2.hasLocationSelected:hover a {\n cursor: default;\n background: unset !important;\n}\n\n.sideMenuItem-component-v2 {\n box-sizing: border-box;\n}\n.sideMenuItem-component-v2:hover a, .sideMenuItem-component-v2.selected a {\n background: var(--shade200, #DBDADA);\n}\n.sideMenuItem-component-v2.hasSubItemSelected > .MuiTypography-root .chevron {\n rotate: -90deg;\n}\n.sideMenuItem-component-v2 .avatar-component-v2 .MuiAvatar-root {\n border-color: var(--shade200, #DBDADA);\n background: var(--white, #FFFFFF);\n}\n.sideMenuItem-component-v2 .chevron {\n margin-left: 1rem;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n.sideMenuItem-component-v2 a {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 0.75rem;\n border-radius: 8px;\n text-decoration: none !important;\n gap: 1rem;\n}\n.sideMenuItem-component-v2 a > .MuiStack-root {\n flex: 1;\n}\n.sideMenuItem-component-v2 a img {\n max-width: 80px;\n}\n.sideMenuItem-component-v2.soloItem a {\n border-radius: 16px;\n padding: 1.5rem;\n border: 1px solid var(--shade200, #DBDADA);\n}\n.sideMenuItem-component-v2.soloItem a:hover {\n border-color: var(--wild-sand, #dddddd);\n}\n.sideMenuItem-component-v2.soloItem .chevron {\n rotate: -90deg;\n}\n.sideMenuItem-component-v2.subSection {\n padding: 0.5rem 0.75rem 0.5rem 0.75rem;\n}";
|
|
@@ -19727,7 +19844,7 @@ function SideMenuContainer(_a) {
|
|
|
19727
19844
|
if (subSelected) {
|
|
19728
19845
|
hasSubItemSelected = true;
|
|
19729
19846
|
}
|
|
19730
|
-
return React__default.createElement(SideMenuItem, { item: s, defaultItemIcon: s.defaultItemIcon, menuItemClick: handleMenuItemClick, selected: subSelected, className: subClasses, key: "subItem-".concat(sIndex) });
|
|
19847
|
+
return React__default.createElement(SideMenuItem, { item: s, variant: s.variant, defaultItemIcon: s.defaultItemIcon, menuItemClick: handleMenuItemClick, selected: subSelected, className: subClasses, key: "subItem-".concat(sIndex) });
|
|
19731
19848
|
});
|
|
19732
19849
|
var openedSubMenu = (hasSubItemSelected || openedItems.includes(i.name || ""));
|
|
19733
19850
|
var classes = classNames({
|
|
@@ -20630,7 +20747,7 @@ var PersonalAccessTokensFactory = /** @class */ (function () {
|
|
|
20630
20747
|
var keyPrefix = _b.keyPrefix;
|
|
20631
20748
|
return __generator(this, function (_c) {
|
|
20632
20749
|
return [2 /*return*/, getPat({ keyPrefix: keyPrefix }).then(function (data) {
|
|
20633
|
-
return new PersonalAccessTokenModel(data
|
|
20750
|
+
return new PersonalAccessTokenModel(unwrapResponse(data));
|
|
20634
20751
|
})];
|
|
20635
20752
|
});
|
|
20636
20753
|
});
|
|
@@ -20640,7 +20757,19 @@ var PersonalAccessTokensFactory = /** @class */ (function () {
|
|
|
20640
20757
|
var name = _b.name, scopes = _b.scopes, expiresAt = _b.expiresAt, allowedAccountIds = _b.allowedAccountIds;
|
|
20641
20758
|
return __generator(this, function (_c) {
|
|
20642
20759
|
return [2 /*return*/, createPat({ name: name, scopes: scopes, expiresAt: expiresAt, allowedAccountIds: allowedAccountIds }).then(function (data) {
|
|
20643
|
-
|
|
20760
|
+
// Single-resource responses are returned flat (not wrapped in `{ data }`).
|
|
20761
|
+
var body = unwrapResponse(data);
|
|
20762
|
+
var plaintext = body.plaintext, patData = __rest(body
|
|
20763
|
+
// The plaintext token is shown to the user exactly once, at creation;
|
|
20764
|
+
// if the API omits it there is nothing to display, so fail loudly here
|
|
20765
|
+
// rather than handing back `undefined` as the token.
|
|
20766
|
+
, ["plaintext"]);
|
|
20767
|
+
// The plaintext token is shown to the user exactly once, at creation;
|
|
20768
|
+
// if the API omits it there is nothing to display, so fail loudly here
|
|
20769
|
+
// rather than handing back `undefined` as the token.
|
|
20770
|
+
if (typeof plaintext !== "string" || plaintext.length === 0) {
|
|
20771
|
+
throw new Error("API response did not include the plaintext token");
|
|
20772
|
+
}
|
|
20644
20773
|
trackEvent(EEvents.PAT_CREATED, { name: name, scopes: scopes });
|
|
20645
20774
|
return { pat: new PersonalAccessTokenModel(patData), plaintext: plaintext };
|
|
20646
20775
|
})];
|
|
@@ -21034,4 +21163,4 @@ var UsersFactory = /** @class */ (function () {
|
|
|
21034
21163
|
return UsersFactory;
|
|
21035
21164
|
}());
|
|
21036
21165
|
|
|
21037
|
-
export { AccountModel, AccountsFactory, ActionBarContainer, ActionBarContainerHandler, AssetManager, AutomationModel, AutomationsFactory, Avatar, BillingFactory, BrandWrapper, BrandsFactory, Button, ButtonMenu, CampaignModel, CampaignsFactory, Checkbox, Chip, CircularProgress, CodeInput, ColManager, ColorTextField, CommonFormModel, ContactModel, ContactsFactory, ContentSectionContainer, CountryDropdown, CustomDomainModel, CustomDomainsFactory, CustomerModel, DataTable, DataTableHead, DataTableRow, DateCalendar, DatePicker, DateTimeCalendar, DateTimePicker, Dialog, DialogActions, DialogHandler, DialogTitle, Divider, Drawer, DrawerHandler, DropMenu, Dropdown, EApiLanguages, EAssetManagerMatchType, ECampaignStatuses, ECertificateStatus, EDnsStatus, EEMailSummaryStatuses, EEditorType, EEmailAttachementTypes, EEmailLogType, EEmailLogTypeParam, EEmailProviders, EEmailStatuses, EEmailSummaryEngagement, EEventBreakdownDimension, EEventSortField, EEventTimeseriesGranularity, EEvents, EIngressRouteStatus, EListAttributeType, EMethods, EOperatorTypes, EPageBranding, EPartialInfoPool, EPopupBranding, EPopupBrowserType, EPopupCloseButtonPosition, EPopupDeviceType, EPopupDisplayFrequency, EPopupPosition, EPopupTriggerType, EStorageType, ETaskType, ETopDomainStatus, ETrackedDeviceType, ETrackedEntityType, ETrackedEventType, ElementContains, Email, EmailAPIFactory, EmptyContent, EnhancedFormModel, EventModel, EventTrackingFactory, FileUpload, FilterBar, FormModel, FormsFactory, FullBar, GenericWrapper, GenericWrapperContext, GroupedActions, Header, Icon, IconPill, InformationGroup, InlineTextEdit, LinearProgress, Link, ListCampaignModel, ListModel, ListPageModel, ListPopupModel, ListTemplateModel, ListsFactory, LoadingContainer, LocationTextField, Logo, MD5, MetricCard, Modal, ModalHandler, ModalHeading, Overlay, OverlayHandler, OverlayHeading, PageModel, PagesFactory, PersonalAccessTokenModel, PersonalAccessTokensFactory, PhoneTextField, PopupModel, PopupsFactory, Radio, ResourceEdit, ScopePicker, Search, SenderModel, SendersFactory, SideMenu, SideMenuContainer, SideMenuItem, SubNav, SummaryEnhancedFormModel, SuppressedEmailsFactory, SystemEmailsFactory, SystemEmailsModel, TagsFactory, TasksFactory, TemplateModel, TemplatesFactory, TextField, TimePicker, TimeSelector, Toggle, TopDomainModel, TopDomainsFactory, TopMenu, Typography, UserModel, UsersFactory, acceptListPolicy, addInterestsToContactsOfList, addPartialInformation, addSuppressedEmail, addToImpersonificationTree, amIImpersonating, amILoggedInService, archiveCampaign, areAllPropertiesEmpty, buildMUITheme, callApi, camelCase, camelToSnakeCase, cancelCampaign, capitalizeFirstLetter, cleanPostHogId, clearImpersonificationTree, clearStorage, copyToClipboard, createAccount, createBrand, createCampaign, createCampaignLogsExports, createCampaignsReportsExport, createContactsExport, createCustomDomain, createForm, createPage, createPat, createPopup, createSender, createSuppressedEmailExport, createTemplate, createTopDomain, deepMergeObject, deleteAccount, deleteAnyAutomation, deleteAutomation, deleteCampaign, deleteCampaignsReportsExport, deleteContact, deleteCustomDomain, deleteForm, deleteList, deletePage, deletePartialInformation, deletePopup, deleteSender, deleteStorageItem, deleteSuppressedEmail, deleteTaskService, deleteTemplate, deleteTopDomain, deleteUser, deleteWorkflow, descendingComparator, disableForm, disablePage, disablePopup, domainHasValidCertificateService, downloadCampaignLogExport, downloadCampaignsReportsExport, downloadContactsExport, downloadListLogExport, downloadSuppressedEmailExport, emptyAccountAddress, emptyAccountLimits, enableForm, enablePage, enablePopup, enrichBrand, enrichOrganization, enrichProfile, eventCondition, eventIdentify, eventLogout, fetchRetry, fetchRoute, findNestedProperty, formatNumber, getAccount, getAccountMetadata, getAccountReport, getAdjustedBillingCycle, getAllAutomationStats, getAutomation, getAutomationEmailContent, getAutomationExecutionsCount, getAutomationStats, getBeeTokenService, getBestLocalMatch, getBrand, getBrandService, getBrandUrl, getCalendarFormat, getCampaign, getCampaignLinks, getCampaignLinksReport, getCampaignLogs, getCampaignLogsExports, getCampaignReport, getCampaignRevisions, getCampaignsReportsExport, getComparator, getContactsExport, getCustomDomain, getCustomerProfile, getDate, getDomainFromEmail, getDomainsFromEmails, getDomainsService, getEmail, getEmailActivitySummary, getEmailReport, getEndOfDate, getEventBreakdown, getEventFunnel, getEventPropertyKeys, getEventSummary, getEventTimeseries, getForm, getHashQueryWithoutHistory, getIconSize, getList, getListLogs, getListReport, getNestedProperty, getPage, getPat, getPopup, getPropertyValue, getSender, getStartOfDate, getStorage, getSuppressedEmailExport, getTColor, getTaskService, getTemplate, getTopDomain, getUnixTime, getUrlQueryParam, getUser, getUtmCookies, googlePlacesMapper, hasDecimal, impersonateService, initFieldValidation, initPostHog, isColorLight, isDomainValidService, isPublicEmailProviderService, isSimpleType, isValidEmail, isValidString, isValidUrl, lisTEmailTags, listAccounts, listAutomations, listCampaigns, listCampaignsReportsExports, listContacts, listCustomDomains, listDkimService, listEmailLogs, listEvents, listForms, listList, listListAttributes, listListInterests, listPages, listPats, listPopups, listSenders, listSuppressedEmails, listSystemEmails, listTasksService, listTemplates, listTopDomains, listUsers, listWorkflows, logOutService, loginService, miliToSecond, modelSet, modelToJson, originalBrand, patchAccountDomainsService, patchForm, popImpersonificationTree, postMessage, publishForm, publishPage, publishPopup, reScheduleCampaign, removeEmptyProperties, removeInterestsFromContactsOfList, removeQueryParams, removeTrailingChar, renderCampaign, renderEmail, renderForm, renderPage, renderPopup, renderPublicHtmlForm, renderTemplate, requestSupportService, resendEmail, resendVerificationEmail, resumeCampaign, revokePat, saveList, scheduleCampaign, searchCustomerProfiles, sendCampaignTest, setBrandHeadElements, setStorage, shareTemplate, splitArray, splitObject, stableSort, startPromisePool, suspendAccount, suspendCampaign, tagContact, tagsContactsOfList, trackEvent, truncateEmail, truncateText, uiKitConfig, unArchiveCampaign, unScheduleCampaign, unSuspendAccount, unshareTemplate, unsubscribeContact, untagContact, untagContactsOfList, updateAccount, updateAndClearUrlParams, updateAnyAutomation, updateAutomation, updateCampaign, updatePage, updatePat, updatePopup, updateSystemEmails, updateTemplate, updateUser, updateWorkflow, validateColor, validateEmail, validateGenericInput, validateTopDomain, validateUrl, verifyCustomDomain, verifyTrackingCnamesService, wait, whiteLabelBrand, whoAmi };
|
|
21166
|
+
export { AccountModel, AccountsFactory, ActionBarContainer, ActionBarContainerHandler, AssetManager, AutomationModel, AutomationsFactory, Avatar, BillingFactory, BrandWrapper, BrandsFactory, Button, ButtonMenu, CampaignModel, CampaignsFactory, Checkbox, Chip, CircularProgress, CodeInput, ColManager, ColorTextField, CommonFormModel, ContactModel, ContactsFactory, ContentSectionContainer, CountryDropdown, CustomDomainModel, CustomDomainsFactory, CustomerModel, DataTable, DataTableHead, DataTableRow, DateCalendar, DatePicker, DateTimeCalendar, DateTimePicker, Dialog, DialogActions, DialogHandler, DialogTitle, Divider, Drawer, DrawerHandler, DropMenu, Dropdown, EApiLanguages, EAssetManagerMatchType, ECampaignStatuses, ECertificateStatus, EDnsStatus, EEMailSummaryStatuses, EEditorType, EEmailAttachementTypes, EEmailLogType, EEmailLogTypeParam, EEmailProviders, EEmailStatuses, EEmailSummaryEngagement, EEventBreakdownDimension, EEventSortField, EEventTimeseriesGranularity, EEvents, EIngressRouteStatus, EListAttributeType, EMethods, EOperatorTypes, EPageBranding, EPartialInfoPool, EPopupBranding, EPopupBrowserType, EPopupCloseButtonPosition, EPopupDeviceType, EPopupDisplayFrequency, EPopupPosition, EPopupTriggerType, EStorageType, ETaskType, ETopDomainStatus, ETrackedDeviceType, ETrackedEntityType, ETrackedEventType, ElementContains, Email, EmailAPIFactory, EmptyContent, EnhancedFormModel, EventModel, EventTrackingFactory, FileUpload, FilterBar, FormModel, FormsFactory, FullBar, GenericWrapper, GenericWrapperContext, GroupedActions, Header, Icon, IconPill, InformationGroup, InlineTextEdit, LinearProgress, Link, ListCampaignModel, ListModel, ListPageModel, ListPopupModel, ListTemplateModel, ListsFactory, LoadingContainer, LocationTextField, Logo, MD5, MetricCard, Modal, ModalHandler, ModalHeading, Overlay, OverlayHandler, OverlayHeading, PageModel, PagesFactory, PersonalAccessTokenModel, PersonalAccessTokensFactory, PhoneTextField, PopupModel, PopupsFactory, Radio, ResourceEdit, ScopePicker, Search, SenderModel, SendersFactory, SideMenu, SideMenuContainer, SideMenuItem, SubNav, SummaryEnhancedFormModel, SuppressedEmailsFactory, SystemEmailsFactory, SystemEmailsModel, TagsFactory, TasksFactory, TemplateModel, TemplatesFactory, TextField, TimePicker, TimeSelector, Toggle, TopDomainModel, TopDomainsFactory, TopMenu, Typography, UserModel, UsersFactory, acceptListPolicy, addInterestsToContactsOfList, addPartialInformation, addSuppressedEmail, addToImpersonificationTree, amIImpersonating, amILoggedInService, archiveCampaign, areAllPropertiesEmpty, buildMUITheme, callApi, camelCase, camelToSnakeCase, cancelCampaign, capitalizeFirstLetter, cleanPostHogId, clearImpersonificationTree, clearStorage, copyToClipboard, createAccount, createBrand, createCampaign, createCampaignLogsExports, createCampaignsReportsExport, createContactsExport, createCustomDomain, createForm, createPage, createPat, createPopup, createSender, createSuppressedEmailExport, createTemplate, createTopDomain, deepMergeObject, deleteAccount, deleteAnyAutomation, deleteAutomation, deleteCampaign, deleteCampaignsReportsExport, deleteContact, deleteCustomDomain, deleteForm, deleteList, deletePage, deletePartialInformation, deletePopup, deleteSender, deleteStorageItem, deleteSuppressedEmail, deleteTaskService, deleteTemplate, deleteTopDomain, deleteUser, deleteWorkflow, descendingComparator, disableForm, disablePage, disablePopup, domainHasValidCertificateService, downloadCampaignLogExport, downloadCampaignsReportsExport, downloadContactsExport, downloadListLogExport, downloadSuppressedEmailExport, emptyAccountAddress, emptyAccountLimits, enableForm, enablePage, enablePopup, enrichBrand, enrichOrganization, enrichProfile, eventCondition, eventIdentify, eventLogout, fetchRetry, fetchRoute, findNestedProperty, formatNumber, getAccount, getAccountMetadata, getAccountReport, getAdjustedBillingCycle, getAllAutomationStats, getAutomation, getAutomationEmailContent, getAutomationExecutionsCount, getAutomationStats, getBeeTokenService, getBestLocalMatch, getBrand, getBrandService, getBrandUrl, getCalendarFormat, getCampaign, getCampaignLinks, getCampaignLinksReport, getCampaignLogs, getCampaignLogsExports, getCampaignReport, getCampaignRevisions, getCampaignsReportsExport, getComparator, getContactsExport, getCustomDomain, getCustomerProfile, getDate, getDomainFromEmail, getDomainsFromEmails, getDomainsService, getEmail, getEmailActivitySummary, getEmailReport, getEndOfDate, getEventBreakdown, getEventFunnel, getEventPropertyKeys, getEventSummary, getEventTimeseries, getForm, getHashQueryWithoutHistory, getIconSize, getList, getListLogs, getListReport, getNestedProperty, getPage, getPat, getPopup, getPropertyValue, getSender, getStartOfDate, getStorage, getSuppressedEmailExport, getTColor, getTaskService, getTemplate, getTopDomain, getUnixTime, getUrlQueryParam, getUser, getUtmCookies, googlePlacesMapper, groupScopesByCategory, hasDecimal, impersonateService, initFieldValidation, initPostHog, isColorLight, isDomainValidService, isPublicEmailProviderService, isSimpleType, isValidEmail, isValidString, isValidUrl, lisTEmailTags, listAccounts, listAutomations, listCampaigns, listCampaignsReportsExports, listContacts, listCustomDomains, listDkimService, listEmailLogs, listEvents, listForms, listList, listListAttributes, listListInterests, listPages, listPats, listPopups, listSenders, listSuppressedEmails, listSystemEmails, listTasksService, listTemplates, listTopDomains, listUsers, listWorkflows, logOutService, loginService, miliToSecond, modelSet, modelToJson, originalBrand, patchAccountDomainsService, patchForm, popImpersonificationTree, postMessage, publishForm, publishPage, publishPopup, reScheduleCampaign, removeEmptyProperties, removeInterestsFromContactsOfList, removeQueryParams, removeTrailingChar, renderCampaign, renderEmail, renderForm, renderPage, renderPopup, renderPublicHtmlForm, renderTemplate, requestSupportService, resendEmail, resendVerificationEmail, resumeCampaign, revokePat, saveList, scheduleCampaign, searchCustomerProfiles, sendCampaignTest, setBrandHeadElements, setStorage, shareTemplate, splitArray, splitObject, stableSort, startPromisePool, suspendAccount, suspendCampaign, tagContact, tagsContactsOfList, trackEvent, truncateEmail, truncateText, uiKitConfig, unArchiveCampaign, unScheduleCampaign, unSuspendAccount, unshareTemplate, unsubscribeContact, untagContact, untagContactsOfList, unwrapResponse, updateAccount, updateAndClearUrlParams, updateAnyAutomation, updateAutomation, updateCampaign, updatePage, updatePat, updatePopup, updateSystemEmails, updateTemplate, updateUser, updateWorkflow, validateColor, validateEmail, validateGenericInput, validateTopDomain, validateUrl, verifyCustomDomain, verifyTrackingCnamesService, wait, whiteLabelBrand, whoAmi };
|