tinacms 0.68.6 → 0.68.7
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/CHANGELOG.md +9 -0
- package/dist/admin/api.d.ts +1 -1
- package/dist/admin/components/GetCollection.d.ts +3 -2
- package/dist/admin/types.d.ts +6 -0
- package/dist/client.es.js +33 -1
- package/dist/client.js +35 -2
- package/dist/index.es.js +440 -248
- package/dist/index.js +204 -12
- package/dist/style.css +3 -0
- package/dist/unifiedClient/index.d.ts +8 -0
- package/package.json +2 -2
package/dist/index.es.js
CHANGED
|
@@ -29,20 +29,21 @@ var __objRest = (source, exclude) => {
|
|
|
29
29
|
}
|
|
30
30
|
return target;
|
|
31
31
|
};
|
|
32
|
-
import { useCMS, Form, GlobalFormPlugin, EventBus, Modal, ModalPopup, ModalHeader, ModalBody, ModalActions, Button, LoadingDots, useLocalStorage, TinaCMS, BranchSwitcherPlugin, BranchDataProvider, TinaProvider, Nav, LocalWarning, OverflowMenu, FormStatus, FormBuilder } from "@tinacms/toolkit";
|
|
32
|
+
import { useCMS, Form, GlobalFormPlugin, EventBus, Modal, ModalPopup, ModalHeader, ModalBody, ModalActions, Button as Button$1, LoadingDots, useLocalStorage, TinaCMS, BranchSwitcherPlugin, BranchDataProvider, TinaProvider, Nav, LocalWarning, OverflowMenu, FormStatus, FormBuilder } from "@tinacms/toolkit";
|
|
33
33
|
export * from "@tinacms/toolkit";
|
|
34
34
|
import * as G from "graphql";
|
|
35
35
|
import { TypeInfo, visit, visitWithTypeInfo, getNamedType, GraphQLObjectType, isLeafType, GraphQLUnionType, isScalarType as isScalarType$1, getIntrospectionQuery, buildClientSchema, print, parse } from "graphql";
|
|
36
36
|
import set from "lodash.set";
|
|
37
|
-
import
|
|
37
|
+
import * as React from "react";
|
|
38
|
+
import React__default, { useState, useCallback, useEffect, Fragment, useMemo } from "react";
|
|
38
39
|
import { getIn, setIn } from "final-form";
|
|
39
40
|
import { resolveForm, TinaSchema, addNamespaceToSchema, validateSchema } from "@tinacms/schema-tools";
|
|
40
41
|
import gql$1 from "graphql-tag";
|
|
41
42
|
import * as yup from "yup";
|
|
42
|
-
import styled from "styled-components";
|
|
43
|
+
import styled, { css, createGlobalStyle } from "styled-components";
|
|
43
44
|
import { setEditing, TinaDataContext, useEditState } from "@tinacms/sharedctx";
|
|
44
45
|
import UrlPattern from "url-pattern";
|
|
45
|
-
import { NavLink, useNavigate, useParams, Link, HashRouter, Routes, Route } from "react-router-dom";
|
|
46
|
+
import { NavLink, useNavigate, useParams, useLocation, Link, HashRouter, Routes, Route } from "react-router-dom";
|
|
46
47
|
import { Transition, Menu } from "@headlessui/react";
|
|
47
48
|
import { useWindowWidth } from "@react-hook/window-size";
|
|
48
49
|
function popupWindow(url, title, window2, w, h) {
|
|
@@ -1661,8 +1662,8 @@ const useFormify = ({
|
|
|
1661
1662
|
formify: formifyFunc,
|
|
1662
1663
|
eventList
|
|
1663
1664
|
}) => {
|
|
1664
|
-
const formIds =
|
|
1665
|
-
const [state, dispatch] =
|
|
1665
|
+
const formIds = React__default.useRef([]);
|
|
1666
|
+
const [state, dispatch] = React__default.useReducer(reducer, {
|
|
1666
1667
|
status: "idle",
|
|
1667
1668
|
schema: void 0,
|
|
1668
1669
|
query: query ? G.parse(query) : null,
|
|
@@ -1674,7 +1675,7 @@ const useFormify = ({
|
|
|
1674
1675
|
formNodes: [],
|
|
1675
1676
|
documentForms: []
|
|
1676
1677
|
});
|
|
1677
|
-
|
|
1678
|
+
React__default.useEffect(() => {
|
|
1678
1679
|
if (query) {
|
|
1679
1680
|
dispatch({ type: "start", value: { query } });
|
|
1680
1681
|
formIds.current.forEach((formId) => {
|
|
@@ -1685,7 +1686,7 @@ const useFormify = ({
|
|
|
1685
1686
|
});
|
|
1686
1687
|
}
|
|
1687
1688
|
}, [query, JSON.stringify(variables)]);
|
|
1688
|
-
|
|
1689
|
+
React__default.useEffect(() => {
|
|
1689
1690
|
if (state.status === "initialized") {
|
|
1690
1691
|
cms.api.tina.request(query, { variables }).then((res) => {
|
|
1691
1692
|
delete res.paths;
|
|
@@ -1693,7 +1694,7 @@ const useFormify = ({
|
|
|
1693
1694
|
});
|
|
1694
1695
|
}
|
|
1695
1696
|
}, [state.status]);
|
|
1696
|
-
|
|
1697
|
+
React__default.useEffect(() => {
|
|
1697
1698
|
const run = async () => {
|
|
1698
1699
|
const schema = await cms.api.tina.getSchema();
|
|
1699
1700
|
const result = await formify({
|
|
@@ -1710,7 +1711,7 @@ const useFormify = ({
|
|
|
1710
1711
|
run();
|
|
1711
1712
|
}
|
|
1712
1713
|
}, [state.status]);
|
|
1713
|
-
|
|
1714
|
+
React__default.useEffect(() => {
|
|
1714
1715
|
const run = async () => {
|
|
1715
1716
|
const result = await cms.api.tina.request(G.print(state.query), {
|
|
1716
1717
|
variables
|
|
@@ -1762,7 +1763,7 @@ const useFormify = ({
|
|
|
1762
1763
|
run();
|
|
1763
1764
|
}
|
|
1764
1765
|
}, [state.status]);
|
|
1765
|
-
|
|
1766
|
+
React__default.useEffect(() => {
|
|
1766
1767
|
if (state.status === "ready") {
|
|
1767
1768
|
cms.events.subscribe(`forms:reset`, (event) => {
|
|
1768
1769
|
if (eventList) {
|
|
@@ -1816,7 +1817,7 @@ const useFormify = ({
|
|
|
1816
1817
|
dispatch({ type: "done" });
|
|
1817
1818
|
}
|
|
1818
1819
|
}, [state.status]);
|
|
1819
|
-
|
|
1820
|
+
React__default.useEffect(() => {
|
|
1820
1821
|
state.changeSets.forEach((changeSet) => {
|
|
1821
1822
|
if (changeSet.mutationType.type === "reset") {
|
|
1822
1823
|
const form = cms.forms.find(changeSet.formId);
|
|
@@ -1912,10 +1913,10 @@ const useFormify = ({
|
|
|
1912
1913
|
}
|
|
1913
1914
|
});
|
|
1914
1915
|
}, [state.changeSets.length]);
|
|
1915
|
-
|
|
1916
|
+
React__default.useEffect(() => {
|
|
1916
1917
|
formIds.current = state.documentForms.map((df) => df.id);
|
|
1917
1918
|
}, [state.documentForms.length]);
|
|
1918
|
-
|
|
1919
|
+
React__default.useEffect(() => {
|
|
1919
1920
|
return () => {
|
|
1920
1921
|
formIds.current.forEach((formId) => {
|
|
1921
1922
|
const form = cms.forms.find(formId);
|
|
@@ -1925,7 +1926,7 @@ const useFormify = ({
|
|
|
1925
1926
|
});
|
|
1926
1927
|
};
|
|
1927
1928
|
}, []);
|
|
1928
|
-
const resolveSubFields =
|
|
1929
|
+
const resolveSubFields = React__default.useCallback(async (args) => {
|
|
1929
1930
|
const { form, formNode, prefix, loc } = args;
|
|
1930
1931
|
const data = {};
|
|
1931
1932
|
await sequential(form.fields, async (field) => {
|
|
@@ -2377,9 +2378,9 @@ class LocalClient extends Client {
|
|
|
2377
2378
|
}
|
|
2378
2379
|
}
|
|
2379
2380
|
function ModalBuilder(modalProps) {
|
|
2380
|
-
return /* @__PURE__ */
|
|
2381
|
+
return /* @__PURE__ */ React__default.createElement(Modal, null, /* @__PURE__ */ React__default.createElement(ModalPopup, null, /* @__PURE__ */ React__default.createElement(ModalHeader, null, modalProps.title), /* @__PURE__ */ React__default.createElement(ModalBody, {
|
|
2381
2382
|
padded: true
|
|
2382
|
-
}, /* @__PURE__ */
|
|
2383
|
+
}, /* @__PURE__ */ React__default.createElement("p", null, modalProps.message), modalProps.error && /* @__PURE__ */ React__default.createElement(ErrorLabel, null, modalProps.error)), /* @__PURE__ */ React__default.createElement(ModalActions, null, modalProps.actions.map((action) => /* @__PURE__ */ React__default.createElement(AsyncButton, __spreadValues({
|
|
2383
2384
|
key: action.name
|
|
2384
2385
|
}, action))))));
|
|
2385
2386
|
}
|
|
@@ -2398,12 +2399,12 @@ const AsyncButton = ({ name, primary, action }) => {
|
|
|
2398
2399
|
throw e;
|
|
2399
2400
|
}
|
|
2400
2401
|
}, [action, setSubmitting]);
|
|
2401
|
-
return /* @__PURE__ */
|
|
2402
|
+
return /* @__PURE__ */ React__default.createElement(Button$1, {
|
|
2402
2403
|
variant: primary ? "primary" : "secondary",
|
|
2403
2404
|
onClick,
|
|
2404
2405
|
busy: submitting,
|
|
2405
2406
|
disabled: submitting
|
|
2406
|
-
}, submitting && /* @__PURE__ */
|
|
2407
|
+
}, submitting && /* @__PURE__ */ React__default.createElement(LoadingDots, null), !submitting && name);
|
|
2407
2408
|
};
|
|
2408
2409
|
const TINA_AUTH_CONFIG = "tina_auth_config";
|
|
2409
2410
|
const useTinaAuthRedirect = () => {
|
|
@@ -2449,19 +2450,25 @@ class TinaAdminApi {
|
|
|
2449
2450
|
}
|
|
2450
2451
|
}`, { variables: { collection, relativePath } });
|
|
2451
2452
|
}
|
|
2452
|
-
async fetchCollection(collectionName, includeDocuments) {
|
|
2453
|
+
async fetchCollection(collectionName, includeDocuments, after) {
|
|
2453
2454
|
if (includeDocuments === true) {
|
|
2454
2455
|
if (this.useDataLayer) {
|
|
2455
2456
|
const sort = this.schema.getIsTitleFieldName(collectionName);
|
|
2456
2457
|
const response = await this.api.request(`#graphql
|
|
2457
|
-
query($collection: String!, $includeDocuments: Boolean!, $sort: String){
|
|
2458
|
+
query($collection: String!, $includeDocuments: Boolean!, $sort: String, $limit: Float, $after: String){
|
|
2458
2459
|
collection(collection: $collection){
|
|
2459
2460
|
name
|
|
2460
2461
|
label
|
|
2461
2462
|
format
|
|
2462
2463
|
templates
|
|
2463
|
-
documents(sort: $sort) @include(if: $includeDocuments) {
|
|
2464
|
+
documents(sort: $sort, after: $after, first: $limit) @include(if: $includeDocuments) {
|
|
2464
2465
|
totalCount
|
|
2466
|
+
pageInfo {
|
|
2467
|
+
hasPreviousPage
|
|
2468
|
+
hasNextPage
|
|
2469
|
+
startCursor
|
|
2470
|
+
endCursor
|
|
2471
|
+
}
|
|
2465
2472
|
edges {
|
|
2466
2473
|
node {
|
|
2467
2474
|
... on Document {
|
|
@@ -2480,7 +2487,15 @@ class TinaAdminApi {
|
|
|
2480
2487
|
}
|
|
2481
2488
|
}
|
|
2482
2489
|
}
|
|
2483
|
-
}`, {
|
|
2490
|
+
}`, {
|
|
2491
|
+
variables: {
|
|
2492
|
+
collection: collectionName,
|
|
2493
|
+
includeDocuments,
|
|
2494
|
+
sort,
|
|
2495
|
+
limit: 10,
|
|
2496
|
+
after
|
|
2497
|
+
}
|
|
2498
|
+
});
|
|
2484
2499
|
return response.collection;
|
|
2485
2500
|
} else {
|
|
2486
2501
|
const response = await this.api.request(`#graphql
|
|
@@ -2496,7 +2511,6 @@ class TinaAdminApi {
|
|
|
2496
2511
|
node {
|
|
2497
2512
|
... on Document {
|
|
2498
2513
|
_sys {
|
|
2499
|
-
# TODO: only include title if we need to
|
|
2500
2514
|
template
|
|
2501
2515
|
breadcrumbs
|
|
2502
2516
|
path
|
|
@@ -2581,7 +2595,7 @@ const AuthWallInner = ({
|
|
|
2581
2595
|
const client = cms.api.tina;
|
|
2582
2596
|
const [activeModal, setActiveModal] = useState(null);
|
|
2583
2597
|
const [showChildren, setShowChildren] = useState(false);
|
|
2584
|
-
|
|
2598
|
+
React__default.useEffect(() => {
|
|
2585
2599
|
client.isAuthenticated().then((isAuthenticated) => {
|
|
2586
2600
|
if (isAuthenticated) {
|
|
2587
2601
|
setShowChildren(true);
|
|
@@ -2606,7 +2620,7 @@ const AuthWallInner = ({
|
|
|
2606
2620
|
setActiveModal(null);
|
|
2607
2621
|
}
|
|
2608
2622
|
}) : [];
|
|
2609
|
-
return /* @__PURE__ */
|
|
2623
|
+
return /* @__PURE__ */ React__default.createElement(React__default.Fragment, null, activeModal === "authenticate" && /* @__PURE__ */ React__default.createElement(ModalBuilder, {
|
|
2610
2624
|
title: "Tina Cloud Authorization",
|
|
2611
2625
|
message: "To save edits, Tina Cloud authorization is required. On save, changes will get commited using your account.",
|
|
2612
2626
|
close,
|
|
@@ -2635,7 +2649,7 @@ const TinaCloudProvider = (props) => {
|
|
|
2635
2649
|
const baseBranch = props.branch || "main";
|
|
2636
2650
|
const [currentBranch, setCurrentBranch] = useLocalStorage("tinacms-current-branch", baseBranch);
|
|
2637
2651
|
useTinaAuthRedirect();
|
|
2638
|
-
const cms =
|
|
2652
|
+
const cms = React__default.useMemo(() => props.cms || new TinaCMS({
|
|
2639
2653
|
enabled: true,
|
|
2640
2654
|
sidebar: true
|
|
2641
2655
|
}), [props.cms]);
|
|
@@ -2671,15 +2685,15 @@ const TinaCloudProvider = (props) => {
|
|
|
2671
2685
|
return newBranch;
|
|
2672
2686
|
};
|
|
2673
2687
|
setupMedia();
|
|
2674
|
-
const [branchingEnabled, setBranchingEnabled] =
|
|
2675
|
-
|
|
2688
|
+
const [branchingEnabled, setBranchingEnabled] = React__default.useState(() => cms.flags.get("branch-switcher"));
|
|
2689
|
+
React__default.useEffect(() => {
|
|
2676
2690
|
cms.events.subscribe("flag:set", ({ key, value }) => {
|
|
2677
2691
|
if (key === "branch-switcher") {
|
|
2678
2692
|
setBranchingEnabled(value);
|
|
2679
2693
|
}
|
|
2680
2694
|
});
|
|
2681
2695
|
}, [cms.events]);
|
|
2682
|
-
|
|
2696
|
+
React__default.useEffect(() => {
|
|
2683
2697
|
let branchSwitcher;
|
|
2684
2698
|
if (branchingEnabled) {
|
|
2685
2699
|
branchSwitcher = new BranchSwitcherPlugin({
|
|
@@ -2694,24 +2708,24 @@ const TinaCloudProvider = (props) => {
|
|
|
2694
2708
|
}
|
|
2695
2709
|
};
|
|
2696
2710
|
}, [branchingEnabled, props.branch]);
|
|
2697
|
-
|
|
2711
|
+
React__default.useEffect(() => {
|
|
2698
2712
|
if (props.cmsCallback) {
|
|
2699
2713
|
props.cmsCallback(cms);
|
|
2700
2714
|
}
|
|
2701
2715
|
}, []);
|
|
2702
|
-
return /* @__PURE__ */
|
|
2716
|
+
return /* @__PURE__ */ React__default.createElement(BranchDataProvider, {
|
|
2703
2717
|
currentBranch,
|
|
2704
2718
|
setCurrentBranch: (b) => {
|
|
2705
2719
|
setCurrentBranch(b);
|
|
2706
2720
|
}
|
|
2707
|
-
}, /* @__PURE__ */
|
|
2721
|
+
}, /* @__PURE__ */ React__default.createElement(TinaProvider, {
|
|
2708
2722
|
cms
|
|
2709
|
-
}, /* @__PURE__ */
|
|
2723
|
+
}, /* @__PURE__ */ React__default.createElement(AuthWallInner, __spreadProps(__spreadValues({}, props), {
|
|
2710
2724
|
cms
|
|
2711
2725
|
}))));
|
|
2712
2726
|
};
|
|
2713
2727
|
const TinaCloudAuthWall = TinaCloudProvider;
|
|
2714
|
-
var styles = '*, ::before, ::after {\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-rotate: 0;\n --tw-skew-x: 0;\n --tw-skew-y: 0;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-pan-x: ;\n --tw-pan-y: ;\n --tw-pinch-zoom: ;\n --tw-scroll-snap-strictness: proximity;\n --tw-ordinal: ;\n --tw-slashed-zero: ;\n --tw-numeric-figure: ;\n --tw-numeric-spacing: ;\n --tw-numeric-fraction: ;\n --tw-ring-inset: ;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-color: rgb(0 132 255 / 0.5);\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-ring-shadow: 0 0 #0000;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-colored: 0 0 #0000;\n --tw-blur: ;\n --tw-brightness: ;\n --tw-contrast: ;\n --tw-grayscale: ;\n --tw-hue-rotate: ;\n --tw-invert: ;\n --tw-saturate: ;\n --tw-sepia: ;\n --tw-drop-shadow: ;\n --tw-backdrop-blur: ;\n --tw-backdrop-brightness: ;\n --tw-backdrop-contrast: ;\n --tw-backdrop-grayscale: ;\n --tw-backdrop-hue-rotate: ;\n --tw-backdrop-invert: ;\n --tw-backdrop-opacity: ;\n --tw-backdrop-saturate: ;\n --tw-backdrop-sepia: ;\n}\n.tina-tailwind .pointer-events-auto {\n pointer-events: auto;\n}\n.tina-tailwind .static {\n position: static;\n}\n.tina-tailwind .fixed {\n position: fixed;\n}\n.tina-tailwind .absolute {\n position: absolute;\n}\n.tina-tailwind .relative {\n position: relative;\n}\n.tina-tailwind .inset-0 {\n top: 0px;\n right: 0px;\n bottom: 0px;\n left: 0px;\n}\n.tina-tailwind .left-0 {\n left: 0px;\n}\n.tina-tailwind .top-0 {\n top: 0px;\n}\n.tina-tailwind .top-8 {\n top: 32px;\n}\n.tina-tailwind .right-0 {\n right: 0px;\n}\n.tina-tailwind .top-10 {\n top: 40px;\n}\n.tina-tailwind .top-4 {\n top: 16px;\n}\n.tina-tailwind .z-overlay {\n z-index: 10600;\n}\n.tina-tailwind .z-menu {\n z-index: 9800;\n}\n.tina-tailwind .z-50 {\n z-index: 50;\n}\n.tina-tailwind .mx-auto {\n margin-left: auto;\n margin-right: auto;\n}\n.tina-tailwind .-ml-px {\n margin-left: -1px;\n}\n.tina-tailwind .mr-2 {\n margin-right: 8px;\n}\n.tina-tailwind .mb-2 {\n margin-bottom: 8px;\n}\n.tina-tailwind .mb-1 {\n margin-bottom: 4px;\n}\n.tina-tailwind .-mt-0\\.5 {\n margin-top: -2px;\n}\n.tina-tailwind .-mt-0 {\n margin-top: -0px;\n}\n.tina-tailwind .ml-1 {\n margin-left: 4px;\n}\n.tina-tailwind .mt-2 {\n margin-top: 8px;\n}\n.tina-tailwind .mr-1\\.5 {\n margin-right: 6px;\n}\n.tina-tailwind .mr-1 {\n margin-right: 4px;\n}\n.tina-tailwind .block {\n display: block;\n}\n.tina-tailwind .inline-block {\n display: inline-block;\n}\n.tina-tailwind .inline {\n display: inline;\n}\n.tina-tailwind .flex {\n display: flex;\n}\n.tina-tailwind .inline-flex {\n display: inline-flex;\n}\n.tina-tailwind .table {\n display: table;\n}\n.tina-tailwind .h-screen {\n height: 100vh;\n}\n.tina-tailwind .h-auto {\n height: auto;\n}\n.tina-tailwind .h-full {\n height: 100%;\n}\n.tina-tailwind .h-6 {\n height: 24px;\n}\n.tina-tailwind .h-7 {\n height: 28px;\n}\n.tina-tailwind .h-10 {\n height: 40px;\n}\n.tina-tailwind .h-5 {\n height: 20px;\n}\n.tina-tailwind .h-12 {\n height: 48px;\n}\n.tina-tailwind .w-full {\n width: 100%;\n}\n.tina-tailwind .w-10 {\n width: 40px;\n}\n.tina-tailwind .w-auto {\n width: auto;\n}\n.tina-tailwind .w-5 {\n width: 20px;\n}\n.tina-tailwind .w-56 {\n width: 224px;\n}\n.tina-tailwind .w-0 {\n width: 0px;\n}\n.tina-tailwind .w-6 {\n width: 24px;\n}\n.tina-tailwind .max-w-lg {\n max-width: 32rem;\n}\n.tina-tailwind .max-w-screen-xl {\n max-width: 1280px;\n}\n.tina-tailwind .max-w-form {\n max-width: 900px;\n}\n.tina-tailwind .max-w-full {\n max-width: 100%;\n}\n.tina-tailwind .flex-1 {\n flex: 1 1 0%;\n}\n.tina-tailwind .flex-shrink-0 {\n flex-shrink: 0;\n}\n.tina-tailwind .flex-grow-0 {\n flex-grow: 0;\n}\n.tina-tailwind .table-auto {\n table-layout: auto;\n}\n.tina-tailwind .origin-top-right {\n transform-origin: top right;\n}\n.tina-tailwind .-translate-x-full {\n --tw-translate-x: -100%;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.tina-tailwind .translate-x-0 {\n --tw-translate-x: 0px;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.tina-tailwind .translate-x-full {\n --tw-translate-x: 100%;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.tina-tailwind .scale-95 {\n --tw-scale-x: .95;\n --tw-scale-y: .95;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.tina-tailwind .scale-100 {\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.tina-tailwind .transform {\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.tina-tailwind .cursor-pointer {\n cursor: pointer;\n}\n.tina-tailwind .flex-col {\n flex-direction: column;\n}\n.tina-tailwind .items-end {\n align-items: flex-end;\n}\n.tina-tailwind .items-center {\n align-items: center;\n}\n.tina-tailwind .items-stretch {\n align-items: stretch;\n}\n.tina-tailwind .justify-end {\n justify-content: flex-end;\n}\n.tina-tailwind .justify-center {\n justify-content: center;\n}\n.tina-tailwind .justify-between {\n justify-content: space-between;\n}\n.tina-tailwind .gap-0\\.5 {\n gap: 2px;\n}\n.tina-tailwind .gap-0 {\n gap: 0px;\n}\n.tina-tailwind .gap-4 {\n gap: 16px;\n}\n.tina-tailwind .gap-3 {\n gap: 12px;\n}\n.tina-tailwind .divide-y > :not([hidden]) ~ :not([hidden]) {\n --tw-divide-y-reverse: 0;\n border-top-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));\n border-bottom-width: calc(1px * var(--tw-divide-y-reverse));\n}\n.tina-tailwind .divide-gray-150 > :not([hidden]) ~ :not([hidden]) {\n --tw-divide-opacity: 1;\n border-color: rgb(230 227 239 / var(--tw-divide-opacity));\n}\n.tina-tailwind .overflow-hidden {\n overflow: hidden;\n}\n.tina-tailwind .overflow-y-auto {\n overflow-y: auto;\n}\n.tina-tailwind .whitespace-nowrap {\n white-space: nowrap;\n}\n.tina-tailwind .rounded-lg {\n border-radius: 8px;\n}\n.tina-tailwind .rounded {\n border-radius: 4px;\n}\n.tina-tailwind .rounded-full {\n border-radius: 9999px;\n}\n.tina-tailwind .rounded-md {\n border-radius: 6px;\n}\n.tina-tailwind .rounded-r-md {\n border-top-right-radius: 6px;\n border-bottom-right-radius: 6px;\n}\n.tina-tailwind .border {\n border-width: 1px;\n}\n.tina-tailwind .border-b {\n border-bottom-width: 1px;\n}\n.tina-tailwind .border-gray-150 {\n --tw-border-opacity: 1;\n border-color: rgb(230 227 239 / var(--tw-border-opacity));\n}\n.tina-tailwind .border-gray-200 {\n --tw-border-opacity: 1;\n border-color: rgb(225 221 236 / var(--tw-border-opacity));\n}\n.tina-tailwind .bg-white {\n --tw-bg-opacity: 1;\n background-color: rgb(255 255 255 / var(--tw-bg-opacity));\n}\n.tina-tailwind .bg-gray-50 {\n --tw-bg-opacity: 1;\n background-color: rgb(246 246 249 / var(--tw-bg-opacity));\n}\n.tina-tailwind .bg-blue-500 {\n --tw-bg-opacity: 1;\n background-color: rgb(0 132 255 / var(--tw-bg-opacity));\n}\n.tina-tailwind .bg-gradient-to-b {\n background-image: linear-gradient(to bottom, var(--tw-gradient-stops));\n}\n.tina-tailwind .bg-gradient-to-br {\n background-image: linear-gradient(to bottom right, var(--tw-gradient-stops));\n}\n.tina-tailwind .from-blue-900 {\n --tw-gradient-from: #1D2C6C;\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(29 44 108 / 0));\n}\n.tina-tailwind .from-gray-800 {\n --tw-gradient-from: #363145;\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(54 49 69 / 0));\n}\n.tina-tailwind .via-gray-900 {\n --tw-gradient-stops: var(--tw-gradient-from), #252336, var(--tw-gradient-to, rgb(37 35 54 / 0));\n}\n.tina-tailwind .to-gray-900 {\n --tw-gradient-to: #252336;\n}\n.tina-tailwind .to-black {\n --tw-gradient-to: #000;\n}\n.tina-tailwind .px-4 {\n padding-left: 16px;\n padding-right: 16px;\n}\n.tina-tailwind .py-6 {\n padding-top: 24px;\n padding-bottom: 24px;\n}\n.tina-tailwind .px-5 {\n padding-left: 20px;\n padding-right: 20px;\n}\n.tina-tailwind .py-4 {\n padding-top: 16px;\n padding-bottom: 16px;\n}\n.tina-tailwind .px-12 {\n padding-left: 48px;\n padding-right: 48px;\n}\n.tina-tailwind .py-10 {\n padding-top: 40px;\n padding-bottom: 40px;\n}\n.tina-tailwind .px-20 {\n padding-left: 80px;\n padding-right: 80px;\n}\n.tina-tailwind .px-6 {\n padding-left: 24px;\n padding-right: 24px;\n}\n.tina-tailwind .py-1 {\n padding-top: 4px;\n padding-bottom: 4px;\n}\n.tina-tailwind .py-2 {\n padding-top: 8px;\n padding-bottom: 8px;\n}\n.tina-tailwind .py-5 {\n padding-top: 20px;\n padding-bottom: 20px;\n}\n.tina-tailwind .pt-4 {\n padding-top: 16px;\n}\n.tina-tailwind .pb-4 {\n padding-bottom: 16px;\n}\n.tina-tailwind .pt-18 {\n padding-top: 72px;\n}\n.tina-tailwind .pl-18 {\n padding-left: 72px;\n}\n.tina-tailwind .text-left {\n text-align: left;\n}\n.tina-tailwind .text-center {\n text-align: center;\n}\n.tina-tailwind .font-sans {\n font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";\n}\n.tina-tailwind .text-2xl {\n font-size: 24px;\n line-height: 1.33;\n}\n.tina-tailwind .text-base {\n font-size: 16px;\n line-height: 1.5;\n}\n.tina-tailwind .text-sm {\n font-size: 14px;\n line-height: 1.43;\n}\n.tina-tailwind .text-xl {\n font-size: 20px;\n line-height: 1.4;\n}\n.tina-tailwind .text-md {\n font-size: 16px;\n line-height: 1.5;\n}\n.tina-tailwind .text-xs {\n font-size: 13px;\n line-height: 1.33;\n}\n.tina-tailwind .font-medium {\n font-weight: 500;\n}\n.tina-tailwind .uppercase {\n text-transform: uppercase;\n}\n.tina-tailwind .italic {\n font-style: italic;\n}\n.tina-tailwind .leading-normal {\n line-height: 1.5;\n}\n.tina-tailwind .leading-tight {\n line-height: 1.25;\n}\n.tina-tailwind .leading-5 {\n line-height: 20px;\n}\n.tina-tailwind .tracking-wide {\n letter-spacing: 0.025em;\n}\n.tina-tailwind .text-gray-600 {\n --tw-text-opacity: 1;\n color: rgb(86 81 101 / var(--tw-text-opacity));\n}\n.tina-tailwind .text-gray-700 {\n --tw-text-opacity: 1;\n color: rgb(67 62 82 / var(--tw-text-opacity));\n}\n.tina-tailwind .text-blue-600 {\n --tw-text-opacity: 1;\n color: rgb(5 116 228 / var(--tw-text-opacity));\n}\n.tina-tailwind .text-gray-500 {\n --tw-text-opacity: 1;\n color: rgb(113 108 127 / var(--tw-text-opacity));\n}\n.tina-tailwind .text-gray-400 {\n --tw-text-opacity: 1;\n color: rgb(145 140 158 / var(--tw-text-opacity));\n}\n.tina-tailwind .text-current {\n color: currentColor;\n}\n.tina-tailwind .text-white {\n --tw-text-opacity: 1;\n color: rgb(255 255 255 / var(--tw-text-opacity));\n}\n.tina-tailwind .text-gray-800 {\n --tw-text-opacity: 1;\n color: rgb(54 49 69 / var(--tw-text-opacity));\n}\n.tina-tailwind .text-gray-900 {\n --tw-text-opacity: 1;\n color: rgb(37 35 54 / var(--tw-text-opacity));\n}\n.tina-tailwind .text-red-500 {\n --tw-text-opacity: 1;\n color: rgb(239 68 68 / var(--tw-text-opacity));\n}\n.tina-tailwind .underline {\n text-decoration-line: underline;\n}\n.tina-tailwind .opacity-100 {\n opacity: 1;\n}\n.tina-tailwind .opacity-0 {\n opacity: 0;\n}\n.tina-tailwind .opacity-80 {\n opacity: .8;\n}\n.tina-tailwind .opacity-90 {\n opacity: .9;\n}\n.tina-tailwind .opacity-50 {\n opacity: .5;\n}\n.tina-tailwind .opacity-70 {\n opacity: .7;\n}\n.tina-tailwind .shadow-lg {\n --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);\n --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n.tina-tailwind .shadow-2xl {\n --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);\n --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n.tina-tailwind .shadow {\n --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);\n --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n.tina-tailwind .ring-1 {\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\n}\n.tina-tailwind .ring-black {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(0 0 0 / var(--tw-ring-opacity));\n}\n.tina-tailwind .ring-opacity-5 {\n --tw-ring-opacity: .05;\n}\n.tina-tailwind .filter {\n filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);\n}\n.tina-tailwind .transition-opacity {\n transition-property: opacity;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n.tina-tailwind .transition-all {\n transition-property: all;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n.tina-tailwind .transition-colors {\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n.tina-tailwind .transition {\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n.tina-tailwind .duration-300 {\n transition-duration: 300ms;\n}\n.tina-tailwind .duration-200 {\n transition-duration: 200ms;\n}\n.tina-tailwind .duration-150 {\n transition-duration: 150ms;\n}\n.tina-tailwind .duration-100 {\n transition-duration: 100ms;\n}\n.tina-tailwind .duration-75 {\n transition-duration: 75ms;\n}\n.tina-tailwind .ease-out {\n transition-timing-function: cubic-bezier(0, 0, 0.2, 1);\n}\n.tina-tailwind .ease-in {\n transition-timing-function: cubic-bezier(0.4, 0, 1, 1);\n}\n.tina-tailwind .icon-parent svg {\n fill: currentColor;\n }\n\n.tina-tailwind {\n font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";\n font-size: 16px;\n line-height: 1.5;\n --tw-text-opacity: 1;\n color: rgb(86 81 101 / var(--tw-text-opacity));\n}\n\n.tina-tailwind .hover\\:bg-blue-600:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(5 116 228 / var(--tw-bg-opacity));\n}\n\n.tina-tailwind .hover\\:text-blue-600:hover {\n --tw-text-opacity: 1;\n color: rgb(5 116 228 / var(--tw-text-opacity));\n}\n\n.tina-tailwind .hover\\:text-blue-400:hover {\n --tw-text-opacity: 1;\n color: rgb(34 150 254 / var(--tw-text-opacity));\n}\n\n.tina-tailwind .hover\\:opacity-100:hover {\n opacity: 1;\n}\n\n.tina-tailwind .focus\\:text-blue-400:focus {\n --tw-text-opacity: 1;\n color: rgb(34 150 254 / var(--tw-text-opacity));\n}\n\n.tina-tailwind .focus\\:underline:focus {\n text-decoration-line: underline;\n}\n\n.tina-tailwind .focus\\:shadow-outline:focus {\n --tw-shadow: 0 0 0 3px rgba(66, 153, 225, 0.5);\n --tw-shadow-colored: 0 0 0 3px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.tina-tailwind .focus\\:outline-none:focus {\n outline: 2px solid transparent;\n outline-offset: 2px;\n}\n\n.tina-tailwind .focus\\:ring-2:focus {\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\n}\n\n.tina-tailwind .focus\\:ring-blue-500:focus {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(0 132 255 / var(--tw-ring-opacity));\n}\n';
|
|
2728
|
+
var styles = '*, ::before, ::after {\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-rotate: 0;\n --tw-skew-x: 0;\n --tw-skew-y: 0;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-pan-x: ;\n --tw-pan-y: ;\n --tw-pinch-zoom: ;\n --tw-scroll-snap-strictness: proximity;\n --tw-ordinal: ;\n --tw-slashed-zero: ;\n --tw-numeric-figure: ;\n --tw-numeric-spacing: ;\n --tw-numeric-fraction: ;\n --tw-ring-inset: ;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-color: rgb(0 132 255 / 0.5);\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-ring-shadow: 0 0 #0000;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-colored: 0 0 #0000;\n --tw-blur: ;\n --tw-brightness: ;\n --tw-contrast: ;\n --tw-grayscale: ;\n --tw-hue-rotate: ;\n --tw-invert: ;\n --tw-saturate: ;\n --tw-sepia: ;\n --tw-drop-shadow: ;\n --tw-backdrop-blur: ;\n --tw-backdrop-brightness: ;\n --tw-backdrop-contrast: ;\n --tw-backdrop-grayscale: ;\n --tw-backdrop-hue-rotate: ;\n --tw-backdrop-invert: ;\n --tw-backdrop-opacity: ;\n --tw-backdrop-saturate: ;\n --tw-backdrop-sepia: ;\n}\n.tina-tailwind .pointer-events-auto {\n pointer-events: auto;\n}\n.tina-tailwind .static {\n position: static;\n}\n.tina-tailwind .fixed {\n position: fixed;\n}\n.tina-tailwind .absolute {\n position: absolute;\n}\n.tina-tailwind .relative {\n position: relative;\n}\n.tina-tailwind .inset-0 {\n top: 0px;\n right: 0px;\n bottom: 0px;\n left: 0px;\n}\n.tina-tailwind .left-0 {\n left: 0px;\n}\n.tina-tailwind .top-0 {\n top: 0px;\n}\n.tina-tailwind .top-8 {\n top: 32px;\n}\n.tina-tailwind .right-0 {\n right: 0px;\n}\n.tina-tailwind .top-10 {\n top: 40px;\n}\n.tina-tailwind .top-4 {\n top: 16px;\n}\n.tina-tailwind .z-overlay {\n z-index: 10600;\n}\n.tina-tailwind .z-menu {\n z-index: 9800;\n}\n.tina-tailwind .z-50 {\n z-index: 50;\n}\n.tina-tailwind .mx-auto {\n margin-left: auto;\n margin-right: auto;\n}\n.tina-tailwind .-ml-px {\n margin-left: -1px;\n}\n.tina-tailwind .mr-2 {\n margin-right: 8px;\n}\n.tina-tailwind .mb-2 {\n margin-bottom: 8px;\n}\n.tina-tailwind .mb-1 {\n margin-bottom: 4px;\n}\n.tina-tailwind .-mt-0\\.5 {\n margin-top: -2px;\n}\n.tina-tailwind .-mt-0 {\n margin-top: -0px;\n}\n.tina-tailwind .ml-1 {\n margin-left: 4px;\n}\n.tina-tailwind .mt-2 {\n margin-top: 8px;\n}\n.tina-tailwind .mr-1\\.5 {\n margin-right: 6px;\n}\n.tina-tailwind .mr-1 {\n margin-right: 4px;\n}\n.tina-tailwind .block {\n display: block;\n}\n.tina-tailwind .inline-block {\n display: inline-block;\n}\n.tina-tailwind .inline {\n display: inline;\n}\n.tina-tailwind .flex {\n display: flex;\n}\n.tina-tailwind .inline-flex {\n display: inline-flex;\n}\n.tina-tailwind .table {\n display: table;\n}\n.tina-tailwind .h-screen {\n height: 100vh;\n}\n.tina-tailwind .h-auto {\n height: auto;\n}\n.tina-tailwind .h-full {\n height: 100%;\n}\n.tina-tailwind .h-6 {\n height: 24px;\n}\n.tina-tailwind .h-7 {\n height: 28px;\n}\n.tina-tailwind .h-10 {\n height: 40px;\n}\n.tina-tailwind .h-5 {\n height: 20px;\n}\n.tina-tailwind .h-12 {\n height: 48px;\n}\n.tina-tailwind .w-full {\n width: 100%;\n}\n.tina-tailwind .w-10 {\n width: 40px;\n}\n.tina-tailwind .w-auto {\n width: auto;\n}\n.tina-tailwind .w-5 {\n width: 20px;\n}\n.tina-tailwind .w-56 {\n width: 224px;\n}\n.tina-tailwind .w-0 {\n width: 0px;\n}\n.tina-tailwind .w-6 {\n width: 24px;\n}\n.tina-tailwind .max-w-lg {\n max-width: 32rem;\n}\n.tina-tailwind .max-w-screen-xl {\n max-width: 1280px;\n}\n.tina-tailwind .max-w-form {\n max-width: 900px;\n}\n.tina-tailwind .max-w-full {\n max-width: 100%;\n}\n.tina-tailwind .flex-1 {\n flex: 1 1 0%;\n}\n.tina-tailwind .flex-shrink-0 {\n flex-shrink: 0;\n}\n.tina-tailwind .flex-grow-0 {\n flex-grow: 0;\n}\n.tina-tailwind .table-auto {\n table-layout: auto;\n}\n.tina-tailwind .origin-top-right {\n transform-origin: top right;\n}\n.tina-tailwind .-translate-x-full {\n --tw-translate-x: -100%;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.tina-tailwind .translate-x-0 {\n --tw-translate-x: 0px;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.tina-tailwind .translate-x-full {\n --tw-translate-x: 100%;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.tina-tailwind .scale-95 {\n --tw-scale-x: .95;\n --tw-scale-y: .95;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.tina-tailwind .scale-100 {\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.tina-tailwind .transform {\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.tina-tailwind .cursor-pointer {\n cursor: pointer;\n}\n.tina-tailwind .flex-col {\n flex-direction: column;\n}\n.tina-tailwind .items-end {\n align-items: flex-end;\n}\n.tina-tailwind .items-center {\n align-items: center;\n}\n.tina-tailwind .items-stretch {\n align-items: stretch;\n}\n.tina-tailwind .justify-end {\n justify-content: flex-end;\n}\n.tina-tailwind .justify-center {\n justify-content: center;\n}\n.tina-tailwind .justify-between {\n justify-content: space-between;\n}\n.tina-tailwind .gap-0\\.5 {\n gap: 2px;\n}\n.tina-tailwind .gap-0 {\n gap: 0px;\n}\n.tina-tailwind .gap-4 {\n gap: 16px;\n}\n.tina-tailwind .gap-3 {\n gap: 12px;\n}\n.tina-tailwind .divide-y > :not([hidden]) ~ :not([hidden]) {\n --tw-divide-y-reverse: 0;\n border-top-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));\n border-bottom-width: calc(1px * var(--tw-divide-y-reverse));\n}\n.tina-tailwind .divide-gray-150 > :not([hidden]) ~ :not([hidden]) {\n --tw-divide-opacity: 1;\n border-color: rgb(230 227 239 / var(--tw-divide-opacity));\n}\n.tina-tailwind .overflow-hidden {\n overflow: hidden;\n}\n.tina-tailwind .overflow-y-auto {\n overflow-y: auto;\n}\n.tina-tailwind .whitespace-nowrap {\n white-space: nowrap;\n}\n.tina-tailwind .rounded-lg {\n border-radius: 8px;\n}\n.tina-tailwind .rounded {\n border-radius: 4px;\n}\n.tina-tailwind .rounded-full {\n border-radius: 9999px;\n}\n.tina-tailwind .rounded-md {\n border-radius: 6px;\n}\n.tina-tailwind .rounded-r-md {\n border-top-right-radius: 6px;\n border-bottom-right-radius: 6px;\n}\n.tina-tailwind .border {\n border-width: 1px;\n}\n.tina-tailwind .border-b {\n border-bottom-width: 1px;\n}\n.tina-tailwind .border-gray-150 {\n --tw-border-opacity: 1;\n border-color: rgb(230 227 239 / var(--tw-border-opacity));\n}\n.tina-tailwind .border-gray-200 {\n --tw-border-opacity: 1;\n border-color: rgb(225 221 236 / var(--tw-border-opacity));\n}\n.tina-tailwind .bg-white {\n --tw-bg-opacity: 1;\n background-color: rgb(255 255 255 / var(--tw-bg-opacity));\n}\n.tina-tailwind .bg-gray-50 {\n --tw-bg-opacity: 1;\n background-color: rgb(246 246 249 / var(--tw-bg-opacity));\n}\n.tina-tailwind .bg-blue-500 {\n --tw-bg-opacity: 1;\n background-color: rgb(0 132 255 / var(--tw-bg-opacity));\n}\n.tina-tailwind .bg-gradient-to-b {\n background-image: linear-gradient(to bottom, var(--tw-gradient-stops));\n}\n.tina-tailwind .bg-gradient-to-br {\n background-image: linear-gradient(to bottom right, var(--tw-gradient-stops));\n}\n.tina-tailwind .from-blue-900 {\n --tw-gradient-from: #1D2C6C;\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(29 44 108 / 0));\n}\n.tina-tailwind .from-gray-800 {\n --tw-gradient-from: #363145;\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(54 49 69 / 0));\n}\n.tina-tailwind .via-gray-900 {\n --tw-gradient-stops: var(--tw-gradient-from), #252336, var(--tw-gradient-to, rgb(37 35 54 / 0));\n}\n.tina-tailwind .to-gray-900 {\n --tw-gradient-to: #252336;\n}\n.tina-tailwind .to-black {\n --tw-gradient-to: #000;\n}\n.tina-tailwind .px-4 {\n padding-left: 16px;\n padding-right: 16px;\n}\n.tina-tailwind .py-6 {\n padding-top: 24px;\n padding-bottom: 24px;\n}\n.tina-tailwind .px-5 {\n padding-left: 20px;\n padding-right: 20px;\n}\n.tina-tailwind .py-4 {\n padding-top: 16px;\n padding-bottom: 16px;\n}\n.tina-tailwind .px-12 {\n padding-left: 48px;\n padding-right: 48px;\n}\n.tina-tailwind .py-10 {\n padding-top: 40px;\n padding-bottom: 40px;\n}\n.tina-tailwind .px-20 {\n padding-left: 80px;\n padding-right: 80px;\n}\n.tina-tailwind .px-6 {\n padding-left: 24px;\n padding-right: 24px;\n}\n.tina-tailwind .py-1 {\n padding-top: 4px;\n padding-bottom: 4px;\n}\n.tina-tailwind .py-2 {\n padding-top: 8px;\n padding-bottom: 8px;\n}\n.tina-tailwind .py-5 {\n padding-top: 20px;\n padding-bottom: 20px;\n}\n.tina-tailwind .pt-4 {\n padding-top: 16px;\n}\n.tina-tailwind .pb-4 {\n padding-bottom: 16px;\n}\n.tina-tailwind .pt-18 {\n padding-top: 72px;\n}\n.tina-tailwind .pt-3 {\n padding-top: 12px;\n}\n.tina-tailwind .pl-18 {\n padding-left: 72px;\n}\n.tina-tailwind .text-left {\n text-align: left;\n}\n.tina-tailwind .text-center {\n text-align: center;\n}\n.tina-tailwind .font-sans {\n font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";\n}\n.tina-tailwind .text-2xl {\n font-size: 24px;\n line-height: 1.33;\n}\n.tina-tailwind .text-base {\n font-size: 16px;\n line-height: 1.5;\n}\n.tina-tailwind .text-sm {\n font-size: 14px;\n line-height: 1.43;\n}\n.tina-tailwind .text-xl {\n font-size: 20px;\n line-height: 1.4;\n}\n.tina-tailwind .text-md {\n font-size: 16px;\n line-height: 1.5;\n}\n.tina-tailwind .text-xs {\n font-size: 13px;\n line-height: 1.33;\n}\n.tina-tailwind .font-medium {\n font-weight: 500;\n}\n.tina-tailwind .uppercase {\n text-transform: uppercase;\n}\n.tina-tailwind .italic {\n font-style: italic;\n}\n.tina-tailwind .leading-normal {\n line-height: 1.5;\n}\n.tina-tailwind .leading-tight {\n line-height: 1.25;\n}\n.tina-tailwind .leading-5 {\n line-height: 20px;\n}\n.tina-tailwind .tracking-wide {\n letter-spacing: 0.025em;\n}\n.tina-tailwind .text-gray-600 {\n --tw-text-opacity: 1;\n color: rgb(86 81 101 / var(--tw-text-opacity));\n}\n.tina-tailwind .text-gray-700 {\n --tw-text-opacity: 1;\n color: rgb(67 62 82 / var(--tw-text-opacity));\n}\n.tina-tailwind .text-blue-600 {\n --tw-text-opacity: 1;\n color: rgb(5 116 228 / var(--tw-text-opacity));\n}\n.tina-tailwind .text-gray-500 {\n --tw-text-opacity: 1;\n color: rgb(113 108 127 / var(--tw-text-opacity));\n}\n.tina-tailwind .text-gray-400 {\n --tw-text-opacity: 1;\n color: rgb(145 140 158 / var(--tw-text-opacity));\n}\n.tina-tailwind .text-current {\n color: currentColor;\n}\n.tina-tailwind .text-white {\n --tw-text-opacity: 1;\n color: rgb(255 255 255 / var(--tw-text-opacity));\n}\n.tina-tailwind .text-gray-800 {\n --tw-text-opacity: 1;\n color: rgb(54 49 69 / var(--tw-text-opacity));\n}\n.tina-tailwind .text-gray-900 {\n --tw-text-opacity: 1;\n color: rgb(37 35 54 / var(--tw-text-opacity));\n}\n.tina-tailwind .text-red-500 {\n --tw-text-opacity: 1;\n color: rgb(239 68 68 / var(--tw-text-opacity));\n}\n.tina-tailwind .underline {\n text-decoration-line: underline;\n}\n.tina-tailwind .opacity-100 {\n opacity: 1;\n}\n.tina-tailwind .opacity-0 {\n opacity: 0;\n}\n.tina-tailwind .opacity-80 {\n opacity: .8;\n}\n.tina-tailwind .opacity-90 {\n opacity: .9;\n}\n.tina-tailwind .opacity-50 {\n opacity: .5;\n}\n.tina-tailwind .opacity-70 {\n opacity: .7;\n}\n.tina-tailwind .shadow-lg {\n --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);\n --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n.tina-tailwind .shadow-2xl {\n --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);\n --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n.tina-tailwind .shadow {\n --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);\n --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n.tina-tailwind .ring-1 {\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\n}\n.tina-tailwind .ring-black {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(0 0 0 / var(--tw-ring-opacity));\n}\n.tina-tailwind .ring-opacity-5 {\n --tw-ring-opacity: .05;\n}\n.tina-tailwind .filter {\n filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);\n}\n.tina-tailwind .transition-opacity {\n transition-property: opacity;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n.tina-tailwind .transition-all {\n transition-property: all;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n.tina-tailwind .transition-colors {\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n.tina-tailwind .transition {\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n.tina-tailwind .duration-300 {\n transition-duration: 300ms;\n}\n.tina-tailwind .duration-200 {\n transition-duration: 200ms;\n}\n.tina-tailwind .duration-150 {\n transition-duration: 150ms;\n}\n.tina-tailwind .duration-100 {\n transition-duration: 100ms;\n}\n.tina-tailwind .duration-75 {\n transition-duration: 75ms;\n}\n.tina-tailwind .ease-out {\n transition-timing-function: cubic-bezier(0, 0, 0.2, 1);\n}\n.tina-tailwind .ease-in {\n transition-timing-function: cubic-bezier(0.4, 0, 1, 1);\n}\n.tina-tailwind .icon-parent svg {\n fill: currentColor;\n }\n\n.tina-tailwind {\n font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";\n font-size: 16px;\n line-height: 1.5;\n --tw-text-opacity: 1;\n color: rgb(86 81 101 / var(--tw-text-opacity));\n}\n\n.tina-tailwind .hover\\:bg-blue-600:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(5 116 228 / var(--tw-bg-opacity));\n}\n\n.tina-tailwind .hover\\:text-blue-600:hover {\n --tw-text-opacity: 1;\n color: rgb(5 116 228 / var(--tw-text-opacity));\n}\n\n.tina-tailwind .hover\\:text-blue-400:hover {\n --tw-text-opacity: 1;\n color: rgb(34 150 254 / var(--tw-text-opacity));\n}\n\n.tina-tailwind .hover\\:opacity-100:hover {\n opacity: 1;\n}\n\n.tina-tailwind .focus\\:text-blue-400:focus {\n --tw-text-opacity: 1;\n color: rgb(34 150 254 / var(--tw-text-opacity));\n}\n\n.tina-tailwind .focus\\:underline:focus {\n text-decoration-line: underline;\n}\n\n.tina-tailwind .focus\\:shadow-outline:focus {\n --tw-shadow: 0 0 0 3px rgba(66, 153, 225, 0.5);\n --tw-shadow-colored: 0 0 0 3px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.tina-tailwind .focus\\:outline-none:focus {\n outline: 2px solid transparent;\n outline-offset: 2px;\n}\n\n.tina-tailwind .focus\\:ring-2:focus {\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\n}\n\n.tina-tailwind .focus\\:ring-blue-500:focus {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(0 132 255 / var(--tw-ring-opacity));\n}\n';
|
|
2715
2729
|
class ContentCreatorPlugin {
|
|
2716
2730
|
constructor(options) {
|
|
2717
2731
|
this.__type = "content-creator";
|
|
@@ -2760,9 +2774,9 @@ class ContentCreatorPlugin {
|
|
|
2760
2774
|
}
|
|
2761
2775
|
const useDocumentCreatorPlugin = (args) => {
|
|
2762
2776
|
const cms = useCMS();
|
|
2763
|
-
const [values, setValues] =
|
|
2764
|
-
const [plugin, setPlugin] =
|
|
2765
|
-
|
|
2777
|
+
const [values, setValues] = React__default.useState({});
|
|
2778
|
+
const [plugin, setPlugin] = React__default.useState(null);
|
|
2779
|
+
React__default.useEffect(() => {
|
|
2766
2780
|
const run = async () => {
|
|
2767
2781
|
var _a;
|
|
2768
2782
|
const res = await cms.api.tina.request((gql2) => gql2`
|
|
@@ -2863,7 +2877,7 @@ const useDocumentCreatorPlugin = (args) => {
|
|
|
2863
2877
|
};
|
|
2864
2878
|
run();
|
|
2865
2879
|
}, [cms]);
|
|
2866
|
-
|
|
2880
|
+
React__default.useEffect(() => {
|
|
2867
2881
|
if (plugin) {
|
|
2868
2882
|
cms.plugins.add(plugin);
|
|
2869
2883
|
}
|
|
@@ -2884,10 +2898,10 @@ function useTina({
|
|
|
2884
2898
|
state,
|
|
2885
2899
|
isDummyContainer,
|
|
2886
2900
|
isLoading: contextLoading
|
|
2887
|
-
} =
|
|
2901
|
+
} = React__default.useContext(TinaDataContext);
|
|
2888
2902
|
const [waitForContextRerender, setWaitForContextRerender] = useState(!isDummyContainer);
|
|
2889
2903
|
const isLoading = contextLoading || waitForContextRerender;
|
|
2890
|
-
|
|
2904
|
+
React__default.useEffect(() => {
|
|
2891
2905
|
setRequest({ query, variables });
|
|
2892
2906
|
}, [JSON.stringify(variables), query]);
|
|
2893
2907
|
useEffect(() => {
|
|
@@ -2939,7 +2953,7 @@ const errorButtonStyles = {
|
|
|
2939
2953
|
color: "white",
|
|
2940
2954
|
margin: "1rem 0"
|
|
2941
2955
|
};
|
|
2942
|
-
class ErrorBoundary extends
|
|
2956
|
+
class ErrorBoundary extends React__default.Component {
|
|
2943
2957
|
constructor(props) {
|
|
2944
2958
|
super(props);
|
|
2945
2959
|
this.state = {
|
|
@@ -2955,7 +2969,7 @@ class ErrorBoundary extends React.Component {
|
|
|
2955
2969
|
const branchData = window.localStorage && window.localStorage.getItem("tinacms-current-branch");
|
|
2956
2970
|
const hasBranchData = branchData && branchData.length > 0;
|
|
2957
2971
|
if (this.state.hasError && !this.state.pageRefresh) {
|
|
2958
|
-
return /* @__PURE__ */
|
|
2972
|
+
return /* @__PURE__ */ React__default.createElement("div", {
|
|
2959
2973
|
style: {
|
|
2960
2974
|
background: "#efefef",
|
|
2961
2975
|
height: "100vh",
|
|
@@ -2963,7 +2977,7 @@ class ErrorBoundary extends React.Component {
|
|
|
2963
2977
|
alignItems: "center",
|
|
2964
2978
|
justifyContent: "center"
|
|
2965
2979
|
}
|
|
2966
|
-
}, /* @__PURE__ */
|
|
2980
|
+
}, /* @__PURE__ */ React__default.createElement("style", null, " body { margin: 0; } "), /* @__PURE__ */ React__default.createElement("div", {
|
|
2967
2981
|
style: {
|
|
2968
2982
|
background: "#fff",
|
|
2969
2983
|
maxWidth: "400px",
|
|
@@ -2972,27 +2986,27 @@ class ErrorBoundary extends React.Component {
|
|
|
2972
2986
|
borderRadius: "5px",
|
|
2973
2987
|
boxShadow: "0 6px 24px rgb(0 37 91 / 5%), 0 2px 4px rgb(0 37 91 / 3%)"
|
|
2974
2988
|
}
|
|
2975
|
-
}, /* @__PURE__ */
|
|
2989
|
+
}, /* @__PURE__ */ React__default.createElement("h3", {
|
|
2976
2990
|
style: { color: "#eb6337" }
|
|
2977
|
-
}, "TinaCMS Render Error"), /* @__PURE__ */
|
|
2991
|
+
}, "TinaCMS Render Error"), /* @__PURE__ */ React__default.createElement("p", null, "Tina caught an error while updating the page:"), /* @__PURE__ */ React__default.createElement("pre", {
|
|
2978
2992
|
style: { marginTop: "1rem", overflowX: "auto" }
|
|
2979
|
-
}, this.state.message), /* @__PURE__ */
|
|
2993
|
+
}, this.state.message), /* @__PURE__ */ React__default.createElement("br", null), /* @__PURE__ */ React__default.createElement("p", null, `If you've just updated the form, undo your most recent changes and click "refresh". If after a few refreshes, you're still encountering this error. There is a bigger issue with the site. Please reach out to your site admin.`), /* @__PURE__ */ React__default.createElement("p", null, "See our", " ", /* @__PURE__ */ React__default.createElement("a", {
|
|
2980
2994
|
className: "text-gray-600",
|
|
2981
2995
|
style: { textDecoration: "underline" },
|
|
2982
2996
|
href: "https://tina.io/docs/errors/faq/",
|
|
2983
2997
|
target: "_blank"
|
|
2984
|
-
}, " ", "Error FAQ", " "), " ", "for more information."), /* @__PURE__ */
|
|
2998
|
+
}, " ", "Error FAQ", " "), " ", "for more information."), /* @__PURE__ */ React__default.createElement("button", {
|
|
2985
2999
|
style: errorButtonStyles,
|
|
2986
3000
|
onClick: () => {
|
|
2987
3001
|
this.setState({ pageRefresh: true });
|
|
2988
3002
|
setTimeout(() => this.setState({ hasError: false, pageRefresh: false }), 3e3);
|
|
2989
3003
|
}
|
|
2990
|
-
}, "Refresh"), hasBranchData && /* @__PURE__ */
|
|
3004
|
+
}, "Refresh"), hasBranchData && /* @__PURE__ */ React__default.createElement(React__default.Fragment, null, /* @__PURE__ */ React__default.createElement("p", null, `If you're using the branch switcher, you may currently be on a "stale" branch that has been deleted or whose content is not compatible with the latest version of the site's layout. Click the button below to switch back to the default branch for this deployment.`), /* @__PURE__ */ React__default.createElement("p", null, "See our", " ", /* @__PURE__ */ React__default.createElement("a", {
|
|
2991
3005
|
className: "text-gray-600",
|
|
2992
3006
|
style: { textDecoration: "underline" },
|
|
2993
3007
|
href: "https://tina.io/docs/errors/faq/",
|
|
2994
3008
|
target: "_blank"
|
|
2995
|
-
}, " ", "Error FAQ", " "), " ", "for more information."), /* @__PURE__ */
|
|
3009
|
+
}, " ", "Error FAQ", " "), " ", "for more information."), /* @__PURE__ */ React__default.createElement("button", {
|
|
2996
3010
|
style: errorButtonStyles,
|
|
2997
3011
|
onClick: () => {
|
|
2998
3012
|
window.localStorage.removeItem("tinacms-current-branch");
|
|
@@ -3001,7 +3015,7 @@ class ErrorBoundary extends React.Component {
|
|
|
3001
3015
|
}, "Switch to default branch"))));
|
|
3002
3016
|
}
|
|
3003
3017
|
if (this.state.pageRefresh) {
|
|
3004
|
-
return /* @__PURE__ */
|
|
3018
|
+
return /* @__PURE__ */ React__default.createElement(Loader, null, "Let's try that again.");
|
|
3005
3019
|
}
|
|
3006
3020
|
return this.props.children;
|
|
3007
3021
|
}
|
|
@@ -3032,7 +3046,7 @@ const TinaCMSProvider2 = (_c) => {
|
|
|
3032
3046
|
if (!schema) {
|
|
3033
3047
|
throw new Error("`schema` is required to be passed as a property to `TinaProvider`. You can learn more about this change here: https://github.com/tinacms/tinacms/pull/2823");
|
|
3034
3048
|
}
|
|
3035
|
-
return /* @__PURE__ */
|
|
3049
|
+
return /* @__PURE__ */ React__default.createElement(React__default.Fragment, null, /* @__PURE__ */ React__default.createElement(TinaCloudProvider, {
|
|
3036
3050
|
branch,
|
|
3037
3051
|
clientId,
|
|
3038
3052
|
tinaioConfig: props.tinaioConfig,
|
|
@@ -3040,11 +3054,11 @@ const TinaCMSProvider2 = (_c) => {
|
|
|
3040
3054
|
cmsCallback: props.cmsCallback,
|
|
3041
3055
|
mediaStore: props.mediaStore,
|
|
3042
3056
|
schema
|
|
3043
|
-
}, /* @__PURE__ */
|
|
3057
|
+
}, /* @__PURE__ */ React__default.createElement("style", null, styles), /* @__PURE__ */ React__default.createElement(ErrorBoundary, null, /* @__PURE__ */ React__default.createElement(DocumentCreator, {
|
|
3044
3058
|
documentCreatorCallback
|
|
3045
|
-
}), /* @__PURE__ */
|
|
3059
|
+
}), /* @__PURE__ */ React__default.createElement(TinaDataProvider, {
|
|
3046
3060
|
formifyCallback
|
|
3047
|
-
}, typeof props.children == "function" ? /* @__PURE__ */
|
|
3061
|
+
}, typeof props.children == "function" ? /* @__PURE__ */ React__default.createElement(TinaQuery, __spreadProps(__spreadValues({}, props), {
|
|
3048
3062
|
variables: props.variables,
|
|
3049
3063
|
data: props.data,
|
|
3050
3064
|
query,
|
|
@@ -3059,7 +3073,7 @@ const DocumentCreator = ({
|
|
|
3059
3073
|
return null;
|
|
3060
3074
|
};
|
|
3061
3075
|
const TinaQuery = (props) => {
|
|
3062
|
-
return /* @__PURE__ */
|
|
3076
|
+
return /* @__PURE__ */ React__default.createElement(TinaQueryInner, __spreadValues({
|
|
3063
3077
|
key: `rootQuery-${props.query}`
|
|
3064
3078
|
}, props));
|
|
3065
3079
|
};
|
|
@@ -3070,24 +3084,24 @@ const TinaQueryInner = (_e) => {
|
|
|
3070
3084
|
variables: props.variables,
|
|
3071
3085
|
data: props.data
|
|
3072
3086
|
});
|
|
3073
|
-
return /* @__PURE__ */
|
|
3087
|
+
return /* @__PURE__ */ React__default.createElement(React__default.Fragment, null, children(isLoading || !props.query ? props : __spreadProps(__spreadValues({}, props), { data: liveData })));
|
|
3074
3088
|
};
|
|
3075
3089
|
const TinaDataProvider = ({
|
|
3076
3090
|
children,
|
|
3077
3091
|
formifyCallback
|
|
3078
3092
|
}) => {
|
|
3079
3093
|
const [request, setRequest] = useState();
|
|
3080
|
-
const [state, setState] =
|
|
3094
|
+
const [state, setState] = React__default.useState({
|
|
3081
3095
|
payload: void 0,
|
|
3082
3096
|
isLoading: true
|
|
3083
3097
|
});
|
|
3084
|
-
return /* @__PURE__ */
|
|
3098
|
+
return /* @__PURE__ */ React__default.createElement(TinaDataContext.Provider, {
|
|
3085
3099
|
value: {
|
|
3086
3100
|
setRequest,
|
|
3087
3101
|
isLoading: state.isLoading,
|
|
3088
3102
|
state: { payload: state.payload }
|
|
3089
3103
|
}
|
|
3090
|
-
}, /* @__PURE__ */
|
|
3104
|
+
}, /* @__PURE__ */ React__default.createElement(FormRegistrar, {
|
|
3091
3105
|
key: request == null ? void 0 : request.query,
|
|
3092
3106
|
request,
|
|
3093
3107
|
formifyCallback,
|
|
@@ -3111,13 +3125,13 @@ const FormRegistrar = ({
|
|
|
3111
3125
|
}
|
|
3112
3126
|
}
|
|
3113
3127
|
});
|
|
3114
|
-
|
|
3128
|
+
React__default.useEffect(() => {
|
|
3115
3129
|
onPayloadStateChange({ payload, isLoading });
|
|
3116
3130
|
}, [JSON.stringify(payload), isLoading]);
|
|
3117
|
-
return isLoading ? /* @__PURE__ */
|
|
3131
|
+
return isLoading ? /* @__PURE__ */ React__default.createElement(Loader, null, /* @__PURE__ */ React__default.createElement(React__default.Fragment, null)) : null;
|
|
3118
3132
|
};
|
|
3119
3133
|
const Loader = (props) => {
|
|
3120
|
-
return /* @__PURE__ */
|
|
3134
|
+
return /* @__PURE__ */ React__default.createElement(React__default.Fragment, null, /* @__PURE__ */ React__default.createElement("div", {
|
|
3121
3135
|
style: {
|
|
3122
3136
|
position: "fixed",
|
|
3123
3137
|
background: "rgba(0, 0, 0, 0.5)",
|
|
@@ -3129,7 +3143,7 @@ const Loader = (props) => {
|
|
|
3129
3143
|
justifyContent: "center",
|
|
3130
3144
|
padding: "40px"
|
|
3131
3145
|
}
|
|
3132
|
-
}, /* @__PURE__ */
|
|
3146
|
+
}, /* @__PURE__ */ React__default.createElement("div", {
|
|
3133
3147
|
style: {
|
|
3134
3148
|
background: "#f6f6f9",
|
|
3135
3149
|
boxShadow: "0px 2px 3px rgba(0, 0, 0, 0.05), 0 4px 12px rgba(0, 0, 0, 0.1)",
|
|
@@ -3142,7 +3156,7 @@ const Loader = (props) => {
|
|
|
3142
3156
|
justifyContent: "center",
|
|
3143
3157
|
flexDirection: "column"
|
|
3144
3158
|
}
|
|
3145
|
-
}, /* @__PURE__ */
|
|
3159
|
+
}, /* @__PURE__ */ React__default.createElement("svg", {
|
|
3146
3160
|
style: {
|
|
3147
3161
|
width: "64px",
|
|
3148
3162
|
color: "#2296fe",
|
|
@@ -3158,13 +3172,13 @@ const Loader = (props) => {
|
|
|
3158
3172
|
viewBox: "0 0 100 64",
|
|
3159
3173
|
enableBackground: "new 0 0 0 0",
|
|
3160
3174
|
xmlSpace: "preserve"
|
|
3161
|
-
}, /* @__PURE__ */
|
|
3175
|
+
}, /* @__PURE__ */ React__default.createElement("circle", {
|
|
3162
3176
|
fill: "currentColor",
|
|
3163
3177
|
stroke: "none",
|
|
3164
3178
|
cx: 6,
|
|
3165
3179
|
cy: 32,
|
|
3166
3180
|
r: 6
|
|
3167
|
-
}, /* @__PURE__ */
|
|
3181
|
+
}, /* @__PURE__ */ React__default.createElement("animateTransform", {
|
|
3168
3182
|
attributeName: "transform",
|
|
3169
3183
|
dur: "1s",
|
|
3170
3184
|
type: "translate",
|
|
@@ -3173,13 +3187,13 @@ const Loader = (props) => {
|
|
|
3173
3187
|
keySplines: "0.8 0 0.4 1; 0.4 0 0.2 1",
|
|
3174
3188
|
repeatCount: "indefinite",
|
|
3175
3189
|
begin: "0.1"
|
|
3176
|
-
})), /* @__PURE__ */
|
|
3190
|
+
})), /* @__PURE__ */ React__default.createElement("circle", {
|
|
3177
3191
|
fill: "currentColor",
|
|
3178
3192
|
stroke: "none",
|
|
3179
3193
|
cx: 30,
|
|
3180
3194
|
cy: 32,
|
|
3181
3195
|
r: 6
|
|
3182
|
-
}, /* @__PURE__ */
|
|
3196
|
+
}, /* @__PURE__ */ React__default.createElement("animateTransform", {
|
|
3183
3197
|
attributeName: "transform",
|
|
3184
3198
|
dur: "1s",
|
|
3185
3199
|
type: "translate",
|
|
@@ -3188,13 +3202,13 @@ const Loader = (props) => {
|
|
|
3188
3202
|
keySplines: "0.8 0 0.4 1; 0.4 0 0.2 1",
|
|
3189
3203
|
repeatCount: "indefinite",
|
|
3190
3204
|
begin: "0.2"
|
|
3191
|
-
})), /* @__PURE__ */
|
|
3205
|
+
})), /* @__PURE__ */ React__default.createElement("circle", {
|
|
3192
3206
|
fill: "currentColor",
|
|
3193
3207
|
stroke: "none",
|
|
3194
3208
|
cx: 54,
|
|
3195
3209
|
cy: 32,
|
|
3196
3210
|
r: 6
|
|
3197
|
-
}, /* @__PURE__ */
|
|
3211
|
+
}, /* @__PURE__ */ React__default.createElement("animateTransform", {
|
|
3198
3212
|
attributeName: "transform",
|
|
3199
3213
|
dur: "1s",
|
|
3200
3214
|
type: "translate",
|
|
@@ -3203,7 +3217,7 @@ const Loader = (props) => {
|
|
|
3203
3217
|
keySplines: "0.8 0 0.4 1; 0.4 0 0.2 1",
|
|
3204
3218
|
repeatCount: "indefinite",
|
|
3205
3219
|
begin: "0.3"
|
|
3206
|
-
}))), /* @__PURE__ */
|
|
3220
|
+
}))), /* @__PURE__ */ React__default.createElement("p", {
|
|
3207
3221
|
style: {
|
|
3208
3222
|
fontSize: "18px",
|
|
3209
3223
|
color: "#252336",
|
|
@@ -3260,7 +3274,7 @@ function gql(strings, ...args) {
|
|
|
3260
3274
|
return str;
|
|
3261
3275
|
}
|
|
3262
3276
|
const Layout = ({ children }) => {
|
|
3263
|
-
return /* @__PURE__ */
|
|
3277
|
+
return /* @__PURE__ */ React__default.createElement(React__default.Fragment, null, /* @__PURE__ */ React__default.createElement("style", null, styles), /* @__PURE__ */ React__default.createElement("div", {
|
|
3264
3278
|
className: "tina-tailwind",
|
|
3265
3279
|
style: {
|
|
3266
3280
|
position: "fixed",
|
|
@@ -3282,7 +3296,7 @@ var DefaultContext = {
|
|
|
3282
3296
|
style: void 0,
|
|
3283
3297
|
attr: void 0
|
|
3284
3298
|
};
|
|
3285
|
-
var IconContext =
|
|
3299
|
+
var IconContext = React__default.createContext && React__default.createContext(DefaultContext);
|
|
3286
3300
|
var __assign = function() {
|
|
3287
3301
|
__assign = Object.assign || function(t) {
|
|
3288
3302
|
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
@@ -3309,14 +3323,14 @@ var __rest = function(s, e) {
|
|
|
3309
3323
|
};
|
|
3310
3324
|
function Tree2Element(tree) {
|
|
3311
3325
|
return tree && tree.map(function(node2, i) {
|
|
3312
|
-
return
|
|
3326
|
+
return React__default.createElement(node2.tag, __assign({
|
|
3313
3327
|
key: i
|
|
3314
3328
|
}, node2.attr), Tree2Element(node2.child));
|
|
3315
3329
|
});
|
|
3316
3330
|
}
|
|
3317
3331
|
function GenIcon(data) {
|
|
3318
3332
|
return function(props) {
|
|
3319
|
-
return
|
|
3333
|
+
return React__default.createElement(IconBase, __assign({
|
|
3320
3334
|
attr: __assign({}, data.attr)
|
|
3321
3335
|
}, props), Tree2Element(data.child));
|
|
3322
3336
|
};
|
|
@@ -3330,7 +3344,7 @@ function IconBase(props) {
|
|
|
3330
3344
|
className = conf.className;
|
|
3331
3345
|
if (props.className)
|
|
3332
3346
|
className = (className ? className + " " : "") + props.className;
|
|
3333
|
-
return
|
|
3347
|
+
return React__default.createElement("svg", __assign({
|
|
3334
3348
|
stroke: "currentColor",
|
|
3335
3349
|
fill: "currentColor",
|
|
3336
3350
|
strokeWidth: "0"
|
|
@@ -3342,9 +3356,9 @@ function IconBase(props) {
|
|
|
3342
3356
|
height: computedSize,
|
|
3343
3357
|
width: computedSize,
|
|
3344
3358
|
xmlns: "http://www.w3.org/2000/svg"
|
|
3345
|
-
}), title &&
|
|
3359
|
+
}), title && React__default.createElement("title", null, title), props.children);
|
|
3346
3360
|
};
|
|
3347
|
-
return IconContext !== void 0 ?
|
|
3361
|
+
return IconContext !== void 0 ? React__default.createElement(IconContext.Consumer, null, function(conf) {
|
|
3348
3362
|
return elem(conf);
|
|
3349
3363
|
}) : elem(DefaultContext);
|
|
3350
3364
|
}
|
|
@@ -3382,6 +3396,9 @@ function IoMdClose(props) {
|
|
|
3382
3396
|
function BiEdit(props) {
|
|
3383
3397
|
return GenIcon({ "tag": "svg", "attr": { "viewBox": "0 0 24 24" }, "child": [{ "tag": "path", "attr": { "d": "m7 17.013 4.413-.015 9.632-9.54c.378-.378.586-.88.586-1.414s-.208-1.036-.586-1.414l-1.586-1.586c-.756-.756-2.075-.752-2.825-.003L7 12.583v4.43zM18.045 4.458l1.589 1.583-1.597 1.582-1.586-1.585 1.594-1.58zM9 13.417l6.03-5.973 1.586 1.586-6.029 5.971L9 15.006v-1.589z" } }, { "tag": "path", "attr": { "d": "M5 21h14c1.103 0 2-.897 2-2v-8.668l-2 2V19H8.158c-.026 0-.053.01-.079.01-.033 0-.066-.009-.1-.01H5V5h6.847l2-2H5c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2z" } }] })(props);
|
|
3384
3398
|
}
|
|
3399
|
+
function BiLeftArrowAlt(props) {
|
|
3400
|
+
return GenIcon({ "tag": "svg", "attr": { "viewBox": "0 0 24 24" }, "child": [{ "tag": "path", "attr": { "d": "M12.707 17.293 8.414 13H18v-2H8.414l4.293-4.293-1.414-1.414L4.586 12l6.707 6.707z" } }] })(props);
|
|
3401
|
+
}
|
|
3385
3402
|
function BiLogIn(props) {
|
|
3386
3403
|
return GenIcon({ "tag": "svg", "attr": { "viewBox": "0 0 24 24" }, "child": [{ "tag": "path", "attr": { "d": "m13 16 5-4-5-4v3H4v2h9z" } }, { "tag": "path", "attr": { "d": "M20 3h-9c-1.103 0-2 .897-2 2v4h2V5h9v14h-9v-4H9v4c0 1.103.897 2 2 2h9c1.103 0 2-.897 2-2V5c0-1.103-.897-2-2-2z" } }] })(props);
|
|
3387
3404
|
}
|
|
@@ -3394,6 +3411,9 @@ function BiMenu(props) {
|
|
|
3394
3411
|
function BiPlus(props) {
|
|
3395
3412
|
return GenIcon({ "tag": "svg", "attr": { "viewBox": "0 0 24 24" }, "child": [{ "tag": "path", "attr": { "d": "M19 11h-6V5h-2v6H5v2h6v6h2v-6h6z" } }] })(props);
|
|
3396
3413
|
}
|
|
3414
|
+
function BiRightArrowAlt(props) {
|
|
3415
|
+
return GenIcon({ "tag": "svg", "attr": { "viewBox": "0 0 24 24" }, "child": [{ "tag": "path", "attr": { "d": "m11.293 17.293 1.414 1.414L19.414 12l-6.707-6.707-1.414 1.414L15.586 11H6v2h9.586z" } }] })(props);
|
|
3416
|
+
}
|
|
3397
3417
|
function BiTrash(props) {
|
|
3398
3418
|
return GenIcon({ "tag": "svg", "attr": { "viewBox": "0 0 24 24" }, "child": [{ "tag": "path", "attr": { "d": "M5 20a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8h2V6h-4V4a2 2 0 0 0-2-2H9a2 2 0 0 0-2 2v2H3v2h2zM9 4h6v2H9zM8 8h9v12H7V8z" } }, { "tag": "path", "attr": { "d": "M9 10h2v8H9zm4 0h2v8h-2z" } }] })(props);
|
|
3399
3419
|
}
|
|
@@ -3404,47 +3424,47 @@ const Sidebar = ({ cms }) => {
|
|
|
3404
3424
|
var _a, _b;
|
|
3405
3425
|
const collectionsInfo = useGetCollections(cms);
|
|
3406
3426
|
const screens = cms.plugins.getType("screen").all();
|
|
3407
|
-
const [menuIsOpen, setMenuIsOpen] =
|
|
3427
|
+
const [menuIsOpen, setMenuIsOpen] = React__default.useState(false);
|
|
3408
3428
|
const isLocalMode = (_b = (_a = cms.api) == null ? void 0 : _a.tina) == null ? void 0 : _b.isLocalMode;
|
|
3409
3429
|
const navBreakpoint = 1e3;
|
|
3410
3430
|
const windowWidth = useWindowWidth();
|
|
3411
3431
|
const renderDesktopNav = windowWidth > navBreakpoint;
|
|
3412
|
-
return /* @__PURE__ */
|
|
3432
|
+
return /* @__PURE__ */ React__default.createElement(React__default.Fragment, null, renderDesktopNav && /* @__PURE__ */ React__default.createElement(Nav, {
|
|
3413
3433
|
sidebarWidth: 360,
|
|
3414
3434
|
showCollections: true,
|
|
3415
3435
|
collectionsInfo,
|
|
3416
3436
|
screens,
|
|
3417
3437
|
contentCreators: [],
|
|
3418
|
-
RenderNavSite: ({ view }) => /* @__PURE__ */
|
|
3438
|
+
RenderNavSite: ({ view }) => /* @__PURE__ */ React__default.createElement(SidebarLink, {
|
|
3419
3439
|
label: view.name,
|
|
3420
3440
|
to: `screens/${slugify(view.name)}`,
|
|
3421
3441
|
Icon: view.Icon ? view.Icon : ImFilesEmpty
|
|
3422
3442
|
}),
|
|
3423
|
-
RenderNavCollection: ({ collection }) => /* @__PURE__ */
|
|
3443
|
+
RenderNavCollection: ({ collection }) => /* @__PURE__ */ React__default.createElement(SidebarLink, {
|
|
3424
3444
|
label: collection.label ? collection.label : collection.name,
|
|
3425
3445
|
to: `collections/${collection.name}`,
|
|
3426
3446
|
Icon: ImFilesEmpty
|
|
3427
3447
|
})
|
|
3428
|
-
}), !renderDesktopNav && /* @__PURE__ */
|
|
3448
|
+
}), !renderDesktopNav && /* @__PURE__ */ React__default.createElement(Transition, {
|
|
3429
3449
|
show: menuIsOpen
|
|
3430
|
-
}, /* @__PURE__ */
|
|
3431
|
-
as:
|
|
3450
|
+
}, /* @__PURE__ */ React__default.createElement(Transition.Child, {
|
|
3451
|
+
as: React__default.Fragment,
|
|
3432
3452
|
enter: "transform transition-all ease-out duration-300",
|
|
3433
3453
|
enterFrom: "opacity-0 -translate-x-full",
|
|
3434
3454
|
enterTo: "opacity-100 translate-x-0",
|
|
3435
3455
|
leave: "transform transition-all ease-in duration-200",
|
|
3436
3456
|
leaveFrom: "opacity-100 translate-x-0",
|
|
3437
3457
|
leaveTo: "opacity-0 -translate-x-full"
|
|
3438
|
-
}, /* @__PURE__ */
|
|
3458
|
+
}, /* @__PURE__ */ React__default.createElement("div", {
|
|
3439
3459
|
className: "fixed left-0 top-0 z-overlay h-full transform"
|
|
3440
|
-
}, /* @__PURE__ */
|
|
3460
|
+
}, /* @__PURE__ */ React__default.createElement(Nav, {
|
|
3441
3461
|
className: "rounded-r-md",
|
|
3442
3462
|
sidebarWidth: 360,
|
|
3443
3463
|
showCollections: true,
|
|
3444
3464
|
collectionsInfo,
|
|
3445
3465
|
screens,
|
|
3446
3466
|
contentCreators: [],
|
|
3447
|
-
RenderNavSite: ({ view }) => /* @__PURE__ */
|
|
3467
|
+
RenderNavSite: ({ view }) => /* @__PURE__ */ React__default.createElement(SidebarLink, {
|
|
3448
3468
|
label: view.name,
|
|
3449
3469
|
to: `screens/${slugify(view.name)}`,
|
|
3450
3470
|
Icon: view.Icon ? view.Icon : ImFilesEmpty,
|
|
@@ -3452,7 +3472,7 @@ const Sidebar = ({ cms }) => {
|
|
|
3452
3472
|
setMenuIsOpen(false);
|
|
3453
3473
|
}
|
|
3454
3474
|
}),
|
|
3455
|
-
RenderNavCollection: ({ collection }) => /* @__PURE__ */
|
|
3475
|
+
RenderNavCollection: ({ collection }) => /* @__PURE__ */ React__default.createElement(SidebarLink, {
|
|
3456
3476
|
label: collection.label ? collection.label : collection.name,
|
|
3457
3477
|
to: `collections/${collection.name}`,
|
|
3458
3478
|
Icon: ImFilesEmpty,
|
|
@@ -3460,19 +3480,19 @@ const Sidebar = ({ cms }) => {
|
|
|
3460
3480
|
setMenuIsOpen(false);
|
|
3461
3481
|
}
|
|
3462
3482
|
})
|
|
3463
|
-
}, /* @__PURE__ */
|
|
3483
|
+
}, /* @__PURE__ */ React__default.createElement("div", {
|
|
3464
3484
|
className: "absolute top-8 right-0 transform translate-x-full overflow-hidden"
|
|
3465
|
-
}, /* @__PURE__ */
|
|
3485
|
+
}, /* @__PURE__ */ React__default.createElement(Button$1, {
|
|
3466
3486
|
rounded: "right",
|
|
3467
3487
|
variant: "secondary",
|
|
3468
3488
|
onClick: () => {
|
|
3469
3489
|
setMenuIsOpen(false);
|
|
3470
3490
|
},
|
|
3471
3491
|
className: `transition-opacity duration-150 ease-out`
|
|
3472
|
-
}, /* @__PURE__ */
|
|
3492
|
+
}, /* @__PURE__ */ React__default.createElement(IoMdClose, {
|
|
3473
3493
|
className: "h-6 w-auto"
|
|
3474
|
-
})))))), /* @__PURE__ */
|
|
3475
|
-
as:
|
|
3494
|
+
})))))), /* @__PURE__ */ React__default.createElement(Transition.Child, {
|
|
3495
|
+
as: React__default.Fragment,
|
|
3476
3496
|
enter: "ease-out duration-300",
|
|
3477
3497
|
enterFrom: "opacity-0",
|
|
3478
3498
|
enterTo: "opacity-80",
|
|
@@ -3480,39 +3500,39 @@ const Sidebar = ({ cms }) => {
|
|
|
3480
3500
|
leave: "ease-in duration-200",
|
|
3481
3501
|
leaveFrom: "opacity-80",
|
|
3482
3502
|
leaveTo: "opacity-0"
|
|
3483
|
-
}, /* @__PURE__ */
|
|
3503
|
+
}, /* @__PURE__ */ React__default.createElement("div", {
|
|
3484
3504
|
onClick: () => {
|
|
3485
3505
|
setMenuIsOpen(false);
|
|
3486
3506
|
},
|
|
3487
3507
|
className: "fixed z-menu inset-0 bg-gradient-to-br from-gray-800 via-gray-900 to-black"
|
|
3488
|
-
}))), !renderDesktopNav && /* @__PURE__ */
|
|
3508
|
+
}))), !renderDesktopNav && /* @__PURE__ */ React__default.createElement(Button$1, {
|
|
3489
3509
|
rounded: "right",
|
|
3490
3510
|
variant: "secondary",
|
|
3491
3511
|
onClick: () => {
|
|
3492
3512
|
setMenuIsOpen(true);
|
|
3493
3513
|
},
|
|
3494
3514
|
className: `pointer-events-auto -ml-px absolute left-0 z-50 ${isLocalMode ? `top-10` : `top-4`}`
|
|
3495
|
-
}, /* @__PURE__ */
|
|
3515
|
+
}, /* @__PURE__ */ React__default.createElement(BiMenu, {
|
|
3496
3516
|
className: "h-7 w-auto"
|
|
3497
3517
|
})));
|
|
3498
3518
|
};
|
|
3499
3519
|
const SidebarLink = (props) => {
|
|
3500
3520
|
const { to, label, Icon } = props;
|
|
3501
|
-
return /* @__PURE__ */
|
|
3521
|
+
return /* @__PURE__ */ React__default.createElement(NavLink, {
|
|
3502
3522
|
className: ({ isActive }) => {
|
|
3503
3523
|
return `text-base tracking-wide ${isActive ? "text-blue-600" : "text-gray-500"} hover:text-blue-600 flex items-center opacity-90 hover:opacity-100`;
|
|
3504
3524
|
},
|
|
3505
3525
|
onClick: props.onClick ? props.onClick : () => {
|
|
3506
3526
|
},
|
|
3507
3527
|
to
|
|
3508
|
-
}, /* @__PURE__ */
|
|
3528
|
+
}, /* @__PURE__ */ React__default.createElement(Icon, {
|
|
3509
3529
|
className: "mr-2 h-6 opacity-80 w-auto"
|
|
3510
3530
|
}), " ", label);
|
|
3511
3531
|
};
|
|
3512
3532
|
const GetCMS = ({ children }) => {
|
|
3513
3533
|
try {
|
|
3514
3534
|
const cms = useCMS();
|
|
3515
|
-
return /* @__PURE__ */
|
|
3535
|
+
return /* @__PURE__ */ React__default.createElement(React__default.Fragment, null, children(cms));
|
|
3516
3536
|
} catch (e) {
|
|
3517
3537
|
return null;
|
|
3518
3538
|
}
|
|
@@ -3524,52 +3544,52 @@ const AuthTemplate = ({
|
|
|
3524
3544
|
message,
|
|
3525
3545
|
children
|
|
3526
3546
|
}) => {
|
|
3527
|
-
return /* @__PURE__ */
|
|
3547
|
+
return /* @__PURE__ */ React__default.createElement("div", {
|
|
3528
3548
|
className: "h-screen w-full bg-gradient-to-b from-blue-900 to-gray-900 flex items-center justify-center px-4 py-6"
|
|
3529
|
-
}, /* @__PURE__ */
|
|
3549
|
+
}, /* @__PURE__ */ React__default.createElement("div", {
|
|
3530
3550
|
className: "bg-white rounded-lg overflow-hidden shadow-lg w-full max-w-lg"
|
|
3531
|
-
}, /* @__PURE__ */
|
|
3551
|
+
}, /* @__PURE__ */ React__default.createElement("div", {
|
|
3532
3552
|
className: "px-5 py-4 border-b border-gray-150"
|
|
3533
|
-
}, /* @__PURE__ */
|
|
3553
|
+
}, /* @__PURE__ */ React__default.createElement("h2", {
|
|
3534
3554
|
className: "text-2xl tracking-wide text-gray-700 flex items-center gap-0.5"
|
|
3535
|
-
}, /* @__PURE__ */
|
|
3555
|
+
}, /* @__PURE__ */ React__default.createElement("svg", {
|
|
3536
3556
|
viewBox: "0 0 32 32",
|
|
3537
3557
|
fill: "#EC4815",
|
|
3538
3558
|
xmlns: "http://www.w3.org/2000/svg",
|
|
3539
3559
|
className: "w-10 h-auto"
|
|
3540
|
-
}, /* @__PURE__ */
|
|
3560
|
+
}, /* @__PURE__ */ React__default.createElement("path", {
|
|
3541
3561
|
d: "M18.6466 14.5553C19.9018 13.5141 20.458 7.36086 21.0014 5.14903C21.5447 2.9372 23.7919 3.04938 23.7919 3.04938C23.7919 3.04938 23.2085 4.06764 23.4464 4.82751C23.6844 5.58738 25.3145 6.26662 25.3145 6.26662L24.9629 7.19622C24.9629 7.19622 24.2288 7.10204 23.7919 7.9785C23.355 8.85496 24.3392 17.4442 24.3392 17.4442C24.3392 17.4442 21.4469 22.7275 21.4469 24.9206C21.4469 27.1136 22.4819 28.9515 22.4819 28.9515H21.0296C21.0296 28.9515 18.899 26.4086 18.462 25.1378C18.0251 23.8669 18.1998 22.596 18.1998 22.596C18.1998 22.596 15.8839 22.4646 13.8303 22.596C11.7767 22.7275 10.4072 24.498 10.16 25.4884C9.91287 26.4787 9.81048 28.9515 9.81048 28.9515H8.66211C7.96315 26.7882 7.40803 26.0129 7.70918 24.9206C8.54334 21.8949 8.37949 20.1788 8.18635 19.4145C7.99321 18.6501 6.68552 17.983 6.68552 17.983C7.32609 16.6741 7.97996 16.0452 10.7926 15.9796C13.6052 15.914 17.3915 15.5965 18.6466 14.5553Z"
|
|
3542
|
-
}), /* @__PURE__ */
|
|
3562
|
+
}), /* @__PURE__ */ React__default.createElement("path", {
|
|
3543
3563
|
d: "M11.1268 24.7939C11.1268 24.7939 11.4236 27.5481 13.0001 28.9516H14.3511C13.0001 27.4166 12.8527 23.4155 12.8527 23.4155C12.1656 23.6399 11.3045 24.3846 11.1268 24.7939Z"
|
|
3544
|
-
})), /* @__PURE__ */
|
|
3564
|
+
})), /* @__PURE__ */ React__default.createElement("span", null, "Tina"))), message && /* @__PURE__ */ React__default.createElement("div", {
|
|
3545
3565
|
className: "px-5 pt-4"
|
|
3546
|
-
}, /* @__PURE__ */
|
|
3566
|
+
}, /* @__PURE__ */ React__default.createElement("p", {
|
|
3547
3567
|
className: "text-base font-sans leading-normal"
|
|
3548
|
-
}, message)), /* @__PURE__ */
|
|
3568
|
+
}, message)), /* @__PURE__ */ React__default.createElement("div", {
|
|
3549
3569
|
className: "px-5 py-4 flex gap-4 w-full justify-between"
|
|
3550
3570
|
}, children)));
|
|
3551
3571
|
};
|
|
3552
3572
|
const LoginPage = () => {
|
|
3553
3573
|
const { setEdit } = useEditState();
|
|
3554
3574
|
const login = () => setEdit(true);
|
|
3555
|
-
return /* @__PURE__ */
|
|
3575
|
+
return /* @__PURE__ */ React__default.createElement(AuthTemplate, null, /* @__PURE__ */ React__default.createElement("div", {
|
|
3556
3576
|
className: "flex w-full flex-1 gap-4 items-center justify-end"
|
|
3557
|
-
}, /* @__PURE__ */
|
|
3577
|
+
}, /* @__PURE__ */ React__default.createElement(Button$1, {
|
|
3558
3578
|
onClick: () => {
|
|
3559
3579
|
window.location.href = "/";
|
|
3560
3580
|
},
|
|
3561
3581
|
variant: "white",
|
|
3562
3582
|
size: "custom",
|
|
3563
3583
|
className: "text-base h-12 px-6 flex-shrink-0 flex-grow-0"
|
|
3564
|
-
}, /* @__PURE__ */
|
|
3584
|
+
}, /* @__PURE__ */ React__default.createElement(MdOutlineArrowBack, {
|
|
3565
3585
|
className: "w-6 h-auto mr-1.5 opacity-80"
|
|
3566
|
-
}), " Back To Site"), /* @__PURE__ */
|
|
3586
|
+
}), " Back To Site"), /* @__PURE__ */ React__default.createElement(Button$1, {
|
|
3567
3587
|
onClick: () => login(),
|
|
3568
3588
|
variant: "primary",
|
|
3569
3589
|
size: "custom",
|
|
3570
3590
|
className: "text-base h-12 px-6 flex-1",
|
|
3571
3591
|
type: "submit"
|
|
3572
|
-
}, /* @__PURE__ */
|
|
3592
|
+
}, /* @__PURE__ */ React__default.createElement(BiLogIn, {
|
|
3573
3593
|
className: "w-6 h-auto mr-2 opacity-80"
|
|
3574
3594
|
}), " Edit With Tina")));
|
|
3575
3595
|
};
|
|
@@ -3578,67 +3598,67 @@ const logout = () => {
|
|
|
3578
3598
|
window.location.href = "/";
|
|
3579
3599
|
};
|
|
3580
3600
|
const LogoutPage = () => {
|
|
3581
|
-
return /* @__PURE__ */
|
|
3601
|
+
return /* @__PURE__ */ React__default.createElement(AuthTemplate, null, /* @__PURE__ */ React__default.createElement("div", {
|
|
3582
3602
|
className: "flex w-full flex-1 gap-4 items-center justify-end"
|
|
3583
|
-
}, /* @__PURE__ */
|
|
3603
|
+
}, /* @__PURE__ */ React__default.createElement(Button$1, {
|
|
3584
3604
|
onClick: () => {
|
|
3585
3605
|
window.location.href = "/";
|
|
3586
3606
|
},
|
|
3587
3607
|
variant: "white",
|
|
3588
3608
|
size: "custom",
|
|
3589
3609
|
className: "text-base h-12 px-6 flex-shrink-0 flex-grow-0"
|
|
3590
|
-
}, /* @__PURE__ */
|
|
3610
|
+
}, /* @__PURE__ */ React__default.createElement(MdOutlineArrowBack, {
|
|
3591
3611
|
className: "w-6 h-auto mr-1.5 opacity-80"
|
|
3592
|
-
}), " Back To Site"), /* @__PURE__ */
|
|
3612
|
+
}), " Back To Site"), /* @__PURE__ */ React__default.createElement(Button$1, {
|
|
3593
3613
|
onClick: () => logout(),
|
|
3594
3614
|
type: "submit",
|
|
3595
3615
|
variant: "primary",
|
|
3596
3616
|
size: "custom",
|
|
3597
3617
|
className: "text-base h-12 px-6 flex-1"
|
|
3598
|
-
}, /* @__PURE__ */
|
|
3618
|
+
}, /* @__PURE__ */ React__default.createElement(BiLogOut, {
|
|
3599
3619
|
className: "w-6 h-auto mr-1.5 opacity-80"
|
|
3600
3620
|
}), " Log Out of Tina")));
|
|
3601
3621
|
};
|
|
3602
3622
|
const PageWrapper = ({
|
|
3603
3623
|
children
|
|
3604
3624
|
}) => {
|
|
3605
|
-
return /* @__PURE__ */
|
|
3625
|
+
return /* @__PURE__ */ React__default.createElement("div", {
|
|
3606
3626
|
className: "relative left-0 w-full h-full bg-gray-50 shadow-2xl overflow-y-auto transition-opacity duration-300 ease-out flex flex-col opacity-100"
|
|
3607
3627
|
}, children);
|
|
3608
3628
|
};
|
|
3609
3629
|
const PageHeader = ({
|
|
3610
3630
|
isLocalMode,
|
|
3611
3631
|
children
|
|
3612
|
-
}) => /* @__PURE__ */
|
|
3632
|
+
}) => /* @__PURE__ */ React__default.createElement(React__default.Fragment, null, isLocalMode && /* @__PURE__ */ React__default.createElement(LocalWarning, null), /* @__PURE__ */ React__default.createElement("div", {
|
|
3613
3633
|
className: "bg-white pb-4 pt-18 border-b border-gray-200 px-12"
|
|
3614
|
-
}, /* @__PURE__ */
|
|
3634
|
+
}, /* @__PURE__ */ React__default.createElement("div", {
|
|
3615
3635
|
className: "w-full mx-auto max-w-screen-xl"
|
|
3616
|
-
}, /* @__PURE__ */
|
|
3636
|
+
}, /* @__PURE__ */ React__default.createElement("div", {
|
|
3617
3637
|
className: "w-full flex justify-between items-end"
|
|
3618
3638
|
}, children))));
|
|
3619
3639
|
const PageBody = ({
|
|
3620
3640
|
children
|
|
3621
|
-
}) => /* @__PURE__ */
|
|
3641
|
+
}) => /* @__PURE__ */ React__default.createElement("div", {
|
|
3622
3642
|
className: "py-10 px-12"
|
|
3623
3643
|
}, children);
|
|
3624
3644
|
const PageBodyNarrow = ({
|
|
3625
3645
|
children
|
|
3626
|
-
}) => /* @__PURE__ */
|
|
3646
|
+
}) => /* @__PURE__ */ React__default.createElement("div", {
|
|
3627
3647
|
className: "py-10 px-12"
|
|
3628
|
-
}, /* @__PURE__ */
|
|
3648
|
+
}, /* @__PURE__ */ React__default.createElement("div", {
|
|
3629
3649
|
className: "w-full mx-auto max-w-screen-xl"
|
|
3630
3650
|
}, children));
|
|
3631
3651
|
const DashboardPage = () => {
|
|
3632
|
-
return /* @__PURE__ */
|
|
3652
|
+
return /* @__PURE__ */ React__default.createElement(GetCMS, null, (cms) => {
|
|
3633
3653
|
var _a, _b;
|
|
3634
|
-
return /* @__PURE__ */
|
|
3654
|
+
return /* @__PURE__ */ React__default.createElement(PageWrapper, null, /* @__PURE__ */ React__default.createElement(React__default.Fragment, null, /* @__PURE__ */ React__default.createElement(PageHeader, {
|
|
3635
3655
|
isLocalMode: (_b = (_a = cms.api) == null ? void 0 : _a.tina) == null ? void 0 : _b.isLocalMode
|
|
3636
|
-
}, /* @__PURE__ */
|
|
3656
|
+
}, /* @__PURE__ */ React__default.createElement("h3", {
|
|
3637
3657
|
className: "text-2xl text-gray-700"
|
|
3638
|
-
}, "Welcome to Tina!")), /* @__PURE__ */
|
|
3658
|
+
}, "Welcome to Tina!")), /* @__PURE__ */ React__default.createElement(PageBodyNarrow, null, "This is your dashboard for editing or creating content. Select a collection on the left to begin.")));
|
|
3639
3659
|
});
|
|
3640
3660
|
};
|
|
3641
|
-
const LoadingPage = () => /* @__PURE__ */
|
|
3661
|
+
const LoadingPage = () => /* @__PURE__ */ React__default.createElement(React__default.Fragment, null, /* @__PURE__ */ React__default.createElement("div", {
|
|
3642
3662
|
style: {
|
|
3643
3663
|
position: "absolute",
|
|
3644
3664
|
top: 0,
|
|
@@ -3652,7 +3672,7 @@ const LoadingPage = () => /* @__PURE__ */ React.createElement(React.Fragment, nu
|
|
|
3652
3672
|
justifyContent: "center",
|
|
3653
3673
|
padding: "120px 40px 40px 40px"
|
|
3654
3674
|
}
|
|
3655
|
-
}, /* @__PURE__ */
|
|
3675
|
+
}, /* @__PURE__ */ React__default.createElement("div", {
|
|
3656
3676
|
style: {
|
|
3657
3677
|
background: "#FFF",
|
|
3658
3678
|
border: "1px solid #EDECF3",
|
|
@@ -3666,7 +3686,7 @@ const LoadingPage = () => /* @__PURE__ */ React.createElement(React.Fragment, nu
|
|
|
3666
3686
|
justifyContent: "center",
|
|
3667
3687
|
flexDirection: "column"
|
|
3668
3688
|
}
|
|
3669
|
-
}, /* @__PURE__ */
|
|
3689
|
+
}, /* @__PURE__ */ React__default.createElement("svg", {
|
|
3670
3690
|
style: {
|
|
3671
3691
|
width: "64px",
|
|
3672
3692
|
color: "#2296fe",
|
|
@@ -3682,13 +3702,13 @@ const LoadingPage = () => /* @__PURE__ */ React.createElement(React.Fragment, nu
|
|
|
3682
3702
|
viewBox: "0 0 100 64",
|
|
3683
3703
|
enableBackground: "new 0 0 0 0",
|
|
3684
3704
|
xmlSpace: "preserve"
|
|
3685
|
-
}, /* @__PURE__ */
|
|
3705
|
+
}, /* @__PURE__ */ React__default.createElement("circle", {
|
|
3686
3706
|
fill: "currentColor",
|
|
3687
3707
|
stroke: "none",
|
|
3688
3708
|
cx: 6,
|
|
3689
3709
|
cy: 32,
|
|
3690
3710
|
r: 6
|
|
3691
|
-
}, /* @__PURE__ */
|
|
3711
|
+
}, /* @__PURE__ */ React__default.createElement("animateTransform", {
|
|
3692
3712
|
attributeName: "transform",
|
|
3693
3713
|
dur: "1s",
|
|
3694
3714
|
type: "translate",
|
|
@@ -3697,13 +3717,13 @@ const LoadingPage = () => /* @__PURE__ */ React.createElement(React.Fragment, nu
|
|
|
3697
3717
|
keySplines: "0.8 0 0.4 1; 0.4 0 0.2 1",
|
|
3698
3718
|
repeatCount: "indefinite",
|
|
3699
3719
|
begin: "0.1"
|
|
3700
|
-
})), /* @__PURE__ */
|
|
3720
|
+
})), /* @__PURE__ */ React__default.createElement("circle", {
|
|
3701
3721
|
fill: "currentColor",
|
|
3702
3722
|
stroke: "none",
|
|
3703
3723
|
cx: 30,
|
|
3704
3724
|
cy: 32,
|
|
3705
3725
|
r: 6
|
|
3706
|
-
}, /* @__PURE__ */
|
|
3726
|
+
}, /* @__PURE__ */ React__default.createElement("animateTransform", {
|
|
3707
3727
|
attributeName: "transform",
|
|
3708
3728
|
dur: "1s",
|
|
3709
3729
|
type: "translate",
|
|
@@ -3712,13 +3732,13 @@ const LoadingPage = () => /* @__PURE__ */ React.createElement(React.Fragment, nu
|
|
|
3712
3732
|
keySplines: "0.8 0 0.4 1; 0.4 0 0.2 1",
|
|
3713
3733
|
repeatCount: "indefinite",
|
|
3714
3734
|
begin: "0.2"
|
|
3715
|
-
})), /* @__PURE__ */
|
|
3735
|
+
})), /* @__PURE__ */ React__default.createElement("circle", {
|
|
3716
3736
|
fill: "currentColor",
|
|
3717
3737
|
stroke: "none",
|
|
3718
3738
|
cx: 54,
|
|
3719
3739
|
cy: 32,
|
|
3720
3740
|
r: 6
|
|
3721
|
-
}, /* @__PURE__ */
|
|
3741
|
+
}, /* @__PURE__ */ React__default.createElement("animateTransform", {
|
|
3722
3742
|
attributeName: "transform",
|
|
3723
3743
|
dur: "1s",
|
|
3724
3744
|
type: "translate",
|
|
@@ -3727,7 +3747,7 @@ const LoadingPage = () => /* @__PURE__ */ React.createElement(React.Fragment, nu
|
|
|
3727
3747
|
keySplines: "0.8 0 0.4 1; 0.4 0 0.2 1",
|
|
3728
3748
|
repeatCount: "indefinite",
|
|
3729
3749
|
begin: "0.3"
|
|
3730
|
-
}))), /* @__PURE__ */
|
|
3750
|
+
}))), /* @__PURE__ */ React__default.createElement("p", {
|
|
3731
3751
|
style: {
|
|
3732
3752
|
fontSize: "16px",
|
|
3733
3753
|
color: "#716c7f",
|
|
@@ -3737,7 +3757,7 @@ const LoadingPage = () => /* @__PURE__ */ React.createElement(React.Fragment, nu
|
|
|
3737
3757
|
fontWeight: "normal"
|
|
3738
3758
|
}
|
|
3739
3759
|
}, "Please wait, Tina is loading data..."))));
|
|
3740
|
-
const useGetCollection = (cms, collectionName, includeDocuments = true) => {
|
|
3760
|
+
const useGetCollection = (cms, collectionName, includeDocuments = true, after = "") => {
|
|
3741
3761
|
const api = new TinaAdminApi(cms);
|
|
3742
3762
|
const [collection, setCollection] = useState(void 0);
|
|
3743
3763
|
const [loading, setLoading] = useState(true);
|
|
@@ -3747,7 +3767,7 @@ const useGetCollection = (cms, collectionName, includeDocuments = true) => {
|
|
|
3747
3767
|
const fetchCollection = async () => {
|
|
3748
3768
|
if (await api.isAuthenticated()) {
|
|
3749
3769
|
try {
|
|
3750
|
-
const collection2 = await api.fetchCollection(collectionName, includeDocuments);
|
|
3770
|
+
const collection2 = await api.fetchCollection(collectionName, includeDocuments, after);
|
|
3751
3771
|
setCollection(collection2);
|
|
3752
3772
|
} catch (error2) {
|
|
3753
3773
|
cms.alerts.error(`[${error2.name}] GetCollection failed: ${error2.message}`, 30 * 1e3);
|
|
@@ -3760,7 +3780,7 @@ const useGetCollection = (cms, collectionName, includeDocuments = true) => {
|
|
|
3760
3780
|
};
|
|
3761
3781
|
setLoading(true);
|
|
3762
3782
|
fetchCollection();
|
|
3763
|
-
}, [cms, collectionName, resetState]);
|
|
3783
|
+
}, [cms, collectionName, resetState, after]);
|
|
3764
3784
|
const reFetchCollection = () => setResetSate((x) => x + 1);
|
|
3765
3785
|
return { collection, loading, error, reFetchCollection };
|
|
3766
3786
|
};
|
|
@@ -3768,26 +3788,169 @@ const GetCollection = ({
|
|
|
3768
3788
|
cms,
|
|
3769
3789
|
collectionName,
|
|
3770
3790
|
includeDocuments = true,
|
|
3791
|
+
startCursor,
|
|
3771
3792
|
children
|
|
3772
3793
|
}) => {
|
|
3773
|
-
const { collection, loading, error, reFetchCollection } = useGetCollection(cms, collectionName, includeDocuments);
|
|
3794
|
+
const { collection, loading, error, reFetchCollection } = useGetCollection(cms, collectionName, includeDocuments, startCursor || "");
|
|
3774
3795
|
if (error) {
|
|
3775
3796
|
return null;
|
|
3776
3797
|
}
|
|
3777
3798
|
if (loading) {
|
|
3778
|
-
return /* @__PURE__ */
|
|
3799
|
+
return /* @__PURE__ */ React__default.createElement(LoadingPage, null);
|
|
3800
|
+
}
|
|
3801
|
+
return /* @__PURE__ */ React__default.createElement(React__default.Fragment, null, children(collection, loading, reFetchCollection));
|
|
3802
|
+
};
|
|
3803
|
+
const theme = css`
|
|
3804
|
+
:root {
|
|
3805
|
+
--tina-color-primary-light: #2296fe;
|
|
3806
|
+
--tina-color-primary: #0084ff;
|
|
3807
|
+
--tina-color-primary-dark: #0574e4;
|
|
3808
|
+
--tina-color-error-light: #eb6337;
|
|
3809
|
+
--tina-color-error: #ec4815;
|
|
3810
|
+
--tina-color-error-dark: #dc4419;
|
|
3811
|
+
--tina-color-warning-light: #f5e06e;
|
|
3812
|
+
--tina-color-warning: #e9d050;
|
|
3813
|
+
--tina-color-warning-dark: #d3ba38;
|
|
3814
|
+
--tina-color-success-light: #57c355;
|
|
3815
|
+
--tina-color-success: #3cad3a;
|
|
3816
|
+
--tina-color-success-dark: #249a21;
|
|
3817
|
+
--tina-color-grey-0: #ffffff;
|
|
3818
|
+
--tina-color-grey-1: #f6f6f9;
|
|
3819
|
+
--tina-color-grey-2: #edecf3;
|
|
3820
|
+
--tina-color-grey-3: #e1ddec;
|
|
3821
|
+
--tina-color-grey-4: #b2adbe;
|
|
3822
|
+
--tina-color-grey-5: #918c9e;
|
|
3823
|
+
--tina-color-grey-6: #716c7f;
|
|
3824
|
+
--tina-color-grey-7: #565165;
|
|
3825
|
+
--tina-color-grey-8: #433e52;
|
|
3826
|
+
--tina-color-grey-9: #363145;
|
|
3827
|
+
--tina-color-grey-10: #252336;
|
|
3828
|
+
--tina-color-indicator: var(--tina-color-primary);
|
|
3829
|
+
|
|
3830
|
+
--tina-radius-small: 5px;
|
|
3831
|
+
--tina-radius-big: 24px;
|
|
3832
|
+
|
|
3833
|
+
--tina-padding-small: 12px;
|
|
3834
|
+
--tina-padding-big: 20px;
|
|
3835
|
+
|
|
3836
|
+
--tina-font-size-0: 12px;
|
|
3837
|
+
--tina-font-size-1: 13px;
|
|
3838
|
+
--tina-font-size-2: 15px;
|
|
3839
|
+
--tina-font-size-3: 16px;
|
|
3840
|
+
--tina-font-size-4: 18px;
|
|
3841
|
+
--tina-font-size-5: 20px;
|
|
3842
|
+
--tina-font-size-6: 22px;
|
|
3843
|
+
--tina-font-size-7: 26px;
|
|
3844
|
+
--tina-font-size-8: 32px;
|
|
3845
|
+
|
|
3846
|
+
--tina-font-family: 'Inter', sans-serif;
|
|
3847
|
+
|
|
3848
|
+
--tina-font-weight-regular: 400;
|
|
3849
|
+
--tina-font-weight-bold: 600;
|
|
3850
|
+
|
|
3851
|
+
--tina-shadow-big: 0px 2px 3px rgba(0, 0, 0, 0.05),
|
|
3852
|
+
0 4px 12px rgba(0, 0, 0, 0.1);
|
|
3853
|
+
--tina-shadow-small: 0px 2px 3px rgba(0, 0, 0, 0.12);
|
|
3854
|
+
|
|
3855
|
+
--tina-timing-short: 85ms;
|
|
3856
|
+
--tina-timing-medium: 150ms;
|
|
3857
|
+
--tina-timing-long: 250ms;
|
|
3858
|
+
|
|
3859
|
+
--tina-z-index-0: 0;
|
|
3860
|
+
--tina-z-index-1: 10;
|
|
3861
|
+
--tina-z-index-2: 20;
|
|
3862
|
+
--tina-z-index-3: 30;
|
|
3863
|
+
--tina-z-index-4: 40;
|
|
3864
|
+
--tina-z-index-5: 50;
|
|
3865
|
+
|
|
3866
|
+
--tina-sidebar-width: 340px;
|
|
3867
|
+
--tina-sidebar-header-height: 60px;
|
|
3868
|
+
--tina-toolbar-height: 62px;
|
|
3779
3869
|
}
|
|
3780
|
-
|
|
3870
|
+
`;
|
|
3871
|
+
createGlobalStyle`
|
|
3872
|
+
${theme};
|
|
3873
|
+
`;
|
|
3874
|
+
const Button = (_g) => {
|
|
3875
|
+
var _h = _g, {
|
|
3876
|
+
variant = "secondary",
|
|
3877
|
+
as: Tag = "button",
|
|
3878
|
+
size = "medium",
|
|
3879
|
+
busy,
|
|
3880
|
+
disabled,
|
|
3881
|
+
rounded = "full",
|
|
3882
|
+
children,
|
|
3883
|
+
className
|
|
3884
|
+
} = _h, props = __objRest(_h, [
|
|
3885
|
+
"variant",
|
|
3886
|
+
"as",
|
|
3887
|
+
"size",
|
|
3888
|
+
"busy",
|
|
3889
|
+
"disabled",
|
|
3890
|
+
"rounded",
|
|
3891
|
+
"children",
|
|
3892
|
+
"className"
|
|
3893
|
+
]);
|
|
3894
|
+
const baseClasses = "icon-parent inline-flex items-center font-medium focus:outline-none focus:ring-2 focus:shadow-outline text-center inline-flex justify-center transition-all duration-150 ease-out ";
|
|
3895
|
+
const variantClasses = {
|
|
3896
|
+
primary: `shadow text-white bg-blue-500 hover:bg-blue-600 focus:ring-blue-500`,
|
|
3897
|
+
secondary: `shadow text-gray-500 hover:text-blue-500 bg-gray-50 hover:bg-white border border-gray-200`,
|
|
3898
|
+
white: `shadow text-gray-500 hover:text-blue-500 bg-white hover:bg-gray-50 border border-gray-200`,
|
|
3899
|
+
ghost: `text-gray-500 hover:text-blue-500 hover:shadow border border-transparent hover:border-gray-200 bg-transparent`,
|
|
3900
|
+
danger: `shadow text-white bg-red-500 hover:bg-red-600 focus:ring-red-500`
|
|
3901
|
+
};
|
|
3902
|
+
const state = busy ? `busy` : disabled ? `disabled` : `default`;
|
|
3903
|
+
const stateClasses = {
|
|
3904
|
+
disabled: `pointer-events-none opacity-30 cursor-not-allowed`,
|
|
3905
|
+
busy: `pointer-events-none opacity-70 cursor-wait`,
|
|
3906
|
+
default: ``
|
|
3907
|
+
};
|
|
3908
|
+
const roundedClasses = {
|
|
3909
|
+
full: `rounded-full`,
|
|
3910
|
+
left: `rounded-l-full`,
|
|
3911
|
+
right: `rounded-r-full`
|
|
3912
|
+
};
|
|
3913
|
+
const sizeClasses = {
|
|
3914
|
+
small: `text-xs h-8 px-3`,
|
|
3915
|
+
medium: `text-sm h-10 px-4`,
|
|
3916
|
+
custom: ``
|
|
3917
|
+
};
|
|
3918
|
+
return /* @__PURE__ */ React.createElement(Tag, __spreadValues({
|
|
3919
|
+
className: `${baseClasses} ${variantClasses[variant]} ${sizeClasses[size]} ${stateClasses[state]} ${roundedClasses[rounded]} ${className}`
|
|
3920
|
+
}, props), children);
|
|
3781
3921
|
};
|
|
3922
|
+
function CursorPaginator({
|
|
3923
|
+
navigateNext,
|
|
3924
|
+
navigatePrev,
|
|
3925
|
+
hasNext,
|
|
3926
|
+
hasPrev,
|
|
3927
|
+
variant = "secondary"
|
|
3928
|
+
}) {
|
|
3929
|
+
return /* @__PURE__ */ React__default.createElement("div", {
|
|
3930
|
+
className: "w-full flex flex-shrink-0 justify-end gap-2 items-center"
|
|
3931
|
+
}, /* @__PURE__ */ React__default.createElement(Button, {
|
|
3932
|
+
variant,
|
|
3933
|
+
disabled: !hasPrev,
|
|
3934
|
+
onClick: navigatePrev
|
|
3935
|
+
}, /* @__PURE__ */ React__default.createElement(BiLeftArrowAlt, {
|
|
3936
|
+
className: "w-6 h-full mr-2 opacity-70"
|
|
3937
|
+
}), " Previous"), /* @__PURE__ */ React__default.createElement(Button, {
|
|
3938
|
+
variant,
|
|
3939
|
+
disabled: !hasNext,
|
|
3940
|
+
onClick: navigateNext
|
|
3941
|
+
}, "Next ", /* @__PURE__ */ React__default.createElement(BiRightArrowAlt, {
|
|
3942
|
+
className: "w-6 h-full ml-2 opacity-70"
|
|
3943
|
+
})));
|
|
3944
|
+
}
|
|
3782
3945
|
const TemplateMenu = ({ templates }) => {
|
|
3783
|
-
return /* @__PURE__ */
|
|
3946
|
+
return /* @__PURE__ */ React__default.createElement(Menu, {
|
|
3784
3947
|
as: "div",
|
|
3785
3948
|
className: "relative inline-block text-left"
|
|
3786
|
-
}, () => /* @__PURE__ */
|
|
3949
|
+
}, () => /* @__PURE__ */ React__default.createElement("div", null, /* @__PURE__ */ React__default.createElement("div", null, /* @__PURE__ */ React__default.createElement(Menu.Button, {
|
|
3787
3950
|
className: "icon-parent inline-flex items-center font-medium focus:outline-none focus:ring-2 focus:shadow-outline text-center rounded-full justify-center transition-all duration-150 ease-out shadow text-white bg-blue-500 hover:bg-blue-600 focus:ring-blue-500 text-sm h-10 px-6"
|
|
3788
|
-
}, "Create New ", /* @__PURE__ */
|
|
3951
|
+
}, "Create New ", /* @__PURE__ */ React__default.createElement(BiPlus, {
|
|
3789
3952
|
className: "w-5 h-full ml-1 opacity-70"
|
|
3790
|
-
}))), /* @__PURE__ */
|
|
3953
|
+
}))), /* @__PURE__ */ React__default.createElement(Transition, {
|
|
3791
3954
|
as: Fragment,
|
|
3792
3955
|
enter: "transition ease-out duration-100",
|
|
3793
3956
|
enterFrom: "transform opacity-0 scale-95",
|
|
@@ -3795,13 +3958,13 @@ const TemplateMenu = ({ templates }) => {
|
|
|
3795
3958
|
leave: "transition ease-in duration-75",
|
|
3796
3959
|
leaveFrom: "transform opacity-100 scale-100",
|
|
3797
3960
|
leaveTo: "transform opacity-0 scale-95"
|
|
3798
|
-
}, /* @__PURE__ */
|
|
3961
|
+
}, /* @__PURE__ */ React__default.createElement(Menu.Items, {
|
|
3799
3962
|
className: "origin-top-right absolute right-0 mt-2 w-56 rounded-md shadow-lg bg-white ring-1 ring-black ring-opacity-5 focus:outline-none"
|
|
3800
|
-
}, /* @__PURE__ */
|
|
3963
|
+
}, /* @__PURE__ */ React__default.createElement("div", {
|
|
3801
3964
|
className: "py-1"
|
|
3802
|
-
}, templates.map((template) => /* @__PURE__ */
|
|
3965
|
+
}, templates.map((template) => /* @__PURE__ */ React__default.createElement(Menu.Item, {
|
|
3803
3966
|
key: `${template.label}-${template.name}`
|
|
3804
|
-
}, ({ active }) => /* @__PURE__ */
|
|
3967
|
+
}, ({ active }) => /* @__PURE__ */ React__default.createElement(Link, {
|
|
3805
3968
|
to: `${template.name}/new`,
|
|
3806
3969
|
className: `w-full text-md px-4 py-2 tracking-wide flex items-center opacity-80 text-gray-600 ${active && "text-gray-800 opacity-100"}`
|
|
3807
3970
|
}, template.label))))))));
|
|
@@ -3820,22 +3983,32 @@ const handleNavigate = (navigate, cms, collection, document) => {
|
|
|
3820
3983
|
const CollectionListPage = () => {
|
|
3821
3984
|
const navigate = useNavigate();
|
|
3822
3985
|
const { collectionName } = useParams();
|
|
3823
|
-
const [open, setOpen] =
|
|
3824
|
-
const [vars, setVars] =
|
|
3986
|
+
const [open, setOpen] = React__default.useState(false);
|
|
3987
|
+
const [vars, setVars] = React__default.useState({
|
|
3825
3988
|
collection: collectionName,
|
|
3826
3989
|
relativePath: ""
|
|
3827
3990
|
});
|
|
3828
|
-
|
|
3829
|
-
|
|
3991
|
+
const [endCursor, setEndCursor] = useState("");
|
|
3992
|
+
const [prevCursors, setPrevCursors] = useState([]);
|
|
3993
|
+
const loc = useLocation();
|
|
3994
|
+
useEffect(() => {
|
|
3995
|
+
setEndCursor("");
|
|
3996
|
+
setPrevCursors([]);
|
|
3997
|
+
}, [loc]);
|
|
3998
|
+
return /* @__PURE__ */ React__default.createElement(GetCMS, null, (cms) => {
|
|
3999
|
+
return /* @__PURE__ */ React__default.createElement(GetCollection, {
|
|
3830
4000
|
cms,
|
|
3831
4001
|
collectionName,
|
|
3832
|
-
includeDocuments: true
|
|
4002
|
+
includeDocuments: true,
|
|
4003
|
+
startCursor: endCursor
|
|
3833
4004
|
}, (collection, _loading, reFetchCollection) => {
|
|
3834
4005
|
var _a, _b;
|
|
3835
4006
|
const totalCount = collection.documents.totalCount;
|
|
3836
4007
|
const documents = collection.documents.edges;
|
|
3837
4008
|
const admin = cms.api.admin;
|
|
3838
|
-
|
|
4009
|
+
const pageInfo = collection.documents.pageInfo;
|
|
4010
|
+
const useDataFlag = cms.flags.get("experimentalData");
|
|
4011
|
+
return /* @__PURE__ */ React__default.createElement(PageWrapper, null, /* @__PURE__ */ React__default.createElement(React__default.Fragment, null, open && /* @__PURE__ */ React__default.createElement(DeleteModal, {
|
|
3839
4012
|
filename: vars.relativePath,
|
|
3840
4013
|
deleteFunc: async () => {
|
|
3841
4014
|
try {
|
|
@@ -3849,71 +4022,71 @@ const CollectionListPage = () => {
|
|
|
3849
4022
|
}
|
|
3850
4023
|
},
|
|
3851
4024
|
close: () => setOpen(false)
|
|
3852
|
-
}), /* @__PURE__ */
|
|
4025
|
+
}), /* @__PURE__ */ React__default.createElement(PageHeader, {
|
|
3853
4026
|
isLocalMode: (_b = (_a = cms == null ? void 0 : cms.api) == null ? void 0 : _a.tina) == null ? void 0 : _b.isLocalMode
|
|
3854
|
-
}, /* @__PURE__ */
|
|
4027
|
+
}, /* @__PURE__ */ React__default.createElement(React__default.Fragment, null, /* @__PURE__ */ React__default.createElement("h3", {
|
|
3855
4028
|
className: "text-2xl text-gray-700"
|
|
3856
|
-
}, collection.label ? collection.label : collection.name), !collection.templates && /* @__PURE__ */
|
|
4029
|
+
}, collection.label ? collection.label : collection.name), !collection.templates && /* @__PURE__ */ React__default.createElement(Link, {
|
|
3857
4030
|
to: `new`,
|
|
3858
4031
|
className: "icon-parent inline-flex items-center font-medium focus:outline-none focus:ring-2 focus:shadow-outline text-center rounded-full justify-center transition-all duration-150 ease-out shadow text-white bg-blue-500 hover:bg-blue-600 focus:ring-blue-500 text-sm h-10 px-6"
|
|
3859
|
-
}, "Create New", " ", /* @__PURE__ */
|
|
4032
|
+
}, "Create New", " ", /* @__PURE__ */ React__default.createElement(BiPlus, {
|
|
3860
4033
|
className: "w-5 h-full ml-1 opacity-70"
|
|
3861
|
-
})), collection.templates && /* @__PURE__ */
|
|
4034
|
+
})), collection.templates && /* @__PURE__ */ React__default.createElement(TemplateMenu, {
|
|
3862
4035
|
templates: collection.templates
|
|
3863
|
-
}))), /* @__PURE__ */
|
|
4036
|
+
}))), /* @__PURE__ */ React__default.createElement(PageBody, null, /* @__PURE__ */ React__default.createElement("div", {
|
|
3864
4037
|
className: "w-full mx-auto max-w-screen-xl"
|
|
3865
|
-
}, totalCount > 0 && /* @__PURE__ */
|
|
4038
|
+
}, totalCount > 0 && /* @__PURE__ */ React__default.createElement("table", {
|
|
3866
4039
|
className: "table-auto shadow bg-white border-b border-gray-200 w-full max-w-full rounded-lg"
|
|
3867
|
-
}, /* @__PURE__ */
|
|
4040
|
+
}, /* @__PURE__ */ React__default.createElement("tbody", {
|
|
3868
4041
|
className: "divide-y divide-gray-150"
|
|
3869
4042
|
}, documents.map((document) => {
|
|
3870
4043
|
var _a2;
|
|
3871
4044
|
const hasTitle = Boolean(document.node._sys.title);
|
|
3872
4045
|
const subfolders = document.node._sys.breadcrumbs.slice(0, -1).join("/");
|
|
3873
|
-
return /* @__PURE__ */
|
|
4046
|
+
return /* @__PURE__ */ React__default.createElement("tr", {
|
|
3874
4047
|
key: `document-${document.node._sys.relativePath}`,
|
|
3875
4048
|
className: ""
|
|
3876
|
-
}, /* @__PURE__ */
|
|
4049
|
+
}, /* @__PURE__ */ React__default.createElement("td", {
|
|
3877
4050
|
className: "px-6 py-2 whitespace-nowrap"
|
|
3878
|
-
}, /* @__PURE__ */
|
|
4051
|
+
}, /* @__PURE__ */ React__default.createElement("a", {
|
|
3879
4052
|
className: "text-blue-600 hover:text-blue-400 flex items-center gap-3 cursor-pointer",
|
|
3880
4053
|
onClick: () => {
|
|
3881
4054
|
handleNavigate(navigate, cms, collection, document.node);
|
|
3882
4055
|
}
|
|
3883
|
-
}, /* @__PURE__ */
|
|
4056
|
+
}, /* @__PURE__ */ React__default.createElement(BiEdit, {
|
|
3884
4057
|
className: "inline-block h-6 w-auto opacity-70"
|
|
3885
|
-
}), /* @__PURE__ */
|
|
4058
|
+
}), /* @__PURE__ */ React__default.createElement("span", null, /* @__PURE__ */ React__default.createElement("span", {
|
|
3886
4059
|
className: "block text-xs text-gray-400 mb-1 uppercase"
|
|
3887
|
-
}, hasTitle ? "Title" : "Filename"), /* @__PURE__ */
|
|
4060
|
+
}, hasTitle ? "Title" : "Filename"), /* @__PURE__ */ React__default.createElement("span", {
|
|
3888
4061
|
className: "h-5 leading-5 block whitespace-nowrap"
|
|
3889
|
-
}, subfolders && /* @__PURE__ */
|
|
4062
|
+
}, subfolders && /* @__PURE__ */ React__default.createElement("span", {
|
|
3890
4063
|
className: "text-xs text-gray-400"
|
|
3891
|
-
}, `${subfolders}/`), /* @__PURE__ */
|
|
4064
|
+
}, `${subfolders}/`), /* @__PURE__ */ React__default.createElement("span", null, hasTitle ? (_a2 = document.node._sys) == null ? void 0 : _a2.title : document.node._sys.filename))))), hasTitle && /* @__PURE__ */ React__default.createElement("td", {
|
|
3892
4065
|
className: "px-6 py-4 whitespace-nowrap"
|
|
3893
|
-
}, /* @__PURE__ */
|
|
4066
|
+
}, /* @__PURE__ */ React__default.createElement("span", {
|
|
3894
4067
|
className: "block text-xs text-gray-400 mb-1 uppercase"
|
|
3895
|
-
}, "Filename"), /* @__PURE__ */
|
|
4068
|
+
}, "Filename"), /* @__PURE__ */ React__default.createElement("span", {
|
|
3896
4069
|
className: "h-5 leading-5 block text-sm font-medium text-gray-900"
|
|
3897
|
-
}, document.node._sys.filename)), /* @__PURE__ */
|
|
4070
|
+
}, document.node._sys.filename)), /* @__PURE__ */ React__default.createElement("td", {
|
|
3898
4071
|
className: "px-6 py-4 whitespace-nowrap"
|
|
3899
|
-
}, /* @__PURE__ */
|
|
4072
|
+
}, /* @__PURE__ */ React__default.createElement("span", {
|
|
3900
4073
|
className: "block text-xs text-gray-400 mb-1 uppercase"
|
|
3901
|
-
}, "Extension"), /* @__PURE__ */
|
|
4074
|
+
}, "Extension"), /* @__PURE__ */ React__default.createElement("span", {
|
|
3902
4075
|
className: "h-5 leading-5 block text-sm font-medium text-gray-900"
|
|
3903
|
-
}, document.node._sys.extension)), /* @__PURE__ */
|
|
4076
|
+
}, document.node._sys.extension)), /* @__PURE__ */ React__default.createElement("td", {
|
|
3904
4077
|
className: "px-6 py-4 whitespace-nowrap"
|
|
3905
|
-
}, /* @__PURE__ */
|
|
4078
|
+
}, /* @__PURE__ */ React__default.createElement("span", {
|
|
3906
4079
|
className: "block text-xs text-gray-400 mb-1 uppercase"
|
|
3907
|
-
}, "Template"), /* @__PURE__ */
|
|
4080
|
+
}, "Template"), /* @__PURE__ */ React__default.createElement("span", {
|
|
3908
4081
|
className: "h-5 leading-5 block text-sm font-medium text-gray-900"
|
|
3909
|
-
}, document.node._sys.template)), /* @__PURE__ */
|
|
4082
|
+
}, document.node._sys.template)), /* @__PURE__ */ React__default.createElement("td", {
|
|
3910
4083
|
className: "w-0"
|
|
3911
|
-
}, /* @__PURE__ */
|
|
4084
|
+
}, /* @__PURE__ */ React__default.createElement(OverflowMenu, {
|
|
3912
4085
|
toolbarItems: [
|
|
3913
4086
|
{
|
|
3914
4087
|
name: "edit",
|
|
3915
4088
|
label: "Edit in Admin",
|
|
3916
|
-
Icon: /* @__PURE__ */
|
|
4089
|
+
Icon: /* @__PURE__ */ React__default.createElement(BiEdit, {
|
|
3917
4090
|
size: "1.3rem"
|
|
3918
4091
|
}),
|
|
3919
4092
|
onMouseDown: () => {
|
|
@@ -3923,7 +4096,7 @@ const CollectionListPage = () => {
|
|
|
3923
4096
|
{
|
|
3924
4097
|
name: "delete",
|
|
3925
4098
|
label: "Delete",
|
|
3926
|
-
Icon: /* @__PURE__ */
|
|
4099
|
+
Icon: /* @__PURE__ */ React__default.createElement(BiTrash, {
|
|
3927
4100
|
size: "1.3rem",
|
|
3928
4101
|
className: "text-red-500"
|
|
3929
4102
|
}),
|
|
@@ -3937,19 +4110,38 @@ const CollectionListPage = () => {
|
|
|
3937
4110
|
}
|
|
3938
4111
|
]
|
|
3939
4112
|
})));
|
|
3940
|
-
})))
|
|
4113
|
+
}))), useDataFlag && /* @__PURE__ */ React__default.createElement("div", {
|
|
4114
|
+
className: "pt-3"
|
|
4115
|
+
}, /* @__PURE__ */ React__default.createElement(CursorPaginator, {
|
|
4116
|
+
variant: "white",
|
|
4117
|
+
hasNext: pageInfo == null ? void 0 : pageInfo.hasNextPage,
|
|
4118
|
+
navigateNext: () => {
|
|
4119
|
+
const newState = [...prevCursors, endCursor];
|
|
4120
|
+
setPrevCursors(newState);
|
|
4121
|
+
setEndCursor(pageInfo == null ? void 0 : pageInfo.endCursor);
|
|
4122
|
+
},
|
|
4123
|
+
hasPrev: prevCursors.length > 0,
|
|
4124
|
+
navigatePrev: () => {
|
|
4125
|
+
const prev = prevCursors[prevCursors.length - 1];
|
|
4126
|
+
if (typeof prev === "string") {
|
|
4127
|
+
const newState = prevCursors.slice(0, -1);
|
|
4128
|
+
setPrevCursors(newState);
|
|
4129
|
+
setEndCursor(prev);
|
|
4130
|
+
}
|
|
4131
|
+
}
|
|
4132
|
+
}))))));
|
|
3941
4133
|
});
|
|
3942
4134
|
});
|
|
3943
4135
|
};
|
|
3944
4136
|
const DeleteModal = ({ close: close2, deleteFunc, filename }) => {
|
|
3945
|
-
return /* @__PURE__ */
|
|
4137
|
+
return /* @__PURE__ */ React__default.createElement(Modal, null, /* @__PURE__ */ React__default.createElement(ModalPopup, null, /* @__PURE__ */ React__default.createElement(ModalHeader, {
|
|
3946
4138
|
close: close2
|
|
3947
|
-
}, "Delete ", filename), /* @__PURE__ */
|
|
4139
|
+
}, "Delete ", filename), /* @__PURE__ */ React__default.createElement(ModalBody, {
|
|
3948
4140
|
padded: true
|
|
3949
|
-
}, /* @__PURE__ */
|
|
4141
|
+
}, /* @__PURE__ */ React__default.createElement("p", null, `Are you sure you want to delete ${filename}?`)), /* @__PURE__ */ React__default.createElement(ModalActions, null, /* @__PURE__ */ React__default.createElement(Button$1, {
|
|
3950
4142
|
style: { flexGrow: 2 },
|
|
3951
4143
|
onClick: close2
|
|
3952
|
-
}, "Cancel"), /* @__PURE__ */
|
|
4144
|
+
}, "Cancel"), /* @__PURE__ */ React__default.createElement(Button$1, {
|
|
3953
4145
|
style: { flexGrow: 3 },
|
|
3954
4146
|
variant: "danger",
|
|
3955
4147
|
onClick: async () => {
|
|
@@ -3983,7 +4175,7 @@ const createDocument = async (cms, collection, template, mutationInfo, values) =
|
|
|
3983
4175
|
};
|
|
3984
4176
|
const CollectionCreatePage = () => {
|
|
3985
4177
|
const { collectionName, templateName } = useParams();
|
|
3986
|
-
return /* @__PURE__ */
|
|
4178
|
+
return /* @__PURE__ */ React__default.createElement(GetCMS, null, (cms) => /* @__PURE__ */ React__default.createElement(GetCollection, {
|
|
3987
4179
|
cms,
|
|
3988
4180
|
collectionName,
|
|
3989
4181
|
includeDocuments: false
|
|
@@ -3992,7 +4184,7 @@ const CollectionCreatePage = () => {
|
|
|
3992
4184
|
includeCollection: true,
|
|
3993
4185
|
includeTemplate: !!collection.templates
|
|
3994
4186
|
};
|
|
3995
|
-
return /* @__PURE__ */
|
|
4187
|
+
return /* @__PURE__ */ React__default.createElement(RenderForm$1, {
|
|
3996
4188
|
cms,
|
|
3997
4189
|
collection,
|
|
3998
4190
|
templateName,
|
|
@@ -4025,7 +4217,7 @@ const RenderForm$1 = ({ cms, collection, templateName, mutationInfo }) => {
|
|
|
4025
4217
|
name: "filename",
|
|
4026
4218
|
label: "Filename",
|
|
4027
4219
|
component: "text",
|
|
4028
|
-
description: /* @__PURE__ */
|
|
4220
|
+
description: /* @__PURE__ */ React__default.createElement("span", null, "A unique filename for the content.", /* @__PURE__ */ React__default.createElement("br", null), "Examples: ", /* @__PURE__ */ React__default.createElement("code", null, "My_Document"), ", ", /* @__PURE__ */ React__default.createElement("code", null, "My_Document.en"), ",", " ", /* @__PURE__ */ React__default.createElement("code", null, "sub-folder/My_Document")),
|
|
4029
4221
|
placeholder: `My_Document`,
|
|
4030
4222
|
validate: (value, allValues, meta) => {
|
|
4031
4223
|
if (!value) {
|
|
@@ -4058,24 +4250,24 @@ const RenderForm$1 = ({ cms, collection, templateName, mutationInfo }) => {
|
|
|
4058
4250
|
const windowWidth = useWindowWidth();
|
|
4059
4251
|
const renderNavToggle = windowWidth < navBreakpoint + 1;
|
|
4060
4252
|
const headerPadding = renderNavToggle ? "px-20" : "px-6";
|
|
4061
|
-
return /* @__PURE__ */
|
|
4253
|
+
return /* @__PURE__ */ React__default.createElement(PageWrapper, null, /* @__PURE__ */ React__default.createElement(React__default.Fragment, null, ((_b = (_a = cms == null ? void 0 : cms.api) == null ? void 0 : _a.tina) == null ? void 0 : _b.isLocalMode) && /* @__PURE__ */ React__default.createElement(LocalWarning, null), /* @__PURE__ */ React__default.createElement("div", {
|
|
4062
4254
|
className: `py-4 border-b border-gray-200 bg-white ${headerPadding}`
|
|
4063
|
-
}, /* @__PURE__ */
|
|
4255
|
+
}, /* @__PURE__ */ React__default.createElement("div", {
|
|
4064
4256
|
className: "max-w-form mx-auto"
|
|
4065
|
-
}, /* @__PURE__ */
|
|
4257
|
+
}, /* @__PURE__ */ React__default.createElement("div", {
|
|
4066
4258
|
className: "mb-2"
|
|
4067
|
-
}, /* @__PURE__ */
|
|
4259
|
+
}, /* @__PURE__ */ React__default.createElement("span", {
|
|
4068
4260
|
className: "block text-sm leading-tight uppercase text-gray-400 mb-1"
|
|
4069
|
-
}, /* @__PURE__ */
|
|
4261
|
+
}, /* @__PURE__ */ React__default.createElement(Link, {
|
|
4070
4262
|
to: `/collections/${collection.name}`,
|
|
4071
4263
|
className: "inline-block text-current hover:text-blue-400 focus:underline focus:outline-none focus:text-blue-400 font-medium transition-colors duration-150 ease-out"
|
|
4072
|
-
}, collection.label ? collection.label : collection.name), /* @__PURE__ */
|
|
4264
|
+
}, collection.label ? collection.label : collection.name), /* @__PURE__ */ React__default.createElement(HiChevronRight, {
|
|
4073
4265
|
className: "inline-block -mt-0.5 opacity-50"
|
|
4074
|
-
})), /* @__PURE__ */
|
|
4266
|
+
})), /* @__PURE__ */ React__default.createElement("span", {
|
|
4075
4267
|
className: "text-xl text-gray-700 font-medium leading-tight"
|
|
4076
|
-
}, "Create New")), /* @__PURE__ */
|
|
4268
|
+
}, "Create New")), /* @__PURE__ */ React__default.createElement(FormStatus, {
|
|
4077
4269
|
pristine: formIsPristine
|
|
4078
|
-
}))), /* @__PURE__ */
|
|
4270
|
+
}))), /* @__PURE__ */ React__default.createElement(FormBuilder, {
|
|
4079
4271
|
form,
|
|
4080
4272
|
onPristineChange: setFormIsPristine
|
|
4081
4273
|
})));
|
|
@@ -4116,9 +4308,9 @@ const GetDocument = ({
|
|
|
4116
4308
|
return null;
|
|
4117
4309
|
}
|
|
4118
4310
|
if (loading) {
|
|
4119
|
-
return /* @__PURE__ */
|
|
4311
|
+
return /* @__PURE__ */ React__default.createElement(LoadingPage, null);
|
|
4120
4312
|
}
|
|
4121
|
-
return /* @__PURE__ */
|
|
4313
|
+
return /* @__PURE__ */ React__default.createElement(React__default.Fragment, null, children(document, loading));
|
|
4122
4314
|
};
|
|
4123
4315
|
const updateDocument = async (cms, relativePath, collection, mutationInfo, values) => {
|
|
4124
4316
|
const api = new TinaAdminApi(cms);
|
|
@@ -4139,7 +4331,7 @@ const updateDocument = async (cms, relativePath, collection, mutationInfo, value
|
|
|
4139
4331
|
const CollectionUpdatePage = () => {
|
|
4140
4332
|
const _a = useParams(), { collectionName } = _a, rest = __objRest(_a, ["collectionName"]);
|
|
4141
4333
|
const { "*": filename } = rest;
|
|
4142
|
-
return /* @__PURE__ */
|
|
4334
|
+
return /* @__PURE__ */ React__default.createElement(GetCMS, null, (cms) => /* @__PURE__ */ React__default.createElement(GetCollection, {
|
|
4143
4335
|
cms,
|
|
4144
4336
|
collectionName,
|
|
4145
4337
|
includeDocuments: false
|
|
@@ -4149,11 +4341,11 @@ const CollectionUpdatePage = () => {
|
|
|
4149
4341
|
includeCollection: true,
|
|
4150
4342
|
includeTemplate: !!collection.templates
|
|
4151
4343
|
};
|
|
4152
|
-
return /* @__PURE__ */
|
|
4344
|
+
return /* @__PURE__ */ React__default.createElement(GetDocument, {
|
|
4153
4345
|
cms,
|
|
4154
4346
|
collectionName: collection.name,
|
|
4155
4347
|
relativePath
|
|
4156
|
-
}, (document) => /* @__PURE__ */
|
|
4348
|
+
}, (document) => /* @__PURE__ */ React__default.createElement(RenderForm, {
|
|
4157
4349
|
cms,
|
|
4158
4350
|
document,
|
|
4159
4351
|
filename,
|
|
@@ -4206,24 +4398,24 @@ const RenderForm = ({
|
|
|
4206
4398
|
const windowWidth = useWindowWidth();
|
|
4207
4399
|
const renderNavToggle = windowWidth < navBreakpoint + 1;
|
|
4208
4400
|
const headerPadding = renderNavToggle ? "px-20" : "px-6";
|
|
4209
|
-
return /* @__PURE__ */
|
|
4401
|
+
return /* @__PURE__ */ React__default.createElement(PageWrapper, null, /* @__PURE__ */ React__default.createElement(React__default.Fragment, null, ((_b = (_a = cms == null ? void 0 : cms.api) == null ? void 0 : _a.tina) == null ? void 0 : _b.isLocalMode) && /* @__PURE__ */ React__default.createElement(LocalWarning, null), /* @__PURE__ */ React__default.createElement("div", {
|
|
4210
4402
|
className: `py-4 border-b border-gray-200 bg-white ${headerPadding}`
|
|
4211
|
-
}, /* @__PURE__ */
|
|
4403
|
+
}, /* @__PURE__ */ React__default.createElement("div", {
|
|
4212
4404
|
className: "max-w-form mx-auto"
|
|
4213
|
-
}, /* @__PURE__ */
|
|
4405
|
+
}, /* @__PURE__ */ React__default.createElement("div", {
|
|
4214
4406
|
className: "mb-2"
|
|
4215
|
-
}, /* @__PURE__ */
|
|
4407
|
+
}, /* @__PURE__ */ React__default.createElement("span", {
|
|
4216
4408
|
className: "block text-sm leading-tight uppercase text-gray-400 mb-1"
|
|
4217
|
-
}, /* @__PURE__ */
|
|
4409
|
+
}, /* @__PURE__ */ React__default.createElement(Link, {
|
|
4218
4410
|
to: `/collections/${collection.name}`,
|
|
4219
4411
|
className: "inline-block text-current hover:text-blue-400 focus:underline focus:outline-none focus:text-blue-400 font-medium transition-colors duration-150 ease-out"
|
|
4220
|
-
}, collection.label ? collection.label : collection.name), /* @__PURE__ */
|
|
4412
|
+
}, collection.label ? collection.label : collection.name), /* @__PURE__ */ React__default.createElement(HiChevronRight, {
|
|
4221
4413
|
className: "inline-block -mt-0.5 opacity-50"
|
|
4222
|
-
})), /* @__PURE__ */
|
|
4414
|
+
})), /* @__PURE__ */ React__default.createElement("span", {
|
|
4223
4415
|
className: "text-xl text-gray-700 font-medium leading-tight"
|
|
4224
|
-
}, "Edit ", `${filename}.${collection.format}`)), /* @__PURE__ */
|
|
4416
|
+
}, "Edit ", `${filename}.${collection.format}`)), /* @__PURE__ */ React__default.createElement(FormStatus, {
|
|
4225
4417
|
pristine: formIsPristine
|
|
4226
|
-
}))), /* @__PURE__ */
|
|
4418
|
+
}))), /* @__PURE__ */ React__default.createElement(FormBuilder, {
|
|
4227
4419
|
form,
|
|
4228
4420
|
onPristineChange: setFormIsPristine
|
|
4229
4421
|
})));
|
|
@@ -4233,24 +4425,24 @@ const ScreenPage = () => {
|
|
|
4233
4425
|
const navBreakpoint = 1e3;
|
|
4234
4426
|
const windowWidth = useWindowWidth();
|
|
4235
4427
|
const renderNavToggle = windowWidth < navBreakpoint + 1;
|
|
4236
|
-
return /* @__PURE__ */
|
|
4428
|
+
return /* @__PURE__ */ React__default.createElement(GetCMS, null, (cms) => {
|
|
4237
4429
|
var _a, _b;
|
|
4238
4430
|
const screens = cms.plugins.getType("screen").all();
|
|
4239
4431
|
const selectedScreen = screens.find(({ name }) => slugify(name) === screenName);
|
|
4240
|
-
return /* @__PURE__ */
|
|
4432
|
+
return /* @__PURE__ */ React__default.createElement("div", {
|
|
4241
4433
|
className: "relative w-full h-full flex flex-col items-stretch justify-between"
|
|
4242
|
-
}, ((_b = (_a = cms == null ? void 0 : cms.api) == null ? void 0 : _a.tina) == null ? void 0 : _b.isLocalMode) && /* @__PURE__ */
|
|
4434
|
+
}, ((_b = (_a = cms == null ? void 0 : cms.api) == null ? void 0 : _a.tina) == null ? void 0 : _b.isLocalMode) && /* @__PURE__ */ React__default.createElement(LocalWarning, null), renderNavToggle && /* @__PURE__ */ React__default.createElement("div", {
|
|
4243
4435
|
className: `py-5 border-b border-gray-200 bg-white pl-18`
|
|
4244
|
-
}, selectedScreen.name), /* @__PURE__ */
|
|
4436
|
+
}, selectedScreen.name), /* @__PURE__ */ React__default.createElement("div", {
|
|
4245
4437
|
className: "flex-1 overflow-y-auto relative flex flex-col items-stretch justify-between"
|
|
4246
|
-
}, /* @__PURE__ */
|
|
4438
|
+
}, /* @__PURE__ */ React__default.createElement(selectedScreen.Component, {
|
|
4247
4439
|
close: () => {
|
|
4248
4440
|
}
|
|
4249
4441
|
})));
|
|
4250
4442
|
});
|
|
4251
4443
|
};
|
|
4252
4444
|
const Redirect = () => {
|
|
4253
|
-
|
|
4445
|
+
React__default.useEffect(() => {
|
|
4254
4446
|
if (window) {
|
|
4255
4447
|
window.location.assign("/");
|
|
4256
4448
|
}
|
|
@@ -4264,43 +4456,43 @@ const TinaAdmin = () => {
|
|
|
4264
4456
|
return null;
|
|
4265
4457
|
}
|
|
4266
4458
|
if (!edit) {
|
|
4267
|
-
return /* @__PURE__ */
|
|
4459
|
+
return /* @__PURE__ */ React__default.createElement(Layout, null, /* @__PURE__ */ React__default.createElement(LoginPage, null));
|
|
4268
4460
|
}
|
|
4269
|
-
return /* @__PURE__ */
|
|
4461
|
+
return /* @__PURE__ */ React__default.createElement(GetCMS, null, (cms) => {
|
|
4270
4462
|
const isTinaAdminEnabled = cms.flags.get("tina-admin") === false ? false : true;
|
|
4271
4463
|
if (isTinaAdminEnabled) {
|
|
4272
|
-
return /* @__PURE__ */
|
|
4464
|
+
return /* @__PURE__ */ React__default.createElement(Layout, null, /* @__PURE__ */ React__default.createElement(HashRouter, null, /* @__PURE__ */ React__default.createElement("div", {
|
|
4273
4465
|
className: "flex items-stretch h-screen overflow-hidden"
|
|
4274
|
-
}, /* @__PURE__ */
|
|
4466
|
+
}, /* @__PURE__ */ React__default.createElement(Sidebar, {
|
|
4275
4467
|
cms
|
|
4276
|
-
}), /* @__PURE__ */
|
|
4468
|
+
}), /* @__PURE__ */ React__default.createElement("div", {
|
|
4277
4469
|
className: "flex-1 relative"
|
|
4278
|
-
}, /* @__PURE__ */
|
|
4470
|
+
}, /* @__PURE__ */ React__default.createElement(Routes, null, /* @__PURE__ */ React__default.createElement(Route, {
|
|
4279
4471
|
path: "collections/:collectionName/new",
|
|
4280
|
-
element: /* @__PURE__ */
|
|
4281
|
-
}), /* @__PURE__ */
|
|
4472
|
+
element: /* @__PURE__ */ React__default.createElement(CollectionCreatePage, null)
|
|
4473
|
+
}), /* @__PURE__ */ React__default.createElement(Route, {
|
|
4282
4474
|
path: "collections/:collectionName/:templateName/new",
|
|
4283
|
-
element: /* @__PURE__ */
|
|
4284
|
-
}), /* @__PURE__ */
|
|
4475
|
+
element: /* @__PURE__ */ React__default.createElement(CollectionCreatePage, null)
|
|
4476
|
+
}), /* @__PURE__ */ React__default.createElement(Route, {
|
|
4285
4477
|
path: "collections/:collectionName/*",
|
|
4286
|
-
element: /* @__PURE__ */
|
|
4287
|
-
}), /* @__PURE__ */
|
|
4478
|
+
element: /* @__PURE__ */ React__default.createElement(CollectionUpdatePage, null)
|
|
4479
|
+
}), /* @__PURE__ */ React__default.createElement(Route, {
|
|
4288
4480
|
path: "collections/:collectionName",
|
|
4289
|
-
element: /* @__PURE__ */
|
|
4290
|
-
}), /* @__PURE__ */
|
|
4481
|
+
element: /* @__PURE__ */ React__default.createElement(CollectionListPage, null)
|
|
4482
|
+
}), /* @__PURE__ */ React__default.createElement(Route, {
|
|
4291
4483
|
path: "screens/:screenName",
|
|
4292
|
-
element: /* @__PURE__ */
|
|
4293
|
-
}), /* @__PURE__ */
|
|
4484
|
+
element: /* @__PURE__ */ React__default.createElement(ScreenPage, null)
|
|
4485
|
+
}), /* @__PURE__ */ React__default.createElement(Route, {
|
|
4294
4486
|
path: "/",
|
|
4295
|
-
element: /* @__PURE__ */
|
|
4487
|
+
element: /* @__PURE__ */ React__default.createElement(DashboardPage, null)
|
|
4296
4488
|
}))))));
|
|
4297
4489
|
} else {
|
|
4298
|
-
return /* @__PURE__ */
|
|
4490
|
+
return /* @__PURE__ */ React__default.createElement(Layout, null, /* @__PURE__ */ React__default.createElement(HashRouter, null, /* @__PURE__ */ React__default.createElement(Routes, null, /* @__PURE__ */ React__default.createElement(Route, {
|
|
4299
4491
|
path: "logout",
|
|
4300
|
-
element: /* @__PURE__ */
|
|
4301
|
-
}), /* @__PURE__ */
|
|
4492
|
+
element: /* @__PURE__ */ React__default.createElement(LogoutPage, null)
|
|
4493
|
+
}), /* @__PURE__ */ React__default.createElement(Route, {
|
|
4302
4494
|
path: "/",
|
|
4303
|
-
element: /* @__PURE__ */
|
|
4495
|
+
element: /* @__PURE__ */ React__default.createElement(Redirect, null)
|
|
4304
4496
|
}))));
|
|
4305
4497
|
}
|
|
4306
4498
|
});
|