@blinkk/root-cms 2.0.0-rc.1 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/app.js +226 -20
- package/dist/cli.js +217 -164
- package/dist/{client-AKOLkEwt.d.ts → client-fqtWzfpQ.d.ts} +359 -107
- package/dist/client.d.ts +1 -1
- package/dist/client.js +730 -314
- package/dist/core.d.ts +5 -80
- package/dist/core.js +732 -509
- package/dist/functions.js +721 -299
- package/dist/plugin.d.ts +1 -1
- package/dist/plugin.js +988 -518
- package/dist/project.d.ts +1 -1
- package/dist/project.js +2 -2
- package/dist/richtext.js +0 -1
- package/dist/{schema-ix967Ud0.d.ts → schema-KpQGOA1Z.d.ts} +65 -8
- package/dist/ui/signin.css +0 -1
- package/dist/ui/signin.js +0 -1
- package/dist/ui/ui.css +1 -2
- package/dist/ui/ui.js +142 -103
- package/package.json +20 -16
package/dist/project.d.ts
CHANGED
package/dist/project.js
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
// core/project.ts
|
|
2
|
+
var IGNORED_SCHEMA_FOLDERS = ["/appengine/", "/functions/", "/gae/"];
|
|
2
3
|
var SCHEMA_MODULES = import.meta.glob("/**/*.schema.ts", {
|
|
3
4
|
eager: true
|
|
4
5
|
});
|
|
5
6
|
function getProjectSchemas() {
|
|
6
7
|
const schemas = {};
|
|
7
8
|
for (const fileId in SCHEMA_MODULES) {
|
|
8
|
-
if (fileId.startsWith(
|
|
9
|
+
if (IGNORED_SCHEMA_FOLDERS.some((prefix) => fileId.startsWith(prefix))) {
|
|
9
10
|
continue;
|
|
10
11
|
}
|
|
11
12
|
const schemaModule = SCHEMA_MODULES[fileId];
|
|
@@ -18,4 +19,3 @@ function getProjectSchemas() {
|
|
|
18
19
|
export {
|
|
19
20
|
getProjectSchemas
|
|
20
21
|
};
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vY29yZS9wcm9qZWN0LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIExvYWRzIHZhcmlvdXMgZmlsZXMgb3IgY29uZmlndXJhdGlvbnMgZnJvbSB0aGUgcHJvamVjdC5cbiAqXG4gKiBOT1RFOiBUaGlzIGZpbGUgbmVlZHMgdG8gYmUgbG9hZGVkIHRocm91Z2ggdml0ZSdzIHNzckxvYWRNb2R1bGUgc28gdGhhdFxuICogYGltcG9ydC5tZXRhLmdsb2IoKWAgY2FsbHMgYXJlIHJlc29sdmVkLlxuICovXG5cbmltcG9ydCB7U2NoZW1hfSBmcm9tICcuL3NjaGVtYS5qcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2NoZW1hTW9kdWxlIHtcbiAgZGVmYXVsdDogU2NoZW1hO1xufVxuXG5jb25zdCBTQ0hFTUFfTU9EVUxFUyA9IGltcG9ydC5tZXRhLmdsb2I8U2NoZW1hTW9kdWxlPignLyoqLyouc2NoZW1hLnRzJywge1xuICBlYWdlcjogdHJ1ZSxcbn0pO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UHJvamVjdFNjaGVtYXMoKTogUmVjb3JkPHN0cmluZywgU2NoZW1hPiB7XG4gIGNvbnN0IHNjaGVtYXM6IFJlY29yZDxzdHJpbmcsIFNjaGVtYT4gPSB7fTtcbiAgZm9yIChjb25zdCBmaWxlSWQgaW4gU0NIRU1BX01PRFVMRVMpIHtcbiAgICAvLyBJZ25vcmUgdGhlIC9mdW5jdGlvbnMvIGZvbGRlciwgd2hpY2ggaXMgdHlwaWNhbGx5IHVzZWQgZm9yIEdDRiBkZXBsb3lzLlxuICAgIC8vIFRPRE8oc3RldmVubGUpOiBmaWd1cmUgb3V0IGEgYmV0dGVyIHdheSB0byBoYW5kbGUgdGhpcy5cbiAgICBpZiAoZmlsZUlkLnN0YXJ0c1dpdGgoJy9mdW5jdGlvbnMvJykpIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cbiAgICBjb25zdCBzY2hlbWFNb2R1bGUgPSBTQ0hFTUFfTU9EVUxFU1tmaWxlSWRdO1xuICAgIGlmIChzY2hlbWFNb2R1bGUuZGVmYXVsdCkge1xuICAgICAgc2NoZW1hc1tmaWxlSWRdID0gc2NoZW1hTW9kdWxlLmRlZmF1bHQ7XG4gICAgfVxuICB9XG4gIHJldHVybiBzY2hlbWFzO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjtBQWFBLElBQU0saUJBQWlCLFlBQVksS0FBbUIsbUJBQW1CO0FBQUEsRUFDdkUsT0FBTztBQUNULENBQUM7QUFFTSxTQUFTLG9CQUE0QztBQUMxRCxRQUFNLFVBQWtDLENBQUM7QUFDekMsYUFBVyxVQUFVLGdCQUFnQjtBQUduQyxRQUFJLE9BQU8sV0FBVyxhQUFhLEdBQUc7QUFDcEM7QUFBQSxJQUNGO0FBQ0EsVUFBTSxlQUFlLGVBQWUsTUFBTTtBQUMxQyxRQUFJLGFBQWEsU0FBUztBQUN4QixjQUFRLE1BQU0sSUFBSSxhQUFhO0FBQUEsSUFDakM7QUFBQSxFQUNGO0FBQ0EsU0FBTztBQUNUOyIsCiAgIm5hbWVzIjogW10KfQo=
|
package/dist/richtext.js
CHANGED
|
@@ -125,4 +125,3 @@ export {
|
|
|
125
125
|
RichTextContext,
|
|
126
126
|
useRichTextContext
|
|
127
127
|
};
|
|
128
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vY29yZS9yaWNodGV4dC50c3giXSwKICAic291cmNlc0NvbnRlbnQiOiBbImltcG9ydCB7dXNlVHJhbnNsYXRpb25zfSBmcm9tICdAYmxpbmtrL3Jvb3QnO1xuaW1wb3J0IHtGdW5jdGlvbmFsQ29tcG9uZW50LCBjcmVhdGVDb250ZXh0fSBmcm9tICdwcmVhY3QnO1xuaW1wb3J0IHt1c2VDb250ZXh0fSBmcm9tICdwcmVhY3QvaG9va3MnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFJpY2hUZXh0QmxvY2sge1xuICB0eXBlOiBzdHJpbmc7XG4gIGRhdGE/OiBhbnk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmljaFRleHREYXRhIHtcbiAgW2tleTogc3RyaW5nXTogYW55O1xuICBibG9ja3M6IGFueVtdO1xufVxuXG5leHBvcnQgdHlwZSBSaWNoVGV4dEJsb2NrQ29tcG9uZW50ID0gRnVuY3Rpb25hbENvbXBvbmVudDxhbnk+O1xuXG5leHBvcnQgaW50ZXJmYWNlIFJpY2hUZXh0Q29udGV4dFByb3BzIHtcbiAgY29tcG9uZW50cz86IFJlY29yZDxzdHJpbmcsIFJpY2hUZXh0QmxvY2tDb21wb25lbnQ+O1xufVxuXG5leHBvcnQgY29uc3QgUmljaFRleHRDb250ZXh0ID0gY3JlYXRlQ29udGV4dDxSaWNoVGV4dENvbnRleHRQcm9wcz4oe30pO1xuXG5leHBvcnQgZnVuY3Rpb24gdXNlUmljaFRleHRDb250ZXh0KCk6IFJpY2hUZXh0Q29udGV4dFByb3BzIHtcbiAgcmV0dXJuIHVzZUNvbnRleHQoUmljaFRleHRDb250ZXh0KTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSaWNoVGV4dFByb3BzIHtcbiAgZGF0YTogUmljaFRleHREYXRhO1xuICBjb21wb25lbnRzPzogUmVjb3JkPHN0cmluZywgUmljaFRleHRCbG9ja0NvbXBvbmVudD47XG59XG5cbi8qKiBSZW5kZXJzIGRhdGEgZnJvbSB0aGUgXCJyaWNodGV4dFwiIGZpZWxkLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFJpY2hUZXh0KHByb3BzOiBSaWNoVGV4dFByb3BzKSB7XG4gIGNvbnN0IHJpY2hUZXh0Q29udGV4dCA9IHVzZVJpY2hUZXh0Q29udGV4dCgpO1xuICBjb25zdCBjb21wb25lbnRzOiBSZWNvcmQ8c3RyaW5nLCBSaWNoVGV4dEJsb2NrQ29tcG9uZW50PiA9IHtcbiAgICBoZWFkaW5nOiBSaWNoVGV4dC5IZWFkaW5nQmxvY2ssXG4gICAgaHRtbDogUmljaFRleHQuSHRtbEJsb2NrLFxuICAgIGltYWdlOiBSaWNoVGV4dC5JbWFnZUJsb2NrLFxuICAgIG9yZGVyZWRMaXN0OiBSaWNoVGV4dC5MaXN0QmxvY2ssXG4gICAgcGFyYWdyYXBoOiBSaWNoVGV4dC5QYXJhZ3JhcGhCbG9jayxcbiAgICB1bm9yZGVyZWRMaXN0OiBSaWNoVGV4dC5MaXN0QmxvY2ssXG4gICAgLi4ucmljaFRleHRDb250ZXh0LmNvbXBvbmVudHMsXG4gICAgLi4ucHJvcHMuY29tcG9uZW50cyxcbiAgfTtcbiAgY29uc3QgYmxvY2tzID0gKHByb3BzLmRhdGE/LmJsb2NrcyB8fCBbXSkuZmlsdGVyKChibG9jaykgPT4ge1xuICAgIGNvbnN0IGJsb2NrVHlwZSA9IGJsb2NrPy50eXBlO1xuICAgIGlmICghYmxvY2tUeXBlKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGlmICghKGJsb2NrVHlwZSBpbiBjb21wb25lbnRzKSkge1xuICAgICAgY29uc29sZS53YXJuKGBpZ25vcmluZyB1bmtub3duIHJpY2h0ZXh0IHR5cGU6IFwiJHtibG9ja1R5cGV9XCJgKTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG4gIH0pO1xuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICB7YmxvY2tzLm1hcCgoYmxvY2spID0+IHtcbiAgICAgICAgY29uc3QgQmxvY2sgPSBjb21wb25lbnRzW2Jsb2NrLnR5cGVdO1xuICAgICAgICByZXR1cm4gPEJsb2NrIHsuLi5ibG9ja30gLz47XG4gICAgICB9KX1cbiAgICA8Lz5cbiAgKTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSaWNoVGV4dFBhcmFncmFwaEJsb2NrUHJvcHMge1xuICB0eXBlOiAncGFyYWdyYXBoJztcbiAgZGF0YT86IHtcbiAgICB0ZXh0Pzogc3RyaW5nO1xuICB9O1xufVxuXG5SaWNoVGV4dC5QYXJhZ3JhcGhCbG9jayA9IChwcm9wczogUmljaFRleHRQYXJhZ3JhcGhCbG9ja1Byb3BzKSA9PiB7XG4gIGlmICghcHJvcHMuZGF0YT8udGV4dCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIGNvbnN0IHQgPSB1c2VUcmFuc2xhdGlvbnMoKTtcbiAgcmV0dXJuIDxwIGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MPXt7X19odG1sOiB0KHByb3BzLmRhdGEudGV4dCl9fSAvPjtcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmljaFRleHRIZWFkaW5nQmxvY2tQcm9wcyB7XG4gIHR5cGU6ICdoZWFkaW5nJztcbiAgZGF0YT86IHtcbiAgICBsZXZlbD86IG51bWJlcjtcbiAgICB0ZXh0Pzogc3RyaW5nO1xuICB9O1xufVxuXG50eXBlIEhlYWRpbmdDb21wb25lbnQgPSAnaDEnIHwgJ2gyJyB8ICdoMycgfCAnaDQnIHwgJ2g1JyB8ICdoNic7XG5cblJpY2hUZXh0LkhlYWRpbmdCbG9jayA9IChwcm9wczogUmljaFRleHRIZWFkaW5nQmxvY2tQcm9wcykgPT4ge1xuICBpZiAoIXByb3BzLmRhdGE/LnRleHQpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuICBjb25zdCB0ID0gdXNlVHJhbnNsYXRpb25zKCk7XG4gIGNvbnN0IGxldmVsID0gcHJvcHMuZGF0YS5sZXZlbCB8fCAyO1xuICBjb25zdCBDb21wb25lbnQgPSBgaCR7bGV2ZWx9YCBhcyBIZWFkaW5nQ29tcG9uZW50O1xuICByZXR1cm4gPENvbXBvbmVudCBkYW5nZXJvdXNseVNldElubmVySFRNTD17e19faHRtbDogdChwcm9wcy5kYXRhLnRleHQpfX0gLz47XG59O1xuXG5pbnRlcmZhY2UgTGlzdEl0ZW0ge1xuICBjb250ZW50Pzogc3RyaW5nO1xuICBpdGVtcz86IExpc3RJdGVtW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmljaFRleHRMaXN0QmxvY2tQcm9wcyB7XG4gIHR5cGU6ICdvcmRlcmVkTGlzdCcgfCAndW5vcmRlcmVkTGlzdCc7XG4gIGRhdGE/OiB7XG4gICAgc3R5bGU/OiAnb3JkZXJlZCcgfCAndW5vcmRlcmVkJztcbiAgICBpdGVtcz86IExpc3RJdGVtW107XG4gIH07XG59XG5cblJpY2hUZXh0Lkxpc3RCbG9jayA9IChwcm9wczogUmljaFRleHRMaXN0QmxvY2tQcm9wcykgPT4ge1xuICBpZiAoIXByb3BzLmRhdGE/Lml0ZW1zPy5sZW5ndGgpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGxldCBzdHlsZSA9IHByb3BzLmRhdGE/LnN0eWxlO1xuICBpZiAoIXN0eWxlKSB7XG4gICAgc3R5bGUgPSBwcm9wcy50eXBlID09PSAnb3JkZXJlZExpc3QnID8gJ29yZGVyZWQnIDogJ3Vub3JkZXJlZCc7XG4gIH1cbiAgY29uc3QgQ29tcG9uZW50ID0gc3R5bGUgPT09ICdvcmRlcmVkJyA/ICdvbCcgOiAndWwnO1xuICBjb25zdCBpdGVtcyA9IHByb3BzLmRhdGEuaXRlbXM7XG4gIHJldHVybiAoXG4gICAgPENvbXBvbmVudD5cbiAgICAgIHtpdGVtcy5tYXAoKGl0ZW0pID0+IHtcbiAgICAgICAgaWYgKGl0ZW0uY29udGVudCB8fCBpdGVtLml0ZW1zPy5sZW5ndGgpIHtcbiAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgPGxpPlxuICAgICAgICAgICAgICB7aXRlbS5jb250ZW50ICYmIChcbiAgICAgICAgICAgICAgICA8UmljaFRleHQuUGFyYWdyYXBoQmxvY2tcbiAgICAgICAgICAgICAgICAgIHR5cGU9XCJwYXJhZ3JhcGhcIlxuICAgICAgICAgICAgICAgICAgZGF0YT17e3RleHQ6IGl0ZW0uY29udGVudH19XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAge2l0ZW0uaXRlbXMgJiYgaXRlbS5pdGVtcy5sZW5ndGggPiAwICYmIChcbiAgICAgICAgICAgICAgICA8UmljaFRleHQuTGlzdEJsb2NrXG4gICAgICAgICAgICAgICAgICB0eXBlPXtwcm9wcy50eXBlfVxuICAgICAgICAgICAgICAgICAgZGF0YT17e3N0eWxlLCBpdGVtczogaXRlbS5pdGVtc319XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH0pfVxuICAgIDwvQ29tcG9uZW50PlxuICApO1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBSaWNoVGV4dEltYWdlQmxvY2tQcm9wcyB7XG4gIHR5cGU6ICdpbWFnZSc7XG4gIGRhdGE/OiB7XG4gICAgZmlsZT86IHtcbiAgICAgIHVybDogc3RyaW5nO1xuICAgICAgd2lkdGg6IHN0cmluZyB8IG51bWJlcjtcbiAgICAgIGhlaWdodDogc3RyaW5nIHwgbnVtYmVyO1xuICAgICAgYWx0OiBzdHJpbmc7XG4gICAgfTtcbiAgfTtcbn1cblxuUmljaFRleHQuSW1hZ2VCbG9jayA9IChwcm9wczogUmljaFRleHRJbWFnZUJsb2NrUHJvcHMpID0+IHtcbiAgY29uc3QgaW1hZ2VVcmwgPSBwcm9wcy5kYXRhPy5maWxlPy51cmw7XG4gIGlmICghaW1hZ2VVcmwpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuICBjb25zdCB3aWR0aCA9IHRvTnVtYmVyKHByb3BzLmRhdGE/LmZpbGU/LndpZHRoKTtcbiAgY29uc3QgaGVpZ2h0ID0gdG9OdW1iZXIocHJvcHMuZGF0YT8uZmlsZT8uaGVpZ2h0KTtcbiAgY29uc3QgYWx0ID0gcHJvcHMuZGF0YT8uZmlsZT8uYWx0IHx8ICcnO1xuICByZXR1cm4gPGltZyBzcmM9e2ltYWdlVXJsfSB3aWR0aD17d2lkdGh9IGhlaWdodD17aGVpZ2h0fSBhbHQ9e2FsdH0gLz47XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIFJpY2hUZXh0SHRtbEJsb2NrUHJvcHMge1xuICB0eXBlOiAnaHRtbCc7XG4gIGRhdGE/OiB7XG4gICAgaHRtbD86IHN0cmluZztcbiAgfTtcbn1cblxuUmljaFRleHQuSHRtbEJsb2NrID0gKHByb3BzOiBSaWNoVGV4dEh0bWxCbG9ja1Byb3BzKSA9PiB7XG4gIGNvbnN0IGh0bWwgPSBwcm9wcy5kYXRhPy5odG1sIHx8ICcnO1xuICBpZiAoIWh0bWwpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuICByZXR1cm4gPGRpdiBkYW5nZXJvdXNseVNldElubmVySFRNTD17e19faHRtbDogaHRtbH19IC8+O1xufTtcblxuZnVuY3Rpb24gdG9OdW1iZXIoaW5wdXQ/OiBzdHJpbmcgfCBudW1iZXIpOiBudW1iZXIge1xuICBpZiAoaW5wdXQgPT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybiAwO1xuICB9XG4gIGlmICh0eXBlb2YgaW5wdXQgPT09ICdudW1iZXInKSB7XG4gICAgcmV0dXJuIGlucHV0O1xuICB9XG4gIGNvbnN0IHBhcnNlZE51bWJlciA9IHBhcnNlRmxvYXQoaW5wdXQpO1xuICBpZiAoaXNOYU4ocGFyc2VkTnVtYmVyKSkge1xuICAgIHJldHVybiAwO1xuICB9XG4gIHJldHVybiBwYXJzZWROdW1iZXI7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiO0FBQUEsU0FBUSx1QkFBc0I7QUFDOUIsU0FBNkIscUJBQW9CO0FBQ2pELFNBQVEsa0JBQWlCO0FBc0RyQixtQkFHVyxLQXNFSCxZQXpFUjtBQXBDRyxJQUFNLGtCQUFrQixjQUFvQyxDQUFDLENBQUM7QUFFOUQsU0FBUyxxQkFBMkM7QUFDekQsU0FBTyxXQUFXLGVBQWU7QUFDbkM7QUFRTyxTQUFTLFNBQVMsT0FBc0I7QUFoQy9DO0FBaUNFLFFBQU0sa0JBQWtCLG1CQUFtQjtBQUMzQyxRQUFNLGFBQXFEO0FBQUEsSUFDekQsU0FBUyxT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
|
|
@@ -1,15 +1,22 @@
|
|
|
1
1
|
import { FunctionalComponent } from 'preact';
|
|
2
2
|
|
|
3
3
|
interface CommonFieldProps {
|
|
4
|
+
/** The type that defines the structure of the field and its UI component. */
|
|
4
5
|
type: string;
|
|
6
|
+
/** The ID provides a key for the field in the data. */
|
|
5
7
|
id?: string;
|
|
8
|
+
/** The label that appears in the CMS UI. */
|
|
6
9
|
label?: string;
|
|
10
|
+
/** The help text that appears below the field in the CMS UI. */
|
|
7
11
|
help?: string;
|
|
12
|
+
/** The placeholder text that appears in the field input. */
|
|
8
13
|
placeholder?: string;
|
|
9
14
|
default?: any;
|
|
15
|
+
/** Hides the entire field in the CMS UI. */
|
|
10
16
|
hidden?: boolean;
|
|
17
|
+
/** Deprecates the field. Deprecated fields are suppressed when empty in the CMS UI, and are flagged as deprecated in the field's type definition. */
|
|
11
18
|
deprecated?: boolean;
|
|
12
|
-
/** Hides the field label in the CMS UI. */
|
|
19
|
+
/** Hides just the field label in the CMS UI. */
|
|
13
20
|
hideLabel?: boolean;
|
|
14
21
|
}
|
|
15
22
|
type StringField = CommonFieldProps & {
|
|
@@ -50,6 +57,7 @@ type SelectField = CommonFieldProps & {
|
|
|
50
57
|
label?: string;
|
|
51
58
|
}> | string[];
|
|
52
59
|
translate?: boolean;
|
|
60
|
+
searchable?: boolean;
|
|
53
61
|
};
|
|
54
62
|
declare function select(field: Omit<SelectField, 'type'>): SelectField;
|
|
55
63
|
type MultiSelectField = Omit<SelectField, 'type'> & {
|
|
@@ -68,6 +76,8 @@ type ImageField = CommonFieldProps & {
|
|
|
68
76
|
* Cache-control header to set on the GCS object.
|
|
69
77
|
*/
|
|
70
78
|
cacheControl?: string;
|
|
79
|
+
/** Set to `false` to disable the alt text input. */
|
|
80
|
+
alt?: boolean;
|
|
71
81
|
};
|
|
72
82
|
declare function image(field: Omit<ImageField, 'type'>): ImageField;
|
|
73
83
|
type FileField = CommonFieldProps & {
|
|
@@ -83,6 +93,8 @@ type FileField = CommonFieldProps & {
|
|
|
83
93
|
* Cache-control header to set on the GCS object.
|
|
84
94
|
*/
|
|
85
95
|
cacheControl?: string;
|
|
96
|
+
/** Set to `false` to disable the alt text input. */
|
|
97
|
+
alt?: boolean;
|
|
86
98
|
};
|
|
87
99
|
declare function file(field: Omit<FileField, 'type'>): FileField;
|
|
88
100
|
type ObjectField = CommonFieldProps & {
|
|
@@ -112,12 +124,11 @@ type ArrayField = CommonFieldProps & {
|
|
|
112
124
|
* Multiple values can be provided, in which case the first preview line with
|
|
113
125
|
* no missing placeholder values will be used.
|
|
114
126
|
*
|
|
115
|
-
*
|
|
116
|
-
*
|
|
117
|
-
* - _index:
|
|
118
|
-
* - _index:
|
|
119
|
-
* -
|
|
120
|
-
* - _type: For array of one-of fields, the type of the selected field.
|
|
127
|
+
* Built-in placeholder values:
|
|
128
|
+
* - {_index}: The 0-based index.
|
|
129
|
+
* - {_index:02}: A left-padded version of _index to 2 digits.
|
|
130
|
+
* - {_index:03}: A left-padded version of _index to 3 digits.
|
|
131
|
+
* - {_type}: For array of one-of fields, the type of the selected field.
|
|
121
132
|
*/
|
|
122
133
|
preview?: string | string[];
|
|
123
134
|
of: ObjectLikeField;
|
|
@@ -156,14 +167,46 @@ type Field = StringField | NumberField | DateField | DateTimeField | BooleanFiel
|
|
|
156
167
|
type FieldWithId = Field;
|
|
157
168
|
type ObjectLikeField = ImageField | FileField | ObjectField | OneOfField | ReferenceField;
|
|
158
169
|
interface Schema {
|
|
170
|
+
/** The name of the content type. Used as the field key. */
|
|
159
171
|
name: string;
|
|
172
|
+
/** The description of the content type. Appears in CMS menus. */
|
|
160
173
|
description?: string;
|
|
174
|
+
/** Fields describe the structure of the content. */
|
|
161
175
|
fields: FieldWithId[];
|
|
176
|
+
/** Defines the preview displayed within the CMS UI. Overrides the `preview` definition for the `array` field. */
|
|
177
|
+
preview?: {
|
|
178
|
+
/**
|
|
179
|
+
* Provides the title for the content in the CMS UI.
|
|
180
|
+
*
|
|
181
|
+
* For example, to show the schema's type and the value of its "id" field, use `{_type}: {id}`.
|
|
182
|
+
*
|
|
183
|
+
* Multiple values can be provided, in which case the first preview line with
|
|
184
|
+
* no missing placeholder values will be used.
|
|
185
|
+
*
|
|
186
|
+
* Built-in placeholder values:
|
|
187
|
+
* - {_index}: The 0-based index.
|
|
188
|
+
* - {_index:02}: A left-padded version of _index to 2 digits.
|
|
189
|
+
* - {_index:03}: A left-padded version of _index to 3 digits.
|
|
190
|
+
* - {_type}: For array of one-of fields, the type of the selected field.
|
|
191
|
+
* */
|
|
192
|
+
title?: string | string[];
|
|
193
|
+
/**
|
|
194
|
+
* Provides the thumbnail image for content in the CMS UI.
|
|
195
|
+
*
|
|
196
|
+
* For example, to show the content's "image" field, use `{image.src}`.
|
|
197
|
+
*/
|
|
198
|
+
image?: string | string[];
|
|
199
|
+
};
|
|
162
200
|
}
|
|
163
201
|
declare function defineSchema(schema: Schema): Schema;
|
|
164
202
|
/** Defines the schema for a collection or reusable component. */
|
|
165
203
|
declare const define: typeof defineSchema;
|
|
166
204
|
type Collection = Schema & {
|
|
205
|
+
/**
|
|
206
|
+
* The ID of the collection. This comes from the schema filename, e.g
|
|
207
|
+
* `<id>.schema.ts`.
|
|
208
|
+
*/
|
|
209
|
+
id: string;
|
|
167
210
|
/**
|
|
168
211
|
* Domain where the collection serves from. Used for multi-domain sites,
|
|
169
212
|
* defaults to the "domain" value `from root.config.ts`.
|
|
@@ -186,14 +229,28 @@ type Collection = Schema & {
|
|
|
186
229
|
* "image". Use dot notation for nested fields, e.g. "meta.title".
|
|
187
230
|
*/
|
|
188
231
|
preview?: {
|
|
232
|
+
/** The field that provides the document title. */
|
|
189
233
|
title?: string;
|
|
234
|
+
/** The field that provides the document image. */
|
|
190
235
|
image?: string;
|
|
236
|
+
/** A fallback image to display when the document image field is empty. */
|
|
191
237
|
defaultImage?: {
|
|
192
238
|
src: string;
|
|
193
239
|
};
|
|
194
240
|
};
|
|
241
|
+
/**
|
|
242
|
+
* Regular expression used to validate document slugs. Should be provided as a
|
|
243
|
+
* string so it can be serialized to the CMS UI.
|
|
244
|
+
*/
|
|
245
|
+
slugRegex?: string;
|
|
246
|
+
/**
|
|
247
|
+
* Automatically add a publishing lock whenever the doc is edited.
|
|
248
|
+
*/
|
|
249
|
+
autolock?: boolean;
|
|
250
|
+
/** Reason for the automatic publishing lock. */
|
|
251
|
+
autolockReason?: string;
|
|
195
252
|
};
|
|
196
|
-
declare function defineCollection(collection: Collection): Collection
|
|
253
|
+
declare function defineCollection(collection: Omit<Collection, 'id'>): Omit<Collection, 'id'>;
|
|
197
254
|
declare const collection: typeof defineCollection;
|
|
198
255
|
|
|
199
256
|
type schema_ArrayField = ArrayField;
|
package/dist/ui/signin.css
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
1
|
:root{--font-family-default: "Inter", sans-serif;--font-family-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--color-text-default: #333333;--color-border: #EFEFEF;--button-background-hover: #F5F5F5;--button-background-active: #E5E5E5}html{box-sizing:border-box;overflow-x:hidden;font-size:16px;line-height:1.5}*,*:before,*:after{box-sizing:inherit}html,body{font-family:var(--font-family-default);color:var(--color-text-default);height:100%;margin:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}img,picture,figure,video,canvas,svg,iframe{display:block;max-width:100%;height:auto;margin:0}a{color:inherit}select{color-scheme:light}h1,h2,h3,h4,h5,p{margin:0}body.menu\:open{overflow:hidden}#root{margin:0 auto;min-height:100vh;position:relative}.bootstrap{font-size:48px;font-weight:900;width:100%;height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:40px;gap:36px;position:relative}.bootstrap-error{font-size:14px;font-weight:400;position:absolute;bottom:100px;left:0;right:0;text-align:center;animation:.5s forwards bootstrap-loading-error;animation-delay:1s;opacity:0}@keyframes bootstrap-loading-error{0%{opacity:0}to{opacity:1}}.signin{font-family:Google Sans,arial,sans-serif;text-align:center;padding:48px 20px;color:#3c4043}.signin__headline{margin-bottom:40px}.signin__headline__title{font-size:36px;line-height:1.3;font-weight:500;margin-bottom:20px}.signin__headline__body{font-size:18px;line-height:1.5;font-weight:500}.signin__button{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;text-align:center;gap:12px;background:#fff;border:1px solid #dadce0;border-radius:4px;cursor:pointer;font-family:inherit;padding:0 12px;height:40px;box-sizing:border-box;transition:all .218s ease}.signin__button:hover{border-color:#d2e3fc;background-color:#4285f40a}.signin__button__icon{width:18px;height:18px;background-color:#fff}.signin__button__label{font-size:14px;line-height:1;letter-spacing:.25px;font-weight:500;color:#3c4043}.signin__error{color:red;font-weight:700;text-align:center;max-width:60ch;margin:20px auto 0}
|
|
2
|
-
/*# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc2lnbmluL3N0eWxlcy9nbG9iYWwuY3NzIiwgIi4uLy4uL3NpZ25pbi9zdHlsZXMvc2lnbmluLmNzcyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiOnJvb3Qge1xuICAtLWZvbnQtZmFtaWx5LWRlZmF1bHQ6IFwiSW50ZXJcIiwgc2Fucy1zZXJpZjtcbiAgLS1mb250LWZhbWlseS1tb25vOiB1aS1tb25vc3BhY2UsIFNGTW9uby1SZWd1bGFyLCBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgbW9ub3NwYWNlO1xuICAtLWNvbG9yLXRleHQtZGVmYXVsdDogIzMzMzMzMztcbiAgLS1jb2xvci1ib3JkZXI6ICNFRkVGRUY7XG4gIC0tYnV0dG9uLWJhY2tncm91bmQtaG92ZXI6ICNGNUY1RjU7XG4gIC0tYnV0dG9uLWJhY2tncm91bmQtYWN0aXZlOiAjRTVFNUU1O1xufVxuXG5odG1sIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbiosXG4qOmJlZm9yZSxcbio6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBpbmhlcml0O1xufVxuXG5odG1sLFxuYm9keSB7XG4gIC8qIGZvbnQtZmFtaWx5OiB0b2tlbnMuJGZvbnQtZmFtaWx5LXByaW1hcnk7ICovXG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhbWlseS1kZWZhdWx0KTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtZGVmYXVsdCk7XG4gIGhlaWdodDogMTAwJTtcbiAgbWFyZ2luOiAwO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgc2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7XG59XG5cbmltZyxcbnBpY3R1cmUsXG5maWd1cmUsXG52aWRlbyxcbmNhbnZhcyxcbnN2ZyxcbmlmcmFtZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luOiAwO1xufVxuXG5hIHtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cbnNlbGVjdCB7XG4gIGNvbG9yLXNjaGVtZTogbGlnaHQ7XG59XG5cbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5wIHtcbiAgbWFyZ2luOiAwO1xufVxuXG5ib2R5Lm1lbnVcXDpvcGVuIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuI3Jvb3Qge1xuICBtYXJnaW46IDAgYXV0bztcbiAgbWluLWhlaWdodDogMTAwdmg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmJvb3RzdHJhcCB7XG4gIGZvbnQtc2l6ZTogNDhweDtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwdmg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDQwcHg7XG4gIGdhcDogMzZweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uYm9vdHN0cmFwLWVycm9yIHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogNDAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMTAwcHg7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGFuaW1hdGlvbjogMC41cyBmb3J3YXJkcyBib290c3RyYXAtbG9hZGluZy1lcnJvcjtcbiAgYW5pbWF0aW9uLWRlbGF5OiAxcztcbiAgb3BhY2l0eTogMDtcbn1cblxuQGtleWZyYW1lcyBib290c3RyYXAtbG9hZGluZy1lcnJvciB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cbiIsICIuc2lnbmluIHtcbiAgZm9udC1mYW1pbHk6ICdHb29nbGUgU2FucycsIGFyaWFsLCBzYW5zLXNlcmlmO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDQ4cHggMjBweDtcbiAgY29sb3I6ICMzYzQwNDM7XG59XG5cbi5zaWduaW5fX2hlYWRsaW5lIHtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDtcbn1cblxuLnNpZ25pbl9faGVhZGxpbmVfX3RpdGxlIHtcbiAgZm9udC1zaXplOiAzNnB4O1xuICBsaW5lLWhlaWdodDogMS4zO1xuICBmb250LXdlaWdodDogNTAwO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG4uc2lnbmluX19oZWFkbGluZV9fYm9keSB7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLnNpZ25pbl9fYnV0dG9uIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGdhcDogMTJweDtcbiAgcGFkZGluZzogOHB4IDExcHg7XG4gIGJhY2tncm91bmQ6IHdoaXRlO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZGFkY2UwO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIHBhZGRpbmc6IDAgMTJweDtcbiAgaGVpZ2h0OiA0MHB4O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB0cmFuc2l0aW9uOiBhbGwgMC4yMThzIGVhc2U7XG59XG5cbi5zaWduaW5fX2J1dHRvbjpob3ZlciB7XG4gIGJvcmRlci1jb2xvcjogI2QyZTNmYztcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg2NiwgMTMzLCAyNDQsIDAuMDQpO1xufVxuXG4uc2lnbmluX19idXR0b25fX2ljb24ge1xuICB3aWR0aDogMThweDtcbiAgaGVpZ2h0OiAxOHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbn1cblxuLnNpZ25pbl9fYnV0dG9uX19sYWJlbCB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGxldHRlci1zcGFjaW5nOiAuMjVweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgY29sb3I6ICMzYzQwNDM7XG59XG5cbi5zaWduaW5fX2Vycm9yIHtcbiAgY29sb3I6IHJlZDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWF4LXdpZHRoOiA2MGNoO1xuICBtYXJnaW46IDIwcHggYXV0byAwO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIkFBQUEsTUFDRSx1QkFBdUIsT0FBTyxFQUFFLFdBQ2hDLG9CQUFvQixZQUFZLEVBQUUsY0FBYyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLFVBQzNFLHNCQUFzQixRQUN0QixnQkFBZ0IsUUFDaEIsMkJBQTJCLFFBQzNCLDRCQUE0QixPQUM5QixDQUVBLEtBQ0UsV0FBWSxXQUNaLFdBQVksT0FDWixVQUFXLEtBQ1gsWUFBYSxHQUNmLENBRUEsRUFDQSxDQUFDLFFBQ0QsQ0FBQyxPQUNDLFdBQVksT0FDZCxDQUVBLEtBQ0EsS0FFRSxZQUFhLElBQUksdUJBQ2pCLE1BQU8sSUFBSSxzQkFDWCxPQUFRLEtBM0JWLE9BNEJVLEVBQ1IsdUJBQXdCLFlBQ3hCLHdCQUF5QixVQUN6QixnQkFBaUIsTUFDbkIsQ0FFQSxJQUNBLFFBQ0EsT0FDQSxNQUNBLE9BQ0EsSUFDQSxPQUNFLFFBQVMsTUFDVCxVQUFXLEtBQ1gsT0FBUSxLQTNDVixPQTRDVSxDQUNWLENBRUEsRUFDRSxNQUFPLE9BQ1QsQ0FFQSxPQUNFLGFBQWMsS0FDaEIsQ0FFQSxHQUNBLEdBQ0EsR0FDQSxHQUNBLEdBQ0EsRUE1REEsT0E2RFUsQ0FDVixDQUVBLElBQUksQ0FBQyxXQUNILFNBQVUsTUFDWixDQUVBLENBQUMsS0FwRUQsT0FxRVUsRUFBRSxLQUNWLFdBQVksTUFDWixTQUFVLFFBQ1osQ0FFQSxDQUFDLFVBQ0MsVUFBVyxLQUNYLFlBQWEsSUFDYixNQUFPLEtBQ1AsT0FBUSxNQUNSLFFBQVMsS0FDVCxlQUFnQixPQUNoQixnQkFBaUIsT0FDakIsWUFBYSxPQUNiLFdBQVksT0FuRmQsUUFvRlcsS0FDVCxJQUFLLEtBQ0wsU0FBVSxRQUNaLENBRUEsQ0FBQyxnQkFDQyxVQUFXLEtBQ1gsWUFBYSxJQUNiLFNBQVUsU0FDVixPQUFRLE1BQ1IsS0FBTSxFQUNOLE1BQU8sRUFDUCxXQUFZLE9BQ1osVUFBVyxJQUFLLFNBQVMsd0JBQ3pCLGdCQUFpQixHQUNqQixRQUFTLENBQ1gsQ0FFQSxXQUwyQix3QkFNekIsR0FDRSxRQUFTLENBQ1gsQ0FDQSxHQUNFLFFBQVMsQ0FDWCxDQUNGLENDN0dBLENBQUMsT0FDQyxZQUFhLFdBQWEsQ0FBRSxLQUFLLENBQUUsV0FDbkMsV0FBWSxPQUZkLFFBR1csS0FBSyxLQUNkLE1BQU8sT0FDVCxDQUVBLENBQUMsaUJBQ0MsY0FBZSxJQUNqQixDQUVBLENBQUMsd0JBQ0MsVUFBVyxLQUNYLFlBQWEsSUFDYixZQUFhLElBQ2IsY0FBZSxJQUNqQixDQUVBLENBQUMsdUJBQ0MsVUFBVyxLQUNYLFlBQWEsSUFDYixZQUFhLEdBQ2YsQ0FFQSxDQUFDLGVBRUMsbUJBQW9CLEtBQ3BCLGdCQUFpQixLQUNqQixXQUFZLEtBQ1osUUFBUyxZQUNULFlBQWEsT0FDYixXQUFZLE9BQ1osSUFBSyxLQUVMLFdBQVksS0FDWixPQUFRLElBQUksTUFBTSxRQW5DcEIsY0FvQ2lCLElBQ2YsT0FBUSxRQUNSLFlBQWEsUUF0Q2YsUUF1Q1csRUFBRSxLQUNYLE9BQVEsS0FDUixXQUFZLFdBQ1osV0FBWSxJQUFJLE1BQU8sSUFDekIsQ0FFQSxDQXJCQyxjQXFCYyxPQUNiLGFBQWMsUUFDZCxpQkFBa0IsU0FDcEIsQ0FFQSxDQUFDLHFCQUNDLE1BQU8sS0FDUCxPQUFRLEtBQ1IsaUJBQWtCLElBQ3BCLENBRUEsQ0FBQyxzQkFDQyxVQUFXLEtBQ1gsWUFBYSxFQUNiLGVBQWdCLE1BQ2hCLFlBQWEsSUFDYixNQUFPLE9BQ1QsQ0FFQSxDQUFDLGNBQ0MsTUFBTyxJQUNQLFlBQWEsSUFDYixXQUFZLE9BQ1osVUFBVyxLQXBFYixPQXFFVSxLQUFLLEtBQUssQ0FDcEIiLAogICJuYW1lcyI6IFtdCn0K */
|