tinacms 0.64.1 → 0.65.2

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.js CHANGED
@@ -675,7 +675,7 @@ mutation addPendingDocumentMutation(
675
675
  }
676
676
  }, [action, setSubmitting]);
677
677
  return /* @__PURE__ */ React__default["default"].createElement(toolkit.Button, {
678
- primary,
678
+ variant: primary ? "primary" : "secondary",
679
679
  onClick,
680
680
  busy: submitting,
681
681
  disabled: submitting
@@ -863,99 +863,11 @@ mutation addPendingDocumentMutation(
863
863
  }))));
864
864
  };
865
865
  const TinaCloudAuthWall = TinaCloudProvider;
866
- var DefaultContext = {
867
- color: void 0,
868
- size: void 0,
869
- className: void 0,
870
- style: void 0,
871
- attr: void 0
872
- };
873
- var IconContext = React__default["default"].createContext && React__default["default"].createContext(DefaultContext);
874
- var __assign = function() {
875
- __assign = Object.assign || function(t) {
876
- for (var s, i = 1, n = arguments.length; i < n; i++) {
877
- s = arguments[i];
878
- for (var p in s)
879
- if (Object.prototype.hasOwnProperty.call(s, p))
880
- t[p] = s[p];
881
- }
882
- return t;
883
- };
884
- return __assign.apply(this, arguments);
885
- };
886
- var __rest = function(s, e) {
887
- var t = {};
888
- for (var p in s)
889
- if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
890
- t[p] = s[p];
891
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
892
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
893
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
894
- t[p[i]] = s[p[i]];
895
- }
896
- return t;
897
- };
898
- function Tree2Element(tree) {
899
- return tree && tree.map(function(node, i) {
900
- return React__default["default"].createElement(node.tag, __assign({
901
- key: i
902
- }, node.attr), Tree2Element(node.child));
903
- });
904
- }
905
- function GenIcon(data) {
906
- return function(props) {
907
- return React__default["default"].createElement(IconBase, __assign({
908
- attr: __assign({}, data.attr)
909
- }, props), Tree2Element(data.child));
910
- };
911
- }
912
- function IconBase(props) {
913
- var elem = function(conf) {
914
- var attr = props.attr, size = props.size, title = props.title, svgProps = __rest(props, ["attr", "size", "title"]);
915
- var computedSize = size || conf.size || "1em";
916
- var className;
917
- if (conf.className)
918
- className = conf.className;
919
- if (props.className)
920
- className = (className ? className + " " : "") + props.className;
921
- return React__default["default"].createElement("svg", __assign({
922
- stroke: "currentColor",
923
- fill: "currentColor",
924
- strokeWidth: "0"
925
- }, conf.attr, attr, svgProps, {
926
- className,
927
- style: __assign(__assign({
928
- color: props.color || conf.color
929
- }, conf.style), props.style),
930
- height: computedSize,
931
- width: computedSize,
932
- xmlns: "http://www.w3.org/2000/svg"
933
- }), title && React__default["default"].createElement("title", null, title), props.children);
934
- };
935
- return IconContext !== void 0 ? React__default["default"].createElement(IconContext.Consumer, null, function(conf) {
936
- return elem(conf);
937
- }) : elem(DefaultContext);
938
- }
939
- function BiEdit(props) {
940
- 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);
941
- }
942
- function BiExit(props) {
943
- return GenIcon({ "tag": "svg", "attr": { "viewBox": "0 0 24 24" }, "child": [{ "tag": "path", "attr": { "d": "M19.002 3h-14c-1.103 0-2 .897-2 2v4h2V5h14v14h-14v-4h-2v4c0 1.103.897 2 2 2h14c1.103 0 2-.897 2-2V5c0-1.103-.898-2-2-2z" } }, { "tag": "path", "attr": { "d": "m11 16 5-4-5-4v3.001H3v2h8z" } }] })(props);
944
- }
945
- function BiLinkExternal(props) {
946
- return GenIcon({ "tag": "svg", "attr": { "viewBox": "0 0 24 24" }, "child": [{ "tag": "path", "attr": { "d": "m13 3 3.293 3.293-7 7 1.414 1.414 7-7L21 11V3z" } }, { "tag": "path", "attr": { "d": "M19 19H5V5h7l-2-2H5c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2h14c1.103 0 2-.897 2-2v-5l-2-2v7z" } }] })(props);
947
- }
948
- function BiLogIn(props) {
949
- 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);
950
- }
951
- function BiLogOut(props) {
952
- return GenIcon({ "tag": "svg", "attr": { "viewBox": "0 0 24 24" }, "child": [{ "tag": "path", "attr": { "d": "M16 13v-2H7V8l-5 4 5 4v-3z" } }, { "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);
953
- }
954
866
  function useGraphqlForms({
955
- query,
956
867
  variables,
957
868
  onSubmit,
958
- formify: formify2 = null
869
+ formify: formify2 = null,
870
+ query
959
871
  }) {
960
872
  const cms = toolkit.useCMS();
961
873
  const [formValues, setFormValues] = React__default["default"].useState({});
@@ -1005,7 +917,6 @@ mutation addPendingDocumentMutation(
1005
917
  React__default["default"].useEffect(() => {
1006
918
  updateData();
1007
919
  }, [JSON.stringify(formValues)]);
1008
- const queryString = graphql.print(query(gql__default["default"]));
1009
920
  React__default["default"].useEffect(() => {
1010
921
  if (pendingReset) {
1011
922
  setData(__spreadProps(__spreadValues({}, data), { [pendingReset]: initialData[pendingReset] }));
@@ -1013,9 +924,15 @@ mutation addPendingDocumentMutation(
1013
924
  }
1014
925
  }, [pendingReset]);
1015
926
  React__default["default"].useEffect(() => {
927
+ if (!query) {
928
+ setIsLoading(false);
929
+ return;
930
+ }
1016
931
  const formIds = [];
1017
932
  setIsLoading(true);
1018
- cms.api.tina.requestWithForm(query, { variables }).then((payload) => {
933
+ cms.api.tina.requestWithForm((gql2) => gql2(query), {
934
+ variables
935
+ }).then((payload) => {
1019
936
  cms.plugins.remove(new toolkit.FormMetaPlugin({ name: "tina-admin-link" }));
1020
937
  setData(payload);
1021
938
  setInitialData(payload);
@@ -1033,18 +950,6 @@ mutation addPendingDocumentMutation(
1033
950
  values: yup2.object().required(),
1034
951
  form: yup2.object().required()
1035
952
  }), `Unable to build form shape for fields at ${queryName}`);
1036
- if (cms.flags.get("tina-admin")) {
1037
- const TinaAdminLink = new toolkit.FormMetaPlugin({
1038
- name: "tina-admin-link",
1039
- Component: () => /* @__PURE__ */ React__default["default"].createElement("a", {
1040
- href: `/admin/collections/${result._internalSys.collection.name}/${result._internalSys.filename}`,
1041
- className: "flex items-center px-5 py-2 border-t border-b shadow border-gray-100 uppercase text-xs font-medium bg-white hover:bg-gray-50 hover:text-blue-500 transition-colors duration-100 ease-out"
1042
- }, /* @__PURE__ */ React__default["default"].createElement(BiLinkExternal, {
1043
- className: "h-4 w-auto opacity-80 mr-2"
1044
- }), " Edit in Tina Admin")
1045
- });
1046
- cms.plugins.add(TinaAdminLink);
1047
- }
1048
953
  const formConfig = {
1049
954
  id: queryName,
1050
955
  label: result.form.label,
@@ -1166,7 +1071,7 @@ mutation addPendingDocumentMutation(
1166
1071
  }
1167
1072
  });
1168
1073
  };
1169
- }, [queryString, JSON.stringify(variables), currentBranch]);
1074
+ }, [query, JSON.stringify(variables), currentBranch]);
1170
1075
  return [data, isLoading];
1171
1076
  }
1172
1077
  const transformDocumentIntoMutationRequestPayload = (document, instructions) => {
@@ -1387,17 +1292,1380 @@ mutation addPendingDocumentMutation(
1387
1292
  run();
1388
1293
  }, [cms]);
1389
1294
  React__default["default"].useEffect(() => {
1390
- if (plugin) {
1391
- cms.plugins.add(plugin);
1295
+ if (plugin) {
1296
+ cms.plugins.add(plugin);
1297
+ }
1298
+ return () => {
1299
+ if (plugin) {
1300
+ cms.plugins.remove(plugin);
1301
+ }
1302
+ };
1303
+ }, [plugin]);
1304
+ };
1305
+ var styles = `/**
1306
+ Use a better box model (opinionated).
1307
+ */
1308
+
1309
+ .tina-tailwind *,
1310
+ .tina-tailwind ::before,
1311
+ .tina-tailwind ::after {
1312
+ box-sizing: border-box;
1313
+ }
1314
+
1315
+ /**
1316
+ Use a more readable tab size (opinionated).
1317
+ */
1318
+
1319
+ .tina-tailwind html {
1320
+ -moz-tab-size: 4;
1321
+ tab-size: 4;
1322
+ }
1323
+
1324
+ /**
1325
+ 1. Correct the line height in all browsers.
1326
+ 2. Prevent adjustments of font size after orientation changes in iOS.
1327
+ */
1328
+
1329
+ .tina-tailwind html {
1330
+ line-height: 1.15; /* 1 */
1331
+ -webkit-text-size-adjust: 100%; /* 2 */
1332
+ }
1333
+
1334
+ /**
1335
+ Remove the margin in all browsers.
1336
+ */
1337
+
1338
+ .tina-tailwind body {
1339
+ margin: 0;
1340
+ }
1341
+
1342
+ /**
1343
+ Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3)
1344
+ */
1345
+
1346
+ .tina-tailwind body {
1347
+ font-family:
1348
+ system-ui,
1349
+ -apple-system, /* Firefox supports this but not yet \`system-ui\` */
1350
+ 'Segoe UI',
1351
+ Roboto,
1352
+ Helvetica,
1353
+ Arial,
1354
+ sans-serif,
1355
+ 'Apple Color Emoji',
1356
+ 'Segoe UI Emoji';
1357
+ }
1358
+
1359
+ /**
1360
+ 1. Add the correct height in Firefox.
1361
+ 2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
1362
+ */
1363
+
1364
+ .tina-tailwind hr {
1365
+ height: 0; /* 1 */
1366
+ color: inherit; /* 2 */
1367
+ }
1368
+
1369
+ /**
1370
+ Add the correct text decoration in Chrome, Edge, and Safari.
1371
+ */
1372
+
1373
+ .tina-tailwind abbr[title] {
1374
+ text-decoration: underline dotted;
1375
+ }
1376
+
1377
+ /**
1378
+ Add the correct font weight in Edge and Safari.
1379
+ */
1380
+
1381
+ .tina-tailwind b,
1382
+ .tina-tailwind strong {
1383
+ font-weight: bolder;
1384
+ }
1385
+
1386
+ /**
1387
+ 1. Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3)
1388
+ 2. Correct the odd 'em' font sizing in all browsers.
1389
+ */
1390
+
1391
+ .tina-tailwind code,
1392
+ .tina-tailwind kbd,
1393
+ .tina-tailwind samp,
1394
+ .tina-tailwind pre {
1395
+ font-family:
1396
+ ui-monospace,
1397
+ SFMono-Regular,
1398
+ Consolas,
1399
+ 'Liberation Mono',
1400
+ Menlo,
1401
+ monospace; /* 1 */
1402
+ font-size: 1em; /* 2 */
1403
+ }
1404
+
1405
+ /**
1406
+ Add the correct font size in all browsers.
1407
+ */
1408
+
1409
+ .tina-tailwind small {
1410
+ font-size: 80%;
1411
+ }
1412
+
1413
+ /**
1414
+ Prevent 'sub' and 'sup' elements from affecting the line height in all browsers.
1415
+ */
1416
+
1417
+ .tina-tailwind sub,
1418
+ .tina-tailwind sup {
1419
+ font-size: 75%;
1420
+ line-height: 0;
1421
+ position: relative;
1422
+ vertical-align: baseline;
1423
+ }
1424
+
1425
+ /*
1426
+ Text-level semantics
1427
+ ====================
1428
+ */
1429
+
1430
+ .tina-tailwind sub {
1431
+ bottom: -0.25em;
1432
+ }
1433
+
1434
+ /*
1435
+ Grouping content
1436
+ ================
1437
+ */
1438
+
1439
+ .tina-tailwind sup {
1440
+ top: -0.5em;
1441
+ }
1442
+
1443
+ /**
1444
+ 1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
1445
+ 2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
1446
+ */
1447
+
1448
+ .tina-tailwind table {
1449
+ text-indent: 0; /* 1 */
1450
+ border-color: inherit; /* 2 */
1451
+ }
1452
+
1453
+ /**
1454
+ 1. Change the font styles in all browsers.
1455
+ 2. Remove the margin in Firefox and Safari.
1456
+ */
1457
+
1458
+ .tina-tailwind button,
1459
+ .tina-tailwind input,
1460
+ .tina-tailwind optgroup,
1461
+ .tina-tailwind select,
1462
+ .tina-tailwind textarea {
1463
+ font-family: inherit; /* 1 */
1464
+ font-size: 100%; /* 1 */
1465
+ line-height: 1.15; /* 1 */
1466
+ margin: 0; /* 2 */
1467
+ }
1468
+
1469
+ /**
1470
+ Remove the inheritance of text transform in Edge and Firefox.
1471
+ 1. Remove the inheritance of text transform in Firefox.
1472
+ */
1473
+
1474
+ .tina-tailwind button,
1475
+ .tina-tailwind select { /* 1 */
1476
+ text-transform: none;
1477
+ }
1478
+
1479
+ /**
1480
+ Correct the inability to style clickable types in iOS and Safari.
1481
+ */
1482
+
1483
+ .tina-tailwind button,
1484
+ .tina-tailwind [type='button'],
1485
+ .tina-tailwind [type='reset'],
1486
+ .tina-tailwind [type='submit'] {
1487
+ -webkit-appearance: button;
1488
+ }
1489
+
1490
+ /**
1491
+ Remove the inner border and padding in Firefox.
1492
+ */
1493
+
1494
+ .tina-tailwind ::-moz-focus-inner {
1495
+ border-style: none;
1496
+ padding: 0;
1497
+ }
1498
+
1499
+ /**
1500
+ Restore the focus styles unset by the previous rule.
1501
+ */
1502
+
1503
+ .tina-tailwind :-moz-focusring {
1504
+ outline: 1px dotted ButtonText;
1505
+ }
1506
+
1507
+ /**
1508
+ Remove the additional ':invalid' styles in Firefox.
1509
+ See: https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737
1510
+ */
1511
+
1512
+ .tina-tailwind :-moz-ui-invalid {
1513
+ box-shadow: none;
1514
+ }
1515
+
1516
+ /**
1517
+ Remove the padding so developers are not caught out when they zero out 'fieldset' elements in all browsers.
1518
+ */
1519
+
1520
+ .tina-tailwind legend {
1521
+ padding: 0;
1522
+ }
1523
+
1524
+ /**
1525
+ Add the correct vertical alignment in Chrome and Firefox.
1526
+ */
1527
+
1528
+ .tina-tailwind progress {
1529
+ vertical-align: baseline;
1530
+ }
1531
+
1532
+ /**
1533
+ Correct the cursor style of increment and decrement buttons in Safari.
1534
+ */
1535
+
1536
+ .tina-tailwind ::-webkit-inner-spin-button,
1537
+ .tina-tailwind ::-webkit-outer-spin-button {
1538
+ height: auto;
1539
+ }
1540
+
1541
+ /**
1542
+ 1. Correct the odd appearance in Chrome and Safari.
1543
+ 2. Correct the outline style in Safari.
1544
+ */
1545
+
1546
+ .tina-tailwind [type='search'] {
1547
+ -webkit-appearance: textfield; /* 1 */
1548
+ outline-offset: -2px; /* 2 */
1549
+ }
1550
+
1551
+ /**
1552
+ Remove the inner padding in Chrome and Safari on macOS.
1553
+ */
1554
+
1555
+ .tina-tailwind ::-webkit-search-decoration {
1556
+ -webkit-appearance: none;
1557
+ }
1558
+
1559
+ /**
1560
+ 1. Correct the inability to style clickable types in iOS and Safari.
1561
+ 2. Change font properties to 'inherit' in Safari.
1562
+ */
1563
+
1564
+ .tina-tailwind ::-webkit-file-upload-button {
1565
+ -webkit-appearance: button; /* 1 */
1566
+ font: inherit; /* 2 */
1567
+ }
1568
+
1569
+ /*
1570
+ Add the correct display in Chrome and Safari.
1571
+ */
1572
+
1573
+ .tina-tailwind summary {
1574
+ display: list-item;
1575
+ }
1576
+
1577
+ /**
1578
+ * Removes the default spacing and border for appropriate elements.
1579
+ */
1580
+
1581
+ .tina-tailwind blockquote,
1582
+ .tina-tailwind dl,
1583
+ .tina-tailwind dd,
1584
+ .tina-tailwind h1,
1585
+ .tina-tailwind h2,
1586
+ .tina-tailwind h3,
1587
+ .tina-tailwind h4,
1588
+ .tina-tailwind h5,
1589
+ .tina-tailwind h6,
1590
+ .tina-tailwind hr,
1591
+ .tina-tailwind figure,
1592
+ .tina-tailwind p,
1593
+ .tina-tailwind pre {
1594
+ margin: 0;
1595
+ }
1596
+
1597
+ /**
1598
+ * Manually forked from SUIT CSS Base: https://github.com/suitcss/base
1599
+ * A thin layer on top of normalize.css that provides a starting point more
1600
+ * suitable for web applications.
1601
+ */
1602
+
1603
+ .tina-tailwind button {
1604
+ background-color: transparent;
1605
+ background-image: none;
1606
+ }
1607
+
1608
+ /*
1609
+ Interactive
1610
+ ===========
1611
+ */
1612
+
1613
+ .tina-tailwind fieldset {
1614
+ margin: 0;
1615
+ padding: 0;
1616
+ }
1617
+
1618
+ /*
1619
+ Forms
1620
+ =====
1621
+ */
1622
+
1623
+ .tina-tailwind ol,
1624
+ .tina-tailwind ul {
1625
+ list-style: none;
1626
+ margin: 0;
1627
+ padding: 0;
1628
+ }
1629
+
1630
+ /**
1631
+ * 1. Use the user's configured \`sans\` font-family (with Tailwind's default
1632
+ * sans-serif font stack as a fallback) as a sane default.
1633
+ * 2. Use Tailwind's default "normal" line-height so the user isn't forced
1634
+ * to override it to ensure consistency even when using the default theme.
1635
+ */
1636
+
1637
+ .tina-tailwind html {
1638
+ 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"; /* 1 */
1639
+ line-height: 1.5; /* 2 */
1640
+ }
1641
+
1642
+ /**
1643
+ * Inherit font-family and line-height from \`html\` so users can set them as
1644
+ * a class directly on the \`html\` element.
1645
+ */
1646
+
1647
+ .tina-tailwind body {
1648
+ font-family: inherit;
1649
+ line-height: inherit;
1650
+ }
1651
+
1652
+ /**
1653
+ * 1. Prevent padding and border from affecting element width.
1654
+ *
1655
+ * We used to set this in the html element and inherit from
1656
+ * the parent element for everything else. This caused issues
1657
+ * in shadow-dom-enhanced elements like <details> where the content
1658
+ * is wrapped by a div with box-sizing set to \`content-box\`.
1659
+ *
1660
+ * https://github.com/mozdevs/cssremedy/issues/4
1661
+ *
1662
+ *
1663
+ * 2. Allow adding a border to an element by just adding a border-width.
1664
+ *
1665
+ * By default, the way the browser specifies that an element should have no
1666
+ * border is by setting it's border-style to \`none\` in the user-agent
1667
+ * stylesheet.
1668
+ *
1669
+ * In order to easily add borders to elements by just setting the \`border-width\`
1670
+ * property, we change the default border-style for all elements to \`solid\`, and
1671
+ * use border-width to hide them instead. This way our \`border\` utilities only
1672
+ * need to set the \`border-width\` property instead of the entire \`border\`
1673
+ * shorthand, making our border utilities much more straightforward to compose.
1674
+ *
1675
+ * https://github.com/tailwindcss/tailwindcss/pull/116
1676
+ */
1677
+
1678
+ .tina-tailwind *,
1679
+ .tina-tailwind ::before,
1680
+ .tina-tailwind ::after {
1681
+ box-sizing: border-box; /* 1 */
1682
+ border-width: 0; /* 2 */
1683
+ border-style: solid; /* 2 */
1684
+ border-color: currentColor; /* 2 */
1685
+ }
1686
+
1687
+ /*
1688
+ * Ensure horizontal rules are visible by default
1689
+ */
1690
+
1691
+ .tina-tailwind hr {
1692
+ border-top-width: 1px;
1693
+ }
1694
+
1695
+ /**
1696
+ * Undo the \`border-style: none\` reset that Normalize applies to images so that
1697
+ * our \`border-{width}\` utilities have the expected effect.
1698
+ *
1699
+ * The Normalize reset is unnecessary for us since we default the border-width
1700
+ * to 0 on all elements.
1701
+ *
1702
+ * https://github.com/tailwindcss/tailwindcss/issues/362
1703
+ */
1704
+
1705
+ .tina-tailwind img {
1706
+ border-style: solid;
1707
+ }
1708
+
1709
+ /**
1710
+ * Tailwind custom reset styles
1711
+ */
1712
+
1713
+ .tina-tailwind textarea {
1714
+ resize: vertical;
1715
+ }
1716
+
1717
+ /*
1718
+ Tabular data
1719
+ ============
1720
+ */
1721
+
1722
+ .tina-tailwind input::placeholder,
1723
+ .tina-tailwind textarea::placeholder {
1724
+ opacity: 1;
1725
+ color: #918c9e;
1726
+ }
1727
+
1728
+ /*
1729
+ Sections
1730
+ ========
1731
+ */
1732
+
1733
+ .tina-tailwind button,
1734
+ .tina-tailwind [role="button"] {
1735
+ cursor: pointer;
1736
+ }
1737
+
1738
+ /**
1739
+ * Override legacy focus reset from Normalize with modern Firefox focus styles.
1740
+ *
1741
+ * This is actually an improvement over the new defaults in Firefox in our testing,
1742
+ * as it triggers the better focus styles even for links, which still use a dotted
1743
+ * outline in Firefox by default.
1744
+ */
1745
+
1746
+ .tina-tailwind :-moz-focusring {
1747
+ outline: auto;
1748
+ }
1749
+
1750
+ /*
1751
+ Document
1752
+ ========
1753
+ */
1754
+
1755
+ .tina-tailwind table {
1756
+ border-collapse: collapse;
1757
+ }
1758
+
1759
+ /*! modern-normalize v1.1.0 | MIT License | https://github.com/sindresorhus/modern-normalize */
1760
+
1761
+ .tina-tailwind h1,
1762
+ .tina-tailwind h2,
1763
+ .tina-tailwind h3,
1764
+ .tina-tailwind h4,
1765
+ .tina-tailwind h5,
1766
+ .tina-tailwind h6 {
1767
+ font-size: inherit;
1768
+ font-weight: inherit;
1769
+ }
1770
+
1771
+ /**
1772
+ * Reset links to optimize for opt-in styling instead of
1773
+ * opt-out.
1774
+ */
1775
+
1776
+ .tina-tailwind a {
1777
+ color: inherit;
1778
+ text-decoration: inherit;
1779
+ }
1780
+
1781
+ /**
1782
+ * Reset form element properties that are easy to forget to
1783
+ * style explicitly so you don't inadvertently introduce
1784
+ * styles that deviate from your design system. These styles
1785
+ * supplement a partial reset that is already applied by
1786
+ * normalize.css.
1787
+ */
1788
+
1789
+ .tina-tailwind button,
1790
+ .tina-tailwind input,
1791
+ .tina-tailwind optgroup,
1792
+ .tina-tailwind select,
1793
+ .tina-tailwind textarea {
1794
+ padding: 0;
1795
+ line-height: inherit;
1796
+ color: inherit;
1797
+ }
1798
+
1799
+ /**
1800
+ * Use the configured 'mono' font family for elements that
1801
+ * are expected to be rendered with a monospace font, falling
1802
+ * back to the system monospace stack if there is no configured
1803
+ * 'mono' font family.
1804
+ */
1805
+
1806
+ .tina-tailwind pre,
1807
+ .tina-tailwind code,
1808
+ .tina-tailwind kbd,
1809
+ .tina-tailwind samp {
1810
+ font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
1811
+ }
1812
+
1813
+ /**
1814
+ * 1. Make replaced elements \`display: block\` by default as that's
1815
+ * the behavior you want almost all of the time. Inspired by
1816
+ * CSS Remedy, with \`svg\` added as well.
1817
+ *
1818
+ * https://github.com/mozdevs/cssremedy/issues/14
1819
+ *
1820
+ * 2. Add \`vertical-align: middle\` to align replaced elements more
1821
+ * sensibly by default when overriding \`display\` by adding a
1822
+ * utility like \`inline\`.
1823
+ *
1824
+ * This can trigger a poorly considered linting error in some
1825
+ * tools but is included by design.
1826
+ *
1827
+ * https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210
1828
+ */
1829
+
1830
+ .tina-tailwind img,
1831
+ .tina-tailwind svg,
1832
+ .tina-tailwind video,
1833
+ .tina-tailwind canvas,
1834
+ .tina-tailwind audio,
1835
+ .tina-tailwind iframe,
1836
+ .tina-tailwind embed,
1837
+ .tina-tailwind object {
1838
+ display: block; /* 1 */
1839
+ vertical-align: middle; /* 2 */
1840
+ }
1841
+
1842
+ /**
1843
+ * Constrain images and videos to the parent width and preserve
1844
+ * their intrinsic aspect ratio.
1845
+ *
1846
+ * https://github.com/mozdevs/cssremedy/issues/14
1847
+ */
1848
+
1849
+ .tina-tailwind img,
1850
+ .tina-tailwind video {
1851
+ max-width: 100%;
1852
+ height: auto;
1853
+ }
1854
+
1855
+ /**
1856
+ * Ensure the default browser behavior of the \`hidden\` attribute.
1857
+ */
1858
+
1859
+ .tina-tailwind [hidden] {
1860
+ display: none;
1861
+ }
1862
+
1863
+ /*! tailwindcss v2.2.19 | MIT License | https://tailwindcss.com
1864
+ */
1865
+
1866
+ .tina-tailwind *, .tina-tailwind ::before, .tina-tailwind ::after {
1867
+ --tw-translate-x: 0;
1868
+ --tw-translate-y: 0;
1869
+ --tw-rotate: 0;
1870
+ --tw-skew-x: 0;
1871
+ --tw-skew-y: 0;
1872
+ --tw-scale-x: 1;
1873
+ --tw-scale-y: 1;
1874
+ --tw-transform: translateX(var(--tw-translate-x)) translateY(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));
1875
+ }
1876
+
1877
+ .tina-tailwind *, .tina-tailwind ::before, .tina-tailwind ::after {
1878
+ --tw-border-opacity: 1;
1879
+ border-color: rgba(225, 221, 236, var(--tw-border-opacity));
1880
+ }
1881
+
1882
+ .tina-tailwind *, .tina-tailwind ::before, .tina-tailwind ::after {
1883
+ --tw-ring-offset-shadow: 0 0 #0000;
1884
+ --tw-ring-shadow: 0 0 #0000;
1885
+ --tw-shadow: 0 0 #0000;
1886
+ }
1887
+
1888
+ .tina-tailwind *, .tina-tailwind ::before, .tina-tailwind ::after {
1889
+ --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/);
1890
+ --tw-ring-offset-width: 0px;
1891
+ --tw-ring-offset-color: #fff;
1892
+ --tw-ring-color: rgba(0, 132, 255, 0.5);
1893
+ --tw-ring-offset-shadow: 0 0 #0000;
1894
+ --tw-ring-shadow: 0 0 #0000;
1895
+ --tw-shadow: 0 0 #0000;
1896
+ }
1897
+
1898
+ .tina-tailwind *, .tina-tailwind ::before, .tina-tailwind ::after {
1899
+ --tw-blur: var(--tw-empty,/*!*/ /*!*/);
1900
+ --tw-brightness: var(--tw-empty,/*!*/ /*!*/);
1901
+ --tw-contrast: var(--tw-empty,/*!*/ /*!*/);
1902
+ --tw-grayscale: var(--tw-empty,/*!*/ /*!*/);
1903
+ --tw-hue-rotate: var(--tw-empty,/*!*/ /*!*/);
1904
+ --tw-invert: var(--tw-empty,/*!*/ /*!*/);
1905
+ --tw-saturate: var(--tw-empty,/*!*/ /*!*/);
1906
+ --tw-sepia: var(--tw-empty,/*!*/ /*!*/);
1907
+ --tw-drop-shadow: var(--tw-empty,/*!*/ /*!*/);
1908
+ --tw-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);
1909
+ }
1910
+
1911
+ .tina-tailwind .static {
1912
+ position: static !important;
1913
+ }
1914
+
1915
+ .tina-tailwind .fixed {
1916
+ position: fixed !important;
1917
+ }
1918
+
1919
+ .tina-tailwind .absolute {
1920
+ position: absolute !important;
1921
+ }
1922
+
1923
+ .tina-tailwind .relative {
1924
+ position: relative !important;
1925
+ }
1926
+
1927
+ .tina-tailwind .bottom-3 {
1928
+ bottom: 12px !important;
1929
+ }
1930
+
1931
+ .tina-tailwind .right-5 {
1932
+ right: 20px !important;
1933
+ }
1934
+
1935
+ .tina-tailwind .right-0 {
1936
+ right: 0px !important;
1937
+ }
1938
+
1939
+ .tina-tailwind .z-50 {
1940
+ z-index: 50 !important;
1941
+ }
1942
+
1943
+ .tina-tailwind .-ml-1 {
1944
+ margin-left: -4px !important;
1945
+ }
1946
+
1947
+ .tina-tailwind .mr-1\\.5 {
1948
+ margin-right: 6px !important;
1949
+ }
1950
+
1951
+ .tina-tailwind .mr-1 {
1952
+ margin-right: 4px !important;
1953
+ }
1954
+
1955
+ .tina-tailwind .mb-3 {
1956
+ margin-bottom: 12px !important;
1957
+ }
1958
+
1959
+ .tina-tailwind .mr-2 {
1960
+ margin-right: 8px !important;
1961
+ }
1962
+
1963
+ .tina-tailwind .ml-1 {
1964
+ margin-left: 4px !important;
1965
+ }
1966
+
1967
+ .tina-tailwind .mt-2 {
1968
+ margin-top: 8px !important;
1969
+ }
1970
+
1971
+ .tina-tailwind .mt-8 {
1972
+ margin-top: 32px !important;
1973
+ }
1974
+
1975
+ .tina-tailwind .mb-0\\.5 {
1976
+ margin-bottom: 2px !important;
1977
+ }
1978
+
1979
+ .tina-tailwind .mb-0 {
1980
+ margin-bottom: 0px !important;
1981
+ }
1982
+
1983
+ .tina-tailwind .block {
1984
+ display: block !important;
1985
+ }
1986
+
1987
+ .tina-tailwind .inline-block {
1988
+ display: inline-block !important;
1989
+ }
1990
+
1991
+ .tina-tailwind .flex {
1992
+ display: flex !important;
1993
+ }
1994
+
1995
+ .tina-tailwind .inline-flex {
1996
+ display: inline-flex !important;
1997
+ }
1998
+
1999
+ .tina-tailwind .table {
2000
+ display: table !important;
2001
+ }
2002
+
2003
+ .tina-tailwind .h-screen {
2004
+ height: 100vh !important;
2005
+ }
2006
+
2007
+ .tina-tailwind .h-auto {
2008
+ height: auto !important;
2009
+ }
2010
+
2011
+ .tina-tailwind .h-6 {
2012
+ height: 24px !important;
2013
+ }
2014
+
2015
+ .tina-tailwind .h-5 {
2016
+ height: 20px !important;
2017
+ }
2018
+
2019
+ .tina-tailwind .w-full {
2020
+ width: 100% !important;
2021
+ }
2022
+
2023
+ .tina-tailwind .w-10 {
2024
+ width: 40px !important;
2025
+ }
2026
+
2027
+ .tina-tailwind .w-80 {
2028
+ width: 320px !important;
2029
+ }
2030
+
2031
+ .tina-tailwind .w-2\\/3 {
2032
+ width: 66.666667% !important;
2033
+ }
2034
+
2035
+ .tina-tailwind .w-6 {
2036
+ width: 24px !important;
2037
+ }
2038
+
2039
+ .tina-tailwind .w-auto {
2040
+ width: auto !important;
2041
+ }
2042
+
2043
+ .tina-tailwind .w-56 {
2044
+ width: 224px !important;
2045
+ }
2046
+
2047
+ .tina-tailwind .min-w-full {
2048
+ min-width: 100% !important;
2049
+ }
2050
+
2051
+ .tina-tailwind .max-w-lg {
2052
+ max-width: 32rem !important;
2053
+ }
2054
+
2055
+ .tina-tailwind .max-w-screen-md {
2056
+ max-width: 768px !important;
2057
+ }
2058
+
2059
+ .tina-tailwind .max-w-xs {
2060
+ max-width: 20rem !important;
2061
+ }
2062
+
2063
+ .tina-tailwind .flex-1 {
2064
+ flex: 1 1 0% !important;
2065
+ }
2066
+
2067
+ .tina-tailwind .flex-shrink-0 {
2068
+ flex-shrink: 0 !important;
2069
+ }
2070
+
2071
+ .tina-tailwind .origin-top-right {
2072
+ transform-origin: top right !important;
2073
+ }
2074
+
2075
+ .tina-tailwind .translate-y-full {
2076
+ --tw-translate-y: 100% !important;
2077
+ transform: var(--tw-transform) !important;
2078
+ }
2079
+
2080
+ .tina-tailwind .-translate-y-2 {
2081
+ --tw-translate-y: -8px !important;
2082
+ transform: var(--tw-transform) !important;
2083
+ }
2084
+
2085
+ .tina-tailwind .translate-y-0 {
2086
+ --tw-translate-y: 0px !important;
2087
+ transform: var(--tw-transform) !important;
2088
+ }
2089
+
2090
+ .tina-tailwind .rotate-90 {
2091
+ --tw-rotate: 90deg !important;
2092
+ transform: var(--tw-transform) !important;
2093
+ }
2094
+
2095
+ .tina-tailwind .rotate-0 {
2096
+ --tw-rotate: 0deg !important;
2097
+ transform: var(--tw-transform) !important;
2098
+ }
2099
+
2100
+ .tina-tailwind .scale-95 {
2101
+ --tw-scale-x: .95 !important;
2102
+ --tw-scale-y: .95 !important;
2103
+ transform: var(--tw-transform) !important;
2104
+ }
2105
+
2106
+ .tina-tailwind .scale-100 {
2107
+ --tw-scale-x: 1 !important;
2108
+ --tw-scale-y: 1 !important;
2109
+ transform: var(--tw-transform) !important;
2110
+ }
2111
+
2112
+ .tina-tailwind .transform {
2113
+ transform: var(--tw-transform) !important;
2114
+ }
2115
+
2116
+ .tina-tailwind .flex-col {
2117
+ flex-direction: column !important;
2118
+ }
2119
+
2120
+ .tina-tailwind .items-end {
2121
+ align-items: flex-end !important;
2122
+ }
2123
+
2124
+ .tina-tailwind .items-center {
2125
+ align-items: center !important;
2126
+ }
2127
+
2128
+ .tina-tailwind .items-stretch {
2129
+ align-items: stretch !important;
2130
+ }
2131
+
2132
+ .tina-tailwind .justify-start {
2133
+ justify-content: flex-start !important;
2134
+ }
2135
+
2136
+ .tina-tailwind .justify-end {
2137
+ justify-content: flex-end !important;
2138
+ }
2139
+
2140
+ .tina-tailwind .justify-center {
2141
+ justify-content: center !important;
2142
+ }
2143
+
2144
+ .tina-tailwind .justify-between {
2145
+ justify-content: space-between !important;
2146
+ }
2147
+
2148
+ .tina-tailwind .gap-0\\.5 {
2149
+ gap: 2px !important;
2150
+ }
2151
+
2152
+ .tina-tailwind .gap-0 {
2153
+ gap: 0px !important;
2154
+ }
2155
+
2156
+ .tina-tailwind .gap-4 {
2157
+ gap: 16px !important;
2158
+ }
2159
+
2160
+ .tina-tailwind .gap-1 {
2161
+ gap: 4px !important;
2162
+ }
2163
+
2164
+ .tina-tailwind .gap-3 {
2165
+ gap: 12px !important;
2166
+ }
2167
+
2168
+ .tina-tailwind .gap-1\\.5 {
2169
+ gap: 6px !important;
2170
+ }
2171
+
2172
+ .tina-tailwind .divide-y > :not([hidden]) ~ :not([hidden]) {
2173
+ --tw-divide-y-reverse: 0 !important;
2174
+ border-top-width: calc(1px * calc(1 - var(--tw-divide-y-reverse))) !important;
2175
+ border-bottom-width: calc(1px * var(--tw-divide-y-reverse)) !important;
2176
+ }
2177
+
2178
+ .tina-tailwind .overflow-hidden {
2179
+ overflow: hidden !important;
2180
+ }
2181
+
2182
+ .tina-tailwind .overflow-y-auto {
2183
+ overflow-y: auto !important;
2184
+ }
2185
+
2186
+ .tina-tailwind .overflow-ellipsis {
2187
+ text-overflow: ellipsis !important;
2188
+ }
2189
+
2190
+ .tina-tailwind .whitespace-nowrap {
2191
+ white-space: nowrap !important;
2192
+ }
2193
+
2194
+ .tina-tailwind .rounded-lg {
2195
+ border-radius: 8px !important;
2196
+ }
2197
+
2198
+ .tina-tailwind .rounded-full {
2199
+ border-radius: 9999px !important;
2200
+ }
2201
+
2202
+ .tina-tailwind .rounded-md {
2203
+ border-radius: 6px !important;
2204
+ }
2205
+
2206
+ .tina-tailwind .border {
2207
+ border-width: 1px !important;
2208
+ }
2209
+
2210
+ .tina-tailwind .border-b {
2211
+ border-bottom-width: 1px !important;
2212
+ }
2213
+
2214
+ .tina-tailwind .border-r {
2215
+ border-right-width: 1px !important;
2216
+ }
2217
+
2218
+ .tina-tailwind .border-gray-200 {
2219
+ --tw-border-opacity: 1 !important;
2220
+ border-color: rgba(225, 221, 236, var(--tw-border-opacity)) !important;
2221
+ }
2222
+
2223
+ .tina-tailwind .border-transparent {
2224
+ border-color: transparent !important;
2225
+ }
2226
+
2227
+ .tina-tailwind .bg-white {
2228
+ --tw-bg-opacity: 1 !important;
2229
+ background-color: rgba(255, 255, 255, var(--tw-bg-opacity)) !important;
2230
+ }
2231
+
2232
+ .tina-tailwind .bg-gray-50 {
2233
+ --tw-bg-opacity: 1 !important;
2234
+ background-color: rgba(246, 246, 249, var(--tw-bg-opacity)) !important;
2235
+ }
2236
+
2237
+ .tina-tailwind .bg-transparent {
2238
+ background-color: transparent !important;
2239
+ }
2240
+
2241
+ .tina-tailwind .bg-gradient-to-b {
2242
+ background-image: linear-gradient(to bottom, var(--tw-gradient-stops)) !important;
2243
+ }
2244
+
2245
+ .tina-tailwind .from-blue-900 {
2246
+ --tw-gradient-from: #1D2C6C !important;
2247
+ --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(29, 44, 108, 0)) !important;
2248
+ }
2249
+
2250
+ .tina-tailwind .from-white {
2251
+ --tw-gradient-from: #fff !important;
2252
+ --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0)) !important;
2253
+ }
2254
+
2255
+ .tina-tailwind .to-gray-900 {
2256
+ --tw-gradient-to: #252336 !important;
2257
+ }
2258
+
2259
+ .tina-tailwind .to-gray-50 {
2260
+ --tw-gradient-to: #F6F6F9 !important;
2261
+ }
2262
+
2263
+ .tina-tailwind .px-4 {
2264
+ padding-left: 16px !important;
2265
+ padding-right: 16px !important;
2266
+ }
2267
+
2268
+ .tina-tailwind .py-6 {
2269
+ padding-top: 24px !important;
2270
+ padding-bottom: 24px !important;
2271
+ }
2272
+
2273
+ .tina-tailwind .px-5 {
2274
+ padding-left: 20px !important;
2275
+ padding-right: 20px !important;
2276
+ }
2277
+
2278
+ .tina-tailwind .py-4 {
2279
+ padding-top: 16px !important;
2280
+ padding-bottom: 16px !important;
2281
+ }
2282
+
2283
+ .tina-tailwind .px-6 {
2284
+ padding-left: 24px !important;
2285
+ padding-right: 24px !important;
2286
+ }
2287
+
2288
+ .tina-tailwind .py-1 {
2289
+ padding-top: 4px !important;
2290
+ padding-bottom: 4px !important;
2291
+ }
2292
+
2293
+ .tina-tailwind .py-2 {
2294
+ padding-top: 8px !important;
2295
+ padding-bottom: 8px !important;
2296
+ }
2297
+
2298
+ .tina-tailwind .py-7 {
2299
+ padding-top: 28px !important;
2300
+ padding-bottom: 28px !important;
2301
+ }
2302
+
2303
+ .tina-tailwind .px-8 {
2304
+ padding-left: 32px !important;
2305
+ padding-right: 32px !important;
2306
+ }
2307
+
2308
+ .tina-tailwind .py-2\\.5 {
2309
+ padding-top: 10px !important;
2310
+ padding-bottom: 10px !important;
2311
+ }
2312
+
2313
+ .tina-tailwind .py-14 {
2314
+ padding-top: 56px !important;
2315
+ padding-bottom: 56px !important;
2316
+ }
2317
+
2318
+ .tina-tailwind .py-3 {
2319
+ padding-top: 12px !important;
2320
+ padding-bottom: 12px !important;
2321
+ }
2322
+
2323
+ .tina-tailwind .py-1\\.5 {
2324
+ padding-top: 6px !important;
2325
+ padding-bottom: 6px !important;
2326
+ }
2327
+
2328
+ .tina-tailwind .py-10 {
2329
+ padding-top: 40px !important;
2330
+ padding-bottom: 40px !important;
2331
+ }
2332
+
2333
+ .tina-tailwind .pt-16 {
2334
+ padding-top: 64px !important;
2335
+ }
2336
+
2337
+ .tina-tailwind .pb-10 {
2338
+ padding-bottom: 40px !important;
2339
+ }
2340
+
2341
+ .tina-tailwind .text-left {
2342
+ text-align: left !important;
2343
+ }
2344
+
2345
+ .tina-tailwind .text-center {
2346
+ text-align: center !important;
2347
+ }
2348
+
2349
+ .tina-tailwind .font-sans {
2350
+ 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" !important;
2351
+ }
2352
+
2353
+ .tina-tailwind .text-2xl {
2354
+ font-size: 24px !important;
2355
+ line-height: 1.33 !important;
2356
+ }
2357
+
2358
+ .tina-tailwind .text-base {
2359
+ font-size: 16px !important;
2360
+ line-height: 1.5 !important;
2361
+ }
2362
+
2363
+ .tina-tailwind .text-lg {
2364
+ font-size: 18px !important;
2365
+ line-height: 1.55 !important;
2366
+ }
2367
+
2368
+ .tina-tailwind .text-sm {
2369
+ font-size: 14px !important;
2370
+ line-height: 1.43 !important;
2371
+ }
2372
+
2373
+ .tina-tailwind .text-md {
2374
+ font-size: 16px !important;
2375
+ line-height: 1.5 !important;
2376
+ }
2377
+
2378
+ .tina-tailwind .text-3xl {
2379
+ font-size: 30px !important;
2380
+ line-height: 1.2 !important;
2381
+ }
2382
+
2383
+ .tina-tailwind .text-xs {
2384
+ font-size: 13px !important;
2385
+ line-height: 1.33 !important;
2386
+ }
2387
+
2388
+ .tina-tailwind .text-4xl {
2389
+ font-size: 36px !important;
2390
+ line-height: 1.1 !important;
2391
+ }
2392
+
2393
+ .tina-tailwind .font-bold {
2394
+ font-weight: 700 !important;
2395
+ }
2396
+
2397
+ .tina-tailwind .font-medium {
2398
+ font-weight: 500 !important;
2399
+ }
2400
+
2401
+ .tina-tailwind .uppercase {
2402
+ text-transform: uppercase !important;
2403
+ }
2404
+
2405
+ .tina-tailwind .italic {
2406
+ font-style: italic !important;
2407
+ }
2408
+
2409
+ .tina-tailwind .leading-normal {
2410
+ line-height: 1.5 !important;
2411
+ }
2412
+
2413
+ .tina-tailwind .leading-4 {
2414
+ line-height: 16px !important;
2415
+ }
2416
+
2417
+ .tina-tailwind .leading-5 {
2418
+ line-height: 20px !important;
2419
+ }
2420
+
2421
+ .tina-tailwind .tracking-wide {
2422
+ letter-spacing: 0.025em !important;
2423
+ }
2424
+
2425
+ .tina-tailwind .text-gray-700 {
2426
+ --tw-text-opacity: 1 !important;
2427
+ color: rgba(67, 62, 82, var(--tw-text-opacity)) !important;
2428
+ }
2429
+
2430
+ .tina-tailwind .text-gray-800 {
2431
+ --tw-text-opacity: 1 !important;
2432
+ color: rgba(54, 49, 69, var(--tw-text-opacity)) !important;
2433
+ }
2434
+
2435
+ .tina-tailwind .text-gray-600 {
2436
+ --tw-text-opacity: 1 !important;
2437
+ color: rgba(86, 81, 101, var(--tw-text-opacity)) !important;
2438
+ }
2439
+
2440
+ .tina-tailwind .text-blue-400 {
2441
+ --tw-text-opacity: 1 !important;
2442
+ color: rgba(34, 150, 254, var(--tw-text-opacity)) !important;
2443
+ }
2444
+
2445
+ .tina-tailwind .text-blue-600 {
2446
+ --tw-text-opacity: 1 !important;
2447
+ color: rgba(5, 116, 228, var(--tw-text-opacity)) !important;
2448
+ }
2449
+
2450
+ .tina-tailwind .text-white {
2451
+ --tw-text-opacity: 1 !important;
2452
+ color: rgba(255, 255, 255, var(--tw-text-opacity)) !important;
2453
+ }
2454
+
2455
+ .tina-tailwind .text-gray-400 {
2456
+ --tw-text-opacity: 1 !important;
2457
+ color: rgba(145, 140, 158, var(--tw-text-opacity)) !important;
2458
+ }
2459
+
2460
+ .tina-tailwind .text-gray-300 {
2461
+ --tw-text-opacity: 1 !important;
2462
+ color: rgba(178, 173, 190, var(--tw-text-opacity)) !important;
2463
+ }
2464
+
2465
+ .tina-tailwind .text-gray-500 {
2466
+ --tw-text-opacity: 1 !important;
2467
+ color: rgba(113, 108, 127, var(--tw-text-opacity)) !important;
2468
+ }
2469
+
2470
+ .tina-tailwind .underline {
2471
+ text-decoration: underline !important;
2472
+ }
2473
+
2474
+ .tina-tailwind .opacity-80 {
2475
+ opacity: .8 !important;
2476
+ }
2477
+
2478
+ .tina-tailwind .opacity-50 {
2479
+ opacity: .5 !important;
2480
+ }
2481
+
2482
+ .tina-tailwind .opacity-100 {
2483
+ opacity: 1 !important;
2484
+ }
2485
+
2486
+ .tina-tailwind .opacity-0 {
2487
+ opacity: 0 !important;
2488
+ }
2489
+
2490
+ .tina-tailwind .opacity-90 {
2491
+ opacity: .9 !important;
2492
+ }
2493
+
2494
+ .tina-tailwind .opacity-70 {
2495
+ opacity: .7 !important;
2496
+ }
2497
+
2498
+ .tina-tailwind .shadow-lg {
2499
+ --tw-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05) !important;
2500
+ box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) !important;
2501
+ }
2502
+
2503
+ .tina-tailwind .shadow-sm {
2504
+ --tw-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05) !important;
2505
+ box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) !important;
2506
+ }
2507
+
2508
+ .tina-tailwind .shadow {
2509
+ --tw-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06) !important;
2510
+ box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) !important;
2511
+ }
2512
+
2513
+ .tina-tailwind .ring-1 {
2514
+ --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color) !important;
2515
+ --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color) !important;
2516
+ box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000) !important;
2517
+ }
2518
+
2519
+ .tina-tailwind .ring-black {
2520
+ --tw-ring-opacity: 1 !important;
2521
+ --tw-ring-color: rgba(0, 0, 0, var(--tw-ring-opacity)) !important;
2522
+ }
2523
+
2524
+ .tina-tailwind .ring-opacity-5 {
2525
+ --tw-ring-opacity: .05 !important;
2526
+ }
2527
+
2528
+ .tina-tailwind .filter {
2529
+ filter: var(--tw-filter) !important;
2530
+ }
2531
+
2532
+ .tina-tailwind .transition-colors {
2533
+ transition-property: background-color, border-color, color, fill, stroke !important;
2534
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important;
2535
+ transition-duration: 150ms !important;
2536
+ }
2537
+
2538
+ .tina-tailwind .transition-opacity {
2539
+ transition-property: opacity !important;
2540
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important;
2541
+ transition-duration: 150ms !important;
2542
+ }
2543
+
2544
+ .tina-tailwind .transition-all {
2545
+ transition-property: all !important;
2546
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important;
2547
+ transition-duration: 150ms !important;
2548
+ }
2549
+
2550
+ .tina-tailwind .transition {
2551
+ transition-property: background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter !important;
2552
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important;
2553
+ transition-duration: 150ms !important;
2554
+ }
2555
+
2556
+ .tina-tailwind .duration-150 {
2557
+ transition-duration: 150ms !important;
2558
+ }
2559
+
2560
+ .tina-tailwind .duration-300 {
2561
+ transition-duration: 300ms !important;
2562
+ }
2563
+
2564
+ .tina-tailwind .duration-75 {
2565
+ transition-duration: 75ms !important;
2566
+ }
2567
+
2568
+ .tina-tailwind .duration-100 {
2569
+ transition-duration: 100ms !important;
2570
+ }
2571
+
2572
+ .tina-tailwind .ease-out {
2573
+ transition-timing-function: cubic-bezier(0, 0, 0.2, 1) !important;
2574
+ }
2575
+
2576
+ .tina-tailwind .ease-in-out {
2577
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important;
2578
+ }
2579
+
2580
+ .tina-tailwind .ease-in {
2581
+ transition-timing-function: cubic-bezier(0.4, 0, 1, 1) !important;
2582
+ }
2583
+
2584
+ .tina-tailwind {
2585
+ 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";
2586
+ --tw-text-opacity: 1;
2587
+ color: rgba(86, 81, 101, var(--tw-text-opacity));
2588
+ }
2589
+
2590
+ .hover\\:bg-gray-50:hover {
2591
+ --tw-bg-opacity: 1 !important;
2592
+ background-color: rgba(246, 246, 249, var(--tw-bg-opacity)) !important;
2593
+ }
2594
+
2595
+ .hover\\:text-blue-600:hover {
2596
+ --tw-text-opacity: 1 !important;
2597
+ color: rgba(5, 116, 228, var(--tw-text-opacity)) !important;
2598
+ }
2599
+
2600
+ .hover\\:text-blue-500:hover {
2601
+ --tw-text-opacity: 1 !important;
2602
+ color: rgba(0, 132, 255, var(--tw-text-opacity)) !important;
2603
+ }
2604
+
2605
+ .hover\\:opacity-100:hover {
2606
+ opacity: 1 !important;
2607
+ }
2608
+
2609
+ .hover\\:opacity-80:hover {
2610
+ opacity: .8 !important;
2611
+ }
2612
+
2613
+ .focus\\:outline-none:focus {
2614
+ outline: 2px solid transparent !important;
2615
+ outline-offset: 2px !important;
2616
+ }
2617
+
2618
+ .group:hover .group-hover\\:opacity-100 {
2619
+ opacity: 1 !important;
2620
+ }
2621
+
2622
+ .group:hover .group-hover\\:opacity-80 {
2623
+ opacity: .8 !important;
2624
+ }
2625
+
2626
+ @media (min-width: 640px) {
2627
+
2628
+ .sm\\:rounded-lg {
2629
+ border-radius: 8px !important;
2630
+ }
2631
+ }
2632
+
2633
+ @media (min-width: 1024px) {
2634
+
2635
+ .lg\\:w-96 {
2636
+ width: 384px !important;
2637
+ }
2638
+ }
2639
+ `;
2640
+ function useTina({
2641
+ query,
2642
+ variables,
2643
+ data
2644
+ }) {
2645
+ const {
2646
+ setRequest,
2647
+ state,
2648
+ isDummyContainer,
2649
+ isLoading: contextLoading
2650
+ } = React__default["default"].useContext(sharedctx.TinaDataContext);
2651
+ const [waitForContextRerender, setWaitForContextRerender] = React.useState(!isDummyContainer);
2652
+ const isLoading = contextLoading || waitForContextRerender;
2653
+ React__default["default"].useEffect(() => {
2654
+ setRequest({ query, variables });
2655
+ }, [JSON.stringify(variables), query]);
2656
+ React.useEffect(() => {
2657
+ if (!isDummyContainer) {
2658
+ setTimeout(() => setWaitForContextRerender(false), 0);
1392
2659
  }
1393
2660
  return () => {
1394
- if (plugin) {
1395
- cms.plugins.remove(plugin);
1396
- }
2661
+ setRequest(void 0);
1397
2662
  };
1398
- }, [plugin]);
1399
- };
1400
- var styles = ".tina-tailwind {\n\n /* gray-600 from tailwind config */\n}\n\n/**\nUse a better box model (opinionated).\n*/\n\n.tina-tailwind *,\n.tina-tailwind ::before,\n.tina-tailwind ::after {\n box-sizing: border-box;\n}\n\n/**\nUse a more readable tab size (opinionated).\n*/\n\n.tina-tailwind html {\n -moz-tab-size: 4;\n tab-size: 4;\n}\n\n/**\n1. Correct the line height in all browsers.\n2. Prevent adjustments of font size after orientation changes in iOS.\n*/\n\n.tina-tailwind html {\n line-height: 1.15; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/**\nRemove the margin in all browsers.\n*/\n\n.tina-tailwind body {\n margin: 0;\n}\n\n/**\nImprove consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3)\n*/\n\n.tina-tailwind body {\n font-family:\n system-ui,\n -apple-system, /* Firefox supports this but not yet `system-ui` */\n 'Segoe UI',\n Roboto,\n Helvetica,\n Arial,\n sans-serif,\n 'Apple Color Emoji',\n 'Segoe UI Emoji';\n}\n\n/**\n1. Add the correct height in Firefox.\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\n*/\n\n.tina-tailwind hr {\n height: 0; /* 1 */\n color: inherit; /* 2 */\n}\n\n/**\nAdd the correct text decoration in Chrome, Edge, and Safari.\n*/\n\n.tina-tailwind abbr[title] {\n text-decoration: underline dotted;\n}\n\n/**\nAdd the correct font weight in Edge and Safari.\n*/\n\n.tina-tailwind b,\n.tina-tailwind strong {\n font-weight: bolder;\n}\n\n/**\n1. Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3)\n2. Correct the odd 'em' font sizing in all browsers.\n*/\n\n.tina-tailwind code,\n.tina-tailwind kbd,\n.tina-tailwind samp,\n.tina-tailwind pre {\n font-family:\n ui-monospace,\n SFMono-Regular,\n Consolas,\n 'Liberation Mono',\n Menlo,\n monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/**\nAdd the correct font size in all browsers.\n*/\n\n.tina-tailwind small {\n font-size: 80%;\n}\n\n/**\nPrevent 'sub' and 'sup' elements from affecting the line height in all browsers.\n*/\n\n.tina-tailwind sub,\n.tina-tailwind sup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\n/*\nText-level semantics\n====================\n*/\n\n.tina-tailwind sub {\n bottom: -0.25em;\n}\n\n/*\nGrouping content\n================\n*/\n\n.tina-tailwind sup {\n top: -0.5em;\n}\n\n/**\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\n*/\n\n.tina-tailwind table {\n text-indent: 0; /* 1 */\n border-color: inherit; /* 2 */\n}\n\n/**\n1. Change the font styles in all browsers.\n2. Remove the margin in Firefox and Safari.\n*/\n\n.tina-tailwind button,\n.tina-tailwind input,\n.tina-tailwind optgroup,\n.tina-tailwind select,\n.tina-tailwind textarea {\n font-family: inherit; /* 1 */\n font-size: 100%; /* 1 */\n line-height: 1.15; /* 1 */\n margin: 0; /* 2 */\n}\n\n/**\nRemove the inheritance of text transform in Edge and Firefox.\n1. Remove the inheritance of text transform in Firefox.\n*/\n\n.tina-tailwind button,\n.tina-tailwind select { /* 1 */\n text-transform: none;\n}\n\n/**\nCorrect the inability to style clickable types in iOS and Safari.\n*/\n\n.tina-tailwind button,\n.tina-tailwind [type='button'],\n.tina-tailwind [type='reset'],\n.tina-tailwind [type='submit'] {\n -webkit-appearance: button;\n}\n\n/**\nRemove the inner border and padding in Firefox.\n*/\n\n.tina-tailwind ::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\n/**\nRestore the focus styles unset by the previous rule.\n*/\n\n.tina-tailwind :-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\n/**\nRemove the additional ':invalid' styles in Firefox.\nSee: https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737\n*/\n\n.tina-tailwind :-moz-ui-invalid {\n box-shadow: none;\n}\n\n/**\nRemove the padding so developers are not caught out when they zero out 'fieldset' elements in all browsers.\n*/\n\n.tina-tailwind legend {\n padding: 0;\n}\n\n/**\nAdd the correct vertical alignment in Chrome and Firefox.\n*/\n\n.tina-tailwind progress {\n vertical-align: baseline;\n}\n\n/**\nCorrect the cursor style of increment and decrement buttons in Safari.\n*/\n\n.tina-tailwind ::-webkit-inner-spin-button,\n.tina-tailwind ::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n1. Correct the odd appearance in Chrome and Safari.\n2. Correct the outline style in Safari.\n*/\n\n.tina-tailwind [type='search'] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/**\nRemove the inner padding in Chrome and Safari on macOS.\n*/\n\n.tina-tailwind ::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/**\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Change font properties to 'inherit' in Safari.\n*/\n\n.tina-tailwind ::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/*\nAdd the correct display in Chrome and Safari.\n*/\n\n.tina-tailwind summary {\n display: list-item;\n}\n\n/**\n * Removes the default spacing and border for appropriate elements.\n */\n\n.tina-tailwind blockquote,\n.tina-tailwind dl,\n.tina-tailwind dd,\n.tina-tailwind h1,\n.tina-tailwind h2,\n.tina-tailwind h3,\n.tina-tailwind h4,\n.tina-tailwind h5,\n.tina-tailwind h6,\n.tina-tailwind hr,\n.tina-tailwind figure,\n.tina-tailwind p,\n.tina-tailwind pre {\n margin: 0;\n}\n\n/**\n * Manually forked from SUIT CSS Base: https://github.com/suitcss/base\n * A thin layer on top of normalize.css that provides a starting point more\n * suitable for web applications.\n */\n\n.tina-tailwind button {\n background-color: transparent;\n background-image: none;\n}\n\n/*\nInteractive\n===========\n*/\n\n.tina-tailwind fieldset {\n margin: 0;\n padding: 0;\n}\n\n/*\nForms\n=====\n*/\n\n.tina-tailwind ol,\n.tina-tailwind ul {\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n/**\n * 1. Use the user's configured `sans` font-family (with Tailwind's default\n * sans-serif font stack as a fallback) as a sane default.\n * 2. Use Tailwind's default \"normal\" line-height so the user isn't forced\n * to override it to ensure consistency even when using the default theme.\n */\n\n.tina-tailwind html {\n font-family: Inter var, 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\"; /* 1 */\n line-height: 1.5; /* 2 */\n}\n\n/**\n * Inherit font-family and line-height from `html` so users can set them as\n * a class directly on the `html` element.\n */\n\n.tina-tailwind body {\n font-family: inherit;\n line-height: inherit;\n}\n\n/**\n * 1. Prevent padding and border from affecting element width.\n *\n * We used to set this in the html element and inherit from\n * the parent element for everything else. This caused issues\n * in shadow-dom-enhanced elements like <details> where the content\n * is wrapped by a div with box-sizing set to `content-box`.\n *\n * https://github.com/mozdevs/cssremedy/issues/4\n *\n *\n * 2. Allow adding a border to an element by just adding a border-width.\n *\n * By default, the way the browser specifies that an element should have no\n * border is by setting it's border-style to `none` in the user-agent\n * stylesheet.\n *\n * In order to easily add borders to elements by just setting the `border-width`\n * property, we change the default border-style for all elements to `solid`, and\n * use border-width to hide them instead. This way our `border` utilities only\n * need to set the `border-width` property instead of the entire `border`\n * shorthand, making our border utilities much more straightforward to compose.\n *\n * https://github.com/tailwindcss/tailwindcss/pull/116\n */\n\n.tina-tailwind *,\n.tina-tailwind ::before,\n.tina-tailwind ::after {\n box-sizing: border-box; /* 1 */\n border-width: 0; /* 2 */\n border-style: solid; /* 2 */\n border-color: currentColor; /* 2 */\n}\n\n/*\n * Ensure horizontal rules are visible by default\n */\n\n.tina-tailwind hr {\n border-top-width: 1px;\n}\n\n/**\n * Undo the `border-style: none` reset that Normalize applies to images so that\n * our `border-{width}` utilities have the expected effect.\n *\n * The Normalize reset is unnecessary for us since we default the border-width\n * to 0 on all elements.\n *\n * https://github.com/tailwindcss/tailwindcss/issues/362\n */\n\n.tina-tailwind img {\n border-style: solid;\n}\n\n/**\n * Tailwind custom reset styles\n */\n\n.tina-tailwind textarea {\n resize: vertical;\n}\n\n/*\nTabular data\n============\n*/\n\n.tina-tailwind input::placeholder,\n.tina-tailwind textarea::placeholder {\n opacity: 1;\n color: #918c9e;\n}\n\n/*\nSections\n========\n*/\n\n.tina-tailwind button,\n.tina-tailwind [role=\"button\"] {\n cursor: pointer;\n}\n\n/**\n * Override legacy focus reset from Normalize with modern Firefox focus styles.\n *\n * This is actually an improvement over the new defaults in Firefox in our testing,\n * as it triggers the better focus styles even for links, which still use a dotted\n * outline in Firefox by default.\n */\n\n.tina-tailwind :-moz-focusring {\n outline: auto;\n}\n\n/*\nDocument\n========\n*/\n\n.tina-tailwind table {\n border-collapse: collapse;\n}\n\n/*! modern-normalize v1.1.0 | MIT License | https://github.com/sindresorhus/modern-normalize */\n\n.tina-tailwind h1,\n.tina-tailwind h2,\n.tina-tailwind h3,\n.tina-tailwind h4,\n.tina-tailwind h5,\n.tina-tailwind h6 {\n font-size: inherit;\n font-weight: inherit;\n}\n\n/**\n * Reset links to optimize for opt-in styling instead of\n * opt-out.\n */\n\n.tina-tailwind a {\n color: inherit;\n text-decoration: inherit;\n}\n\n/**\n * Reset form element properties that are easy to forget to\n * style explicitly so you don't inadvertently introduce\n * styles that deviate from your design system. These styles\n * supplement a partial reset that is already applied by\n * normalize.css.\n */\n\n.tina-tailwind button,\n.tina-tailwind input,\n.tina-tailwind optgroup,\n.tina-tailwind select,\n.tina-tailwind textarea {\n padding: 0;\n line-height: inherit;\n color: inherit;\n}\n\n/**\n * Use the configured 'mono' font family for elements that\n * are expected to be rendered with a monospace font, falling\n * back to the system monospace stack if there is no configured\n * 'mono' font family.\n */\n\n.tina-tailwind pre,\n.tina-tailwind code,\n.tina-tailwind kbd,\n.tina-tailwind samp {\n font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n}\n\n/**\n * 1. Make replaced elements `display: block` by default as that's\n * the behavior you want almost all of the time. Inspired by\n * CSS Remedy, with `svg` added as well.\n *\n * https://github.com/mozdevs/cssremedy/issues/14\n * \n * 2. Add `vertical-align: middle` to align replaced elements more\n * sensibly by default when overriding `display` by adding a\n * utility like `inline`.\n *\n * This can trigger a poorly considered linting error in some\n * tools but is included by design.\n * \n * https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210\n */\n\n.tina-tailwind img,\n.tina-tailwind svg,\n.tina-tailwind video,\n.tina-tailwind canvas,\n.tina-tailwind audio,\n.tina-tailwind iframe,\n.tina-tailwind embed,\n.tina-tailwind object {\n display: block; /* 1 */\n vertical-align: middle; /* 2 */\n}\n\n/**\n * Constrain images and videos to the parent width and preserve\n * their intrinsic aspect ratio.\n *\n * https://github.com/mozdevs/cssremedy/issues/14\n */\n\n.tina-tailwind img,\n.tina-tailwind video {\n max-width: 100%;\n height: auto;\n}\n\n/**\n * Ensure the default browser behavior of the `hidden` attribute.\n */\n\n.tina-tailwind [hidden] {\n display: none;\n}\n\n/* ! tailwindcss v2.2.19 | MIT License | https://tailwindcss.com */\n\n.tina-tailwind *, .tina-tailwind ::before, .tina-tailwind ::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-transform: translateX(var(--tw-translate-x)) translateY(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\n.tina-tailwind *, .tina-tailwind ::before, .tina-tailwind ::after {\n --tw-border-opacity: 1;\n border-color: rgba(225, 221, 236, var(--tw-border-opacity));\n}\n\n.tina-tailwind *, .tina-tailwind ::before, .tina-tailwind ::after {\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-ring-shadow: 0 0 #0000;\n --tw-shadow: 0 0 #0000;\n}\n\n.tina-tailwind *, .tina-tailwind ::before, .tina-tailwind ::after {\n --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/);\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-color: rgba(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}\n\n.tina-tailwind *, .tina-tailwind ::before, .tina-tailwind ::after {\n --tw-blur: var(--tw-empty,/*!*/ /*!*/);\n --tw-brightness: var(--tw-empty,/*!*/ /*!*/);\n --tw-contrast: var(--tw-empty,/*!*/ /*!*/);\n --tw-grayscale: var(--tw-empty,/*!*/ /*!*/);\n --tw-hue-rotate: var(--tw-empty,/*!*/ /*!*/);\n --tw-invert: var(--tw-empty,/*!*/ /*!*/);\n --tw-saturate: var(--tw-empty,/*!*/ /*!*/);\n --tw-sepia: var(--tw-empty,/*!*/ /*!*/);\n --tw-drop-shadow: var(--tw-empty,/*!*/ /*!*/);\n --tw-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\n.tina-tailwind .static {\n position: static !important;\n}\n\n.tina-tailwind .fixed {\n position: fixed !important;\n}\n\n.tina-tailwind .absolute {\n position: absolute !important;\n}\n\n.tina-tailwind .relative {\n position: relative !important;\n}\n\n.tina-tailwind .bottom-3 {\n bottom: 12px !important;\n}\n\n.tina-tailwind .right-5 {\n right: 20px !important;\n}\n\n.tina-tailwind .right-0 {\n right: 0px !important;\n}\n\n.tina-tailwind .z-50 {\n z-index: 50 !important;\n}\n\n.tina-tailwind .mr-2 {\n margin-right: 8px !important;\n}\n\n.tina-tailwind .-ml-1 {\n margin-left: -4px !important;\n}\n\n.tina-tailwind .mr-1\\.5 {\n margin-right: 6px !important;\n}\n\n.tina-tailwind .mr-1 {\n margin-right: 4px !important;\n}\n\n.tina-tailwind .mb-3 {\n margin-bottom: 12px !important;\n}\n\n.tina-tailwind .ml-1 {\n margin-left: 4px !important;\n}\n\n.tina-tailwind .mt-2 {\n margin-top: 8px !important;\n}\n\n.tina-tailwind .mt-8 {\n margin-top: 32px !important;\n}\n\n.tina-tailwind .mb-0\\.5 {\n margin-bottom: 2px !important;\n}\n\n.tina-tailwind .mb-0 {\n margin-bottom: 0px !important;\n}\n\n.tina-tailwind .block {\n display: block !important;\n}\n\n.tina-tailwind .inline-block {\n display: inline-block !important;\n}\n\n.tina-tailwind .flex {\n display: flex !important;\n}\n\n.tina-tailwind .inline-flex {\n display: inline-flex !important;\n}\n\n.tina-tailwind .table {\n display: table !important;\n}\n\n.tina-tailwind .h-screen {\n height: 100vh !important;\n}\n\n.tina-tailwind .h-4 {\n height: 16px !important;\n}\n\n.tina-tailwind .h-auto {\n height: auto !important;\n}\n\n.tina-tailwind .h-6 {\n height: 24px !important;\n}\n\n.tina-tailwind .h-5 {\n height: 20px !important;\n}\n\n.tina-tailwind .w-auto {\n width: auto !important;\n}\n\n.tina-tailwind .w-full {\n width: 100% !important;\n}\n\n.tina-tailwind .w-10 {\n width: 40px !important;\n}\n\n.tina-tailwind .w-80 {\n width: 320px !important;\n}\n\n.tina-tailwind .w-2\\/3 {\n width: 66.666667% !important;\n}\n\n.tina-tailwind .w-6 {\n width: 24px !important;\n}\n\n.tina-tailwind .w-56 {\n width: 224px !important;\n}\n\n.tina-tailwind .min-w-full {\n min-width: 100% !important;\n}\n\n.tina-tailwind .max-w-lg {\n max-width: 32rem !important;\n}\n\n.tina-tailwind .max-w-screen-md {\n max-width: 768px !important;\n}\n\n.tina-tailwind .max-w-xs {\n max-width: 20rem !important;\n}\n\n.tina-tailwind .flex-1 {\n flex: 1 1 0% !important;\n}\n\n.tina-tailwind .flex-shrink-0 {\n flex-shrink: 0 !important;\n}\n\n.tina-tailwind .origin-top-right {\n transform-origin: top right !important;\n}\n\n.tina-tailwind .translate-y-full {\n --tw-translate-y: 100% !important;\n transform: var(--tw-transform) !important;\n}\n\n.tina-tailwind .-translate-y-2 {\n --tw-translate-y: -8px !important;\n transform: var(--tw-transform) !important;\n}\n\n.tina-tailwind .translate-y-0 {\n --tw-translate-y: 0px !important;\n transform: var(--tw-transform) !important;\n}\n\n.tina-tailwind .rotate-90 {\n --tw-rotate: 90deg !important;\n transform: var(--tw-transform) !important;\n}\n\n.tina-tailwind .rotate-0 {\n --tw-rotate: 0deg !important;\n transform: var(--tw-transform) !important;\n}\n\n.tina-tailwind .scale-95 {\n --tw-scale-x: .95 !important;\n --tw-scale-y: .95 !important;\n transform: var(--tw-transform) !important;\n}\n\n.tina-tailwind .scale-100 {\n --tw-scale-x: 1 !important;\n --tw-scale-y: 1 !important;\n transform: var(--tw-transform) !important;\n}\n\n.tina-tailwind .transform {\n transform: var(--tw-transform) !important;\n}\n\n.tina-tailwind .flex-col {\n flex-direction: column !important;\n}\n\n.tina-tailwind .items-end {\n align-items: flex-end !important;\n}\n\n.tina-tailwind .items-center {\n align-items: center !important;\n}\n\n.tina-tailwind .items-stretch {\n align-items: stretch !important;\n}\n\n.tina-tailwind .justify-start {\n justify-content: flex-start !important;\n}\n\n.tina-tailwind .justify-end {\n justify-content: flex-end !important;\n}\n\n.tina-tailwind .justify-center {\n justify-content: center !important;\n}\n\n.tina-tailwind .justify-between {\n justify-content: space-between !important;\n}\n\n.tina-tailwind .gap-0\\.5 {\n gap: 2px !important;\n}\n\n.tina-tailwind .gap-0 {\n gap: 0px !important;\n}\n\n.tina-tailwind .gap-4 {\n gap: 16px !important;\n}\n\n.tina-tailwind .gap-1 {\n gap: 4px !important;\n}\n\n.tina-tailwind .gap-3 {\n gap: 12px !important;\n}\n\n.tina-tailwind .gap-1\\.5 {\n gap: 6px !important;\n}\n\n.tina-tailwind .divide-y > :not([hidden]) ~ :not([hidden]) {\n --tw-divide-y-reverse: 0 !important;\n border-top-width: calc(1px * calc(1 - var(--tw-divide-y-reverse))) !important;\n border-bottom-width: calc(1px * var(--tw-divide-y-reverse)) !important;\n}\n\n.tina-tailwind .overflow-hidden {\n overflow: hidden !important;\n}\n\n.tina-tailwind .overflow-y-auto {\n overflow-y: auto !important;\n}\n\n.tina-tailwind .overflow-ellipsis {\n text-overflow: ellipsis !important;\n}\n\n.tina-tailwind .whitespace-nowrap {\n white-space: nowrap !important;\n}\n\n.tina-tailwind .rounded-lg {\n border-radius: 8px !important;\n}\n\n.tina-tailwind .rounded-full {\n border-radius: 9999px !important;\n}\n\n.tina-tailwind .rounded-md {\n border-radius: 6px !important;\n}\n\n.tina-tailwind .border {\n border-width: 1px !important;\n}\n\n.tina-tailwind .border-t {\n border-top-width: 1px !important;\n}\n\n.tina-tailwind .border-b {\n border-bottom-width: 1px !important;\n}\n\n.tina-tailwind .border-r {\n border-right-width: 1px !important;\n}\n\n.tina-tailwind .border-gray-100 {\n --tw-border-opacity: 1 !important;\n border-color: rgba(237, 236, 243, var(--tw-border-opacity)) !important;\n}\n\n.tina-tailwind .border-gray-200 {\n --tw-border-opacity: 1 !important;\n border-color: rgba(225, 221, 236, var(--tw-border-opacity)) !important;\n}\n\n.tina-tailwind .border-transparent {\n border-color: transparent !important;\n}\n\n.tina-tailwind .bg-white {\n --tw-bg-opacity: 1 !important;\n background-color: rgba(255, 255, 255, var(--tw-bg-opacity)) !important;\n}\n\n.tina-tailwind .bg-gray-50 {\n --tw-bg-opacity: 1 !important;\n background-color: rgba(246, 246, 249, var(--tw-bg-opacity)) !important;\n}\n\n.tina-tailwind .bg-transparent {\n background-color: transparent !important;\n}\n\n.tina-tailwind .bg-gradient-to-b {\n background-image: linear-gradient(to bottom, var(--tw-gradient-stops)) !important;\n}\n\n.tina-tailwind .from-blue-900 {\n --tw-gradient-from: #1D2C6C !important;\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(29, 44, 108, 0)) !important;\n}\n\n.tina-tailwind .from-white {\n --tw-gradient-from: #fff !important;\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0)) !important;\n}\n\n.tina-tailwind .to-gray-900 {\n --tw-gradient-to: #252336 !important;\n}\n\n.tina-tailwind .to-gray-50 {\n --tw-gradient-to: #F6F6F9 !important;\n}\n\n.tina-tailwind .px-5 {\n padding-left: 20px !important;\n padding-right: 20px !important;\n}\n\n.tina-tailwind .py-2 {\n padding-top: 8px !important;\n padding-bottom: 8px !important;\n}\n\n.tina-tailwind .px-4 {\n padding-left: 16px !important;\n padding-right: 16px !important;\n}\n\n.tina-tailwind .py-6 {\n padding-top: 24px !important;\n padding-bottom: 24px !important;\n}\n\n.tina-tailwind .py-4 {\n padding-top: 16px !important;\n padding-bottom: 16px !important;\n}\n\n.tina-tailwind .px-6 {\n padding-left: 24px !important;\n padding-right: 24px !important;\n}\n\n.tina-tailwind .py-1 {\n padding-top: 4px !important;\n padding-bottom: 4px !important;\n}\n\n.tina-tailwind .py-7 {\n padding-top: 28px !important;\n padding-bottom: 28px !important;\n}\n\n.tina-tailwind .px-8 {\n padding-left: 32px !important;\n padding-right: 32px !important;\n}\n\n.tina-tailwind .py-2\\.5 {\n padding-top: 10px !important;\n padding-bottom: 10px !important;\n}\n\n.tina-tailwind .py-14 {\n padding-top: 56px !important;\n padding-bottom: 56px !important;\n}\n\n.tina-tailwind .py-3 {\n padding-top: 12px !important;\n padding-bottom: 12px !important;\n}\n\n.tina-tailwind .py-1\\.5 {\n padding-top: 6px !important;\n padding-bottom: 6px !important;\n}\n\n.tina-tailwind .py-10 {\n padding-top: 40px !important;\n padding-bottom: 40px !important;\n}\n\n.tina-tailwind .pt-16 {\n padding-top: 64px !important;\n}\n\n.tina-tailwind .pb-10 {\n padding-bottom: 40px !important;\n}\n\n.tina-tailwind .text-left {\n text-align: left !important;\n}\n\n.tina-tailwind .text-center {\n text-align: center !important;\n}\n\n.tina-tailwind .font-sans {\n font-family: Inter var, 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\" !important;\n}\n\n.tina-tailwind .text-xs {\n font-size: 13px !important;\n line-height: 1.33 !important;\n}\n\n.tina-tailwind .text-2xl {\n font-size: 24px !important;\n line-height: 1.33 !important;\n}\n\n.tina-tailwind .text-base {\n font-size: 16px !important;\n line-height: 1.5 !important;\n}\n\n.tina-tailwind .text-lg {\n font-size: 18px !important;\n line-height: 1.55 !important;\n}\n\n.tina-tailwind .text-sm {\n font-size: 14px !important;\n line-height: 1.43 !important;\n}\n\n.tina-tailwind .text-3xl {\n font-size: 30px !important;\n line-height: 1.2 !important;\n}\n\n.tina-tailwind .text-4xl {\n font-size: 36px !important;\n line-height: 1.1 !important;\n}\n\n.tina-tailwind .font-medium {\n font-weight: 500 !important;\n}\n\n.tina-tailwind .font-bold {\n font-weight: 700 !important;\n}\n\n.tina-tailwind .uppercase {\n text-transform: uppercase !important;\n}\n\n.tina-tailwind .italic {\n font-style: italic !important;\n}\n\n.tina-tailwind .leading-normal {\n line-height: 1.5 !important;\n}\n\n.tina-tailwind .leading-4 {\n line-height: 16px !important;\n}\n\n.tina-tailwind .leading-5 {\n line-height: 20px !important;\n}\n\n.tina-tailwind .tracking-wide {\n letter-spacing: 0.025em !important;\n}\n\n.tina-tailwind .text-gray-700 {\n --tw-text-opacity: 1 !important;\n color: rgba(67, 62, 82, var(--tw-text-opacity)) !important;\n}\n\n.tina-tailwind .text-gray-800 {\n --tw-text-opacity: 1 !important;\n color: rgba(54, 49, 69, var(--tw-text-opacity)) !important;\n}\n\n.tina-tailwind .text-gray-600 {\n --tw-text-opacity: 1 !important;\n color: rgba(86, 81, 101, var(--tw-text-opacity)) !important;\n}\n\n.tina-tailwind .text-blue-400 {\n --tw-text-opacity: 1 !important;\n color: rgba(34, 150, 254, var(--tw-text-opacity)) !important;\n}\n\n.tina-tailwind .text-blue-600 {\n --tw-text-opacity: 1 !important;\n color: rgba(5, 116, 228, var(--tw-text-opacity)) !important;\n}\n\n.tina-tailwind .text-white {\n --tw-text-opacity: 1 !important;\n color: rgba(255, 255, 255, var(--tw-text-opacity)) !important;\n}\n\n.tina-tailwind .text-gray-400 {\n --tw-text-opacity: 1 !important;\n color: rgba(145, 140, 158, var(--tw-text-opacity)) !important;\n}\n\n.tina-tailwind .text-gray-300 {\n --tw-text-opacity: 1 !important;\n color: rgba(178, 173, 190, var(--tw-text-opacity)) !important;\n}\n\n.tina-tailwind .text-gray-500 {\n --tw-text-opacity: 1 !important;\n color: rgba(113, 108, 127, var(--tw-text-opacity)) !important;\n}\n\n.tina-tailwind .underline {\n text-decoration: underline !important;\n}\n\n.tina-tailwind .opacity-80 {\n opacity: .8 !important;\n}\n\n.tina-tailwind .opacity-50 {\n opacity: .5 !important;\n}\n\n.tina-tailwind .opacity-100 {\n opacity: 1 !important;\n}\n\n.tina-tailwind .opacity-0 {\n opacity: 0 !important;\n}\n\n.tina-tailwind .opacity-90 {\n opacity: .9 !important;\n}\n\n.tina-tailwind .opacity-70 {\n opacity: .7 !important;\n}\n\n.tina-tailwind .shadow {\n --tw-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06) !important;\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) !important;\n}\n\n.tina-tailwind .shadow-lg {\n --tw-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05) !important;\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) !important;\n}\n\n.tina-tailwind .shadow-sm {\n --tw-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05) !important;\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) !important;\n}\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) !important;\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color) !important;\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000) !important;\n}\n\n.tina-tailwind .ring-black {\n --tw-ring-opacity: 1 !important;\n --tw-ring-color: rgba(0, 0, 0, var(--tw-ring-opacity)) !important;\n}\n\n.tina-tailwind .ring-opacity-5 {\n --tw-ring-opacity: .05 !important;\n}\n\n.tina-tailwind .filter {\n filter: var(--tw-filter) !important;\n}\n\n.tina-tailwind .transition-colors {\n transition-property: background-color, border-color, color, fill, stroke !important;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important;\n transition-duration: 150ms !important;\n}\n\n.tina-tailwind .transition-opacity {\n transition-property: opacity !important;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important;\n transition-duration: 150ms !important;\n}\n\n.tina-tailwind .transition-all {\n transition-property: all !important;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important;\n transition-duration: 150ms !important;\n}\n\n.tina-tailwind .transition {\n transition-property: background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter !important;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important;\n transition-duration: 150ms !important;\n}\n\n.tina-tailwind .duration-100 {\n transition-duration: 100ms !important;\n}\n\n.tina-tailwind .duration-150 {\n transition-duration: 150ms !important;\n}\n\n.tina-tailwind .duration-300 {\n transition-duration: 300ms !important;\n}\n\n.tina-tailwind .duration-75 {\n transition-duration: 75ms !important;\n}\n\n.tina-tailwind .ease-out {\n transition-timing-function: cubic-bezier(0, 0, 0.2, 1) !important;\n}\n\n.tina-tailwind .ease-in-out {\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important;\n}\n\n.tina-tailwind .ease-in {\n transition-timing-function: cubic-bezier(0.4, 0, 1, 1) !important;\n}\n\n.tina-tailwind {\n color: #565165;\n}\n\n.hover\\:bg-gray-50:hover {\n --tw-bg-opacity: 1 !important;\n background-color: rgba(246, 246, 249, var(--tw-bg-opacity)) !important;\n}\n\n.hover\\:text-blue-500:hover {\n --tw-text-opacity: 1 !important;\n color: rgba(0, 132, 255, var(--tw-text-opacity)) !important;\n}\n\n.hover\\:text-blue-600:hover {\n --tw-text-opacity: 1 !important;\n color: rgba(5, 116, 228, var(--tw-text-opacity)) !important;\n}\n\n.hover\\:opacity-100:hover {\n opacity: 1 !important;\n}\n\n.hover\\:opacity-80:hover {\n opacity: .8 !important;\n}\n\n.focus\\:outline-none:focus {\n outline: 2px solid transparent !important;\n outline-offset: 2px !important;\n}\n\n.group:hover .group-hover\\:opacity-100 {\n opacity: 1 !important;\n}\n\n.group:hover .group-hover\\:opacity-80 {\n opacity: .8 !important;\n}\n\n@media (min-width: 640px) {\n\n .sm\\:rounded-lg {\n border-radius: 8px !important;\n }\n}\n\n@media (min-width: 1024px) {\n\n .lg\\:w-96 {\n width: 384px !important;\n }\n}\n";
2663
+ }, [isDummyContainer]);
2664
+ return {
2665
+ data: isDummyContainer || isLoading ? data : state.payload,
2666
+ isLoading
2667
+ };
2668
+ }
1401
2669
  const errorButtonStyles = {
1402
2670
  background: "#eb6337",
1403
2671
  padding: "12px 18px",
@@ -1410,22 +2678,6 @@ mutation addPendingDocumentMutation(
1410
2678
  color: "white",
1411
2679
  margin: "1rem 0"
1412
2680
  };
1413
- const SetupHooks = (props) => {
1414
- const cms = toolkit.useCMS();
1415
- const [payload, isLoading] = useGraphqlForms({
1416
- query: (gql2) => gql2(props.query),
1417
- variables: props.variables || {},
1418
- formify: (args) => {
1419
- if (props.formifyCallback) {
1420
- return props.formifyCallback(args, cms);
1421
- } else {
1422
- return args.createForm(args.formConfig);
1423
- }
1424
- }
1425
- });
1426
- useDocumentCreatorPlugin(props.documentCreatorCallback);
1427
- return /* @__PURE__ */ React__default["default"].createElement(ErrorBoundary, null, isLoading ? /* @__PURE__ */ React__default["default"].createElement(Loader, null, props.children(props)) : props.children(__spreadProps(__spreadValues({}, props), { data: payload })));
1428
- };
1429
2681
  class ErrorBoundary extends React__default["default"].Component {
1430
2682
  constructor(props) {
1431
2683
  super(props);
@@ -1500,19 +2752,14 @@ mutation addPendingDocumentMutation(
1500
2752
  };
1501
2753
  const TinaCMSProvider2 = (_c) => {
1502
2754
  var _d = _c, {
1503
- children,
1504
- cmsCallback,
1505
- mediaStore,
1506
- tinaioConfig
2755
+ query,
2756
+ documentCreatorCallback,
2757
+ formifyCallback
1507
2758
  } = _d, props = __objRest(_d, [
1508
- "children",
1509
- "cmsCallback",
1510
- "mediaStore",
1511
- "tinaioConfig"
2759
+ "query",
2760
+ "documentCreatorCallback",
2761
+ "formifyCallback"
1512
2762
  ]);
1513
- if (typeof props.query === "string") {
1514
- props.query;
1515
- }
1516
2763
  const validOldSetup = new Boolean(props == null ? void 0 : props.isLocalClient) || new Boolean(props == null ? void 0 : props.clientId) && new Boolean(props == null ? void 0 : props.branch);
1517
2764
  if (!props.apiURL && !validOldSetup) {
1518
2765
  throw new Error(`apiURL is a required field`);
@@ -1522,18 +2769,88 @@ mutation addPendingDocumentMutation(
1522
2769
  clientId: props.clientId,
1523
2770
  isLocalClient: props.isLocalClient
1524
2771
  };
1525
- return /* @__PURE__ */ React__default["default"].createElement(TinaCloudProvider, {
2772
+ return /* @__PURE__ */ React__default["default"].createElement(React__default["default"].Fragment, null, /* @__PURE__ */ React__default["default"].createElement(TinaCloudProvider, {
1526
2773
  branch,
1527
2774
  clientId,
1528
- tinaioConfig,
2775
+ tinaioConfig: props.tinaioConfig,
1529
2776
  isLocalClient,
1530
- cmsCallback,
1531
- mediaStore
1532
- }, /* @__PURE__ */ React__default["default"].createElement("style", null, styles), props.query ? /* @__PURE__ */ React__default["default"].createElement(SetupHooks, __spreadProps(__spreadValues({
1533
- key: props.query
1534
- }, props), {
1535
- query: props.query || ""
1536
- }), children) : children(props));
2777
+ cmsCallback: props.cmsCallback,
2778
+ mediaStore: props.mediaStore
2779
+ }, /* @__PURE__ */ React__default["default"].createElement("style", null, styles), /* @__PURE__ */ React__default["default"].createElement(ErrorBoundary, null, /* @__PURE__ */ React__default["default"].createElement(DocumentCreator, {
2780
+ documentCreatorCallback
2781
+ }), /* @__PURE__ */ React__default["default"].createElement(TinaDataProvider, {
2782
+ formifyCallback
2783
+ }, typeof props.children == "function" ? /* @__PURE__ */ React__default["default"].createElement(TinaQuery, __spreadProps(__spreadValues({}, props), {
2784
+ variables: props.variables,
2785
+ data: props.data,
2786
+ query,
2787
+ formifyCallback,
2788
+ children: props.children
2789
+ })) : props.children))));
2790
+ };
2791
+ const DocumentCreator = ({
2792
+ documentCreatorCallback
2793
+ }) => {
2794
+ useDocumentCreatorPlugin(documentCreatorCallback);
2795
+ return null;
2796
+ };
2797
+ const TinaQuery = (props) => {
2798
+ return /* @__PURE__ */ React__default["default"].createElement(TinaQueryInner, __spreadValues({
2799
+ key: `rootQuery-${props.query}`
2800
+ }, props));
2801
+ };
2802
+ const TinaQueryInner = (_e) => {
2803
+ var _f = _e, { children } = _f, props = __objRest(_f, ["children"]);
2804
+ const { data: liveData, isLoading } = useTina({
2805
+ query: props.query,
2806
+ variables: props.variables,
2807
+ data: props.data
2808
+ });
2809
+ return /* @__PURE__ */ React__default["default"].createElement(React__default["default"].Fragment, null, children(isLoading ? props : __spreadProps(__spreadValues({}, props), { data: liveData })));
2810
+ };
2811
+ const TinaDataProvider = ({
2812
+ children,
2813
+ formifyCallback
2814
+ }) => {
2815
+ const [request, setRequest] = React.useState();
2816
+ const [state, setState] = React__default["default"].useState({
2817
+ payload: void 0,
2818
+ isLoading: true
2819
+ });
2820
+ return /* @__PURE__ */ React__default["default"].createElement(sharedctx.TinaDataContext.Provider, {
2821
+ value: {
2822
+ setRequest,
2823
+ isLoading: state.isLoading,
2824
+ state: { payload: state.payload }
2825
+ }
2826
+ }, /* @__PURE__ */ React__default["default"].createElement(FormRegistrar, {
2827
+ key: request == null ? void 0 : request.query,
2828
+ request,
2829
+ formifyCallback,
2830
+ onPayloadStateChange: setState
2831
+ }), children);
2832
+ };
2833
+ const FormRegistrar = ({
2834
+ request,
2835
+ formifyCallback,
2836
+ onPayloadStateChange
2837
+ }) => {
2838
+ const cms = toolkit.useCMS();
2839
+ const [payload, isLoading] = useGraphqlForms({
2840
+ query: request == null ? void 0 : request.query,
2841
+ variables: request == null ? void 0 : request.variables,
2842
+ formify: (args) => {
2843
+ if (formifyCallback) {
2844
+ return formifyCallback(args, cms);
2845
+ } else {
2846
+ return args.createForm(args.formConfig);
2847
+ }
2848
+ }
2849
+ });
2850
+ React__default["default"].useEffect(() => {
2851
+ onPayloadStateChange({ payload, isLoading });
2852
+ }, [JSON.stringify(payload)]);
2853
+ return isLoading ? /* @__PURE__ */ React__default["default"].createElement(Loader, null, /* @__PURE__ */ React__default["default"].createElement(React__default["default"].Fragment, null)) : null;
1537
2854
  };
1538
2855
  const Loader = (props) => {
1539
2856
  return /* @__PURE__ */ React__default["default"].createElement(React__default["default"].Fragment, null, /* @__PURE__ */ React__default["default"].createElement("div", {
@@ -1694,17 +3011,195 @@ This will work when developing locally but NOT when deployed to production.
1694
3011
  }
1695
3012
  }, children));
1696
3013
  };
3014
+ var DefaultContext = {
3015
+ color: void 0,
3016
+ size: void 0,
3017
+ className: void 0,
3018
+ style: void 0,
3019
+ attr: void 0
3020
+ };
3021
+ var IconContext = React__default["default"].createContext && React__default["default"].createContext(DefaultContext);
3022
+ var __assign = function() {
3023
+ __assign = Object.assign || function(t) {
3024
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
3025
+ s = arguments[i];
3026
+ for (var p in s)
3027
+ if (Object.prototype.hasOwnProperty.call(s, p))
3028
+ t[p] = s[p];
3029
+ }
3030
+ return t;
3031
+ };
3032
+ return __assign.apply(this, arguments);
3033
+ };
3034
+ var __rest = function(s, e) {
3035
+ var t = {};
3036
+ for (var p in s)
3037
+ if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
3038
+ t[p] = s[p];
3039
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
3040
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
3041
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
3042
+ t[p[i]] = s[p[i]];
3043
+ }
3044
+ return t;
3045
+ };
3046
+ function Tree2Element(tree) {
3047
+ return tree && tree.map(function(node, i) {
3048
+ return React__default["default"].createElement(node.tag, __assign({
3049
+ key: i
3050
+ }, node.attr), Tree2Element(node.child));
3051
+ });
3052
+ }
3053
+ function GenIcon(data) {
3054
+ return function(props) {
3055
+ return React__default["default"].createElement(IconBase, __assign({
3056
+ attr: __assign({}, data.attr)
3057
+ }, props), Tree2Element(data.child));
3058
+ };
3059
+ }
3060
+ function IconBase(props) {
3061
+ var elem = function(conf) {
3062
+ var attr = props.attr, size = props.size, title = props.title, svgProps = __rest(props, ["attr", "size", "title"]);
3063
+ var computedSize = size || conf.size || "1em";
3064
+ var className;
3065
+ if (conf.className)
3066
+ className = conf.className;
3067
+ if (props.className)
3068
+ className = (className ? className + " " : "") + props.className;
3069
+ return React__default["default"].createElement("svg", __assign({
3070
+ stroke: "currentColor",
3071
+ fill: "currentColor",
3072
+ strokeWidth: "0"
3073
+ }, conf.attr, attr, svgProps, {
3074
+ className,
3075
+ style: __assign(__assign({
3076
+ color: props.color || conf.color
3077
+ }, conf.style), props.style),
3078
+ height: computedSize,
3079
+ width: computedSize,
3080
+ xmlns: "http://www.w3.org/2000/svg"
3081
+ }), title && React__default["default"].createElement("title", null, title), props.children);
3082
+ };
3083
+ return IconContext !== void 0 ? React__default["default"].createElement(IconContext.Consumer, null, function(conf) {
3084
+ return elem(conf);
3085
+ }) : elem(DefaultContext);
3086
+ }
3087
+ function BiEdit(props) {
3088
+ 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);
3089
+ }
3090
+ function BiExit(props) {
3091
+ return GenIcon({ "tag": "svg", "attr": { "viewBox": "0 0 24 24" }, "child": [{ "tag": "path", "attr": { "d": "M19.002 3h-14c-1.103 0-2 .897-2 2v4h2V5h14v14h-14v-4h-2v4c0 1.103.897 2 2 2h14c1.103 0 2-.897 2-2V5c0-1.103-.898-2-2-2z" } }, { "tag": "path", "attr": { "d": "m11 16 5-4-5-4v3.001H3v2h8z" } }] })(props);
3092
+ }
3093
+ function BiLinkExternal(props) {
3094
+ return GenIcon({ "tag": "svg", "attr": { "viewBox": "0 0 24 24" }, "child": [{ "tag": "path", "attr": { "d": "m13 3 3.293 3.293-7 7 1.414 1.414 7-7L21 11V3z" } }, { "tag": "path", "attr": { "d": "M19 19H5V5h7l-2-2H5c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2h14c1.103 0 2-.897 2-2v-5l-2-2v7z" } }] })(props);
3095
+ }
3096
+ function BiLogIn(props) {
3097
+ 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);
3098
+ }
3099
+ function BiLogOut(props) {
3100
+ return GenIcon({ "tag": "svg", "attr": { "viewBox": "0 0 24 24" }, "child": [{ "tag": "path", "attr": { "d": "M16 13v-2H7V8l-5 4 5 4v-3z" } }, { "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);
3101
+ }
1697
3102
  function ImFilesEmpty(props) {
1698
3103
  return GenIcon({ "tag": "svg", "attr": { "version": "1.1", "viewBox": "0 0 16 16" }, "child": [{ "tag": "path", "attr": { "d": "M14.341 5.579c-0.347-0.473-0.831-1.027-1.362-1.558s-1.085-1.015-1.558-1.362c-0.806-0.591-1.197-0.659-1.421-0.659h-5.75c-0.689 0-1.25 0.561-1.25 1.25v11.5c0 0.689 0.561 1.25 1.25 1.25h9.5c0.689 0 1.25-0.561 1.25-1.25v-7.75c0-0.224-0.068-0.615-0.659-1.421zM12.271 4.729c0.48 0.48 0.856 0.912 1.134 1.271h-2.406v-2.405c0.359 0.278 0.792 0.654 1.271 1.134v0zM14 14.75c0 0.136-0.114 0.25-0.25 0.25h-9.5c-0.136 0-0.25-0.114-0.25-0.25v-11.5c0-0.135 0.114-0.25 0.25-0.25 0 0 5.749-0 5.75 0v3.5c0 0.276 0.224 0.5 0.5 0.5h3.5v7.75z" } }, { "tag": "path", "attr": { "d": "M9.421 0.659c-0.806-0.591-1.197-0.659-1.421-0.659h-5.75c-0.689 0-1.25 0.561-1.25 1.25v11.5c0 0.604 0.43 1.109 1 1.225v-12.725c0-0.135 0.115-0.25 0.25-0.25h7.607c-0.151-0.124-0.297-0.238-0.437-0.341z" } }] })(props);
1699
3104
  }
1700
3105
  function VscOpenPreview(props) {
1701
3106
  return GenIcon({ "tag": "svg", "attr": { "viewBox": "0 0 16 16", "fill": "currentColor" }, "child": [{ "tag": "path", "attr": { "fillRule": "evenodd", "clipRule": "evenodd", "d": "M3 1h11l1 1v5.3a3.21 3.21 0 0 0-1-.3V2H9v10.88L7.88 14H3l-1-1V2l1-1zm0 12h5V2H3v11zm10.379-4.998a2.53 2.53 0 0 0-1.19.348h-.03a2.51 2.51 0 0 0-.799 3.53L9 14.23l.71.71 2.35-2.36c.325.22.7.358 1.09.4a2.47 2.47 0 0 0 1.14-.13 2.51 2.51 0 0 0 1-.63 2.46 2.46 0 0 0 .58-1 2.63 2.63 0 0 0 .07-1.15 2.53 2.53 0 0 0-1.35-1.81 2.53 2.53 0 0 0-1.211-.258zm.24 3.992a1.5 1.5 0 0 1-.979-.244 1.55 1.55 0 0 1-.56-.68 1.49 1.49 0 0 1-.08-.86 1.49 1.49 0 0 1 1.18-1.18 1.49 1.49 0 0 1 .86.08c.276.117.512.311.68.56a1.5 1.5 0 0 1-1.1 2.324z" } }] })(props);
1702
3107
  }
3108
+ class TinaAdminApi {
3109
+ constructor(TinaApi) {
3110
+ this.api = TinaApi;
3111
+ }
3112
+ async fetchCollections() {
3113
+ const response = await this.api.request(`query{ getCollections { label, name } }`, { variables: {} });
3114
+ return response;
3115
+ }
3116
+ async fetchCollection(collectionName, includeDocuments) {
3117
+ const response = await this.api.request(`
3118
+ query($collection: String!, $includeDocuments: Boolean!){
3119
+ getCollection(collection: $collection){
3120
+ name
3121
+ label
3122
+ format
3123
+ templates
3124
+ documents @include(if: $includeDocuments) {
3125
+ totalCount
3126
+ edges {
3127
+ node {
3128
+ ... on Document {
3129
+ sys {
3130
+ template
3131
+ breadcrumbs
3132
+ path
3133
+ basename
3134
+ relativePath
3135
+ filename
3136
+ extension
3137
+ }
3138
+ }
3139
+ }
3140
+ }
3141
+ }
3142
+ }
3143
+ }`, { variables: { collection: collectionName, includeDocuments } });
3144
+ return response;
3145
+ }
3146
+ async fetchDocument(collectionName, relativePath) {
3147
+ const response = await this.api.request(`
3148
+ query($collection: String!, $relativePath: String!) {
3149
+ getDocument(collection:$collection, relativePath:$relativePath) {
3150
+ ... on Document {
3151
+ form
3152
+ values
3153
+ }
3154
+ }
3155
+ }`, { variables: { collection: collectionName, relativePath } });
3156
+ return response;
3157
+ }
3158
+ async fetchDocumentFields() {
3159
+ const response = await this.api.request(`query { getDocumentFields }`, { variables: {} });
3160
+ return response;
3161
+ }
3162
+ async createDocument(collectionName, relativePath, params) {
3163
+ const response = await this.api.request(`#graphql
3164
+ mutation($collection: String!, $relativePath: String!, $params: DocumentMutation!) {
3165
+ createDocument(
3166
+ collection: $collection,
3167
+ relativePath: $relativePath,
3168
+ params: $params
3169
+ ){__typename}
3170
+ }`, {
3171
+ variables: {
3172
+ collection: collectionName,
3173
+ relativePath,
3174
+ params
3175
+ }
3176
+ });
3177
+ return response;
3178
+ }
3179
+ async updateDocument(collectionName, relativePath, params) {
3180
+ const response = await this.api.request(`#graphql
3181
+ mutation($collection: String!, $relativePath: String!, $params: DocumentMutation!) {
3182
+ updateDocument(
3183
+ collection: $collection,
3184
+ relativePath: $relativePath,
3185
+ params: $params
3186
+ ){__typename}
3187
+ }`, {
3188
+ variables: {
3189
+ collection: collectionName,
3190
+ relativePath,
3191
+ params
3192
+ }
3193
+ });
3194
+ return response;
3195
+ }
3196
+ }
1703
3197
  const useGetCollections = (cms) => {
3198
+ const api = new TinaAdminApi(cms.api.tina);
1704
3199
  const [collections, setCollections] = React.useState([]);
1705
3200
  React.useEffect(() => {
1706
3201
  const fetchCollections = async () => {
1707
- const response = await cms.api.tina.request(`query{ getCollections { label, name } }`, {});
3202
+ const response = await api.fetchCollections();
1708
3203
  setCollections(response.getCollections);
1709
3204
  };
1710
3205
  fetchCollections();
@@ -1888,36 +3383,11 @@ This will work when developing locally but NOT when deployed to production.
1888
3383
  }, "This is your dashboard for editing or creating content. Select a collection on the left to begin."))));
1889
3384
  };
1890
3385
  const useGetCollection = (cms, collectionName, includeDocuments = true) => {
3386
+ const api = new TinaAdminApi(cms.api.tina);
1891
3387
  const [collection, setCollection] = React.useState(void 0);
1892
3388
  React.useEffect(() => {
1893
3389
  const fetchCollection = async () => {
1894
- const response = await cms.api.tina.request(`
1895
- query($collection: String!, $includeDocuments: Boolean!){
1896
- getCollection(collection: $collection){
1897
- name
1898
- label
1899
- format
1900
- templates
1901
- documents @include(if: $includeDocuments) {
1902
- totalCount
1903
- edges {
1904
- node {
1905
- ... on Document {
1906
- sys {
1907
- template
1908
- breadcrumbs
1909
- path
1910
- basename
1911
- relativePath
1912
- filename
1913
- extension
1914
- }
1915
- }
1916
- }
1917
- }
1918
- }
1919
- }
1920
- }`, { variables: { collection: collectionName, includeDocuments } });
3390
+ const response = await api.fetchCollection(collectionName, includeDocuments);
1921
3391
  setCollection(response.getCollection);
1922
3392
  };
1923
3393
  fetchCollection();
@@ -2046,6 +3516,7 @@ This will work when developing locally but NOT when deployed to production.
2046
3516
  });
2047
3517
  };
2048
3518
  const useGetDocumentFields = (cms, collectionName, templateName) => {
3519
+ const api = new TinaAdminApi(cms.api.tina);
2049
3520
  const [info, setInfo] = React.useState({
2050
3521
  collection: void 0,
2051
3522
  template: void 0,
@@ -2054,7 +3525,7 @@ This will work when developing locally but NOT when deployed to production.
2054
3525
  });
2055
3526
  React.useEffect(() => {
2056
3527
  const fetchDocumentFields = async () => {
2057
- const response = await cms.api.tina.request(`query { getDocumentFields }`, {});
3528
+ const response = await api.fetchDocumentFields();
2058
3529
  const documentFields = response.getDocumentFields;
2059
3530
  const collection = documentFields[collectionName].collection;
2060
3531
  const mutationInfo = documentFields[collectionName].mutationInfo;
@@ -2090,6 +3561,7 @@ This will work when developing locally but NOT when deployed to production.
2090
3561
  return /* @__PURE__ */ React__default["default"].createElement(React__default["default"].Fragment, null, children({ collection, template, fields, mutationInfo }));
2091
3562
  };
2092
3563
  const createDocument = async (cms, collection, template, mutationInfo, values) => {
3564
+ const api = new TinaAdminApi(cms.api.tina);
2093
3565
  const _a = values, { relativePath } = _a, leftover = __objRest(_a, ["relativePath"]);
2094
3566
  const { includeCollection, includeTemplate } = mutationInfo;
2095
3567
  const params = transformDocumentIntoMutationRequestPayload(__spreadValues(__spreadValues({
@@ -2098,17 +3570,7 @@ This will work when developing locally but NOT when deployed to production.
2098
3570
  includeCollection,
2099
3571
  includeTemplate
2100
3572
  });
2101
- await cms.api.tina.request(`mutation($collection: String!, $relativePath: String!, $params: DocumentMutation!) {
2102
- createDocument(
2103
- collection: $collection,
2104
- relativePath: $relativePath,
2105
- }`, {
2106
- variables: {
2107
- collection: collection.name,
2108
- relativePath,
2109
- params
2110
- }
2111
- });
3573
+ await api.createDocument(collection.name, relativePath, params);
2112
3574
  };
2113
3575
  const CollectionCreatePage = () => {
2114
3576
  const { collectionName, templateName } = reactRouterDom.useParams();
@@ -2148,18 +3610,11 @@ This will work when developing locally but NOT when deployed to production.
2148
3610
  }));
2149
3611
  };
2150
3612
  const useGetDocument = (cms, collectionName, relativePath) => {
3613
+ const api = new TinaAdminApi(cms.api.tina);
2151
3614
  const [document, setDocument] = React.useState(void 0);
2152
3615
  React.useEffect(() => {
2153
3616
  const fetchDocument = async () => {
2154
- const response = await cms.api.tina.request(`
2155
- query($collection: String!, $relativePath: String!) {
2156
- getDocument(collection:$collection, relativePath:$relativePath) {
2157
- ... on Document {
2158
- form
2159
- values
2160
- }
2161
- }
2162
- }`, { variables: { collection: collectionName, relativePath } });
3617
+ const response = await api.fetchDocument(collectionName, relativePath);
2163
3618
  setDocument(response.getDocument);
2164
3619
  };
2165
3620
  fetchDocument();
@@ -2179,24 +3634,13 @@ This will work when developing locally but NOT when deployed to production.
2179
3634
  return /* @__PURE__ */ React__default["default"].createElement(React__default["default"].Fragment, null, children(document));
2180
3635
  };
2181
3636
  const updateDocument = async (cms, relativePath, collection, mutationInfo, values) => {
3637
+ const api = new TinaAdminApi(cms.api.tina);
2182
3638
  const { includeCollection, includeTemplate } = mutationInfo;
2183
3639
  const params = transformDocumentIntoMutationRequestPayload(values, {
2184
3640
  includeCollection,
2185
3641
  includeTemplate
2186
3642
  });
2187
- await cms.api.tina.request(`mutation($collection: String!, $relativePath: String!, $params: DocumentMutation!) {
2188
- updateDocument(
2189
- collection: $collection,
2190
- relativePath: $relativePath,
2191
- params: $params
2192
- ){__typename}
2193
- }`, {
2194
- variables: {
2195
- collection: collection.name,
2196
- relativePath,
2197
- params
2198
- }
2199
- });
3643
+ await api.updateDocument(collection.name, relativePath, params);
2200
3644
  };
2201
3645
  const CollectionUpdatePage = () => {
2202
3646
  const { collectionName, filename } = reactRouterDom.useParams();
@@ -2298,9 +3742,11 @@ This will work when developing locally but NOT when deployed to production.
2298
3742
  exports2.LocalClient = LocalClient;
2299
3743
  exports2.RouteMappingPlugin = RouteMappingPlugin;
2300
3744
  exports2.TinaAdmin = TinaAdmin;
3745
+ exports2.TinaAdminApi = TinaAdminApi;
2301
3746
  exports2.TinaCMSProvider2 = TinaCMSProvider2;
2302
3747
  exports2.TinaCloudAuthWall = TinaCloudAuthWall;
2303
3748
  exports2.TinaCloudProvider = TinaCloudProvider;
3749
+ exports2.TinaDataProvider = TinaDataProvider;
2304
3750
  exports2.assertShape = assertShape;
2305
3751
  exports2.createClient = createClient;
2306
3752
  exports2["default"] = TinaCMSProvider2;