Merge branch 'production-with-custom' into number-hasmany-v2

This commit is contained in:
Alessio Gravili
2023-04-18 02:47:16 +02:00
committed by GitHub
2750 changed files with 69892 additions and 11 deletions

1
.gitignore vendored
View File

@@ -1,6 +1,5 @@
coverage
package-lock.json
dist
.idea
test-results

4
dist/admin/Root.d.ts vendored Normal file
View File

@@ -0,0 +1,4 @@
/// <reference types="react" />
import './scss/app.scss';
declare const Root: () => JSX.Element;
export default Root;

51
dist/admin/Root.js vendored Normal file
View File

@@ -0,0 +1,51 @@
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore - need to do this because this file doesn't actually exist
const payload_config_1 = __importDefault(require("payload-config"));
const react_1 = __importDefault(require("react"));
const react_router_dom_1 = require("react-router-dom");
const scroll_info_1 = require("@faceless-ui/scroll-info");
const window_info_1 = require("@faceless-ui/window-info");
const modal_1 = require("@faceless-ui/modal");
const react_toastify_1 = require("react-toastify");
const Auth_1 = require("./components/utilities/Auth");
const Config_1 = require("./components/utilities/Config");
const Preferences_1 = require("./components/utilities/Preferences");
const CustomProvider_1 = require("./components/utilities/CustomProvider");
const SearchParams_1 = require("./components/utilities/SearchParams");
const Locale_1 = require("./components/utilities/Locale");
const Routes_1 = __importDefault(require("./components/Routes"));
const StepNav_1 = require("./components/elements/StepNav");
const Theme_1 = require("./components/utilities/Theme");
const I18n_1 = require("./components/utilities/I18n");
const LoadingOverlay_1 = require("./components/utilities/LoadingOverlay");
require("./scss/app.scss");
const Root = () => (react_1.default.createElement(react_1.default.Fragment, null,
react_1.default.createElement(Config_1.ConfigProvider, { config: payload_config_1.default },
react_1.default.createElement(I18n_1.I18n, null),
react_1.default.createElement(window_info_1.WindowInfoProvider, { breakpoints: {
xs: '(max-width: 400px)',
s: '(max-width: 768px)',
m: '(max-width: 1024px)',
l: '(max-width: 1440px)',
} },
react_1.default.createElement(scroll_info_1.ScrollInfoProvider, null,
react_1.default.createElement(react_router_dom_1.BrowserRouter, null,
react_1.default.createElement(modal_1.ModalProvider, { classPrefix: "payload", zIndex: "var(--z-modal)", transTime: 0 },
react_1.default.createElement(Auth_1.AuthProvider, null,
react_1.default.createElement(Preferences_1.PreferencesProvider, null,
react_1.default.createElement(Theme_1.ThemeProvider, null,
react_1.default.createElement(SearchParams_1.SearchParamsProvider, null,
react_1.default.createElement(Locale_1.LocaleProvider, null,
react_1.default.createElement(StepNav_1.StepNavProvider, null,
react_1.default.createElement(LoadingOverlay_1.LoadingOverlayProvider, null,
react_1.default.createElement(CustomProvider_1.CustomProvider, null,
react_1.default.createElement(Routes_1.default, null))))))),
react_1.default.createElement(modal_1.ModalContainer, null)))))))),
react_1.default.createElement(react_toastify_1.ToastContainer, { position: "bottom-center", transition: react_toastify_1.Slide, icon: false })));
exports.default = Root;
//# sourceMappingURL=Root.js.map

1
dist/admin/Root.js.map vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"Root.js","sourceRoot":"","sources":["../../src/admin/Root.tsx"],"names":[],"mappings":";;;;;AAAA,6DAA6D;AAC7D,wEAAwE;AACxE,oEAAoC;AACpC,kDAA0B;AAC1B,uDAA2D;AAC3D,0DAA8D;AAC9D,0DAA8D;AAC9D,8CAAmE;AACnE,mDAAuD;AACvD,sDAA2D;AAC3D,0DAA+D;AAC/D,oEAAyE;AACzE,0EAAuE;AACvE,sEAA2E;AAC3E,0DAA+D;AAC/D,iEAAyC;AACzC,2DAAgE;AAChE,wDAA6D;AAC7D,sDAAmD;AACnD,0EAA+E;AAE/E,2BAAyB;AAEzB,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC,CACjB,8BAAC,eAAK,CAAC,QAAQ;IACb,8BAAC,uBAAc,IAAC,MAAM,EAAE,wBAAM;QAC5B,8BAAC,WAAI,OAAG;QACR,8BAAC,gCAAkB,IAAC,WAAW,EAAE;gBAC/B,EAAE,EAAE,oBAAoB;gBACxB,CAAC,EAAE,oBAAoB;gBACvB,CAAC,EAAE,qBAAqB;gBACxB,CAAC,EAAE,qBAAqB;aACzB;YAEC,8BAAC,gCAAkB;gBACjB,8BAAC,gCAAM;oBACL,8BAAC,qBAAa,IACZ,WAAW,EAAC,SAAS,EACrB,MAAM,EAAC,gBAAgB,EACvB,SAAS,EAAE,CAAC;wBAEZ,8BAAC,mBAAY;4BACX,8BAAC,iCAAmB;gCAClB,8BAAC,qBAAa;oCACZ,8BAAC,mCAAoB;wCACnB,8BAAC,uBAAc;4CACb,8BAAC,yBAAe;gDACd,8BAAC,uCAAsB;oDACrB,8BAAC,+BAAc;wDACb,8BAAC,gBAAM,OAAG,CACK,CACM,CACT,CACH,CACI,CACT;gCAChB,8BAAC,sBAAc,OAAG,CACE,CACT,CACD,CACT,CACU,CACF,CACN;IACjB,8BAAC,+BAAc,IACb,QAAQ,EAAC,eAAe,EACxB,UAAU,EAAE,sBAAK,EACjB,IAAI,EAAE,KAAK,GACX,CACa,CAClB,CAAC;AAEF,kBAAe,IAAI,CAAC"}

11
dist/admin/api.d.ts vendored Normal file
View File

@@ -0,0 +1,11 @@
type GetOptions = RequestInit & {
params?: Record<string, unknown>;
};
export declare const requests: {
get: (url: string, options?: GetOptions) => Promise<Response>;
post: (url: string, options?: RequestInit) => Promise<Response>;
put: (url: string, options?: RequestInit) => Promise<Response>;
patch: (url: string, options?: RequestInit) => Promise<Response>;
delete: (url: string, options?: RequestInit) => Promise<Response>;
};
export {};

68
dist/admin/api.js vendored Normal file
View File

@@ -0,0 +1,68 @@
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.requests = void 0;
const qs_1 = __importDefault(require("qs"));
exports.requests = {
get: (url, options = { headers: {} }) => {
let query = '';
if (options.params) {
query = qs_1.default.stringify(options.params, { addQueryPrefix: true });
}
return fetch(`${url}${query}`, {
credentials: 'include',
...options,
});
},
post: (url, options = { headers: {} }) => {
const headers = options && options.headers ? { ...options.headers } : {};
const formattedOptions = {
...options,
method: 'post',
credentials: 'include',
headers: {
...headers,
},
};
return fetch(`${url}`, formattedOptions);
},
put: (url, options = { headers: {} }) => {
const headers = options && options.headers ? { ...options.headers } : {};
const formattedOptions = {
...options,
method: 'put',
credentials: 'include',
headers: {
...headers,
},
};
return fetch(url, formattedOptions);
},
patch: (url, options = { headers: {} }) => {
const headers = options && options.headers ? { ...options.headers } : {};
const formattedOptions = {
...options,
method: 'PATCH',
credentials: 'include',
headers: {
...headers,
},
};
return fetch(url, formattedOptions);
},
delete: (url, options = { headers: {} }) => {
const headers = options && options.headers ? { ...options.headers } : {};
const formattedOptions = {
...options,
method: 'delete',
credentials: 'include',
headers: {
...headers,
},
};
return fetch(url, formattedOptions);
},
};
//# sourceMappingURL=api.js.map

1
dist/admin/api.js.map vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/admin/api.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAoB;AAMP,QAAA,QAAQ,GAAG;IACtB,GAAG,EAAE,CAAC,GAAW,EAAE,UAAsB,EAAE,OAAO,EAAE,EAAE,EAAE,EAAqB,EAAE;QAC7E,IAAI,KAAK,GAAG,EAAE,CAAC;QACf,IAAI,OAAO,CAAC,MAAM,EAAE;YAClB,KAAK,GAAG,YAAE,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC;SAChE;QACD,OAAO,KAAK,CAAC,GAAG,GAAG,GAAG,KAAK,EAAE,EAAE;YAC7B,WAAW,EAAE,SAAS;YACtB,GAAG,OAAO;SACX,CAAC,CAAC;IACL,CAAC;IAED,IAAI,EAAE,CAAC,GAAW,EAAE,UAAuB,EAAE,OAAO,EAAE,EAAE,EAAE,EAAqB,EAAE;QAC/E,MAAM,OAAO,GAAG,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAEzE,MAAM,gBAAgB,GAAgB;YACpC,GAAG,OAAO;YACV,MAAM,EAAE,MAAM;YACd,WAAW,EAAE,SAAS;YACtB,OAAO,EAAE;gBACP,GAAG,OAAO;aACX;SACF,CAAC;QAEF,OAAO,KAAK,CAAC,GAAG,GAAG,EAAE,EAAE,gBAAgB,CAAC,CAAC;IAC3C,CAAC;IAED,GAAG,EAAE,CAAC,GAAW,EAAE,UAAuB,EAAE,OAAO,EAAE,EAAE,EAAE,EAAqB,EAAE;QAC9E,MAAM,OAAO,GAAG,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAEzE,MAAM,gBAAgB,GAAgB;YACpC,GAAG,OAAO;YACV,MAAM,EAAE,KAAK;YACb,WAAW,EAAE,SAAS;YACtB,OAAO,EAAE;gBACP,GAAG,OAAO;aACX;SACF,CAAC;QAEF,OAAO,KAAK,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;IACtC,CAAC;IAED,KAAK,EAAE,CAAC,GAAW,EAAE,UAAuB,EAAE,OAAO,EAAE,EAAE,EAAE,EAAqB,EAAE;QAChF,MAAM,OAAO,GAAG,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAEzE,MAAM,gBAAgB,GAAgB;YACpC,GAAG,OAAO;YACV,MAAM,EAAE,OAAO;YACf,WAAW,EAAE,SAAS;YACtB,OAAO,EAAE;gBACP,GAAG,OAAO;aACX;SACF,CAAC;QAEF,OAAO,KAAK,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;IACtC,CAAC;IAED,MAAM,EAAE,CAAC,GAAW,EAAE,UAAuB,EAAE,OAAO,EAAE,EAAE,EAAE,EAAqB,EAAE;QACjF,MAAM,OAAO,GAAG,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAEzE,MAAM,gBAAgB,GAAgB;YACpC,GAAG,OAAO;YACV,MAAM,EAAE,QAAQ;YAChB,WAAW,EAAE,SAAS;YACtB,OAAO,EAAE;gBACP,GAAG,OAAO;aACX;SACF,CAAC;QAEF,OAAO,KAAK,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;IACtC,CAAC;CACF,CAAC"}

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
dist/admin/assets/fonts/SuisseIntl.woff vendored Normal file

Binary file not shown.

BIN
dist/admin/assets/fonts/SuisseIntl.woff2 vendored Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

15
dist/admin/assets/images/favicon.svg vendored Normal file
View File

@@ -0,0 +1,15 @@
<svg width="260" height="260" viewBox="0 0 260 260" fill="none" xmlns="http://www.w3.org/2000/svg">
<style>
path {
fill: #333333;
}
@media (prefers-color-scheme: dark) {
path {
fill: white;
}
}
</style>
<path d="M120.59 8.5824L231.788 75.6142V202.829L148.039 251.418V124.203L36.7866 57.2249L120.59 8.5824Z" />
<path d="M112.123 244.353V145.073L28.2114 193.769L112.123 244.353Z" />
</svg>

After

Width:  |  Height:  |  Size: 437 B

View File

@@ -0,0 +1,9 @@
<svg width="82" height="53" viewBox="0 0 82 53" fill="none" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<rect x="0.713013" width="80.574" height="52.7791" fill="url(#pattern0)"/>
<defs>
<pattern id="pattern0" patternContentUnits="objectBoundingBox" width="1" height="1">
<use xlink:href="#image0" transform="scale(0.00387597 0.00591716)"/>
</pattern>
<image id="image0" width="258" height="169" xlink:href="data:image/png;base64,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"/>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

BIN
dist/admin/assets/images/og-image.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

View File

