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/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 React, { useState, useCallback, useEffect, Fragment, useMemo } from "react";
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 = React.useRef([]);
1665
- const [state, dispatch] = React.useReducer(reducer, {
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
- React.useEffect(() => {
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
- React.useEffect(() => {
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
- React.useEffect(() => {
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
- React.useEffect(() => {
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
- React.useEffect(() => {
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
- React.useEffect(() => {
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
- React.useEffect(() => {
1916
+ React__default.useEffect(() => {
1916
1917
  formIds.current = state.documentForms.map((df) => df.id);
1917
1918
  }, [state.documentForms.length]);
1918
- React.useEffect(() => {
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 = React.useCallback(async (args) => {
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__ */ React.createElement(Modal, null, /* @__PURE__ */ React.createElement(ModalPopup, null, /* @__PURE__ */ React.createElement(ModalHeader, null, modalProps.title), /* @__PURE__ */ React.createElement(ModalBody, {
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__ */ React.createElement("p", null, modalProps.message), modalProps.error && /* @__PURE__ */ React.createElement(ErrorLabel, null, modalProps.error)), /* @__PURE__ */ React.createElement(ModalActions, null, modalProps.actions.map((action) => /* @__PURE__ */ React.createElement(AsyncButton, __spreadValues({
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__ */ React.createElement(Button, {
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__ */ React.createElement(LoadingDots, null), !submitting && name);
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
- }`, { variables: { collection: collectionName, includeDocuments, sort } });
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
- React.useEffect(() => {
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__ */ React.createElement(React.Fragment, null, activeModal === "authenticate" && /* @__PURE__ */ React.createElement(ModalBuilder, {
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 = React.useMemo(() => props.cms || new TinaCMS({
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] = React.useState(() => cms.flags.get("branch-switcher"));
2675
- React.useEffect(() => {
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
- React.useEffect(() => {
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
- React.useEffect(() => {
2711
+ React__default.useEffect(() => {
2698
2712
  if (props.cmsCallback) {
2699
2713
  props.cmsCallback(cms);
2700
2714
  }
2701
2715
  }, []);
2702
- return /* @__PURE__ */ React.createElement(BranchDataProvider, {
2716
+ return /* @__PURE__ */ React__default.createElement(BranchDataProvider, {
2703
2717
  currentBranch,
2704
2718
  setCurrentBranch: (b) => {
2705
2719
  setCurrentBranch(b);
2706
2720
  }
2707
- }, /* @__PURE__ */ React.createElement(TinaProvider, {
2721
+ }, /* @__PURE__ */ React__default.createElement(TinaProvider, {
2708
2722
  cms
2709
- }, /* @__PURE__ */ React.createElement(AuthWallInner, __spreadProps(__spreadValues({}, props), {
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] = React.useState({});
2764
- const [plugin, setPlugin] = React.useState(null);
2765
- React.useEffect(() => {
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
- React.useEffect(() => {
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
- } = React.useContext(TinaDataContext);
2901
+ } = React__default.useContext(TinaDataContext);
2888
2902
  const [waitForContextRerender, setWaitForContextRerender] = useState(!isDummyContainer);
2889
2903
  const isLoading = contextLoading || waitForContextRerender;
2890
- React.useEffect(() => {
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 React.Component {
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__ */ React.createElement("div", {
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__ */ React.createElement("style", null, " body { margin: 0; } "), /* @__PURE__ */ React.createElement("div", {
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__ */ React.createElement("h3", {
2989
+ }, /* @__PURE__ */ React__default.createElement("h3", {
2976
2990
  style: { color: "#eb6337" }
2977
- }, "TinaCMS Render Error"), /* @__PURE__ */ React.createElement("p", null, "Tina caught an error while updating the page:"), /* @__PURE__ */ React.createElement("pre", {
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__ */ React.createElement("br", null), /* @__PURE__ */ React.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.createElement("p", null, "See our", " ", /* @__PURE__ */ React.createElement("a", {
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__ */ React.createElement("button", {
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__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.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.createElement("p", null, "See our", " ", /* @__PURE__ */ React.createElement("a", {
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__ */ React.createElement("button", {
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__ */ React.createElement(Loader, null, "Let's try that again.");
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__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(TinaCloudProvider, {
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__ */ React.createElement("style", null, styles), /* @__PURE__ */ React.createElement(ErrorBoundary, null, /* @__PURE__ */ React.createElement(DocumentCreator, {
3057
+ }, /* @__PURE__ */ React__default.createElement("style", null, styles), /* @__PURE__ */ React__default.createElement(ErrorBoundary, null, /* @__PURE__ */ React__default.createElement(DocumentCreator, {
3044
3058
  documentCreatorCallback
3045
- }), /* @__PURE__ */ React.createElement(TinaDataProvider, {
3059
+ }), /* @__PURE__ */ React__default.createElement(TinaDataProvider, {
3046
3060
  formifyCallback
3047
- }, typeof props.children == "function" ? /* @__PURE__ */ React.createElement(TinaQuery, __spreadProps(__spreadValues({}, props), {
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__ */ React.createElement(TinaQueryInner, __spreadValues({
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__ */ React.createElement(React.Fragment, null, children(isLoading || !props.query ? props : __spreadProps(__spreadValues({}, props), { data: liveData })));
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] = React.useState({
3094
+ const [state, setState] = React__default.useState({
3081
3095
  payload: void 0,
3082
3096
  isLoading: true
3083
3097
  });
3084
- return /* @__PURE__ */ React.createElement(TinaDataContext.Provider, {
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__ */ React.createElement(FormRegistrar, {
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
- React.useEffect(() => {
3128
+ React__default.useEffect(() => {
3115
3129
  onPayloadStateChange({ payload, isLoading });
3116
3130
  }, [JSON.stringify(payload), isLoading]);
3117
- return isLoading ? /* @__PURE__ */ React.createElement(Loader, null, /* @__PURE__ */ React.createElement(React.Fragment, null)) : null;
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__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement("div", {
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__ */ React.createElement("div", {
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__ */ React.createElement("svg", {
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__ */ React.createElement("circle", {
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__ */ React.createElement("animateTransform", {
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__ */ React.createElement("circle", {
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__ */ React.createElement("animateTransform", {
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__ */ React.createElement("circle", {
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__ */ React.createElement("animateTransform", {
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__ */ React.createElement("p", {
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__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement("style", null, styles), /* @__PURE__ */ React.createElement("div", {
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 = React.createContext && React.createContext(DefaultContext);
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 React.createElement(node2.tag, __assign({
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 React.createElement(IconBase, __assign({
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 React.createElement("svg", __assign({
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 && React.createElement("title", null, title), props.children);
3359
+ }), title && React__default.createElement("title", null, title), props.children);
3346
3360
  };
3347
- return IconContext !== void 0 ? React.createElement(IconContext.Consumer, null, function(conf) {
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] = React.useState(false);
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__ */ React.createElement(React.Fragment, null, renderDesktopNav && /* @__PURE__ */ React.createElement(Nav, {
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__ */ React.createElement(SidebarLink, {
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__ */ React.createElement(SidebarLink, {
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__ */ React.createElement(Transition, {
3448
+ }), !renderDesktopNav && /* @__PURE__ */ React__default.createElement(Transition, {
3429
3449
  show: menuIsOpen
3430
- }, /* @__PURE__ */ React.createElement(Transition.Child, {
3431
- as: React.Fragment,
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__ */ React.createElement("div", {
3458
+ }, /* @__PURE__ */ React__default.createElement("div", {
3439
3459
  className: "fixed left-0 top-0 z-overlay h-full transform"
3440
- }, /* @__PURE__ */ React.createElement(Nav, {
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__ */ React.createElement(SidebarLink, {
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__ */ React.createElement(SidebarLink, {
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__ */ React.createElement("div", {
3483
+ }, /* @__PURE__ */ React__default.createElement("div", {
3464
3484
  className: "absolute top-8 right-0 transform translate-x-full overflow-hidden"
3465
- }, /* @__PURE__ */ React.createElement(Button, {
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__ */ React.createElement(IoMdClose, {
3492
+ }, /* @__PURE__ */ React__default.createElement(IoMdClose, {
3473
3493
  className: "h-6 w-auto"
3474
- })))))), /* @__PURE__ */ React.createElement(Transition.Child, {
3475
- as: React.Fragment,
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__ */ React.createElement("div", {
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__ */ React.createElement(Button, {
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__ */ React.createElement(BiMenu, {
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__ */ React.createElement(NavLink, {
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__ */ React.createElement(Icon, {
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__ */ React.createElement(React.Fragment, null, children(cms));
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__ */ React.createElement("div", {
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__ */ React.createElement("div", {
3549
+ }, /* @__PURE__ */ React__default.createElement("div", {
3530
3550
  className: "bg-white rounded-lg overflow-hidden shadow-lg w-full max-w-lg"
3531
- }, /* @__PURE__ */ React.createElement("div", {
3551
+ }, /* @__PURE__ */ React__default.createElement("div", {
3532
3552
  className: "px-5 py-4 border-b border-gray-150"
3533
- }, /* @__PURE__ */ React.createElement("h2", {
3553
+ }, /* @__PURE__ */ React__default.createElement("h2", {
3534
3554
  className: "text-2xl tracking-wide text-gray-700 flex items-center gap-0.5"
3535
- }, /* @__PURE__ */ React.createElement("svg", {
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__ */ React.createElement("path", {
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__ */ React.createElement("path", {
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__ */ React.createElement("span", null, "Tina"))), message && /* @__PURE__ */ React.createElement("div", {
3564
+ })), /* @__PURE__ */ React__default.createElement("span", null, "Tina"))), message && /* @__PURE__ */ React__default.createElement("div", {
3545
3565
  className: "px-5 pt-4"
3546
- }, /* @__PURE__ */ React.createElement("p", {
3566
+ }, /* @__PURE__ */ React__default.createElement("p", {
3547
3567
  className: "text-base font-sans leading-normal"
3548
- }, message)), /* @__PURE__ */ React.createElement("div", {
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__ */ React.createElement(AuthTemplate, null, /* @__PURE__ */ React.createElement("div", {
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__ */ React.createElement(Button, {
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__ */ React.createElement(MdOutlineArrowBack, {
3584
+ }, /* @__PURE__ */ React__default.createElement(MdOutlineArrowBack, {
3565
3585
  className: "w-6 h-auto mr-1.5 opacity-80"
3566
- }), " Back To Site"), /* @__PURE__ */ React.createElement(Button, {
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__ */ React.createElement(BiLogIn, {
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__ */ React.createElement(AuthTemplate, null, /* @__PURE__ */ React.createElement("div", {
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__ */ React.createElement(Button, {
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__ */ React.createElement(MdOutlineArrowBack, {
3610
+ }, /* @__PURE__ */ React__default.createElement(MdOutlineArrowBack, {
3591
3611
  className: "w-6 h-auto mr-1.5 opacity-80"
3592
- }), " Back To Site"), /* @__PURE__ */ React.createElement(Button, {
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__ */ React.createElement(BiLogOut, {
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__ */ React.createElement("div", {
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__ */ React.createElement(React.Fragment, null, isLocalMode && /* @__PURE__ */ React.createElement(LocalWarning, null), /* @__PURE__ */ React.createElement("div", {
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__ */ React.createElement("div", {
3634
+ }, /* @__PURE__ */ React__default.createElement("div", {
3615
3635
  className: "w-full mx-auto max-w-screen-xl"
3616
- }, /* @__PURE__ */ React.createElement("div", {
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__ */ React.createElement("div", {
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__ */ React.createElement("div", {
3646
+ }) => /* @__PURE__ */ React__default.createElement("div", {
3627
3647
  className: "py-10 px-12"
3628
- }, /* @__PURE__ */ React.createElement("div", {
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__ */ React.createElement(GetCMS, null, (cms) => {
3652
+ return /* @__PURE__ */ React__default.createElement(GetCMS, null, (cms) => {
3633
3653
  var _a, _b;
3634
- return /* @__PURE__ */ React.createElement(PageWrapper, null, /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(PageHeader, {
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__ */ React.createElement("h3", {
3656
+ }, /* @__PURE__ */ React__default.createElement("h3", {
3637
3657
  className: "text-2xl text-gray-700"
3638
- }, "Welcome to Tina!")), /* @__PURE__ */ React.createElement(PageBodyNarrow, null, "This is your dashboard for editing or creating content. Select a collection on the left to begin.")));
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__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement("div", {
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__ */ React.createElement("div", {
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__ */ React.createElement("svg", {
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__ */ React.createElement("circle", {
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__ */ React.createElement("animateTransform", {
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__ */ React.createElement("circle", {
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__ */ React.createElement("animateTransform", {
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__ */ React.createElement("circle", {
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__ */ React.createElement("animateTransform", {
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__ */ React.createElement("p", {
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__ */ React.createElement(LoadingPage, null);
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
- return /* @__PURE__ */ React.createElement(React.Fragment, null, children(collection, loading, reFetchCollection));
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__ */ React.createElement(Menu, {
3946
+ return /* @__PURE__ */ React__default.createElement(Menu, {
3784
3947
  as: "div",
3785
3948
  className: "relative inline-block text-left"
3786
- }, () => /* @__PURE__ */ React.createElement("div", null, /* @__PURE__ */ React.createElement("div", null, /* @__PURE__ */ React.createElement(Menu.Button, {
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__ */ React.createElement(BiPlus, {
3951
+ }, "Create New ", /* @__PURE__ */ React__default.createElement(BiPlus, {
3789
3952
  className: "w-5 h-full ml-1 opacity-70"
3790
- }))), /* @__PURE__ */ React.createElement(Transition, {
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__ */ React.createElement(Menu.Items, {
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__ */ React.createElement("div", {
3963
+ }, /* @__PURE__ */ React__default.createElement("div", {
3801
3964
  className: "py-1"
3802
- }, templates.map((template) => /* @__PURE__ */ React.createElement(Menu.Item, {
3965
+ }, templates.map((template) => /* @__PURE__ */ React__default.createElement(Menu.Item, {
3803
3966
  key: `${template.label}-${template.name}`
3804
- }, ({ active }) => /* @__PURE__ */ React.createElement(Link, {
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] = React.useState(false);
3824
- const [vars, setVars] = React.useState({
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
- return /* @__PURE__ */ React.createElement(GetCMS, null, (cms) => {
3829
- return /* @__PURE__ */ React.createElement(GetCollection, {
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
- return /* @__PURE__ */ React.createElement(PageWrapper, null, /* @__PURE__ */ React.createElement(React.Fragment, null, open && /* @__PURE__ */ React.createElement(DeleteModal, {
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__ */ React.createElement(PageHeader, {
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__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement("h3", {
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__ */ React.createElement(Link, {
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__ */ React.createElement(BiPlus, {
4032
+ }, "Create New", " ", /* @__PURE__ */ React__default.createElement(BiPlus, {
3860
4033
  className: "w-5 h-full ml-1 opacity-70"
3861
- })), collection.templates && /* @__PURE__ */ React.createElement(TemplateMenu, {
4034
+ })), collection.templates && /* @__PURE__ */ React__default.createElement(TemplateMenu, {
3862
4035
  templates: collection.templates
3863
- }))), /* @__PURE__ */ React.createElement(PageBody, null, /* @__PURE__ */ React.createElement("div", {
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__ */ React.createElement("table", {
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__ */ React.createElement("tbody", {
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__ */ React.createElement("tr", {
4046
+ return /* @__PURE__ */ React__default.createElement("tr", {
3874
4047
  key: `document-${document.node._sys.relativePath}`,
3875
4048
  className: ""
3876
- }, /* @__PURE__ */ React.createElement("td", {
4049
+ }, /* @__PURE__ */ React__default.createElement("td", {
3877
4050
  className: "px-6 py-2 whitespace-nowrap"
3878
- }, /* @__PURE__ */ React.createElement("a", {
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__ */ React.createElement(BiEdit, {
4056
+ }, /* @__PURE__ */ React__default.createElement(BiEdit, {
3884
4057
  className: "inline-block h-6 w-auto opacity-70"
3885
- }), /* @__PURE__ */ React.createElement("span", null, /* @__PURE__ */ React.createElement("span", {
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__ */ React.createElement("span", {
4060
+ }, hasTitle ? "Title" : "Filename"), /* @__PURE__ */ React__default.createElement("span", {
3888
4061
  className: "h-5 leading-5 block whitespace-nowrap"
3889
- }, subfolders && /* @__PURE__ */ React.createElement("span", {
4062
+ }, subfolders && /* @__PURE__ */ React__default.createElement("span", {
3890
4063
  className: "text-xs text-gray-400"
3891
- }, `${subfolders}/`), /* @__PURE__ */ React.createElement("span", null, hasTitle ? (_a2 = document.node._sys) == null ? void 0 : _a2.title : document.node._sys.filename))))), hasTitle && /* @__PURE__ */ React.createElement("td", {
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__ */ React.createElement("span", {
4066
+ }, /* @__PURE__ */ React__default.createElement("span", {
3894
4067
  className: "block text-xs text-gray-400 mb-1 uppercase"
3895
- }, "Filename"), /* @__PURE__ */ React.createElement("span", {
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__ */ React.createElement("td", {
4070
+ }, document.node._sys.filename)), /* @__PURE__ */ React__default.createElement("td", {
3898
4071
  className: "px-6 py-4 whitespace-nowrap"
3899
- }, /* @__PURE__ */ React.createElement("span", {
4072
+ }, /* @__PURE__ */ React__default.createElement("span", {
3900
4073
  className: "block text-xs text-gray-400 mb-1 uppercase"
3901
- }, "Extension"), /* @__PURE__ */ React.createElement("span", {
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__ */ React.createElement("td", {
4076
+ }, document.node._sys.extension)), /* @__PURE__ */ React__default.createElement("td", {
3904
4077
  className: "px-6 py-4 whitespace-nowrap"
3905
- }, /* @__PURE__ */ React.createElement("span", {
4078
+ }, /* @__PURE__ */ React__default.createElement("span", {
3906
4079
  className: "block text-xs text-gray-400 mb-1 uppercase"
3907
- }, "Template"), /* @__PURE__ */ React.createElement("span", {
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__ */ React.createElement("td", {
4082
+ }, document.node._sys.template)), /* @__PURE__ */ React__default.createElement("td", {
3910
4083
  className: "w-0"
3911
- }, /* @__PURE__ */ React.createElement(OverflowMenu, {
4084
+ }, /* @__PURE__ */ React__default.createElement(OverflowMenu, {
3912
4085
  toolbarItems: [
3913
4086
  {
3914
4087
  name: "edit",
3915
4088
  label: "Edit in Admin",
3916
- Icon: /* @__PURE__ */ React.createElement(BiEdit, {
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__ */ React.createElement(BiTrash, {
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__ */ React.createElement(Modal, null, /* @__PURE__ */ React.createElement(ModalPopup, null, /* @__PURE__ */ React.createElement(ModalHeader, {
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__ */ React.createElement(ModalBody, {
4139
+ }, "Delete ", filename), /* @__PURE__ */ React__default.createElement(ModalBody, {
3948
4140
  padded: true
3949
- }, /* @__PURE__ */ React.createElement("p", null, `Are you sure you want to delete ${filename}?`)), /* @__PURE__ */ React.createElement(ModalActions, null, /* @__PURE__ */ React.createElement(Button, {
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__ */ React.createElement(Button, {
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__ */ React.createElement(GetCMS, null, (cms) => /* @__PURE__ */ React.createElement(GetCollection, {
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__ */ React.createElement(RenderForm$1, {
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__ */ React.createElement("span", null, "A unique filename for the content.", /* @__PURE__ */ React.createElement("br", null), "Examples: ", /* @__PURE__ */ React.createElement("code", null, "My_Document"), ", ", /* @__PURE__ */ React.createElement("code", null, "My_Document.en"), ",", " ", /* @__PURE__ */ React.createElement("code", null, "sub-folder/My_Document")),
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__ */ React.createElement(PageWrapper, null, /* @__PURE__ */ React.createElement(React.Fragment, null, ((_b = (_a = cms == null ? void 0 : cms.api) == null ? void 0 : _a.tina) == null ? void 0 : _b.isLocalMode) && /* @__PURE__ */ React.createElement(LocalWarning, null), /* @__PURE__ */ React.createElement("div", {
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__ */ React.createElement("div", {
4255
+ }, /* @__PURE__ */ React__default.createElement("div", {
4064
4256
  className: "max-w-form mx-auto"
4065
- }, /* @__PURE__ */ React.createElement("div", {
4257
+ }, /* @__PURE__ */ React__default.createElement("div", {
4066
4258
  className: "mb-2"
4067
- }, /* @__PURE__ */ React.createElement("span", {
4259
+ }, /* @__PURE__ */ React__default.createElement("span", {
4068
4260
  className: "block text-sm leading-tight uppercase text-gray-400 mb-1"
4069
- }, /* @__PURE__ */ React.createElement(Link, {
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__ */ React.createElement(HiChevronRight, {
4264
+ }, collection.label ? collection.label : collection.name), /* @__PURE__ */ React__default.createElement(HiChevronRight, {
4073
4265
  className: "inline-block -mt-0.5 opacity-50"
4074
- })), /* @__PURE__ */ React.createElement("span", {
4266
+ })), /* @__PURE__ */ React__default.createElement("span", {
4075
4267
  className: "text-xl text-gray-700 font-medium leading-tight"
4076
- }, "Create New")), /* @__PURE__ */ React.createElement(FormStatus, {
4268
+ }, "Create New")), /* @__PURE__ */ React__default.createElement(FormStatus, {
4077
4269
  pristine: formIsPristine
4078
- }))), /* @__PURE__ */ React.createElement(FormBuilder, {
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__ */ React.createElement(LoadingPage, null);
4311
+ return /* @__PURE__ */ React__default.createElement(LoadingPage, null);
4120
4312
  }
4121
- return /* @__PURE__ */ React.createElement(React.Fragment, null, children(document, loading));
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__ */ React.createElement(GetCMS, null, (cms) => /* @__PURE__ */ React.createElement(GetCollection, {
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__ */ React.createElement(GetDocument, {
4344
+ return /* @__PURE__ */ React__default.createElement(GetDocument, {
4153
4345
  cms,
4154
4346
  collectionName: collection.name,
4155
4347
  relativePath
4156
- }, (document) => /* @__PURE__ */ React.createElement(RenderForm, {
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__ */ React.createElement(PageWrapper, null, /* @__PURE__ */ React.createElement(React.Fragment, null, ((_b = (_a = cms == null ? void 0 : cms.api) == null ? void 0 : _a.tina) == null ? void 0 : _b.isLocalMode) && /* @__PURE__ */ React.createElement(LocalWarning, null), /* @__PURE__ */ React.createElement("div", {
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__ */ React.createElement("div", {
4403
+ }, /* @__PURE__ */ React__default.createElement("div", {
4212
4404
  className: "max-w-form mx-auto"
4213
- }, /* @__PURE__ */ React.createElement("div", {
4405
+ }, /* @__PURE__ */ React__default.createElement("div", {
4214
4406
  className: "mb-2"
4215
- }, /* @__PURE__ */ React.createElement("span", {
4407
+ }, /* @__PURE__ */ React__default.createElement("span", {
4216
4408
  className: "block text-sm leading-tight uppercase text-gray-400 mb-1"
4217
- }, /* @__PURE__ */ React.createElement(Link, {
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__ */ React.createElement(HiChevronRight, {
4412
+ }, collection.label ? collection.label : collection.name), /* @__PURE__ */ React__default.createElement(HiChevronRight, {
4221
4413
  className: "inline-block -mt-0.5 opacity-50"
4222
- })), /* @__PURE__ */ React.createElement("span", {
4414
+ })), /* @__PURE__ */ React__default.createElement("span", {
4223
4415
  className: "text-xl text-gray-700 font-medium leading-tight"
4224
- }, "Edit ", `${filename}.${collection.format}`)), /* @__PURE__ */ React.createElement(FormStatus, {
4416
+ }, "Edit ", `${filename}.${collection.format}`)), /* @__PURE__ */ React__default.createElement(FormStatus, {
4225
4417
  pristine: formIsPristine
4226
- }))), /* @__PURE__ */ React.createElement(FormBuilder, {
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__ */ React.createElement(GetCMS, null, (cms) => {
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__ */ React.createElement("div", {
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__ */ React.createElement(LocalWarning, null), renderNavToggle && /* @__PURE__ */ React.createElement("div", {
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__ */ React.createElement("div", {
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__ */ React.createElement(selectedScreen.Component, {
4438
+ }, /* @__PURE__ */ React__default.createElement(selectedScreen.Component, {
4247
4439
  close: () => {
4248
4440
  }
4249
4441
  })));
4250
4442
  });
4251
4443
  };
4252
4444
  const Redirect = () => {
4253
- React.useEffect(() => {
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__ */ React.createElement(Layout, null, /* @__PURE__ */ React.createElement(LoginPage, null));
4459
+ return /* @__PURE__ */ React__default.createElement(Layout, null, /* @__PURE__ */ React__default.createElement(LoginPage, null));
4268
4460
  }
4269
- return /* @__PURE__ */ React.createElement(GetCMS, null, (cms) => {
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__ */ React.createElement(Layout, null, /* @__PURE__ */ React.createElement(HashRouter, null, /* @__PURE__ */ React.createElement("div", {
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__ */ React.createElement(Sidebar, {
4466
+ }, /* @__PURE__ */ React__default.createElement(Sidebar, {
4275
4467
  cms
4276
- }), /* @__PURE__ */ React.createElement("div", {
4468
+ }), /* @__PURE__ */ React__default.createElement("div", {
4277
4469
  className: "flex-1 relative"
4278
- }, /* @__PURE__ */ React.createElement(Routes, null, /* @__PURE__ */ React.createElement(Route, {
4470
+ }, /* @__PURE__ */ React__default.createElement(Routes, null, /* @__PURE__ */ React__default.createElement(Route, {
4279
4471
  path: "collections/:collectionName/new",
4280
- element: /* @__PURE__ */ React.createElement(CollectionCreatePage, null)
4281
- }), /* @__PURE__ */ React.createElement(Route, {
4472
+ element: /* @__PURE__ */ React__default.createElement(CollectionCreatePage, null)
4473
+ }), /* @__PURE__ */ React__default.createElement(Route, {
4282
4474
  path: "collections/:collectionName/:templateName/new",
4283
- element: /* @__PURE__ */ React.createElement(CollectionCreatePage, null)
4284
- }), /* @__PURE__ */ React.createElement(Route, {
4475
+ element: /* @__PURE__ */ React__default.createElement(CollectionCreatePage, null)
4476
+ }), /* @__PURE__ */ React__default.createElement(Route, {
4285
4477
  path: "collections/:collectionName/*",
4286
- element: /* @__PURE__ */ React.createElement(CollectionUpdatePage, null)
4287
- }), /* @__PURE__ */ React.createElement(Route, {
4478
+ element: /* @__PURE__ */ React__default.createElement(CollectionUpdatePage, null)
4479
+ }), /* @__PURE__ */ React__default.createElement(Route, {
4288
4480
  path: "collections/:collectionName",
4289
- element: /* @__PURE__ */ React.createElement(CollectionListPage, null)
4290
- }), /* @__PURE__ */ React.createElement(Route, {
4481
+ element: /* @__PURE__ */ React__default.createElement(CollectionListPage, null)
4482
+ }), /* @__PURE__ */ React__default.createElement(Route, {
4291
4483
  path: "screens/:screenName",
4292
- element: /* @__PURE__ */ React.createElement(ScreenPage, null)
4293
- }), /* @__PURE__ */ React.createElement(Route, {
4484
+ element: /* @__PURE__ */ React__default.createElement(ScreenPage, null)
4485
+ }), /* @__PURE__ */ React__default.createElement(Route, {
4294
4486
  path: "/",
4295
- element: /* @__PURE__ */ React.createElement(DashboardPage, null)
4487
+ element: /* @__PURE__ */ React__default.createElement(DashboardPage, null)
4296
4488
  }))))));
4297
4489
  } else {
4298
- return /* @__PURE__ */ React.createElement(Layout, null, /* @__PURE__ */ React.createElement(HashRouter, null, /* @__PURE__ */ React.createElement(Routes, null, /* @__PURE__ */ React.createElement(Route, {
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__ */ React.createElement(LogoutPage, null)
4301
- }), /* @__PURE__ */ React.createElement(Route, {
4492
+ element: /* @__PURE__ */ React__default.createElement(LogoutPage, null)
4493
+ }), /* @__PURE__ */ React__default.createElement(Route, {
4302
4494
  path: "/",
4303
- element: /* @__PURE__ */ React.createElement(Redirect, null)
4495
+ element: /* @__PURE__ */ React__default.createElement(Redirect, null)
4304
4496
  }))));
4305
4497
  }
4306
4498
  });