@@ -0,0 +1,88 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 25.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 124 30" style="enable-background:new 0 0 124 30;" xml:space="preserve">
<style type="text/css">
.st0{fill:#333333;}
</style>
<path class="st0" d="M34.813099,6.555H41.3451c1.385273-0.070708,2.751808,0.344133,3.863998,1.173
c1.039825,0.899059,1.586941,2.241208,1.472,3.611c0.111458,1.37593-0.434399,2.723513-1.472,3.634
c-1.118271,0.814574-2.4823,1.220535-3.863998,1.15h-4.461998V23h-2.07L34.813099,6.555z M41.483101,14.283
c0.822922,0.06823,1.639957-0.18761,2.277-0.713c0.549107-0.607606,0.823647-1.41459,0.758999-2.231
c0.067909-0.809881-0.207489-1.611044-0.758999-2.208c-0.630104-0.539837-1.450134-0.804896-2.277-0.736h-4.599998v5.888
L41.483101,14.283z M51.1646,23.321999c-1.024158,0.052488-2.03162-0.275143-2.828999-0.92
c-0.688705-0.609777-1.068405-1.495747-1.035-2.414999c-0.036377-0.737299,0.174046-1.465687,0.598-2.07
c0.430389-0.544542,1.003754-0.958641,1.655998-1.195999c0.89489-0.325996,1.819183-0.564774,2.759998-0.712999
c0.58239-0.095267,1.158451-0.225842,1.724998-0.391c0.333458-0.086607,0.64114-0.252282,0.896999-0.483
c0.209099-0.241613,0.316288-0.554937,0.299-0.874c0-1.150001-0.812668-1.725001-2.438-1.725
c-0.591373-0.020433-1.182041,0.057286-1.748001,0.23c-0.385189,0.128752-0.706268,0.400434-0.896999,0.759
c-0.208683,0.431378-0.32613,0.901169-0.345001,1.38h-1.931999c0.013546-1.106599,0.488823-2.157211,1.311001-2.898
c1.053455-0.797718,2.362473-1.182241,3.68-1.081c1.069542-0.048652,2.123863,0.267645,2.990002,0.897
c0.835869,0.720024,1.272713,1.799289,1.173,2.898v5.635c-0.016964,0.358055,0.029758,0.716278,0.138,1.058001
c0.066074,0.196636,0.252625,0.327223,0.459999,0.322001l0.276001-0.023001V23c-0.293846,0.071281-0.594673,0.10985-0.896999,0.115
c-0.448277,0.029144-0.891262-0.110313-1.242001-0.391001c-0.327774-0.411825-0.506161-0.922657-0.506001-1.448999h-0.046001
c-0.384689,0.646172-0.942337,1.171953-1.610001,1.518C52.844852,23.164421,52.008141,23.345972,51.1646,23.321999z
M49.232601,19.894999c-0.036285,0.504335,0.148373,0.999548,0.506001,1.357c0.461899,0.345982,1.035038,0.509735,1.610001,0.459999
c0.998661,0.049717,1.98558-0.233416,2.806-0.805c0.737389-0.586956,1.141094-1.497444,1.081001-2.438v-1.862997
c-0.836132,0.516708-1.781067,0.831686-2.759998,0.92c-0.881981,0.135984-1.731636,0.432194-2.507,0.874001
C49.478649,18.735281,49.199535,19.302231,49.232601,19.894999z M60.820301,27.116999
c-0.408855-0.003748-0.816658-0.042219-1.219002-0.115V25.438c0.305218,0.039368,0.612324,0.062401,0.919998,0.069
c0.560413-0.003313,1.097176-0.226274,1.494999-0.621c0.540234-0.546392,0.901249-1.244356,1.035-2.000999L58.290298,11.27h2.07
l3.611,9.338001h0.045998l3.449997-9.338h1.977997l-4.737999,12.075c-0.363663,1.095852-0.959949,2.100128-1.748001,2.944
C62.381443,26.833206,61.613956,27.130299,60.820301,27.116999z M70.9216,6.555h1.839996V23H70.9216V6.555z M80.542297,23.345001
c-1.079521,0.026121-2.145523-0.244358-3.082001-0.782c-0.857864-0.520388-1.54528-1.279743-1.977997-2.184999
c-0.473877-1.014378-0.709877-2.123568-0.690002-3.243c-0.021645-1.112206,0.214523-2.214319,0.690002-3.22
c0.42762-0.914654,1.1157-1.682744,1.977997-2.208c0.936478-0.537642,2.00248-0.80812,3.082001-0.782
c1.06498-0.026295,2.116249,0.244486,3.036003,0.782c0.872543,0.519647,1.569481,1.28868,2.000999,2.208
c0.475479,1.005681,0.711647,2.107795,0.690002,3.22c0.019875,1.119432-0.216125,2.228622-0.690002,3.243
c-0.436684,0.909891-1.132935,1.670162-2.000999,2.184999C82.658546,23.100515,81.607277,23.371294,80.542297,23.345001z
M76.724297,17.135002c-0.046257,1.179615,0.292839,2.342216,0.966003,3.312c1.374138,1.568766,3.759834,1.72654,5.328598,0.3524
c0.125099-0.109579,0.242821-0.227301,0.352402-0.3524c0.673164-0.969784,1.01226-2.132385,0.966003-3.312
c0.048729-1.172768-0.290817-2.328851-0.966003-3.289c-1.337448-1.568765-3.693398-1.756284-5.262161-0.418835
c-0.15049,0.128296-0.290543,0.268349-0.418839,0.418835C77.015114,14.80615,76.675568,15.962234,76.724297,17.135002z
M91.527,23.322001c-1.024162,0.052523-2.031639-0.275112-2.829002-0.92c-0.688705-0.609776-1.068413-1.495747-1.035004-2.415001
c-0.03643-0.737303,0.174004-1.465708,0.598-2.07c0.430344-0.544586,1.003731-0.958694,1.655998-1.195999
c0.894882-0.326023,1.819183-0.564798,2.760002-0.712999c0.582382-0.09529,1.158447-0.225863,1.724998-0.391
c0.333443-0.086654,0.641113-0.252322,0.897003-0.483c0.209061-0.241635,0.316246-0.554943,0.299004-0.874
c0-1.150001-0.812668-1.725001-2.438004-1.725c-0.59137-0.020441-1.182045,0.057279-1.748001,0.23
c-0.385193,0.128751-0.706268,0.400434-0.897003,0.759c-0.208679,0.431378-0.326126,0.901169-0.345001,1.38h-1.931992
c0.013458-1.106618,0.488747-2.157265,1.310997-2.898c1.053444-0.797748,2.362473-1.182275,3.68-1.081
c1.069534-0.048619,2.123848,0.267673,2.989998,0.897c0.835869,0.720024,1.272713,1.799289,1.172997,2.898v5.635
c-0.016968,0.358055,0.029762,0.716278,0.138,1.058001c0.066048,0.196655,0.252617,0.327251,0.459999,0.322001l0.276001-0.023001V23
c-0.293846,0.07127-0.594681,0.109838-0.897003,0.115c-0.44828,0.029177-0.891273-0.110285-1.241997-0.391001
c-0.32782-0.411802-0.50621-0.922649-0.505997-1.448999h-0.045998c-0.384743,0.646128-0.942375,1.171896-1.610001,1.518
C93.207245,23.1644,92.370537,23.345951,91.527,23.322001z M89.595001,19.895c-0.036331,0.504341,0.148331,0.999575,0.505997,1.357
c0.461891,0.345993,1.035042,0.509748,1.610001,0.459999c0.998657,0.049686,1.985565-0.233444,2.806-0.805
c0.73735-0.586985,1.141045-1.497452,1.081001-2.438v-1.862999c-0.836136,0.516708-1.781067,0.831686-2.760002,0.92
c-0.881989,0.135948-1.731651,0.432159-2.507004,0.874001C89.841019,18.73526,89.561897,19.302227,89.595001,19.895z
M104.834999,23.322001c-0.947945,0.009354-1.879768-0.245502-2.691002-0.736c-0.8218-0.53285-1.482002-1.280552-1.908997-2.162001
c-0.480354-1.028526-0.716568-2.154137-0.690201-3.289c-0.026367-1.134863,0.209846-2.260472,0.690201-3.289
c0.423233-0.877855,1.084732-1.61905,1.908997-2.139c0.806282-0.504401,1.739983-0.767752,2.691002-0.759
c1.464203-0.073218,2.860054,0.624707,3.68,1.84h0.045998V6.555h1.839996V23h-1.839996v-1.448999h-0.045998
C107.654121,22.710478,106.278236,23.372623,104.834999,23.322001z M101.476997,17.135
c-0.005173,0.768642,0.127243,1.532007,0.390999,2.254c0.23764,0.658501,0.651306,1.239225,1.195999,1.679001
c0.556534,0.43626,1.248146,0.664085,1.955002,0.643999c1.011169,0.03722,1.975395-0.427675,2.575996-1.242001
c0.683739-0.973391,1.023643-2.146864,0.966003-3.335001c0.060226-1.181292-0.280151-2.348316-0.966003-3.312
c-1.090065-1.404866-3.103142-1.680769-4.530998-0.621c-0.548683,0.445539-0.962761,1.034796-1.195999,1.702
C101.602959,15.617669,101.470459,16.373734,101.476997,17.135z M4.67358,7.05762L14.7263,13.5488v12.336999l7.560599-4.7103
V8.83849L12.2462,2.33875L4.67358,7.05762z M11.4765,25.201799v-9.627l-7.5766,4.7189L11.4765,25.201799z M117.998001,8.75976
c-0.004463-0.341642,0.059807-0.680696,0.189003-0.997c0.120857-0.290308,0.29792-0.553858,0.521004-0.77549
c0.22216-0.217432,0.485695-0.388062,0.775002-0.50178c0.304459-0.122437,0.629852-0.184414,0.958-0.18247
c0.326248-0.002423,0.649773,0.059586,0.952003,0.18247c0.585327,0.233346,1.050858,0.694288,1.290001,1.27727
c0.261337,0.636756,0.261337,1.350824,0,1.98758c-0.120064,0.290741-0.297226,0.554445-0.521004,0.77551
c-0.220543,0.214946-0.482063,0.383349-0.768997,0.4952c-0.303246,0.118704-0.626358,0.178439-0.952003,0.176
c-0.327545,0.001974-0.652542-0.057732-0.958-0.176c-0.288139-0.112983-0.551407-0.281204-0.775002-0.4952
c-0.221207-0.223182-0.39801-0.486349-0.521004-0.77551C118.058205,9.436166,117.993927,9.099288,117.998001,8.75976z
M118.480003,8.75976c-0.00351,0.28082,0.047432,0.559659,0.150002,0.8211c0.098404,0.234851,0.239838,0.449244,0.417,0.63214
c0.179451,0.174817,0.391914,0.312154,0.625,0.404c0.497253,0.191203,1.047745,0.191203,1.544998,0
c0.473839-0.185051,0.847771-0.561208,1.029999-1.03614c0.198669-0.531618,0.198669-1.117102,0-1.64872
c-0.184547-0.474923-0.557365-0.852327-1.029999-1.04267c-0.495613-0.199844-1.049385-0.199844-1.544998,0
c-0.234268,0.092577-0.446999,0.232318-0.625,0.41055c-0.179039,0.181376-0.320724,0.396147-0.417,0.63212
C118.527046,8.195745,118.476112,8.47679,118.480003,8.75976z M120.520004,8.97476h-0.496002v0.99053h-0.533997v-2.6001h0.794998
c0.172218-0.001235,0.344307,0.009652,0.514999,0.03258c0.134796,0.016075,0.265205,0.058123,0.384003,0.12382
c0.102715,0.05436,0.186691,0.138377,0.240997,0.24112c0.061989,0.127668,0.091194,0.268765,0.084999,0.41055
c0.000862,0.140271-0.03759,0.277979-0.111,0.39751c-0.086395,0.13219-0.211388,0.234577-0.358002,0.29325l0.598999,1.10132
h-0.593002L120.520004,8.97476z M120.976006,8.17976c0.014854-0.129661-0.053123-0.254731-0.169998-0.3128
c-0.137817-0.057799-0.286682-0.084499-0.435997-0.0782h-0.346001v0.77549h0.377998
c0.152237,0.012898,0.304764-0.02122,0.436996-0.09775c0.091606-0.065936,0.14325-0.174038,0.136993-0.28673L120.976006,8.17976z"/>
</svg>

After

Width:  |  Height:  |  Size: 8.9 KiB

View File

@@ -0,0 +1,88 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 25.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 124 30" style="enable-background:new 0 0 124 30;" xml:space="preserve">
<style type="text/css">
.st0{fill:#FFFFFF;}
</style>
<path class="st0" d="M34.813099,6.555H41.3451c1.385273-0.070708,2.751808,0.344133,3.863998,1.173
c1.039825,0.899059,1.586941,2.241208,1.472,3.611c0.111458,1.37593-0.434399,2.723513-1.472,3.634
c-1.118271,0.814574-2.4823,1.220535-3.863998,1.15h-4.461998V23h-2.07L34.813099,6.555z M41.483101,14.283
c0.822922,0.06823,1.639957-0.18761,2.277-0.713c0.549107-0.607606,0.823647-1.41459,0.758999-2.231
c0.067909-0.809881-0.207489-1.611044-0.758999-2.208c-0.630104-0.539837-1.450134-0.804896-2.277-0.736h-4.599998v5.888
L41.483101,14.283z M51.1646,23.321999c-1.024158,0.052488-2.03162-0.275143-2.828999-0.92
c-0.688705-0.609777-1.068405-1.495747-1.035-2.414999c-0.036377-0.737299,0.174046-1.465687,0.598-2.07
c0.430389-0.544542,1.003754-0.958641,1.655998-1.195999c0.89489-0.325996,1.819183-0.564774,2.759998-0.712999
c0.58239-0.095267,1.158451-0.225842,1.724998-0.391c0.333458-0.086607,0.64114-0.252282,0.896999-0.483
c0.209099-0.241613,0.316288-0.554937,0.299-0.874c0-1.150001-0.812668-1.725001-2.438-1.725
c-0.591373-0.020433-1.182041,0.057286-1.748001,0.23c-0.385189,0.128752-0.706268,0.400434-0.896999,0.759
c-0.208683,0.431378-0.32613,0.901169-0.345001,1.38h-1.931999c0.013546-1.106599,0.488823-2.157211,1.311001-2.898
c1.053455-0.797718,2.362473-1.182241,3.68-1.081c1.069542-0.048652,2.123863,0.267645,2.990002,0.897
c0.835869,0.720024,1.272713,1.799289,1.173,2.898v5.635c-0.016964,0.358055,0.029758,0.716278,0.138,1.058001
c0.066074,0.196636,0.252625,0.327223,0.459999,0.322001l0.276001-0.023001V23c-0.293846,0.071281-0.594673,0.10985-0.896999,0.115
c-0.448277,0.029144-0.891262-0.110313-1.242001-0.391001c-0.327774-0.411825-0.506161-0.922657-0.506001-1.448999h-0.046001
c-0.384689,0.646172-0.942337,1.171953-1.610001,1.518C52.844852,23.164421,52.008141,23.345972,51.1646,23.321999z
M49.232601,19.894999c-0.036285,0.504335,0.148373,0.999548,0.506001,1.357c0.461899,0.345982,1.035038,0.509735,1.610001,0.459999
c0.998661,0.049717,1.98558-0.233416,2.806-0.805c0.737389-0.586956,1.141094-1.497444,1.081001-2.438v-1.862997
c-0.836132,0.516708-1.781067,0.831686-2.759998,0.92c-0.881981,0.135984-1.731636,0.432194-2.507,0.874001
C49.478649,18.735281,49.199535,19.302231,49.232601,19.894999z M60.820301,27.116999
c-0.408855-0.003748-0.816658-0.042219-1.219002-0.115V25.438c0.305218,0.039368,0.612324,0.062401,0.919998,0.069
c0.560413-0.003313,1.097176-0.226274,1.494999-0.621c0.540234-0.546392,0.901249-1.244356,1.035-2.000999L58.290298,11.27h2.07
l3.611,9.338001h0.045998l3.449997-9.338h1.977997l-4.737999,12.075c-0.363663,1.095852-0.959949,2.100128-1.748001,2.944
C62.381443,26.833206,61.613956,27.130299,60.820301,27.116999z M70.9216,6.555h1.839996V23H70.9216V6.555z M80.542297,23.345001
c-1.079521,0.026121-2.145523-0.244358-3.082001-0.782c-0.857864-0.520388-1.54528-1.279743-1.977997-2.184999
c-0.473877-1.014378-0.709877-2.123568-0.690002-3.243c-0.021645-1.112206,0.214523-2.214319,0.690002-3.22
c0.42762-0.914654,1.1157-1.682744,1.977997-2.208c0.936478-0.537642,2.00248-0.80812,3.082001-0.782
c1.06498-0.026295,2.116249,0.244486,3.036003,0.782c0.872543,0.519647,1.569481,1.28868,2.000999,2.208
c0.475479,1.005681,0.711647,2.107795,0.690002,3.22c0.019875,1.119432-0.216125,2.228622-0.690002,3.243
c-0.436684,0.909891-1.132935,1.670162-2.000999,2.184999C82.658546,23.100515,81.607277,23.371294,80.542297,23.345001z
M76.724297,17.135002c-0.046257,1.179615,0.292839,2.342216,0.966003,3.312c1.374138,1.568766,3.759834,1.72654,5.328598,0.3524
c0.125099-0.109579,0.242821-0.227301,0.352402-0.3524c0.673164-0.969784,1.01226-2.132385,0.966003-3.312
c0.048729-1.172768-0.290817-2.328851-0.966003-3.289c-1.337448-1.568765-3.693398-1.756284-5.262161-0.418835
c-0.15049,0.128296-0.290543,0.268349-0.418839,0.418835C77.015114,14.80615,76.675568,15.962234,76.724297,17.135002z
M91.527,23.322001c-1.024162,0.052523-2.031639-0.275112-2.829002-0.92c-0.688705-0.609776-1.068413-1.495747-1.035004-2.415001
c-0.03643-0.737303,0.174004-1.465708,0.598-2.07c0.430344-0.544586,1.003731-0.958694,1.655998-1.195999
c0.894882-0.326023,1.819183-0.564798,2.760002-0.712999c0.582382-0.09529,1.158447-0.225863,1.724998-0.391
c0.333443-0.086654,0.641113-0.252322,0.897003-0.483c0.209061-0.241635,0.316246-0.554943,0.299004-0.874
c0-1.150001-0.812668-1.725001-2.438004-1.725c-0.59137-0.020441-1.182045,0.057279-1.748001,0.23
c-0.385193,0.128751-0.706268,0.400434-0.897003,0.759c-0.208679,0.431378-0.326126,0.901169-0.345001,1.38h-1.931992
c0.013458-1.106618,0.488747-2.157265,1.310997-2.898c1.053444-0.797748,2.362473-1.182275,3.68-1.081
c1.069534-0.048619,2.123848,0.267673,2.989998,0.897c0.835869,0.720024,1.272713,1.799289,1.172997,2.898v5.635
c-0.016968,0.358055,0.029762,0.716278,0.138,1.058001c0.066048,0.196655,0.252617,0.327251,0.459999,0.322001l0.276001-0.023001V23
c-0.293846,0.07127-0.594681,0.109838-0.897003,0.115c-0.44828,0.029177-0.891273-0.110285-1.241997-0.391001
c-0.32782-0.411802-0.50621-0.922649-0.505997-1.448999h-0.045998c-0.384743,0.646128-0.942375,1.171896-1.610001,1.518
C93.207245,23.1644,92.370537,23.345951,91.527,23.322001z M89.595001,19.895c-0.036331,0.504341,0.148331,0.999575,0.505997,1.357
c0.461891,0.345993,1.035042,0.509748,1.610001,0.459999c0.998657,0.049686,1.985565-0.233444,2.806-0.805
c0.73735-0.586985,1.141045-1.497452,1.081001-2.438v-1.862999c-0.836136,0.516708-1.781067,0.831686-2.760002,0.92
c-0.881989,0.135948-1.731651,0.432159-2.507004,0.874001C89.841019,18.73526,89.561897,19.302227,89.595001,19.895z
M104.834999,23.322001c-0.947945,0.009354-1.879768-0.245502-2.691002-0.736c-0.8218-0.53285-1.482002-1.280552-1.908997-2.162001
c-0.480354-1.028526-0.716568-2.154137-0.690201-3.289c-0.026367-1.134863,0.209846-2.260472,0.690201-3.289
c0.423233-0.877855,1.084732-1.61905,1.908997-2.139c0.806282-0.504401,1.739983-0.767752,2.691002-0.759
c1.464203-0.073218,2.860054,0.624707,3.68,1.84h0.045998V6.555h1.839996V23h-1.839996v-1.448999h-0.045998
C107.654121,22.710478,106.278236,23.372623,104.834999,23.322001z M101.476997,17.135
c-0.005173,0.768642,0.127243,1.532007,0.390999,2.254c0.23764,0.658501,0.651306,1.239225,1.195999,1.679001
c0.556534,0.43626,1.248146,0.664085,1.955002,0.643999c1.011169,0.03722,1.975395-0.427675,2.575996-1.242001
c0.683739-0.973391,1.023643-2.146864,0.966003-3.335001c0.060226-1.181292-0.280151-2.348316-0.966003-3.312
c-1.090065-1.404866-3.103142-1.680769-4.530998-0.621c-0.548683,0.445539-0.962761,1.034796-1.195999,1.702
C101.602959,15.617669,101.470459,16.373734,101.476997,17.135z M4.67358,7.05762L14.7263,13.5488v12.336999l7.560599-4.7103
V8.83849L12.2462,2.33875L4.67358,7.05762z M11.4765,25.201799v-9.627l-7.5766,4.7189L11.4765,25.201799z M117.998001,8.75976
c-0.004463-0.341642,0.059807-0.680696,0.189003-0.997c0.120857-0.290308,0.29792-0.553858,0.521004-0.77549
c0.22216-0.217432,0.485695-0.388062,0.775002-0.50178c0.304459-0.122437,0.629852-0.184414,0.958-0.18247
c0.326248-0.002423,0.649773,0.059586,0.952003,0.18247c0.585327,0.233346,1.050858,0.694288,1.290001,1.27727
c0.261337,0.636756,0.261337,1.350824,0,1.98758c-0.120064,0.290741-0.297226,0.554445-0.521004,0.77551
c-0.220543,0.214946-0.482063,0.383349-0.768997,0.4952c-0.303246,0.118704-0.626358,0.178439-0.952003,0.176
c-0.327545,0.001974-0.652542-0.057732-0.958-0.176c-0.288139-0.112983-0.551407-0.281204-0.775002-0.4952
c-0.221207-0.223182-0.39801-0.486349-0.521004-0.77551C118.058205,9.436166,117.993927,9.099288,117.998001,8.75976z
M118.480003,8.75976c-0.00351,0.28082,0.047432,0.559659,0.150002,0.8211c0.098404,0.234851,0.239838,0.449244,0.417,0.63214
c0.179451,0.174817,0.391914,0.312154,0.625,0.404c0.497253,0.191203,1.047745,0.191203,1.544998,0
c0.473839-0.185051,0.847771-0.561208,1.029999-1.03614c0.198669-0.531618,0.198669-1.117102,0-1.64872
c-0.184547-0.474923-0.557365-0.852327-1.029999-1.04267c-0.495613-0.199844-1.049385-0.199844-1.544998,0
c-0.234268,0.092577-0.446999,0.232318-0.625,0.41055c-0.179039,0.181376-0.320724,0.396147-0.417,0.63212
C118.527046,8.195745,118.476112,8.47679,118.480003,8.75976z M120.520004,8.97476h-0.496002v0.99053h-0.533997v-2.6001h0.794998
c0.172218-0.001235,0.344307,0.009652,0.514999,0.03258c0.134796,0.016075,0.265205,0.058123,0.384003,0.12382
c0.102715,0.05436,0.186691,0.138377,0.240997,0.24112c0.061989,0.127668,0.091194,0.268765,0.084999,0.41055
c0.000862,0.140271-0.03759,0.277979-0.111,0.39751c-0.086395,0.13219-0.211388,0.234577-0.358002,0.29325l0.598999,1.10132
h-0.593002L120.520004,8.97476z M120.976006,8.17976c0.014854-0.129661-0.053123-0.254731-0.169998-0.3128
c-0.137817-0.057799-0.286682-0.084499-0.435997-0.0782h-0.346001v0.77549h0.377998
c0.152237,0.012898,0.304764-0.02122,0.436996-0.09775c0.091606-0.065936,0.14325-0.174038,0.136993-0.28673L120.976006,8.17976z"/>
</svg>

After

Width:  |  Height:  |  Size: 8.9 KiB

3
dist/admin/components/Routes.d.ts vendored Normal file
View File

@@ -0,0 +1,3 @@
import React from 'react';
declare const _default: React.ComponentClass<Pick<import("react-router").RouteComponentProps<any, import("react-router").StaticContext, unknown>, never>, any> & import("react-router").WithRouterStatics<() => JSX.Element>;
export default _default;

220
dist/admin/components/Routes.js vendored Normal file
View File

@@ -0,0 +1,220 @@
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const react_1 = __importStar(require("react"));
const react_router_dom_1 = require("react-router-dom");
const react_i18next_1 = require("react-i18next");
const Auth_1 = require("./utilities/Auth");
const Config_1 = require("./utilities/Config");
const List_1 = __importDefault(require("./views/collections/List"));
const Default_1 = __importDefault(require("./templates/Default"));
const api_1 = require("../api");
const StayLoggedIn_1 = __importDefault(require("./modals/StayLoggedIn"));
const Versions_1 = __importDefault(require("./views/Versions"));
const Version_1 = __importDefault(require("./views/Version"));
const DocumentInfo_1 = require("./utilities/DocumentInfo");
const Locale_1 = require("./utilities/Locale");
const Loading_1 = require("./elements/Loading");
const Dashboard = (0, react_1.lazy)(() => Promise.resolve().then(() => __importStar(require('./views/Dashboard'))));
const ForgotPassword = (0, react_1.lazy)(() => Promise.resolve().then(() => __importStar(require('./views/ForgotPassword'))));
const Login = (0, react_1.lazy)(() => Promise.resolve().then(() => __importStar(require('./views/Login'))));
const Logout = (0, react_1.lazy)(() => Promise.resolve().then(() => __importStar(require('./views/Logout'))));
const NotFound = (0, react_1.lazy)(() => Promise.resolve().then(() => __importStar(require('./views/NotFound'))));
const Verify = (0, react_1.lazy)(() => Promise.resolve().then(() => __importStar(require('./views/Verify'))));
const CreateFirstUser = (0, react_1.lazy)(() => Promise.resolve().then(() => __importStar(require('./views/CreateFirstUser'))));
const Edit = (0, react_1.lazy)(() => Promise.resolve().then(() => __importStar(require('./views/collections/Edit'))));
const EditGlobal = (0, react_1.lazy)(() => Promise.resolve().then(() => __importStar(require('./views/Global'))));
const ResetPassword = (0, react_1.lazy)(() => Promise.resolve().then(() => __importStar(require('./views/ResetPassword'))));
const Unauthorized = (0, react_1.lazy)(() => Promise.resolve().then(() => __importStar(require('./views/Unauthorized'))));
const Account = (0, react_1.lazy)(() => Promise.resolve().then(() => __importStar(require('./views/Account'))));
const Routes = () => {
const [initialized, setInitialized] = (0, react_1.useState)(null);
const { user, permissions, refreshCookie } = (0, Auth_1.useAuth)();
const { i18n } = (0, react_i18next_1.useTranslation)();
const locale = (0, Locale_1.useLocale)();
const canAccessAdmin = permissions === null || permissions === void 0 ? void 0 : permissions.canAccessAdmin;
const config = (0, Config_1.useConfig)();
const { admin: { user: userSlug, logoutRoute, inactivityRoute: logoutInactivityRoute, components: { routes: customRoutes, } = {}, }, routes, collections, globals, } = config;
const isLoadingUser = Boolean(typeof user === 'undefined' || (user && typeof canAccessAdmin === 'undefined'));
const userCollection = collections.find(({ slug }) => slug === userSlug);
(0, react_1.useEffect)(() => {
const { slug } = userCollection;
if (!userCollection.auth.disableLocalStrategy) {
api_1.requests.get(`${routes.api}/${slug}/init`, {
headers: {
'Accept-Language': i18n.language,
},
}).then((res) => res.json().then((data) => {
if (data && 'initialized' in data) {
setInitialized(data.initialized);
}
}));
}
else {
setInitialized(true);
}
}, [i18n.language, routes, userCollection]);
return (react_1.default.createElement(react_1.Suspense, { fallback: (react_1.default.createElement(Loading_1.LoadingOverlayToggle, { show: true, name: "route-suspense" })) },
react_1.default.createElement(Loading_1.LoadingOverlayToggle, { name: "route-loader", show: isLoadingUser }),
react_1.default.createElement(react_router_dom_1.Route, { path: routes.admin, render: ({ match }) => {
if (initialized === false) {
return (react_1.default.createElement(react_router_dom_1.Switch, null,
react_1.default.createElement(react_router_dom_1.Route, { path: `${match.url}/create-first-user` },
react_1.default.createElement(CreateFirstUser, { setInitialized: setInitialized })),
react_1.default.createElement(react_router_dom_1.Route, null,
react_1.default.createElement(react_router_dom_1.Redirect, { to: `${match.url}/create-first-user` }))));
}
if (initialized === true && !isLoadingUser) {
return (react_1.default.createElement(react_router_dom_1.Switch, null,
Array.isArray(customRoutes) && customRoutes.map(({ path, Component, strict, exact, sensitive }) => (react_1.default.createElement(react_router_dom_1.Route, { key: `${match.url}${path}`, path: `${match.url}${path}`, strict: strict, exact: exact, sensitive: sensitive },
react_1.default.createElement(Component, { user: user, canAccessAdmin: canAccessAdmin })))),
react_1.default.createElement(react_router_dom_1.Route, { path: `${match.url}/login` },
react_1.default.createElement(Login, null)),
react_1.default.createElement(react_router_dom_1.Route, { path: `${match.url}${logoutRoute}` },
react_1.default.createElement(Logout, null)),
react_1.default.createElement(react_router_dom_1.Route, { path: `${match.url}${logoutInactivityRoute}` },
react_1.default.createElement(Logout, { inactivity: true })),
!userCollection.auth.disableLocalStrategy && (react_1.default.createElement(react_router_dom_1.Route, { path: `${match.url}/forgot` },
react_1.default.createElement(ForgotPassword, null))),
!userCollection.auth.disableLocalStrategy && (react_1.default.createElement(react_router_dom_1.Route, { path: `${match.url}/reset/:token` },
react_1.default.createElement(ResetPassword, null))),
collections.map((collection) => {
var _a;
if (((_a = collection === null || collection === void 0 ? void 0 : collection.auth) === null || _a === void 0 ? void 0 : _a.verify) && !collection.auth.disableLocalStrategy) {
return (react_1.default.createElement(react_router_dom_1.Route, { key: `${collection.slug}-verify`, path: `${match.url}/${collection.slug}/verify/:token`, exact: true },
react_1.default.createElement(Verify, { collection: collection })));
}
return null;
}),
react_1.default.createElement(react_router_dom_1.Route, { render: () => {
if (user) {
if (canAccessAdmin) {
return (react_1.default.createElement(Default_1.default, null,
react_1.default.createElement(react_router_dom_1.Switch, null,
react_1.default.createElement(react_router_dom_1.Route, { path: `${match.url}/`, exact: true },
react_1.default.createElement(Dashboard, null)),
react_1.default.createElement(react_router_dom_1.Route, { path: `${match.url}/account` },
react_1.default.createElement(DocumentInfo_1.DocumentInfoProvider, { collection: collections.find(({ slug }) => slug === userSlug), id: user.id },
react_1.default.createElement(Account, null))),
collections.reduce((collectionRoutes, collection) => {
const routesToReturn = [
...collectionRoutes,
react_1.default.createElement(react_router_dom_1.Route, { key: `${collection.slug}-list`, path: `${match.url}/collections/${collection.slug}`, exact: true, render: (routeProps) => {
var _a, _b, _c;
if ((_c = (_b = (_a = permissions === null || permissions === void 0 ? void 0 : permissions.collections) === null || _a === void 0 ? void 0 : _a[collection.slug]) === null || _b === void 0 ? void 0 : _b.read) === null || _c === void 0 ? void 0 : _c.permission) {
return (react_1.default.createElement(List_1.default, { ...routeProps, collection: collection }));
}
return react_1.default.createElement(Unauthorized, null);
} }),
react_1.default.createElement(react_router_dom_1.Route, { key: `${collection.slug}-create`, path: `${match.url}/collections/${collection.slug}/create`, exact: true, render: (routeProps) => {
var _a, _b, _c;
if ((_c = (_b = (_a = permissions === null || permissions === void 0 ? void 0 : permissions.collections) === null || _a === void 0 ? void 0 : _a[collection.slug]) === null || _b === void 0 ? void 0 : _b.create) === null || _c === void 0 ? void 0 : _c.permission) {
return (react_1.default.createElement(DocumentInfo_1.DocumentInfoProvider, { collection: collection },
react_1.default.createElement(Edit, { ...routeProps, collection: collection })));
}
return react_1.default.createElement(Unauthorized, null);
} }),
react_1.default.createElement(react_router_dom_1.Route, { key: `${collection.slug}-edit`, path: `${match.url}/collections/${collection.slug}/:id`, exact: true, render: (routeProps) => {
var _a, _b, _c;
const { match: { params: { id } } } = routeProps;
if ((_c = (_b = (_a = permissions === null || permissions === void 0 ? void 0 : permissions.collections) === null || _a === void 0 ? void 0 : _a[collection.slug]) === null || _b === void 0 ? void 0 : _b.read) === null || _c === void 0 ? void 0 : _c.permission) {
return (react_1.default.createElement(DocumentInfo_1.DocumentInfoProvider, { key: `${collection.slug}-edit-${id}-${locale}`, collection: collection, id: id },
react_1.default.createElement(Edit, { isEditing: true, ...routeProps, collection: collection })));
}
return react_1.default.createElement(Unauthorized, null);
} }),
];
if (collection.versions) {
routesToReturn.push(react_1.default.createElement(react_router_dom_1.Route, { key: `${collection.slug}-versions`, path: `${match.url}/collections/${collection.slug}/:id/versions`, exact: true, render: (routeProps) => {
var _a, _b, _c;
if ((_c = (_b = (_a = permissions === null || permissions === void 0 ? void 0 : permissions.collections) === null || _a === void 0 ? void 0 : _a[collection.slug]) === null || _b === void 0 ? void 0 : _b.readVersions) === null || _c === void 0 ? void 0 : _c.permission) {
return (react_1.default.createElement(Versions_1.default, { ...routeProps, collection: collection }));
}
return react_1.default.createElement(Unauthorized, null);
} }));
routesToReturn.push(react_1.default.createElement(react_router_dom_1.Route, { key: `${collection.slug}-view-version`, path: `${match.url}/collections/${collection.slug}/:id/versions/:versionID`, exact: true, render: (routeProps) => {
var _a, _b, _c;
if ((_c = (_b = (_a = permissions === null || permissions === void 0 ? void 0 : permissions.collections) === null || _a === void 0 ? void 0 : _a[collection.slug]) === null || _b === void 0 ? void 0 : _b.readVersions) === null || _c === void 0 ? void 0 : _c.permission) {
return (react_1.default.createElement(Version_1.default, { ...routeProps, collection: collection }));
}
return react_1.default.createElement(Unauthorized, null);
} }));
}
return routesToReturn;
}, []),
globals && globals.reduce((globalRoutes, global) => {
const routesToReturn = [
...globalRoutes,
react_1.default.createElement(react_router_dom_1.Route, { key: `${global.slug}`, path: `${match.url}/globals/${global.slug}`, exact: true, render: (routeProps) => {
var _a, _b, _c;
if ((_c = (_b = (_a = permissions === null || permissions === void 0 ? void 0 : permissions.globals) === null || _a === void 0 ? void 0 : _a[global.slug]) === null || _b === void 0 ? void 0 : _b.read) === null || _c === void 0 ? void 0 : _c.permission) {
return (react_1.default.createElement(DocumentInfo_1.DocumentInfoProvider, { global: global, key: `${global.slug}-${locale}` },
react_1.default.createElement(EditGlobal, { ...routeProps, global: global })));
}
return react_1.default.createElement(Unauthorized, null);
} }),
];
if (global.versions) {
routesToReturn.push(react_1.default.createElement(react_router_dom_1.Route, { key: `${global.slug}-versions`, path: `${match.url}/globals/${global.slug}/versions`, exact: true, render: (routeProps) => {
var _a, _b, _c;
if ((_c = (_b = (_a = permissions === null || permissions === void 0 ? void 0 : permissions.globals) === null || _a === void 0 ? void 0 : _a[global.slug]) === null || _b === void 0 ? void 0 : _b.readVersions) === null || _c === void 0 ? void 0 : _c.permission) {
return (react_1.default.createElement(Versions_1.default, { ...routeProps, global: global }));
}
return react_1.default.createElement(Unauthorized, null);
} }));
routesToReturn.push(react_1.default.createElement(react_router_dom_1.Route, { key: `${global.slug}-view-version`, path: `${match.url}/globals/${global.slug}/versions/:versionID`, exact: true, render: (routeProps) => {
var _a, _b, _c;
if ((_c = (_b = (_a = permissions === null || permissions === void 0 ? void 0 : permissions.globals) === null || _a === void 0 ? void 0 : _a[global.slug]) === null || _b === void 0 ? void 0 : _b.readVersions) === null || _c === void 0 ? void 0 : _c.permission) {
return (react_1.default.createElement(Version_1.default, { ...routeProps, global: global }));
}
return react_1.default.createElement(Unauthorized, null);
} }));
}
return routesToReturn;
}, []),
react_1.default.createElement(react_router_dom_1.Route, { path: `${match.url}*` },
react_1.default.createElement(NotFound, null)))));
}
if (canAccessAdmin === false) {
return react_1.default.createElement(Unauthorized, null);
}
return (
// user without admin panel access
react_1.default.createElement("div", null));
}
return react_1.default.createElement(react_router_dom_1.Redirect, { to: `${match.url}/login` });
} }),
react_1.default.createElement(react_router_dom_1.Route, { path: `${match.url}*` },
react_1.default.createElement(NotFound, null))));
}
return null;
} }),
react_1.default.createElement(StayLoggedIn_1.default, { refreshCookie: refreshCookie })));
};
exports.default = (0, react_router_dom_1.withRouter)(Routes);
//# sourceMappingURL=Routes.js.map

1
dist/admin/components/Routes.js.map vendored Normal file

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,4 @@
import React from 'react';
import { Props } from './types';
import './index.scss';
export declare const ArrayAction: React.FC<Props>;

View File

@@ -0,0 +1,54 @@
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.ArrayAction = void 0;
const react_1 = __importDefault(require("react"));
const react_i18next_1 = require("react-i18next");
const Popup_1 = __importDefault(require("../Popup"));
const More_1 = __importDefault(require("../../icons/More"));
const Chevron_1 = __importDefault(require("../../icons/Chevron"));
const Plus_1 = __importDefault(require("../../icons/Plus"));
const X_1 = __importDefault(require("../../icons/X"));
const Copy_1 = __importDefault(require("../../icons/Copy"));
require("./index.scss");
const baseClass = 'array-actions';
const ArrayAction = ({ moveRow, index, rowCount, addRow, duplicateRow, removeRow, }) => {
const { t } = (0, react_i18next_1.useTranslation)('general');
return (react_1.default.createElement(Popup_1.default, { horizontalAlign: "center", className: baseClass, buttonClassName: `${baseClass}__button`, button: react_1.default.createElement(More_1.default, null), render: ({ close }) => {
return (react_1.default.createElement(react_1.default.Fragment, null,
index !== 0 && (react_1.default.createElement("button", { className: `${baseClass}__action ${baseClass}__move-up`, type: "button", onClick: () => {
moveRow(index, index - 1);
close();
} },
react_1.default.createElement(Chevron_1.default, null),
t('moveUp'))),
index < rowCount - 1 && (react_1.default.createElement("button", { className: `${baseClass}__action ${baseClass}__move-down`, type: "button", onClick: () => {
moveRow(index, index + 1);
close();
} },
react_1.default.createElement(Chevron_1.default, null),
t('moveDown'))),
react_1.default.createElement("button", { className: `${baseClass}__action ${baseClass}__add`, type: "button", onClick: () => {
addRow(index);
close();
} },
react_1.default.createElement(Plus_1.default, null),
t('addBelow')),
react_1.default.createElement("button", { className: `${baseClass}__action ${baseClass}__duplicate`, type: "button", onClick: () => {
duplicateRow(index);
close();
} },
react_1.default.createElement(Copy_1.default, null),
t('duplicate')),
react_1.default.createElement("button", { className: `${baseClass}__action ${baseClass}__remove`, type: "button", onClick: () => {
removeRow(index);
close();
} },
react_1.default.createElement(X_1.default, null),
t('remove'))));
} }));
};
exports.ArrayAction = ArrayAction;
//# sourceMappingURL=index.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/admin/components/elements/ArrayAction/index.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,iDAA+C;AAC/C,qDAA6B;AAC7B,4DAAoC;AACpC,kEAA0C;AAE1C,4DAAoC;AACpC,sDAA8B;AAC9B,4DAAoC;AAEpC,wBAAsB;AAEtB,MAAM,SAAS,GAAG,eAAe,CAAC;AAE3B,MAAM,WAAW,GAAoB,CAAC,EAC3C,OAAO,EACP,KAAK,EACL,QAAQ,EACR,MAAM,EACN,YAAY,EACZ,SAAS,GACV,EAAE,EAAE;IACH,MAAM,EAAE,CAAC,EAAE,GAAG,IAAA,8BAAc,EAAC,SAAS,CAAC,CAAC;IACxC,OAAO,CACL,8BAAC,eAAK,IACJ,eAAe,EAAC,QAAQ,EACxB,SAAS,EAAE,SAAS,EACpB,eAAe,EAAE,GAAG,SAAS,UAAU,EACvC,MAAM,EAAE,8BAAC,cAAI,OAAG,EAChB,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;YACpB,OAAO,CACL,8BAAC,eAAK,CAAC,QAAQ;gBACZ,KAAK,KAAK,CAAC,IAAI,CACd,0CACE,SAAS,EAAE,GAAG,SAAS,YAAY,SAAS,WAAW,EACvD,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE;wBACZ,OAAO,CAAC,KAAK,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;wBAC1B,KAAK,EAAE,CAAC;oBACV,CAAC;oBAED,8BAAC,iBAAO,OAAG;oBACV,CAAC,CAAC,QAAQ,CAAC,CACL,CACV;gBACA,KAAK,GAAG,QAAQ,GAAG,CAAC,IAAI,CACvB,0CACE,SAAS,EAAE,GAAG,SAAS,YAAY,SAAS,aAAa,EACzD,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE;wBACZ,OAAO,CAAC,KAAK,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;wBAC1B,KAAK,EAAE,CAAC;oBACV,CAAC;oBAED,8BAAC,iBAAO,OAAG;oBACV,CAAC,CAAC,UAAU,CAAC,CACP,CACV;gBACD,0CACE,SAAS,EAAE,GAAG,SAAS,YAAY,SAAS,OAAO,EACnD,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE;wBACZ,MAAM,CAAC,KAAK,CAAC,CAAC;wBACd,KAAK,EAAE,CAAC;oBACV,CAAC;oBAED,8BAAC,cAAI,OAAG;oBACP,CAAC,CAAC,UAAU,CAAC,CACP;gBACT,0CACE,SAAS,EAAE,GAAG,SAAS,YAAY,SAAS,aAAa,EACzD,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE;wBACZ,YAAY,CAAC,KAAK,CAAC,CAAC;wBACpB,KAAK,EAAE,CAAC;oBACV,CAAC;oBAED,8BAAC,cAAI,OAAG;oBACP,CAAC,CAAC,WAAW,CAAC,CACR;gBACT,0CACE,SAAS,EAAE,GAAG,SAAS,YAAY,SAAS,UAAU,EACtD,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE;wBACZ,SAAS,CAAC,KAAK,CAAC,CAAC;wBACjB,KAAK,EAAE,CAAC;oBACV,CAAC;oBAED,8BAAC,WAAC,OAAG;oBACJ,CAAC,CAAC,QAAQ,CAAC,CACL,CACM,CAClB,CAAC;QACJ,CAAC,GACD,CACH,CAAC;AACJ,CAAC,CAAC;AAlFW,QAAA,WAAW,eAkFtB"}

View File

@@ -0,0 +1,54 @@
@import '../../../scss/styles.scss';
.array-actions {
&__button {
@extend %btn-reset;
cursor: pointer;
border-radius: 100px;
&:hover {
background: var(--theme-elevation-0);
}
}
&.popup--active .array-actions__button {
background: var(--theme-elevation-0);
}
&__button,
&__action {
@extend %btn-reset;
cursor: pointer;
}
&__actions {
list-style: none;
margin: 0;
padding: 0;
}
&__action {
@extend %btn-reset;
display: block;
svg {
position: relative;
top: -1px;
margin-right: base(.25);
.stroke {
stroke-width: 1px;
}
}
&:hover {
opacity: .7;
}
}
&__move-up {
svg {
transform: rotate(180deg);
}
}
}

View File

@@ -0,0 +1,8 @@
export type Props = {
addRow: (current: number, blockType?: string) => void;
duplicateRow: (current: number) => void;
removeRow: (index: number) => void;
moveRow: (from: number, to: number) => void;
index: number;
rowCount: number;
};

View File

@@ -0,0 +1,3 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
//# sourceMappingURL=types.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/admin/components/elements/ArrayAction/types.ts"],"names":[],"mappings":""}

View File

@@ -0,0 +1,5 @@
import React from 'react';
import { Props } from './types';
import './index.scss';
declare const Autosave: React.FC<Props>;
export default Autosave;

View File

@@ -0,0 +1,156 @@
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const react_router_dom_1 = require("react-router-dom");
const react_toastify_1 = require("react-toastify");
const react_1 = __importStar(require("react"));
const react_i18next_1 = require("react-i18next");
const Config_1 = require("../../utilities/Config");
const context_1 = require("../../forms/Form/context");
const Locale_1 = require("../../utilities/Locale");
const reduceFieldsToValues_1 = __importDefault(require("../../forms/Form/reduceFieldsToValues"));
const DocumentInfo_1 = require("../../utilities/DocumentInfo");
const useDebounce_1 = __importDefault(require("../../../hooks/useDebounce"));
require("./index.scss");
const baseClass = 'autosave';
const Autosave = ({ collection, global, id, publishedDocUpdatedAt }) => {
var _a, _b, _c, _d;
const { serverURL, routes: { api, admin } } = (0, Config_1.useConfig)();
const { versions, getVersions } = (0, DocumentInfo_1.useDocumentInfo)();
const [fields] = (0, context_1.useAllFormFields)();
const modified = (0, context_1.useFormModified)();
const locale = (0, Locale_1.useLocale)();
const { replace } = (0, react_router_dom_1.useHistory)();
const { t, i18n } = (0, react_i18next_1.useTranslation)('version');
let interval = 800;
if ((collection === null || collection === void 0 ? void 0 : collection.versions.drafts) && ((_b = (_a = collection.versions) === null || _a === void 0 ? void 0 : _a.drafts) === null || _b === void 0 ? void 0 : _b.autosave))
interval = collection.versions.drafts.autosave.interval;
if ((global === null || global === void 0 ? void 0 : global.versions.drafts) && ((_d = (_c = global.versions) === null || _c === void 0 ? void 0 : _c.drafts) === null || _d === void 0 ? void 0 : _d.autosave))
interval = global.versions.drafts.autosave.interval;
const [saving, setSaving] = (0, react_1.useState)(false);
const [lastSaved, setLastSaved] = (0, react_1.useState)();
const debouncedFields = (0, useDebounce_1.default)(fields, interval);
const fieldRef = (0, react_1.useRef)(fields);
const modifiedRef = (0, react_1.useRef)(modified);
// Store fields in ref so the autosave func
// can always retrieve the most to date copies
// after the timeout has executed
fieldRef.current = fields;
// Store modified in ref so the autosave func
// can bail out if modified becomes false while
// timing out during autosave
modifiedRef.current = modified;
const createCollectionDoc = (0, react_1.useCallback)(async () => {
const res = await fetch(`${serverURL}${api}/${collection.slug}?locale=${locale}&fallback-locale=null&depth=0&draft=true&autosave=true`, {
method: 'POST',
credentials: 'include',
headers: {
'Content-Type': 'application/json',
'Accept-Language': i18n.language,
},
body: JSON.stringify({}),
});
if (res.status === 201) {
const json = await res.json();
replace(`${admin}/collections/${collection.slug}/${json.doc.id}`, {
state: {
data: json.doc,
},
});
}
else {
react_toastify_1.toast.error(t('error:autosaving'));
}
}, [i18n, serverURL, api, collection, locale, replace, admin, t]);
(0, react_1.useEffect)(() => {
// If no ID, but this is used for a collection doc,
// Immediately save it and set lastSaved
if (!id && collection) {
createCollectionDoc();
}
}, [id, collection, createCollectionDoc]);
// When debounced fields change, autosave
(0, react_1.useEffect)(() => {
const autosave = async () => {
if (modified) {
setSaving(true);
let url;
let method;
if (collection && id) {
url = `${serverURL}${api}/${collection.slug}/${id}?draft=true&autosave=true&locale=${locale}`;
method = 'PATCH';
}
if (global) {
url = `${serverURL}${api}/globals/${global.slug}?draft=true&autosave=true&locale=${locale}`;
method = 'POST';
}
if (url) {
setTimeout(async () => {
if (modifiedRef.current) {
const body = {
...(0, reduceFieldsToValues_1.default)(fieldRef.current, true),
_status: 'draft',
};
const res = await fetch(url, {
method,
credentials: 'include',
headers: {
'Content-Type': 'application/json',
'Accept-Language': i18n.language,
},
body: JSON.stringify(body),
});
if (res.status === 200) {
setLastSaved(new Date().getTime());
getVersions();
}
}
setSaving(false);
}, 1000);
}
}
};
autosave();
}, [i18n, debouncedFields, modified, serverURL, api, collection, global, id, getVersions, locale, modifiedRef]);
(0, react_1.useEffect)(() => {
var _a;
if ((_a = versions === null || versions === void 0 ? void 0 : versions.docs) === null || _a === void 0 ? void 0 : _a[0]) {
setLastSaved(new Date(versions.docs[0].updatedAt).getTime());
}
else if (publishedDocUpdatedAt) {
setLastSaved(new Date(publishedDocUpdatedAt).getTime());
}
}, [publishedDocUpdatedAt, versions]);
return (react_1.default.createElement("div", { className: baseClass },
saving && t('saving'),
(!saving && lastSaved) && (react_1.default.createElement(react_1.default.Fragment, null, t('lastSavedAgo', {
distance: Math.round((Number(new Date(lastSaved)) - Number(new Date())) / 1000 / 60),
})))));
};
exports.default = Autosave;
//# sourceMappingURL=index.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/admin/components/elements/Autosave/index.tsx"],"names":[],"mappings":"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"}

View File

@@ -0,0 +1,5 @@
@import '../../../scss/styles.scss';
.autosave {
min-height: $baseline;
}

View File

@@ -0,0 +1,8 @@
import { SanitizedCollectionConfig } from '../../../../collections/config/types';
import { SanitizedGlobalConfig } from '../../../../globals/config/types';
export type Props = {
collection?: SanitizedCollectionConfig;
global?: SanitizedGlobalConfig;
id?: string | number;
publishedDocUpdatedAt: string;
};

View File

@@ -0,0 +1,3 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
//# sourceMappingURL=types.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/admin/components/elements/Autosave/types.ts"],"names":[],"mappings":""}

View File

@@ -0,0 +1,5 @@
import React from 'react';
import { Props } from './types';
import './index.scss';
export declare const Banner: React.FC<Props>;
export default Banner;

View File

@@ -0,0 +1,33 @@
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.Banner = void 0;
const react_1 = __importDefault(require("react"));
const react_router_dom_1 = require("react-router-dom");
require("./index.scss");
const baseClass = 'banner';
const Banner = ({ children, className, to, icon, alignIcon = 'right', onClick, type = 'default', }) => {
const classes = [
baseClass,
`${baseClass}--type-${type}`,
className && className,
to && `${baseClass}--has-link`,
(to || onClick) && `${baseClass}--has-action`,
icon && `${baseClass}--has-icon`,
icon && `${baseClass}--align-icon-${alignIcon}`,
].filter(Boolean).join(' ');
let RenderedType = 'div';
if (onClick && !to)
RenderedType = 'button';
if (to)
RenderedType = react_router_dom_1.Link;
return (react_1.default.createElement(RenderedType, { className: classes, onClick: onClick, to: to || undefined },
(icon && alignIcon === 'left') && (react_1.default.createElement(react_1.default.Fragment, null, icon)),
react_1.default.createElement("span", { className: `${baseClass}__content` }, children),
(icon && alignIcon === 'right') && (react_1.default.createElement(react_1.default.Fragment, null, icon))));
};
exports.Banner = Banner;
exports.default = exports.Banner;
//# sourceMappingURL=index.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/admin/components/elements/Banner/index.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,uDAAwC;AAGxC,wBAAsB;AAEtB,MAAM,SAAS,GAAG,QAAQ,CAAC;AAEpB,MAAM,MAAM,GAAoB,CAAC,EACtC,QAAQ,EACR,SAAS,EACT,EAAE,EACF,IAAI,EACJ,SAAS,GAAG,OAAO,EACnB,OAAO,EACP,IAAI,GAAG,SAAS,GACjB,EAAE,EAAE;IACH,MAAM,OAAO,GAAG;QACd,SAAS;QACT,GAAG,SAAS,UAAU,IAAI,EAAE;QAC5B,SAAS,IAAI,SAAS;QACtB,EAAE,IAAI,GAAG,SAAS,YAAY;QAC9B,CAAC,EAAE,IAAI,OAAO,CAAC,IAAI,GAAG,SAAS,cAAc;QAC7C,IAAI,IAAI,GAAG,SAAS,YAAY;QAChC,IAAI,IAAI,GAAG,SAAS,gBAAgB,SAAS,EAAE;KAChD,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAE5B,IAAI,YAAY,GAAoD,KAAK,CAAC;IAE1E,IAAI,OAAO,IAAI,CAAC,EAAE;QAAE,YAAY,GAAG,QAAQ,CAAC;IAC5C,IAAI,EAAE;QAAE,YAAY,GAAG,uBAAI,CAAC;IAE5B,OAAO,CACL,8BAAC,YAAY,IACX,SAAS,EAAE,OAAO,EAClB,OAAO,EAAE,OAAO,EAChB,EAAE,EAAE,EAAE,IAAI,SAAS;QAElB,CAAC,IAAI,IAAI,SAAS,KAAK,MAAM,CAAC,IAAI,CACjC,8BAAC,eAAK,CAAC,QAAQ,QACZ,IAAI,CACU,CAClB;QACD,wCAAM,SAAS,EAAE,GAAG,SAAS,WAAW,IACrC,QAAQ,CACJ;QACN,CAAC,IAAI,IAAI,SAAS,KAAK,OAAO,CAAC,IAAI,CAClC,8BAAC,eAAK,CAAC,QAAQ,QACZ,IAAI,CACU,CAClB,CACY,CAChB,CAAC;AACJ,CAAC,CAAC;AA7CW,QAAA,MAAM,UA6CjB;AAEF,kBAAe,cAAM,CAAC"}

View File

@@ -0,0 +1,72 @@
@import '../../../scss/styles.scss';
.banner {
font-size: 1rem;
line-height: base(1);
border: 0;
vertical-align: middle;
background: var(--theme-elevation-100);
color: var(--theme-elevation-800);
border-radius: $style-radius-s;
padding: base(.5);
margin-bottom: $baseline;
&--has-action {
cursor: pointer;
text-decoration: none;
}
&--has-icon {
display: flex;
svg {
display: block;
}
}
&--type-default {
&.button--has-action {
&:hover {
background: var(--theme-elevation-900);
}
&:active {
background: var(--theme-elevation-950);
}
}
}
&--type-error {
background: var(--theme-error-100);
color: var(--theme-error-500);
svg {
@include color-svg(var(--theme-error-500));
}
&.button--has-action {
&:hover {
background: var(--theme-error-200);
}
&:active {
background: var(--theme-error-300);
}
}
}
&--type-success {
background: var(--theme-success-500);
color: var(--color-base-800);
&.button--has-action {
&:hover {
background: var(--theme-success-200);
}
&:active {
background: var(--theme-success-200);
}
}
}
}

View File

@@ -0,0 +1,18 @@
import { MouseEvent } from 'react';
type onClick = (event: MouseEvent) => void;
export type Props = {
children?: React.ReactNode;
className?: string;
icon?: React.ReactNode;
alignIcon?: 'left' | 'right';
onClick?: onClick;
to?: string;
type?: 'error' | 'success' | 'info' | 'default';
};
export type RenderedTypeProps = {
className?: string;
onClick?: onClick;
to: string;
children?: React.ReactNode;
};
export {};

View File

@@ -0,0 +1,3 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
//# sourceMappingURL=types.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/admin/components/elements/Banner/types.ts"],"names":[],"mappings":""}

View File

@@ -0,0 +1,5 @@
import React from 'react';
import { Props } from './types';
import './index.scss';
declare const Button: React.FC<Props>;
export default Button;

View File

@@ -0,0 +1,106 @@
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const react_1 = __importStar(require("react"));
const react_router_dom_1 = require("react-router-dom");
const Plus_1 = __importDefault(require("../../icons/Plus"));
const X_1 = __importDefault(require("../../icons/X"));
const Chevron_1 = __importDefault(require("../../icons/Chevron"));
const Edit_1 = __importDefault(require("../../icons/Edit"));
const Swap_1 = __importDefault(require("../../icons/Swap"));
const Link_1 = __importDefault(require("../../icons/Link"));
const Tooltip_1 = __importDefault(require("../Tooltip"));
require("./index.scss");
const icons = {
plus: Plus_1.default,
x: X_1.default,
chevron: Chevron_1.default,
edit: Edit_1.default,
swap: Swap_1.default,
link: Link_1.default,
};
const baseClass = 'btn';
const ButtonContents = ({ children, icon, tooltip, showTooltip }) => {
const BuiltInIcon = icons[icon];
return (react_1.default.createElement(react_1.Fragment, null,
react_1.default.createElement(Tooltip_1.default, { className: `${baseClass}__tooltip`, show: showTooltip }, tooltip),
react_1.default.createElement("span", { className: `${baseClass}__content` },
children && (react_1.default.createElement("span", { className: `${baseClass}__label` }, children)),
icon && (react_1.default.createElement("span", { className: `${baseClass}__icon` },
(0, react_1.isValidElement)(icon) && icon,
BuiltInIcon && react_1.default.createElement(BuiltInIcon, null))))));
};
const Button = (props) => {
const { className, id, type = 'button', el = 'button', to, url, children, onClick, disabled, icon, iconStyle = 'without-border', buttonStyle = 'primary', round, size = 'medium', iconPosition = 'right', newTab, tooltip, } = props;
const [showTooltip, setShowTooltip] = react_1.default.useState(false);
const classes = [
baseClass,
className && className,
buttonStyle && `${baseClass}--style-${buttonStyle}`,
icon && `${baseClass}--icon`,
iconStyle && `${baseClass}--icon-style-${iconStyle}`,
(icon && !children) && `${baseClass}--icon-only`,
disabled && `${baseClass}--disabled`,
round && `${baseClass}--round`,
size && `${baseClass}--size-${size}`,
iconPosition && `${baseClass}--icon-position-${iconPosition}`,
tooltip && `${baseClass}--has-tooltip`,
].filter(Boolean).join(' ');
function handleClick(event) {
setShowTooltip(false);
if (type !== 'submit' && onClick)
event.preventDefault();
if (onClick)
onClick(event);
}
const buttonProps = {
id,
type,
className: classes,
disabled,
onMouseEnter: tooltip ? () => setShowTooltip(true) : undefined,
onMouseLeave: tooltip ? () => setShowTooltip(false) : undefined,
onClick: !disabled ? handleClick : undefined,
rel: newTab ? 'noopener noreferrer' : undefined,
target: newTab ? '_blank' : undefined,
};
switch (el) {
case 'link':
return (react_1.default.createElement(react_router_dom_1.Link, { ...buttonProps, to: to || url },
react_1.default.createElement(ButtonContents, { icon: icon, tooltip: tooltip, showTooltip: showTooltip }, children)));
case 'anchor':
return (react_1.default.createElement("a", { ...buttonProps, href: url },
react_1.default.createElement(ButtonContents, { icon: icon, tooltip: tooltip, showTooltip: showTooltip }, children)));
default:
const Tag = el; // eslint-disable-line no-case-declarations
return (react_1.default.createElement(Tag, { type: "submit", ...buttonProps },
react_1.default.createElement(ButtonContents, { icon: icon, tooltip: tooltip, showTooltip: showTooltip }, children)));
}
};
exports.default = Button;
//# sourceMappingURL=index.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/admin/components/elements/Button/index.tsx"],"names":[],"mappings":"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"}

View File

@@ -0,0 +1,199 @@
@import '../../../scss/styles.scss';
.btn {
background: transparent;
line-height: base(1);
border-radius: $style-radius-m;
font-size: 1rem;
margin-top: base(1);
margin-bottom: base(1);
border: 0;
cursor: pointer;
font-weight: normal;
text-decoration: none;
text-align: center;
color: inherit;
.btn__icon {
border: 1px solid;
border-radius: 100%;
@include color-svg(currentColor);
}
&--has-tooltip {
position: relative;
}
&--icon-style-without-border {
.btn__icon {
border: none;
}
}
&--icon-style-none {
.btn__icon {
border: none;
}
}
span {
line-height: base(1);
}
span,
svg {
vertical-align: top;
}
&--size-medium {
padding: base(.5) $baseline;
}
&--size-small {
padding: base(.25) base(.5);
}
&--style-primary {
background-color: var(--theme-elevation-800);
color: var(--theme-elevation-0);
&.btn--disabled {
background-color: var(--theme-elevation-400);
}
&:not(.btn--disabled) {
&:hover {
background: var(--theme-elevation-750);
}
&:active {
background: var(--theme-elevation-700);
}
}
&:focus {
box-shadow: $focus-box-shadow;
outline: none;
}
}
&--style-secondary {
$base-box-shadow: inset 0 0 0 $style-stroke-width var(--theme-elevation-800);
$hover-box-shadow: inset 0 0 0 $style-stroke-width var(--theme-elevation-700);
box-shadow: $base-box-shadow;
color: var(--theme-elevation-800);
background: none;
&:hover {
background: var(--theme-elevation-100);
box-shadow: $hover-box-shadow;
}
&:active {
background: var(--theme-elevation-200);
}
&.btn--disabled {
color: var(--theme-elevation-400);
background: none;
box-shadow: inset 0 0 0 $style-stroke-width var(--theme-elevation-400);
}
&:focus {
outline: none;
box-shadow: $hover-box-shadow, $focus-box-shadow;
}
}
&--style-none {
padding: 0;
margin: 0;
border-radius: 0;
&:focus {
opacity: .8;
}
&:active {
opacity: .7;
}
}
&--round {
border-radius: 100%;
}
&--icon {
span {
display: flex;
justify-content: space-between;
}
&.btn--style-primary {
.icon {
@include color-svg(var(--theme-elevation-0));
}
}
}
&--style-icon-label {
padding: 0;
font-weight: 600;
}
&--style-light-gray {
box-shadow: inset 0 0 0 $style-stroke-width var(--theme-elevation-800);
}
&--icon-position-left {
.btn__content {
flex-direction: row-reverse;
}
.btn__icon {
margin-right: base(.5);
}
}
&--icon-position-right {
.btn__icon {
margin-left: base(.5);
}
}
&--icon-only {
.btn__icon {
padding: 0;
margin: 0;
}
}
&--disabled {
cursor: default;
}
&:hover {
.btn__icon {
@include color-svg(var(--theme-elevation-0));
background: var(--theme-elevation-800);
}
}
&:focus {
.btn__icon {
@include color-svg(var(--theme-elevation-800));
background: var(--theme-elevation-150);
}
outline: none;
}
&:active {
.btn__icon {
@include color-svg(var(--theme-elevation-0));
background: var(--theme-elevation-700);
}
}
}

View File

@@ -0,0 +1,21 @@
import React, { ElementType, MouseEvent } from 'react';
export type Props = {
className?: string;
id?: string;
type?: 'submit' | 'button';
el?: 'link' | 'anchor' | ElementType;
to?: string;
url?: string;
children?: React.ReactNode;
onClick?: (event: MouseEvent) => void;
disabled?: boolean;
icon?: React.ReactNode | ['chevron' | 'x' | 'plus' | 'edit'];
iconStyle?: 'with-border' | 'without-border' | 'none';
buttonStyle?: 'primary' | 'secondary' | 'transparent' | 'error' | 'none' | 'icon-label';
buttonId?: string;
round?: boolean;
size?: 'small' | 'medium';
iconPosition?: 'left' | 'right';
newTab?: boolean;
tooltip?: string;
};

View File

@@ -0,0 +1,3 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
//# sourceMappingURL=types.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/admin/components/elements/Button/types.ts"],"names":[],"mappings":""}

View File

@@ -0,0 +1,5 @@
import React from 'react';
import { Props } from './types';
import './index.scss';
declare const Card: React.FC<Props>;
export default Card;

View File

@@ -0,0 +1,23 @@
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const react_1 = __importDefault(require("react"));
const Button_1 = __importDefault(require("../Button"));
require("./index.scss");
const baseClass = 'card';
const Card = (props) => {
const { id, title, actions, onClick } = props;
const classes = [
baseClass,
id,
onClick && `${baseClass}--has-onclick`,
].filter(Boolean).join(' ');
return (react_1.default.createElement("div", { className: classes, id: id },
react_1.default.createElement("h5", null, title),
actions && (react_1.default.createElement("div", { className: `${baseClass}__actions` }, actions)),
onClick && (react_1.default.createElement(Button_1.default, { className: `${baseClass}__click`, buttonStyle: "none", onClick: onClick }))));
};
exports.default = Card;
//# sourceMappingURL=index.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/admin/components/elements/Card/index.tsx"],"names":[],"mappings":";;;;;AAAA,kDAA0B;AAC1B,uDAA+B;AAG/B,wBAAsB;AAEtB,MAAM,SAAS,GAAG,MAAM,CAAC;AAEzB,MAAM,IAAI,GAAoB,CAAC,KAAK,EAAE,EAAE;IACtC,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAE9C,MAAM,OAAO,GAAG;QACd,SAAS;QACT,EAAE;QACF,OAAO,IAAI,GAAG,SAAS,eAAe;KACvC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAE5B,OAAO,CACL,uCACE,SAAS,EAAE,OAAO,EAClB,EAAE,EAAE,EAAE;QAEN,0CACG,KAAK,CACH;QACJ,OAAO,IAAI,CACV,uCAAK,SAAS,EAAE,GAAG,SAAS,WAAW,IACpC,OAAO,CACJ,CACP;QACA,OAAO,IAAI,CACV,8BAAC,gBAAM,IACL,SAAS,EAAE,GAAG,SAAS,SAAS,EAChC,WAAW,EAAC,MAAM,EAClB,OAAO,EAAE,OAAO,GAChB,CACH,CACG,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,IAAI,CAAC"}

View File

@@ -0,0 +1,41 @@
@import '../../../scss/styles';
.card {
background: var(--theme-elevation-50);
padding: base(1.25) $baseline;
position: relative;
h5 {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
&__actions {
position: relative;
z-index: 2;
margin-top: base(.5);
display: inline-flex;
.btn {
margin: 0;
}
}
&--has-onclick {
cursor: pointer;
&:hover {
background: var(--theme-elevation-100);
}
}
&__click {
position: absolute;
z-index: 1;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
}

View File

@@ -0,0 +1,7 @@
/// <reference types="react" />
export type Props = {
id?: string;
title: string;
actions?: React.ReactNode;
onClick?: () => void;
};

View File

@@ -0,0 +1,3 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
//# sourceMappingURL=types.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/admin/components/elements/Card/types.ts"],"names":[],"mappings":""}

View File

@@ -0,0 +1,5 @@
import React from 'react';
import type { Props } from './types';
import './index.scss';
declare const CodeEditor: React.FC<Props>;
export default CodeEditor;

View File

@@ -0,0 +1,33 @@
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const react_1 = __importDefault(require("react"));
const react_2 = __importDefault(require("@monaco-editor/react"));
const Theme_1 = require("../../utilities/Theme");
require("./index.scss");
const ShimmerEffect_1 = require("../ShimmerEffect");
const baseClass = 'code-editor';
const CodeEditor = (props) => {
const { readOnly, className, options, height, ...rest } = props;
const { theme } = (0, Theme_1.useTheme)();
const classes = [
baseClass,
className,
(rest === null || rest === void 0 ? void 0 : rest.defaultLanguage) ? `language--${rest.defaultLanguage}` : '',
].filter(Boolean).join(' ');
return (react_1.default.createElement(react_2.default, { className: classes, theme: theme === 'dark' ? 'vs-dark' : 'vs', loading: react_1.default.createElement(ShimmerEffect_1.ShimmerEffect, { height: height }), options: {
detectIndentation: true,
minimap: {
enabled: false,
},
readOnly: Boolean(readOnly),
scrollBeyondLastLine: false,
tabSize: 2,
wordWrap: 'on',
...options,
}, height: height, ...rest }));
};
exports.default = CodeEditor;
//# sourceMappingURL=CodeEditor.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"CodeEditor.js","sourceRoot":"","sources":["../../../../../src/admin/components/elements/CodeEditor/CodeEditor.tsx"],"names":[],"mappings":";;;;;AAAA,kDAA0B;AAC1B,iEAA0C;AAE1C,iDAAiD;AAEjD,wBAAsB;AACtB,oDAAiD;AAEjD,MAAM,SAAS,GAAG,aAAa,CAAC;AAEhC,MAAM,UAAU,GAAoB,CAAC,KAAK,EAAE,EAAE;IAC5C,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;IAEhE,MAAM,EAAE,KAAK,EAAE,GAAG,IAAA,gBAAQ,GAAE,CAAC;IAE7B,MAAM,OAAO,GAAG;QACd,SAAS;QACT,SAAS;QACT,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,eAAe,EAAC,CAAC,CAAC,aAAa,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE;KACjE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAE5B,OAAO,CACL,8BAAC,eAAM,IACL,SAAS,EAAE,OAAO,EAClB,KAAK,EAAE,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,EAC1C,OAAO,EAAE,8BAAC,6BAAa,IAAC,MAAM,EAAE,MAAM,GAAI,EAC1C,OAAO,EACL;YACE,iBAAiB,EAAE,IAAI;YACvB,OAAO,EAAE;gBACP,OAAO,EAAE,KAAK;aACf;YACD,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC;YAC3B,oBAAoB,EAAE,KAAK;YAC3B,OAAO,EAAE,CAAC;YACV,QAAQ,EAAE,IAAI;YACd,GAAG,OAAO;SACX,EAEH,MAAM,EAAE,MAAM,KACV,IAAI,GACR,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,UAAU,CAAC"}

View File

@@ -0,0 +1,3 @@
import React from 'react';
import { Props } from './types';
export declare const CodeEditor: React.FC<Props>;

View File

@@ -0,0 +1,36 @@
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.CodeEditor = void 0;
const react_1 = __importStar(require("react"));
const ShimmerEffect_1 = require("../ShimmerEffect");
const LazyEditor = (0, react_1.lazy)(() => Promise.resolve().then(() => __importStar(require('./CodeEditor'))));
const CodeEditor = (props) => {
const { height = '35vh' } = props;
return (react_1.default.createElement(react_1.Suspense, { fallback: react_1.default.createElement(ShimmerEffect_1.ShimmerEffect, { height: height }) },
react_1.default.createElement(LazyEditor, { ...props, height: height })));
};
exports.CodeEditor = CodeEditor;
//# sourceMappingURL=index.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/admin/components/elements/CodeEditor/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAA8C;AAC9C,oDAAiD;AAGjD,MAAM,UAAU,GAAG,IAAA,YAAI,EAAC,GAAG,EAAE,mDAAQ,cAAc,GAAC,CAAC,CAAC;AAE/C,MAAM,UAAU,GAAoB,CAAC,KAAK,EAAE,EAAE;IACnD,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,KAAK,CAAC;IAElC,OAAO,CACL,8BAAC,gBAAQ,IAAC,QAAQ,EAAE,8BAAC,6BAAa,IAAC,MAAM,EAAE,MAAM,GAAI;QACnD,8BAAC,UAAU,OACL,KAAK,EACT,MAAM,EAAE,MAAM,GACd,CACO,CACZ,CAAC;AACJ,CAAC,CAAC;AAXW,QAAA,UAAU,cAWrB"}

View File

@@ -0,0 +1,21 @@
@import '../../../scss/styles';
.code-editor {
@include formInput;
height: auto;
padding: 0;
.monaco-editor {
.view-overlays .current-line {
max-width: calc(100% - 14px);
border-width: 0px;
}
&:focus-within {
.view-overlays .current-line {
border-right: 0;
border-width: 1px;
}
}
}
}

View File

@@ -0,0 +1,4 @@
import type { EditorProps } from '@monaco-editor/react';
export type Props = EditorProps & {
readOnly?: boolean;
};

View File

@@ -0,0 +1,3 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
//# sourceMappingURL=types.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/admin/components/elements/CodeEditor/types.ts"],"names":[],"mappings":""}

View File

@@ -0,0 +1,4 @@
import React from 'react';
import { Props } from './types';
import './index.scss';
export declare const Collapsible: React.FC<Props>;

View File

@@ -0,0 +1,76 @@
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.Collapsible = void 0;
const react_1 = __importStar(require("react"));
const react_animate_height_1 = __importDefault(require("react-animate-height"));
const react_i18next_1 = require("react-i18next");
const provider_1 = require("./provider");
const Chevron_1 = __importDefault(require("../../icons/Chevron"));
const Drag_1 = __importDefault(require("../../icons/Drag"));
require("./index.scss");
const baseClass = 'collapsible';
const Collapsible = ({ children, collapsed: collapsedFromProps, onToggle, className, header, initCollapsed, dragHandleProps, actions, }) => {
const [collapsedLocal, setCollapsedLocal] = (0, react_1.useState)(Boolean(initCollapsed));
const [hovered, setHovered] = (0, react_1.useState)(false);
const isNested = (0, provider_1.useCollapsible)();
const { t } = (0, react_i18next_1.useTranslation)('fields');
const collapsed = typeof collapsedFromProps === 'boolean' ? collapsedFromProps : collapsedLocal;
return (react_1.default.createElement("div", { className: [
baseClass,
className,
dragHandleProps && `${baseClass}--has-drag-handle`,
collapsed && `${baseClass}--collapsed`,
isNested && `${baseClass}--nested`,
hovered && `${baseClass}--hovered`,
].filter(Boolean).join(' ') },
react_1.default.createElement(provider_1.CollapsibleProvider, null,
react_1.default.createElement("div", { className: `${baseClass}__toggle-wrap`, onMouseEnter: () => setHovered(true), onMouseLeave: () => setHovered(false) },
dragHandleProps && (react_1.default.createElement("div", { className: `${baseClass}__drag`, ...dragHandleProps.attributes, ...dragHandleProps.listeners },
react_1.default.createElement(Drag_1.default, null))),
react_1.default.createElement("button", { type: "button", className: [
`${baseClass}__toggle`,
`${baseClass}__toggle--${collapsed ? 'collapsed' : 'open'}`,
].filter(Boolean).join(' '), onClick: () => {
if (typeof onToggle === 'function')
onToggle(!collapsed);
setCollapsedLocal(!collapsed);
} },
react_1.default.createElement("span", null, t('toggleBlock'))),
header && (react_1.default.createElement("div", { className: [
`${baseClass}__header-wrap`,
dragHandleProps && `${baseClass}__header-wrap--has-drag-handle`,
].filter(Boolean).join(' ') }, header && header)),
react_1.default.createElement("div", { className: `${baseClass}__actions-wrap` },
actions && (react_1.default.createElement("div", { className: `${baseClass}__actions` }, actions)),
react_1.default.createElement(Chevron_1.default, { className: `${baseClass}__indicator` }))),
react_1.default.createElement(react_animate_height_1.default, { height: collapsed ? 0 : 'auto', duration: 200 },
react_1.default.createElement("div", { className: `${baseClass}__content` }, children)))));
};
exports.Collapsible = Collapsible;
//# sourceMappingURL=index.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/admin/components/elements/Collapsible/index.tsx"],"names":[],"mappings":"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"}

View File

@@ -0,0 +1,117 @@
@import '../../../scss/styles.scss';
.collapsible {
--toggle-pad-h: #{base(.75)};
--toggle-pad-v: #{base(.5)};
border: 1px solid var(--theme-elevation-200);
border-radius: $style-radius-m;
&:hover {
border: 1px solid var(--theme-elevation-300);
}
&__toggle-wrap {
position: relative;
}
&--nested {
margin-bottom: $baseline !important;
}
&--hovered {
>.collapsible__toggle-wrap>.collapsible__drag {
opacity: 1;
}
>.collapsible__toggle-wrap>.collapsible__toggle {
background: var(--theme-elevation-100);
}
}
&__drag {
opacity: .5;
position: absolute;
z-index: 1;
top: var(--toggle-pad-v);
left: base(.5);
}
&__toggle {
@extend %btn-reset;
@extend %body;
text-align: left;
cursor: pointer;
background: var(--theme-elevation-50);
border-top-right-radius: $style-radius-s;
border-top-left-radius: $style-radius-s;
width: 100%;
color: transparent;
span {
user-select: none;
}
}
&__toggle,
&__header-wrap {
padding: var(--toggle-pad-v) var(--toggle-pad-h);
}
&__header-wrap {
position: absolute;
top: 0;
right: base(3);
bottom: 0;
left: 0;
pointer-events: none;
>* {
pointer-events: all;
}
}
&__header-wrap--has-drag-handle {
left: base(.875);
}
&--collapsed {
.collapsible__toggle {
border-bottom-right-radius: $style-radius-s;
border-bottom-left-radius: $style-radius-s;
}
.collapsible__indicator {
transform: rotate(0turn);
}
}
&__actions-wrap {
position: absolute;
right: var(--toggle-pad-h);
top: var(--toggle-pad-v);
pointer-events: none;
display: flex;
}
&__actions {
pointer-events: all;
}
&__indicator {
transform: rotate(.5turn);
}
&__content {
background-color: var(--theme-elevation-0);
border-bottom-left-radius: $style-radius-s;
border-bottom-right-radius: $style-radius-s;
padding: $baseline $baseline 0 $baseline;
}
@include small-break {
&__content {
padding: var(--gutter-h);
}
}
}

View File

@@ -0,0 +1,8 @@
import React from 'react';
declare const Context: React.Context<boolean>;
export declare const CollapsibleProvider: React.FC<{
children?: React.ReactNode;
withinCollapsible?: boolean;
}>;
export declare const useCollapsible: () => boolean;
export default Context;

View File

@@ -0,0 +1,36 @@
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.useCollapsible = exports.CollapsibleProvider = void 0;
const react_1 = __importStar(require("react"));
const Context = (0, react_1.createContext)(false);
const CollapsibleProvider = ({ children, withinCollapsible = true }) => {
return (react_1.default.createElement(Context.Provider, { value: withinCollapsible }, children));
};
exports.CollapsibleProvider = CollapsibleProvider;
const useCollapsible = () => (0, react_1.useContext)(Context);
exports.useCollapsible = useCollapsible;
exports.default = Context;
//# sourceMappingURL=provider.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../../../../../src/admin/components/elements/Collapsible/provider.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAEe;AAEf,MAAM,OAAO,GAAG,IAAA,qBAAa,EAAC,KAAK,CAAC,CAAC;AAE9B,MAAM,mBAAmB,GAA0E,CAAC,EAAE,QAAQ,EAAE,iBAAiB,GAAG,IAAI,EAAE,EAAE,EAAE;IACnJ,OAAO,CACL,8BAAC,OAAO,CAAC,QAAQ,IAAC,KAAK,EAAE,iBAAiB,IACvC,QAAQ,CACQ,CACpB,CAAC;AACJ,CAAC,CAAC;AANW,QAAA,mBAAmB,uBAM9B;AAEK,MAAM,cAAc,GAAG,GAAY,EAAE,CAAC,IAAA,kBAAU,EAAC,OAAO,CAAC,CAAC;AAApD,QAAA,cAAc,kBAAsC;AAEjE,kBAAe,OAAO,CAAC"}

View File

@@ -0,0 +1,12 @@
import React from 'react';
import { DragHandleProps } from '../DraggableSortable/DraggableSortableItem/types';
export type Props = {
collapsed?: boolean;
className?: string;
header?: React.ReactNode;
actions?: React.ReactNode;
children: React.ReactNode;
onToggle?: (collapsed: boolean) => void;
initCollapsed?: boolean;
dragHandleProps?: DragHandleProps;
};

View File

@@ -0,0 +1,3 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
//# sourceMappingURL=types.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/admin/components/elements/Collapsible/types.ts"],"names":[],"mappings":""}

View File

@@ -0,0 +1,5 @@
import React from 'react';
import { Props } from './types';
import './index.scss';
declare const ColumnSelector: React.FC<Props>;
export default ColumnSelector;

View File

@@ -0,0 +1,67 @@
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const react_1 = __importStar(require("react"));
const react_i18next_1 = require("react-i18next");
const Pill_1 = __importDefault(require("../Pill"));
const Plus_1 = __importDefault(require("../../icons/Plus"));
const X_1 = __importDefault(require("../../icons/X"));
const getTranslation_1 = require("../../../../utilities/getTranslation");
const EditDepth_1 = require("../../utilities/EditDepth");
const DraggableSortable_1 = __importDefault(require("../DraggableSortable"));
const TableColumns_1 = require("../TableColumns");
require("./index.scss");
const baseClass = 'column-selector';
const ColumnSelector = (props) => {
const { collection, } = props;
const { columns, toggleColumn, moveColumn, } = (0, TableColumns_1.useTableColumns)();
const { i18n } = (0, react_i18next_1.useTranslation)();
const uuid = (0, react_1.useId)();
const editDepth = (0, EditDepth_1.useEditDepth)();
if (!columns) {
return null;
}
return (react_1.default.createElement(DraggableSortable_1.default, { className: baseClass, ids: columns.map((col) => col.accessor), onDragEnd: ({ moveFromIndex, moveToIndex }) => {
moveColumn({
fromIndex: moveFromIndex,
toIndex: moveToIndex,
});
} }, columns.map((col, i) => {
const { accessor, active, label, name, } = col;
if (col.accessor === '_select')
return null;
return (react_1.default.createElement(Pill_1.default, { draggable: true, id: accessor, onClick: () => {
toggleColumn(accessor);
}, alignIcon: "left", key: `${collection.slug}-${col.name || i}${editDepth ? `-${editDepth}-` : ''}${uuid}`, icon: active ? react_1.default.createElement(X_1.default, null) : react_1.default.createElement(Plus_1.default, null), className: [
`${baseClass}__column`,
active && `${baseClass}__column--active`,
].filter(Boolean).join(' ') }, (0, getTranslation_1.getTranslation)(label || name, i18n)));
})));
};
exports.default = ColumnSelector;
//# sourceMappingURL=index.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/admin/components/elements/ColumnSelector/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAA+C;AAC/C,iDAA+C;AAC/C,mDAA2B;AAC3B,4DAAoC;AACpC,sDAA8B;AAE9B,yEAAsE;AACtE,yDAAyD;AACzD,6EAAqD;AACrD,kDAAkD;AAElD,wBAAsB;AAEtB,MAAM,SAAS,GAAG,iBAAiB,CAAC;AAEpC,MAAM,cAAc,GAAoB,CAAC,KAAK,EAAE,EAAE;IAChD,MAAM,EACJ,UAAU,GACX,GAAG,KAAK,CAAC;IAEV,MAAM,EACJ,OAAO,EACP,YAAY,EACZ,UAAU,GACX,GAAG,IAAA,8BAAe,GAAE,CAAC;IAEtB,MAAM,EAAE,IAAI,EAAE,GAAG,IAAA,8BAAc,GAAE,CAAC;IAClC,MAAM,IAAI,GAAG,IAAA,aAAK,GAAE,CAAC;IACrB,MAAM,SAAS,GAAG,IAAA,wBAAY,GAAE,CAAC;IAEjC,IAAI,CAAC,OAAO,EAAE;QAAE,OAAO,IAAI,CAAC;KAAE;IAE9B,OAAO,CACL,8BAAC,2BAAiB,IAChB,SAAS,EAAE,SAAS,EACpB,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,EACvC,SAAS,EAAE,CAAC,EAAE,aAAa,EAAE,WAAW,EAAE,EAAE,EAAE;YAC5C,UAAU,CAAC;gBACT,SAAS,EAAE,aAAa;gBACxB,OAAO,EAAE,WAAW;aACrB,CAAC,CAAC;QACL,CAAC,IAEA,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;QACtB,MAAM,EACJ,QAAQ,EACR,MAAM,EACN,KAAK,EACL,IAAI,GACL,GAAG,GAAG,CAAC;QAER,IAAI,GAAG,CAAC,QAAQ,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC;QAE5C,OAAO,CACL,8BAAC,cAAI,IACH,SAAS,QACT,EAAE,EAAE,QAAQ,EACZ,OAAO,EAAE,GAAG,EAAE;gBACZ,YAAY,CAAC,QAAQ,CAAC,CAAC;YACzB,CAAC,EACD,SAAS,EAAC,MAAM,EAChB,GAAG,EAAE,GAAG,UAAU,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,EACrF,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,8BAAC,WAAC,OAAG,CAAC,CAAC,CAAC,8BAAC,cAAI,OAAG,EAC/B,SAAS,EAAE;gBACT,GAAG,SAAS,UAAU;gBACtB,MAAM,IAAI,GAAG,SAAS,kBAAkB;aACzC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAE1B,IAAA,+BAAc,EAAC,KAAK,IAAI,IAAI,EAAE,IAAI,CAAC,CAC/B,CACR,CAAC;IACJ,CAAC,CAAC,CACgB,CACrB,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,cAAc,CAAC"}

View File

@@ -0,0 +1,19 @@
@import '../../../scss/styles.scss';
.column-selector {
display: flex;
flex-wrap: wrap;
background: var(--theme-elevation-50);
padding: base(1) base(1) base(.5);
&__column {
margin-right: base(.5);
margin-bottom: base(.5);
background-color: transparent;
box-shadow: 0 0 0 1px var(--theme-elevation-200);
&.column-selector__column--active {
background-color: var(--theme-elevation-150);
}
}
}

View File

@@ -0,0 +1,4 @@
import { SanitizedCollectionConfig } from '../../../../collections/config/types';
export type Props = {
collection: SanitizedCollectionConfig;
};

View File

@@ -0,0 +1,3 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
//# sourceMappingURL=types.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/admin/components/elements/ColumnSelector/types.ts"],"names":[],"mappings":""}

View File

@@ -0,0 +1,5 @@
import React from 'react';
import { Props } from './types';
import './index.scss';
declare const CopyToClipboard: React.FC<Props>;
export default CopyToClipboard;

View File

@@ -0,0 +1,64 @@
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const react_1 = __importStar(require("react"));
const react_i18next_1 = require("react-i18next");
const Copy_1 = __importDefault(require("../../icons/Copy"));
const Tooltip_1 = __importDefault(require("../Tooltip"));
require("./index.scss");
const baseClass = 'copy-to-clipboard';
const CopyToClipboard = ({ value, defaultMessage, successMessage, }) => {
const ref = (0, react_1.useRef)(null);
const [copied, setCopied] = (0, react_1.useState)(false);
const [hovered, setHovered] = (0, react_1.useState)(false);
const { t } = (0, react_i18next_1.useTranslation)('general');
if (value) {
return (react_1.default.createElement("button", { onMouseEnter: () => {
setHovered(true);
setCopied(false);
}, onMouseLeave: () => {
setHovered(false);
setCopied(false);
}, type: "button", className: baseClass, onClick: () => {
if (ref && ref.current) {
ref.current.select();
ref.current.setSelectionRange(0, value.length + 1);
document.execCommand('copy');
setCopied(true);
}
} },
react_1.default.createElement(Copy_1.default, null),
react_1.default.createElement(Tooltip_1.default, { show: hovered || copied, delay: copied ? 0 : undefined },
copied && (successMessage !== null && successMessage !== void 0 ? successMessage : t('copied')),
!copied && (defaultMessage !== null && defaultMessage !== void 0 ? defaultMessage : t('copy'))),
react_1.default.createElement("textarea", { readOnly: true, value: value, ref: ref })));
}
return null;
};
exports.default = CopyToClipboard;
//# sourceMappingURL=index.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/admin/components/elements/CopyToClipboard/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAgD;AAChD,iDAA+C;AAC/C,4DAAoC;AACpC,yDAAiC;AAGjC,wBAAsB;AAEtB,MAAM,SAAS,GAAG,mBAAmB,CAAC;AAEtC,MAAM,eAAe,GAAoB,CAAC,EACxC,KAAK,EACL,cAAc,EACd,cAAc,GACf,EAAE,EAAE;IACH,MAAM,GAAG,GAAG,IAAA,cAAM,EAAC,IAAI,CAAC,CAAC;IACzB,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;IAC5C,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,EAAE,CAAC,EAAE,GAAG,IAAA,8BAAc,EAAC,SAAS,CAAC,CAAC;IAExC,IAAI,KAAK,EAAE;QACT,OAAO,CACL,0CACE,YAAY,EAAE,GAAG,EAAE;gBACjB,UAAU,CAAC,IAAI,CAAC,CAAC;gBACjB,SAAS,CAAC,KAAK,CAAC,CAAC;YACnB,CAAC,EACD,YAAY,EAAE,GAAG,EAAE;gBACjB,UAAU,CAAC,KAAK,CAAC,CAAC;gBAClB,SAAS,CAAC,KAAK,CAAC,CAAC;YACnB,CAAC,EACD,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,GAAG,EAAE;gBACZ,IAAI,GAAG,IAAI,GAAG,CAAC,OAAO,EAAE;oBACtB,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;oBACrB,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;oBACnD,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;oBAC7B,SAAS,CAAC,IAAI,CAAC,CAAC;iBACjB;YACH,CAAC;YAED,8BAAC,cAAI,OAAG;YACR,8BAAC,iBAAO,IACN,IAAI,EAAE,OAAO,IAAI,MAAM,EACvB,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;gBAE5B,MAAM,IAAI,CAAC,cAAc,aAAd,cAAc,cAAd,cAAc,GAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;gBACzC,CAAC,MAAM,IAAI,CAAC,cAAc,aAAd,cAAc,cAAd,cAAc,GAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CACjC;YACV,4CACE,QAAQ,QACR,KAAK,EAAE,KAAK,EACZ,GAAG,EAAE,GAAG,GACR,CACK,CACV,CAAC;KACH;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,kBAAe,eAAe,CAAC"}

View File

@@ -0,0 +1,21 @@
@import '../../../scss/styles.scss';
.copy-to-clipboard {
@extend %btn-reset;
position: relative;
cursor: pointer;
vertical-align: middle;
textarea {
position: absolute;
opacity: 0;
z-index: -1;
height: 0px;
width: 0px;
}
&:focus,
&:active {
outline: none;
}
}

View File

@@ -0,0 +1,5 @@
export type Props = {
value?: string;
defaultMessage?: string;
successMessage?: string;
};

Some files were not shown because too many files have changed in this diff Show More