tinacms 0.62.0 → 0.64.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
@@ -30,8 +30,8 @@ var __objRest = (source, exclude) => {
30
30
  return target;
31
31
  };
32
32
  (function(global, factory) {
33
- typeof exports === "object" && typeof module !== "undefined" ? factory(exports, require("@tinacms/toolkit"), require("graphql"), require("lodash.set"), require("graphql-tag"), require("react"), require("styled-components"), require("yup"), require("@tinacms/sharedctx"), require("final-form"), require("react-router-dom"), require("@headlessui/react")) : typeof define === "function" && define.amd ? define(["exports", "@tinacms/toolkit", "graphql", "lodash.set", "graphql-tag", "react", "styled-components", "yup", "@tinacms/sharedctx", "final-form", "react-router-dom", "@headlessui/react"], factory) : (global = typeof globalThis !== "undefined" ? globalThis : global || self, factory(global.tinacms = {}, global.NOOP, global.NOOP, global.NOOP, global.NOOP, global.NOOP, global.NOOP, global.NOOP, global.NOOP, global.NOOP, global.NOOP, global.NOOP));
34
- })(this, function(exports2, toolkit, graphql, set, gql$1, React, styled, yup, sharedctx, finalForm, reactRouterDom, react) {
33
+ typeof exports === "object" && typeof module !== "undefined" ? factory(exports, require("@tinacms/toolkit"), require("graphql"), require("lodash.set"), require("graphql-tag"), require("react"), require("styled-components"), require("yup"), require("@tinacms/sharedctx"), require("final-form"), require("url-pattern"), require("react-router-dom"), require("@headlessui/react")) : typeof define === "function" && define.amd ? define(["exports", "@tinacms/toolkit", "graphql", "lodash.set", "graphql-tag", "react", "styled-components", "yup", "@tinacms/sharedctx", "final-form", "url-pattern", "react-router-dom", "@headlessui/react"], factory) : (global = typeof globalThis !== "undefined" ? globalThis : global || self, factory(global.tinacms = {}, global.NOOP, global.NOOP, global.NOOP, global.NOOP, global.NOOP, global.NOOP, global.NOOP, global.NOOP, global.NOOP, global.NOOP, global.NOOP, global.NOOP));
34
+ })(this, function(exports2, toolkit, graphql, set, gql$1, React, styled, yup, sharedctx, finalForm, UrlPattern, reactRouterDom, react) {
35
35
  "use strict";
36
36
  function _interopDefaultLegacy(e) {
37
37
  return e && typeof e === "object" && "default" in e ? e : { "default": e };
@@ -61,6 +61,7 @@ var __objRest = (source, exclude) => {
61
61
  var React__default = /* @__PURE__ */ _interopDefaultLegacy(React);
62
62
  var styled__default = /* @__PURE__ */ _interopDefaultLegacy(styled);
63
63
  var yup__namespace = /* @__PURE__ */ _interopNamespace(yup);
64
+ var UrlPattern__default = /* @__PURE__ */ _interopDefaultLegacy(UrlPattern);
64
65
  function popupWindow(url, title, window2, w, h) {
65
66
  const y = window2.top.outerHeight / 2 + window2.top.screenY - h / 2;
66
67
  const x = window2.top.outerWidth / 2 + window2.top.screenX - w / 2;
@@ -652,11 +653,11 @@ mutation addPendingDocumentMutation(
652
653
  }
653
654
  }
654
655
  function ModalBuilder(modalProps) {
655
- return /* @__PURE__ */ React__default["default"].createElement(toolkit.StyleReset, null, /* @__PURE__ */ React__default["default"].createElement(toolkit.Modal, null, /* @__PURE__ */ React__default["default"].createElement(toolkit.ModalPopup, null, /* @__PURE__ */ React__default["default"].createElement(toolkit.ModalHeader, null, modalProps.title), /* @__PURE__ */ React__default["default"].createElement(toolkit.ModalBody, {
656
+ return /* @__PURE__ */ React__default["default"].createElement(toolkit.Modal, null, /* @__PURE__ */ React__default["default"].createElement(toolkit.ModalPopup, null, /* @__PURE__ */ React__default["default"].createElement(toolkit.ModalHeader, null, modalProps.title), /* @__PURE__ */ React__default["default"].createElement(toolkit.ModalBody, {
656
657
  padded: true
657
658
  }, /* @__PURE__ */ React__default["default"].createElement("p", null, modalProps.message), modalProps.error && /* @__PURE__ */ React__default["default"].createElement(ErrorLabel, null, modalProps.error)), /* @__PURE__ */ React__default["default"].createElement(toolkit.ModalActions, null, modalProps.actions.map((action) => /* @__PURE__ */ React__default["default"].createElement(AsyncButton, __spreadValues({
658
659
  key: action.name
659
- }, action)))))));
660
+ }, action))))));
660
661
  }
661
662
  const ErrorLabel = styled__default["default"].p`
662
663
  color: var(--tina-color-error) !important;
@@ -1037,24 +1038,10 @@ mutation addPendingDocumentMutation(
1037
1038
  name: "tina-admin-link",
1038
1039
  Component: () => /* @__PURE__ */ React__default["default"].createElement("a", {
1039
1040
  href: `/admin/collections/${result._internalSys.collection.name}/${result._internalSys.filename}`,
1040
- style: {
1041
- display: "flex",
1042
- alignItems: "center",
1043
- padding: "10px 20px",
1044
- borderTop: "1px solid var(--tina-color-grey-2)",
1045
- textTransform: "uppercase",
1046
- fontSize: "11px",
1047
- fontWeight: 500,
1048
- background: "var(--tina-color-grey-0)"
1049
- }
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"
1050
1042
  }, /* @__PURE__ */ React__default["default"].createElement(BiLinkExternal, {
1051
- style: {
1052
- height: "1.25em",
1053
- width: "auto",
1054
- opacity: "0.8",
1055
- marginRight: "8px"
1056
- }
1057
- }), " ", "Edit in Tina Admin")
1043
+ className: "h-4 w-auto opacity-80 mr-2"
1044
+ }), " Edit in Tina Admin")
1058
1045
  });
1059
1046
  cms.plugins.add(TinaAdminLink);
1060
1047
  }
@@ -1182,8 +1169,8 @@ mutation addPendingDocumentMutation(
1182
1169
  }, [queryString, JSON.stringify(variables), currentBranch]);
1183
1170
  return [data, isLoading];
1184
1171
  }
1185
- const transformDocumentIntoMutationRequestPayload = (document2, instructions) => {
1186
- const _a = document2, { _collection, __typename, _template } = _a, rest = __objRest(_a, ["_collection", "__typename", "_template"]);
1172
+ const transformDocumentIntoMutationRequestPayload = (document, instructions) => {
1173
+ const _a = document, { _collection, __typename, _template } = _a, rest = __objRest(_a, ["_collection", "__typename", "_template"]);
1187
1174
  const params = transformParams(rest);
1188
1175
  const paramsWithTemplate = instructions.includeTemplate ? { [_template]: params } : params;
1189
1176
  return instructions.includeCollection ? { [_collection]: paramsWithTemplate } : paramsWithTemplate;
@@ -1410,6 +1397,1349 @@ mutation addPendingDocumentMutation(
1410
1397
  };
1411
1398
  }, [plugin]);
1412
1399
  };
1400
+ var styles = `/**
1401
+ Use a better box model (opinionated).
1402
+ */
1403
+
1404
+ .tina-tailwind *,
1405
+ .tina-tailwind ::before,
1406
+ .tina-tailwind ::after {
1407
+ box-sizing: border-box;
1408
+ }
1409
+
1410
+ /**
1411
+ Use a more readable tab size (opinionated).
1412
+ */
1413
+
1414
+ .tina-tailwind html {
1415
+ -moz-tab-size: 4;
1416
+ tab-size: 4;
1417
+ }
1418
+
1419
+ /**
1420
+ 1. Correct the line height in all browsers.
1421
+ 2. Prevent adjustments of font size after orientation changes in iOS.
1422
+ */
1423
+
1424
+ .tina-tailwind html {
1425
+ line-height: 1.15; /* 1 */
1426
+ -webkit-text-size-adjust: 100%; /* 2 */
1427
+ }
1428
+
1429
+ /**
1430
+ Remove the margin in all browsers.
1431
+ */
1432
+
1433
+ .tina-tailwind body {
1434
+ margin: 0;
1435
+ }
1436
+
1437
+ /**
1438
+ Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3)
1439
+ */
1440
+
1441
+ .tina-tailwind body {
1442
+ font-family:
1443
+ system-ui,
1444
+ -apple-system, /* Firefox supports this but not yet \`system-ui\` */
1445
+ 'Segoe UI',
1446
+ Roboto,
1447
+ Helvetica,
1448
+ Arial,
1449
+ sans-serif,
1450
+ 'Apple Color Emoji',
1451
+ 'Segoe UI Emoji';
1452
+ }
1453
+
1454
+ /**
1455
+ 1. Add the correct height in Firefox.
1456
+ 2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
1457
+ */
1458
+
1459
+ .tina-tailwind hr {
1460
+ height: 0; /* 1 */
1461
+ color: inherit; /* 2 */
1462
+ }
1463
+
1464
+ /**
1465
+ Add the correct text decoration in Chrome, Edge, and Safari.
1466
+ */
1467
+
1468
+ .tina-tailwind abbr[title] {
1469
+ text-decoration: underline dotted;
1470
+ }
1471
+
1472
+ /**
1473
+ Add the correct font weight in Edge and Safari.
1474
+ */
1475
+
1476
+ .tina-tailwind b,
1477
+ .tina-tailwind strong {
1478
+ font-weight: bolder;
1479
+ }
1480
+
1481
+ /**
1482
+ 1. Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3)
1483
+ 2. Correct the odd 'em' font sizing in all browsers.
1484
+ */
1485
+
1486
+ .tina-tailwind code,
1487
+ .tina-tailwind kbd,
1488
+ .tina-tailwind samp,
1489
+ .tina-tailwind pre {
1490
+ font-family:
1491
+ ui-monospace,
1492
+ SFMono-Regular,
1493
+ Consolas,
1494
+ 'Liberation Mono',
1495
+ Menlo,
1496
+ monospace; /* 1 */
1497
+ font-size: 1em; /* 2 */
1498
+ }
1499
+
1500
+ /**
1501
+ Add the correct font size in all browsers.
1502
+ */
1503
+
1504
+ .tina-tailwind small {
1505
+ font-size: 80%;
1506
+ }
1507
+
1508
+ /**
1509
+ Prevent 'sub' and 'sup' elements from affecting the line height in all browsers.
1510
+ */
1511
+
1512
+ .tina-tailwind sub,
1513
+ .tina-tailwind sup {
1514
+ font-size: 75%;
1515
+ line-height: 0;
1516
+ position: relative;
1517
+ vertical-align: baseline;
1518
+ }
1519
+
1520
+ /*
1521
+ Text-level semantics
1522
+ ====================
1523
+ */
1524
+
1525
+ .tina-tailwind sub {
1526
+ bottom: -0.25em;
1527
+ }
1528
+
1529
+ /*
1530
+ Grouping content
1531
+ ================
1532
+ */
1533
+
1534
+ .tina-tailwind sup {
1535
+ top: -0.5em;
1536
+ }
1537
+
1538
+ /**
1539
+ 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)
1540
+ 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)
1541
+ */
1542
+
1543
+ .tina-tailwind table {
1544
+ text-indent: 0; /* 1 */
1545
+ border-color: inherit; /* 2 */
1546
+ }
1547
+
1548
+ /**
1549
+ 1. Change the font styles in all browsers.
1550
+ 2. Remove the margin in Firefox and Safari.
1551
+ */
1552
+
1553
+ .tina-tailwind button,
1554
+ .tina-tailwind input,
1555
+ .tina-tailwind optgroup,
1556
+ .tina-tailwind select,
1557
+ .tina-tailwind textarea {
1558
+ font-family: inherit; /* 1 */
1559
+ font-size: 100%; /* 1 */
1560
+ line-height: 1.15; /* 1 */
1561
+ margin: 0; /* 2 */
1562
+ }
1563
+
1564
+ /**
1565
+ Remove the inheritance of text transform in Edge and Firefox.
1566
+ 1. Remove the inheritance of text transform in Firefox.
1567
+ */
1568
+
1569
+ .tina-tailwind button,
1570
+ .tina-tailwind select { /* 1 */
1571
+ text-transform: none;
1572
+ }
1573
+
1574
+ /**
1575
+ Correct the inability to style clickable types in iOS and Safari.
1576
+ */
1577
+
1578
+ .tina-tailwind button,
1579
+ .tina-tailwind [type='button'],
1580
+ .tina-tailwind [type='reset'],
1581
+ .tina-tailwind [type='submit'] {
1582
+ -webkit-appearance: button;
1583
+ }
1584
+
1585
+ /**
1586
+ Remove the inner border and padding in Firefox.
1587
+ */
1588
+
1589
+ .tina-tailwind ::-moz-focus-inner {
1590
+ border-style: none;
1591
+ padding: 0;
1592
+ }
1593
+
1594
+ /**
1595
+ Restore the focus styles unset by the previous rule.
1596
+ */
1597
+
1598
+ .tina-tailwind :-moz-focusring {
1599
+ outline: 1px dotted ButtonText;
1600
+ }
1601
+
1602
+ /**
1603
+ Remove the additional ':invalid' styles in Firefox.
1604
+ See: https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737
1605
+ */
1606
+
1607
+ .tina-tailwind :-moz-ui-invalid {
1608
+ box-shadow: none;
1609
+ }
1610
+
1611
+ /**
1612
+ Remove the padding so developers are not caught out when they zero out 'fieldset' elements in all browsers.
1613
+ */
1614
+
1615
+ .tina-tailwind legend {
1616
+ padding: 0;
1617
+ }
1618
+
1619
+ /**
1620
+ Add the correct vertical alignment in Chrome and Firefox.
1621
+ */
1622
+
1623
+ .tina-tailwind progress {
1624
+ vertical-align: baseline;
1625
+ }
1626
+
1627
+ /**
1628
+ Correct the cursor style of increment and decrement buttons in Safari.
1629
+ */
1630
+
1631
+ .tina-tailwind ::-webkit-inner-spin-button,
1632
+ .tina-tailwind ::-webkit-outer-spin-button {
1633
+ height: auto;
1634
+ }
1635
+
1636
+ /**
1637
+ 1. Correct the odd appearance in Chrome and Safari.
1638
+ 2. Correct the outline style in Safari.
1639
+ */
1640
+
1641
+ .tina-tailwind [type='search'] {
1642
+ -webkit-appearance: textfield; /* 1 */
1643
+ outline-offset: -2px; /* 2 */
1644
+ }
1645
+
1646
+ /**
1647
+ Remove the inner padding in Chrome and Safari on macOS.
1648
+ */
1649
+
1650
+ .tina-tailwind ::-webkit-search-decoration {
1651
+ -webkit-appearance: none;
1652
+ }
1653
+
1654
+ /**
1655
+ 1. Correct the inability to style clickable types in iOS and Safari.
1656
+ 2. Change font properties to 'inherit' in Safari.
1657
+ */
1658
+
1659
+ .tina-tailwind ::-webkit-file-upload-button {
1660
+ -webkit-appearance: button; /* 1 */
1661
+ font: inherit; /* 2 */
1662
+ }
1663
+
1664
+ /*
1665
+ Add the correct display in Chrome and Safari.
1666
+ */
1667
+
1668
+ .tina-tailwind summary {
1669
+ display: list-item;
1670
+ }
1671
+
1672
+ /**
1673
+ * Removes the default spacing and border for appropriate elements.
1674
+ */
1675
+
1676
+ .tina-tailwind blockquote,
1677
+ .tina-tailwind dl,
1678
+ .tina-tailwind dd,
1679
+ .tina-tailwind h1,
1680
+ .tina-tailwind h2,
1681
+ .tina-tailwind h3,
1682
+ .tina-tailwind h4,
1683
+ .tina-tailwind h5,
1684
+ .tina-tailwind h6,
1685
+ .tina-tailwind hr,
1686
+ .tina-tailwind figure,
1687
+ .tina-tailwind p,
1688
+ .tina-tailwind pre {
1689
+ margin: 0;
1690
+ }
1691
+
1692
+ /**
1693
+ * Manually forked from SUIT CSS Base: https://github.com/suitcss/base
1694
+ * A thin layer on top of normalize.css that provides a starting point more
1695
+ * suitable for web applications.
1696
+ */
1697
+
1698
+ .tina-tailwind button {
1699
+ background-color: transparent;
1700
+ background-image: none;
1701
+ }
1702
+
1703
+ /*
1704
+ Interactive
1705
+ ===========
1706
+ */
1707
+
1708
+ .tina-tailwind fieldset {
1709
+ margin: 0;
1710
+ padding: 0;
1711
+ }
1712
+
1713
+ /*
1714
+ Forms
1715
+ =====
1716
+ */
1717
+
1718
+ .tina-tailwind ol,
1719
+ .tina-tailwind ul {
1720
+ list-style: none;
1721
+ margin: 0;
1722
+ padding: 0;
1723
+ }
1724
+
1725
+ /**
1726
+ * 1. Use the user's configured \`sans\` font-family (with Tailwind's default
1727
+ * sans-serif font stack as a fallback) as a sane default.
1728
+ * 2. Use Tailwind's default "normal" line-height so the user isn't forced
1729
+ * to override it to ensure consistency even when using the default theme.
1730
+ */
1731
+
1732
+ .tina-tailwind html {
1733
+ 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 */
1734
+ line-height: 1.5; /* 2 */
1735
+ }
1736
+
1737
+ /**
1738
+ * Inherit font-family and line-height from \`html\` so users can set them as
1739
+ * a class directly on the \`html\` element.
1740
+ */
1741
+
1742
+ .tina-tailwind body {
1743
+ font-family: inherit;
1744
+ line-height: inherit;
1745
+ }
1746
+
1747
+ /**
1748
+ * 1. Prevent padding and border from affecting element width.
1749
+ *
1750
+ * We used to set this in the html element and inherit from
1751
+ * the parent element for everything else. This caused issues
1752
+ * in shadow-dom-enhanced elements like <details> where the content
1753
+ * is wrapped by a div with box-sizing set to \`content-box\`.
1754
+ *
1755
+ * https://github.com/mozdevs/cssremedy/issues/4
1756
+ *
1757
+ *
1758
+ * 2. Allow adding a border to an element by just adding a border-width.
1759
+ *
1760
+ * By default, the way the browser specifies that an element should have no
1761
+ * border is by setting it's border-style to \`none\` in the user-agent
1762
+ * stylesheet.
1763
+ *
1764
+ * In order to easily add borders to elements by just setting the \`border-width\`
1765
+ * property, we change the default border-style for all elements to \`solid\`, and
1766
+ * use border-width to hide them instead. This way our \`border\` utilities only
1767
+ * need to set the \`border-width\` property instead of the entire \`border\`
1768
+ * shorthand, making our border utilities much more straightforward to compose.
1769
+ *
1770
+ * https://github.com/tailwindcss/tailwindcss/pull/116
1771
+ */
1772
+
1773
+ .tina-tailwind *,
1774
+ .tina-tailwind ::before,
1775
+ .tina-tailwind ::after {
1776
+ box-sizing: border-box; /* 1 */
1777
+ border-width: 0; /* 2 */
1778
+ border-style: solid; /* 2 */
1779
+ border-color: currentColor; /* 2 */
1780
+ }
1781
+
1782
+ /*
1783
+ * Ensure horizontal rules are visible by default
1784
+ */
1785
+
1786
+ .tina-tailwind hr {
1787
+ border-top-width: 1px;
1788
+ }
1789
+
1790
+ /**
1791
+ * Undo the \`border-style: none\` reset that Normalize applies to images so that
1792
+ * our \`border-{width}\` utilities have the expected effect.
1793
+ *
1794
+ * The Normalize reset is unnecessary for us since we default the border-width
1795
+ * to 0 on all elements.
1796
+ *
1797
+ * https://github.com/tailwindcss/tailwindcss/issues/362
1798
+ */
1799
+
1800
+ .tina-tailwind img {
1801
+ border-style: solid;
1802
+ }
1803
+
1804
+ /**
1805
+ * Tailwind custom reset styles
1806
+ */
1807
+
1808
+ .tina-tailwind textarea {
1809
+ resize: vertical;
1810
+ }
1811
+
1812
+ /*
1813
+ Tabular data
1814
+ ============
1815
+ */
1816
+
1817
+ .tina-tailwind input::placeholder,
1818
+ .tina-tailwind textarea::placeholder {
1819
+ opacity: 1;
1820
+ color: #918c9e;
1821
+ }
1822
+
1823
+ /*
1824
+ Sections
1825
+ ========
1826
+ */
1827
+
1828
+ .tina-tailwind button,
1829
+ .tina-tailwind [role="button"] {
1830
+ cursor: pointer;
1831
+ }
1832
+
1833
+ /**
1834
+ * Override legacy focus reset from Normalize with modern Firefox focus styles.
1835
+ *
1836
+ * This is actually an improvement over the new defaults in Firefox in our testing,
1837
+ * as it triggers the better focus styles even for links, which still use a dotted
1838
+ * outline in Firefox by default.
1839
+ */
1840
+
1841
+ .tina-tailwind :-moz-focusring {
1842
+ outline: auto;
1843
+ }
1844
+
1845
+ /*
1846
+ Document
1847
+ ========
1848
+ */
1849
+
1850
+ .tina-tailwind table {
1851
+ border-collapse: collapse;
1852
+ }
1853
+
1854
+ /*! modern-normalize v1.1.0 | MIT License | https://github.com/sindresorhus/modern-normalize */
1855
+
1856
+ .tina-tailwind h1,
1857
+ .tina-tailwind h2,
1858
+ .tina-tailwind h3,
1859
+ .tina-tailwind h4,
1860
+ .tina-tailwind h5,
1861
+ .tina-tailwind h6 {
1862
+ font-size: inherit;
1863
+ font-weight: inherit;
1864
+ }
1865
+
1866
+ /**
1867
+ * Reset links to optimize for opt-in styling instead of
1868
+ * opt-out.
1869
+ */
1870
+
1871
+ .tina-tailwind a {
1872
+ color: inherit;
1873
+ text-decoration: inherit;
1874
+ }
1875
+
1876
+ /**
1877
+ * Reset form element properties that are easy to forget to
1878
+ * style explicitly so you don't inadvertently introduce
1879
+ * styles that deviate from your design system. These styles
1880
+ * supplement a partial reset that is already applied by
1881
+ * normalize.css.
1882
+ */
1883
+
1884
+ .tina-tailwind button,
1885
+ .tina-tailwind input,
1886
+ .tina-tailwind optgroup,
1887
+ .tina-tailwind select,
1888
+ .tina-tailwind textarea {
1889
+ padding: 0;
1890
+ line-height: inherit;
1891
+ color: inherit;
1892
+ }
1893
+
1894
+ /**
1895
+ * Use the configured 'mono' font family for elements that
1896
+ * are expected to be rendered with a monospace font, falling
1897
+ * back to the system monospace stack if there is no configured
1898
+ * 'mono' font family.
1899
+ */
1900
+
1901
+ .tina-tailwind pre,
1902
+ .tina-tailwind code,
1903
+ .tina-tailwind kbd,
1904
+ .tina-tailwind samp {
1905
+ font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
1906
+ }
1907
+
1908
+ /**
1909
+ * 1. Make replaced elements \`display: block\` by default as that's
1910
+ * the behavior you want almost all of the time. Inspired by
1911
+ * CSS Remedy, with \`svg\` added as well.
1912
+ *
1913
+ * https://github.com/mozdevs/cssremedy/issues/14
1914
+ *
1915
+ * 2. Add \`vertical-align: middle\` to align replaced elements more
1916
+ * sensibly by default when overriding \`display\` by adding a
1917
+ * utility like \`inline\`.
1918
+ *
1919
+ * This can trigger a poorly considered linting error in some
1920
+ * tools but is included by design.
1921
+ *
1922
+ * https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210
1923
+ */
1924
+
1925
+ .tina-tailwind img,
1926
+ .tina-tailwind svg,
1927
+ .tina-tailwind video,
1928
+ .tina-tailwind canvas,
1929
+ .tina-tailwind audio,
1930
+ .tina-tailwind iframe,
1931
+ .tina-tailwind embed,
1932
+ .tina-tailwind object {
1933
+ display: block; /* 1 */
1934
+ vertical-align: middle; /* 2 */
1935
+ }
1936
+
1937
+ /**
1938
+ * Constrain images and videos to the parent width and preserve
1939
+ * their intrinsic aspect ratio.
1940
+ *
1941
+ * https://github.com/mozdevs/cssremedy/issues/14
1942
+ */
1943
+
1944
+ .tina-tailwind img,
1945
+ .tina-tailwind video {
1946
+ max-width: 100%;
1947
+ height: auto;
1948
+ }
1949
+
1950
+ /**
1951
+ * Ensure the default browser behavior of the \`hidden\` attribute.
1952
+ */
1953
+
1954
+ .tina-tailwind [hidden] {
1955
+ display: none;
1956
+ }
1957
+
1958
+ /*! tailwindcss v2.2.19 | MIT License | https://tailwindcss.com
1959
+ */
1960
+
1961
+ .tina-tailwind *, .tina-tailwind ::before, .tina-tailwind ::after {
1962
+ --tw-translate-x: 0;
1963
+ --tw-translate-y: 0;
1964
+ --tw-rotate: 0;
1965
+ --tw-skew-x: 0;
1966
+ --tw-skew-y: 0;
1967
+ --tw-scale-x: 1;
1968
+ --tw-scale-y: 1;
1969
+ --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));
1970
+ }
1971
+
1972
+ .tina-tailwind *, .tina-tailwind ::before, .tina-tailwind ::after {
1973
+ --tw-border-opacity: 1;
1974
+ border-color: rgba(225, 221, 236, var(--tw-border-opacity));
1975
+ }
1976
+
1977
+ .tina-tailwind *, .tina-tailwind ::before, .tina-tailwind ::after {
1978
+ --tw-ring-offset-shadow: 0 0 #0000;
1979
+ --tw-ring-shadow: 0 0 #0000;
1980
+ --tw-shadow: 0 0 #0000;
1981
+ }
1982
+
1983
+ .tina-tailwind *, .tina-tailwind ::before, .tina-tailwind ::after {
1984
+ --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/);
1985
+ --tw-ring-offset-width: 0px;
1986
+ --tw-ring-offset-color: #fff;
1987
+ --tw-ring-color: rgba(0, 132, 255, 0.5);
1988
+ --tw-ring-offset-shadow: 0 0 #0000;
1989
+ --tw-ring-shadow: 0 0 #0000;
1990
+ --tw-shadow: 0 0 #0000;
1991
+ }
1992
+
1993
+ .tina-tailwind *, .tina-tailwind ::before, .tina-tailwind ::after {
1994
+ --tw-blur: var(--tw-empty,/*!*/ /*!*/);
1995
+ --tw-brightness: var(--tw-empty,/*!*/ /*!*/);
1996
+ --tw-contrast: var(--tw-empty,/*!*/ /*!*/);
1997
+ --tw-grayscale: var(--tw-empty,/*!*/ /*!*/);
1998
+ --tw-hue-rotate: var(--tw-empty,/*!*/ /*!*/);
1999
+ --tw-invert: var(--tw-empty,/*!*/ /*!*/);
2000
+ --tw-saturate: var(--tw-empty,/*!*/ /*!*/);
2001
+ --tw-sepia: var(--tw-empty,/*!*/ /*!*/);
2002
+ --tw-drop-shadow: var(--tw-empty,/*!*/ /*!*/);
2003
+ --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);
2004
+ }
2005
+
2006
+ .tina-tailwind .static {
2007
+ position: static !important;
2008
+ }
2009
+
2010
+ .tina-tailwind .fixed {
2011
+ position: fixed !important;
2012
+ }
2013
+
2014
+ .tina-tailwind .absolute {
2015
+ position: absolute !important;
2016
+ }
2017
+
2018
+ .tina-tailwind .relative {
2019
+ position: relative !important;
2020
+ }
2021
+
2022
+ .tina-tailwind .bottom-3 {
2023
+ bottom: 12px !important;
2024
+ }
2025
+
2026
+ .tina-tailwind .right-5 {
2027
+ right: 20px !important;
2028
+ }
2029
+
2030
+ .tina-tailwind .right-0 {
2031
+ right: 0px !important;
2032
+ }
2033
+
2034
+ .tina-tailwind .z-50 {
2035
+ z-index: 50 !important;
2036
+ }
2037
+
2038
+ .tina-tailwind .mr-2 {
2039
+ margin-right: 8px !important;
2040
+ }
2041
+
2042
+ .tina-tailwind .-ml-1 {
2043
+ margin-left: -4px !important;
2044
+ }
2045
+
2046
+ .tina-tailwind .mr-1\\.5 {
2047
+ margin-right: 6px !important;
2048
+ }
2049
+
2050
+ .tina-tailwind .mr-1 {
2051
+ margin-right: 4px !important;
2052
+ }
2053
+
2054
+ .tina-tailwind .mb-3 {
2055
+ margin-bottom: 12px !important;
2056
+ }
2057
+
2058
+ .tina-tailwind .ml-1 {
2059
+ margin-left: 4px !important;
2060
+ }
2061
+
2062
+ .tina-tailwind .mt-2 {
2063
+ margin-top: 8px !important;
2064
+ }
2065
+
2066
+ .tina-tailwind .mt-8 {
2067
+ margin-top: 32px !important;
2068
+ }
2069
+
2070
+ .tina-tailwind .mb-0\\.5 {
2071
+ margin-bottom: 2px !important;
2072
+ }
2073
+
2074
+ .tina-tailwind .mb-0 {
2075
+ margin-bottom: 0px !important;
2076
+ }
2077
+
2078
+ .tina-tailwind .block {
2079
+ display: block !important;
2080
+ }
2081
+
2082
+ .tina-tailwind .inline-block {
2083
+ display: inline-block !important;
2084
+ }
2085
+
2086
+ .tina-tailwind .flex {
2087
+ display: flex !important;
2088
+ }
2089
+
2090
+ .tina-tailwind .inline-flex {
2091
+ display: inline-flex !important;
2092
+ }
2093
+
2094
+ .tina-tailwind .table {
2095
+ display: table !important;
2096
+ }
2097
+
2098
+ .tina-tailwind .h-screen {
2099
+ height: 100vh !important;
2100
+ }
2101
+
2102
+ .tina-tailwind .h-4 {
2103
+ height: 16px !important;
2104
+ }
2105
+
2106
+ .tina-tailwind .h-auto {
2107
+ height: auto !important;
2108
+ }
2109
+
2110
+ .tina-tailwind .h-6 {
2111
+ height: 24px !important;
2112
+ }
2113
+
2114
+ .tina-tailwind .h-5 {
2115
+ height: 20px !important;
2116
+ }
2117
+
2118
+ .tina-tailwind .w-auto {
2119
+ width: auto !important;
2120
+ }
2121
+
2122
+ .tina-tailwind .w-full {
2123
+ width: 100% !important;
2124
+ }
2125
+
2126
+ .tina-tailwind .w-10 {
2127
+ width: 40px !important;
2128
+ }
2129
+
2130
+ .tina-tailwind .w-80 {
2131
+ width: 320px !important;
2132
+ }
2133
+
2134
+ .tina-tailwind .w-2\\/3 {
2135
+ width: 66.666667% !important;
2136
+ }
2137
+
2138
+ .tina-tailwind .w-6 {
2139
+ width: 24px !important;
2140
+ }
2141
+
2142
+ .tina-tailwind .w-56 {
2143
+ width: 224px !important;
2144
+ }
2145
+
2146
+ .tina-tailwind .min-w-full {
2147
+ min-width: 100% !important;
2148
+ }
2149
+
2150
+ .tina-tailwind .max-w-lg {
2151
+ max-width: 32rem !important;
2152
+ }
2153
+
2154
+ .tina-tailwind .max-w-screen-md {
2155
+ max-width: 768px !important;
2156
+ }
2157
+
2158
+ .tina-tailwind .max-w-xs {
2159
+ max-width: 20rem !important;
2160
+ }
2161
+
2162
+ .tina-tailwind .flex-1 {
2163
+ flex: 1 1 0% !important;
2164
+ }
2165
+
2166
+ .tina-tailwind .flex-shrink-0 {
2167
+ flex-shrink: 0 !important;
2168
+ }
2169
+
2170
+ .tina-tailwind .origin-top-right {
2171
+ transform-origin: top right !important;
2172
+ }
2173
+
2174
+ .tina-tailwind .translate-y-full {
2175
+ --tw-translate-y: 100% !important;
2176
+ transform: var(--tw-transform) !important;
2177
+ }
2178
+
2179
+ .tina-tailwind .-translate-y-2 {
2180
+ --tw-translate-y: -8px !important;
2181
+ transform: var(--tw-transform) !important;
2182
+ }
2183
+
2184
+ .tina-tailwind .translate-y-0 {
2185
+ --tw-translate-y: 0px !important;
2186
+ transform: var(--tw-transform) !important;
2187
+ }
2188
+
2189
+ .tina-tailwind .rotate-90 {
2190
+ --tw-rotate: 90deg !important;
2191
+ transform: var(--tw-transform) !important;
2192
+ }
2193
+
2194
+ .tina-tailwind .rotate-0 {
2195
+ --tw-rotate: 0deg !important;
2196
+ transform: var(--tw-transform) !important;
2197
+ }
2198
+
2199
+ .tina-tailwind .scale-95 {
2200
+ --tw-scale-x: .95 !important;
2201
+ --tw-scale-y: .95 !important;
2202
+ transform: var(--tw-transform) !important;
2203
+ }
2204
+
2205
+ .tina-tailwind .scale-100 {
2206
+ --tw-scale-x: 1 !important;
2207
+ --tw-scale-y: 1 !important;
2208
+ transform: var(--tw-transform) !important;
2209
+ }
2210
+
2211
+ .tina-tailwind .transform {
2212
+ transform: var(--tw-transform) !important;
2213
+ }
2214
+
2215
+ .tina-tailwind .flex-col {
2216
+ flex-direction: column !important;
2217
+ }
2218
+
2219
+ .tina-tailwind .items-end {
2220
+ align-items: flex-end !important;
2221
+ }
2222
+
2223
+ .tina-tailwind .items-center {
2224
+ align-items: center !important;
2225
+ }
2226
+
2227
+ .tina-tailwind .items-stretch {
2228
+ align-items: stretch !important;
2229
+ }
2230
+
2231
+ .tina-tailwind .justify-start {
2232
+ justify-content: flex-start !important;
2233
+ }
2234
+
2235
+ .tina-tailwind .justify-end {
2236
+ justify-content: flex-end !important;
2237
+ }
2238
+
2239
+ .tina-tailwind .justify-center {
2240
+ justify-content: center !important;
2241
+ }
2242
+
2243
+ .tina-tailwind .justify-between {
2244
+ justify-content: space-between !important;
2245
+ }
2246
+
2247
+ .tina-tailwind .gap-0\\.5 {
2248
+ gap: 2px !important;
2249
+ }
2250
+
2251
+ .tina-tailwind .gap-0 {
2252
+ gap: 0px !important;
2253
+ }
2254
+
2255
+ .tina-tailwind .gap-4 {
2256
+ gap: 16px !important;
2257
+ }
2258
+
2259
+ .tina-tailwind .gap-1 {
2260
+ gap: 4px !important;
2261
+ }
2262
+
2263
+ .tina-tailwind .gap-3 {
2264
+ gap: 12px !important;
2265
+ }
2266
+
2267
+ .tina-tailwind .gap-1\\.5 {
2268
+ gap: 6px !important;
2269
+ }
2270
+
2271
+ .tina-tailwind .divide-y > :not([hidden]) ~ :not([hidden]) {
2272
+ --tw-divide-y-reverse: 0 !important;
2273
+ border-top-width: calc(1px * calc(1 - var(--tw-divide-y-reverse))) !important;
2274
+ border-bottom-width: calc(1px * var(--tw-divide-y-reverse)) !important;
2275
+ }
2276
+
2277
+ .tina-tailwind .overflow-hidden {
2278
+ overflow: hidden !important;
2279
+ }
2280
+
2281
+ .tina-tailwind .overflow-y-auto {
2282
+ overflow-y: auto !important;
2283
+ }
2284
+
2285
+ .tina-tailwind .overflow-ellipsis {
2286
+ text-overflow: ellipsis !important;
2287
+ }
2288
+
2289
+ .tina-tailwind .whitespace-nowrap {
2290
+ white-space: nowrap !important;
2291
+ }
2292
+
2293
+ .tina-tailwind .rounded-lg {
2294
+ border-radius: 8px !important;
2295
+ }
2296
+
2297
+ .tina-tailwind .rounded-full {
2298
+ border-radius: 9999px !important;
2299
+ }
2300
+
2301
+ .tina-tailwind .rounded-md {
2302
+ border-radius: 6px !important;
2303
+ }
2304
+
2305
+ .tina-tailwind .border {
2306
+ border-width: 1px !important;
2307
+ }
2308
+
2309
+ .tina-tailwind .border-t {
2310
+ border-top-width: 1px !important;
2311
+ }
2312
+
2313
+ .tina-tailwind .border-b {
2314
+ border-bottom-width: 1px !important;
2315
+ }
2316
+
2317
+ .tina-tailwind .border-r {
2318
+ border-right-width: 1px !important;
2319
+ }
2320
+
2321
+ .tina-tailwind .border-gray-100 {
2322
+ --tw-border-opacity: 1 !important;
2323
+ border-color: rgba(237, 236, 243, var(--tw-border-opacity)) !important;
2324
+ }
2325
+
2326
+ .tina-tailwind .border-gray-200 {
2327
+ --tw-border-opacity: 1 !important;
2328
+ border-color: rgba(225, 221, 236, var(--tw-border-opacity)) !important;
2329
+ }
2330
+
2331
+ .tina-tailwind .border-transparent {
2332
+ border-color: transparent !important;
2333
+ }
2334
+
2335
+ .tina-tailwind .bg-white {
2336
+ --tw-bg-opacity: 1 !important;
2337
+ background-color: rgba(255, 255, 255, var(--tw-bg-opacity)) !important;
2338
+ }
2339
+
2340
+ .tina-tailwind .bg-gray-50 {
2341
+ --tw-bg-opacity: 1 !important;
2342
+ background-color: rgba(246, 246, 249, var(--tw-bg-opacity)) !important;
2343
+ }
2344
+
2345
+ .tina-tailwind .bg-transparent {
2346
+ background-color: transparent !important;
2347
+ }
2348
+
2349
+ .tina-tailwind .bg-gradient-to-b {
2350
+ background-image: linear-gradient(to bottom, var(--tw-gradient-stops)) !important;
2351
+ }
2352
+
2353
+ .tina-tailwind .from-blue-900 {
2354
+ --tw-gradient-from: #1D2C6C !important;
2355
+ --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(29, 44, 108, 0)) !important;
2356
+ }
2357
+
2358
+ .tina-tailwind .from-white {
2359
+ --tw-gradient-from: #fff !important;
2360
+ --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0)) !important;
2361
+ }
2362
+
2363
+ .tina-tailwind .to-gray-900 {
2364
+ --tw-gradient-to: #252336 !important;
2365
+ }
2366
+
2367
+ .tina-tailwind .to-gray-50 {
2368
+ --tw-gradient-to: #F6F6F9 !important;
2369
+ }
2370
+
2371
+ .tina-tailwind .px-5 {
2372
+ padding-left: 20px !important;
2373
+ padding-right: 20px !important;
2374
+ }
2375
+
2376
+ .tina-tailwind .py-2 {
2377
+ padding-top: 8px !important;
2378
+ padding-bottom: 8px !important;
2379
+ }
2380
+
2381
+ .tina-tailwind .px-4 {
2382
+ padding-left: 16px !important;
2383
+ padding-right: 16px !important;
2384
+ }
2385
+
2386
+ .tina-tailwind .py-6 {
2387
+ padding-top: 24px !important;
2388
+ padding-bottom: 24px !important;
2389
+ }
2390
+
2391
+ .tina-tailwind .py-4 {
2392
+ padding-top: 16px !important;
2393
+ padding-bottom: 16px !important;
2394
+ }
2395
+
2396
+ .tina-tailwind .px-6 {
2397
+ padding-left: 24px !important;
2398
+ padding-right: 24px !important;
2399
+ }
2400
+
2401
+ .tina-tailwind .py-1 {
2402
+ padding-top: 4px !important;
2403
+ padding-bottom: 4px !important;
2404
+ }
2405
+
2406
+ .tina-tailwind .py-7 {
2407
+ padding-top: 28px !important;
2408
+ padding-bottom: 28px !important;
2409
+ }
2410
+
2411
+ .tina-tailwind .px-8 {
2412
+ padding-left: 32px !important;
2413
+ padding-right: 32px !important;
2414
+ }
2415
+
2416
+ .tina-tailwind .py-2\\.5 {
2417
+ padding-top: 10px !important;
2418
+ padding-bottom: 10px !important;
2419
+ }
2420
+
2421
+ .tina-tailwind .py-14 {
2422
+ padding-top: 56px !important;
2423
+ padding-bottom: 56px !important;
2424
+ }
2425
+
2426
+ .tina-tailwind .py-3 {
2427
+ padding-top: 12px !important;
2428
+ padding-bottom: 12px !important;
2429
+ }
2430
+
2431
+ .tina-tailwind .py-1\\.5 {
2432
+ padding-top: 6px !important;
2433
+ padding-bottom: 6px !important;
2434
+ }
2435
+
2436
+ .tina-tailwind .py-10 {
2437
+ padding-top: 40px !important;
2438
+ padding-bottom: 40px !important;
2439
+ }
2440
+
2441
+ .tina-tailwind .pt-16 {
2442
+ padding-top: 64px !important;
2443
+ }
2444
+
2445
+ .tina-tailwind .pb-10 {
2446
+ padding-bottom: 40px !important;
2447
+ }
2448
+
2449
+ .tina-tailwind .text-left {
2450
+ text-align: left !important;
2451
+ }
2452
+
2453
+ .tina-tailwind .text-center {
2454
+ text-align: center !important;
2455
+ }
2456
+
2457
+ .tina-tailwind .font-sans {
2458
+ 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;
2459
+ }
2460
+
2461
+ .tina-tailwind .text-xs {
2462
+ font-size: 13px !important;
2463
+ line-height: 1.33 !important;
2464
+ }
2465
+
2466
+ .tina-tailwind .text-2xl {
2467
+ font-size: 24px !important;
2468
+ line-height: 1.33 !important;
2469
+ }
2470
+
2471
+ .tina-tailwind .text-base {
2472
+ font-size: 16px !important;
2473
+ line-height: 1.5 !important;
2474
+ }
2475
+
2476
+ .tina-tailwind .text-lg {
2477
+ font-size: 18px !important;
2478
+ line-height: 1.55 !important;
2479
+ }
2480
+
2481
+ .tina-tailwind .text-sm {
2482
+ font-size: 14px !important;
2483
+ line-height: 1.43 !important;
2484
+ }
2485
+
2486
+ .tina-tailwind .text-3xl {
2487
+ font-size: 30px !important;
2488
+ line-height: 1.2 !important;
2489
+ }
2490
+
2491
+ .tina-tailwind .text-4xl {
2492
+ font-size: 36px !important;
2493
+ line-height: 1.1 !important;
2494
+ }
2495
+
2496
+ .tina-tailwind .font-medium {
2497
+ font-weight: 500 !important;
2498
+ }
2499
+
2500
+ .tina-tailwind .font-bold {
2501
+ font-weight: 700 !important;
2502
+ }
2503
+
2504
+ .tina-tailwind .uppercase {
2505
+ text-transform: uppercase !important;
2506
+ }
2507
+
2508
+ .tina-tailwind .italic {
2509
+ font-style: italic !important;
2510
+ }
2511
+
2512
+ .tina-tailwind .leading-normal {
2513
+ line-height: 1.5 !important;
2514
+ }
2515
+
2516
+ .tina-tailwind .leading-4 {
2517
+ line-height: 16px !important;
2518
+ }
2519
+
2520
+ .tina-tailwind .leading-5 {
2521
+ line-height: 20px !important;
2522
+ }
2523
+
2524
+ .tina-tailwind .tracking-wide {
2525
+ letter-spacing: 0.025em !important;
2526
+ }
2527
+
2528
+ .tina-tailwind .text-gray-700 {
2529
+ --tw-text-opacity: 1 !important;
2530
+ color: rgba(67, 62, 82, var(--tw-text-opacity)) !important;
2531
+ }
2532
+
2533
+ .tina-tailwind .text-gray-800 {
2534
+ --tw-text-opacity: 1 !important;
2535
+ color: rgba(54, 49, 69, var(--tw-text-opacity)) !important;
2536
+ }
2537
+
2538
+ .tina-tailwind .text-gray-600 {
2539
+ --tw-text-opacity: 1 !important;
2540
+ color: rgba(86, 81, 101, var(--tw-text-opacity)) !important;
2541
+ }
2542
+
2543
+ .tina-tailwind .text-blue-400 {
2544
+ --tw-text-opacity: 1 !important;
2545
+ color: rgba(34, 150, 254, var(--tw-text-opacity)) !important;
2546
+ }
2547
+
2548
+ .tina-tailwind .text-blue-600 {
2549
+ --tw-text-opacity: 1 !important;
2550
+ color: rgba(5, 116, 228, var(--tw-text-opacity)) !important;
2551
+ }
2552
+
2553
+ .tina-tailwind .text-white {
2554
+ --tw-text-opacity: 1 !important;
2555
+ color: rgba(255, 255, 255, var(--tw-text-opacity)) !important;
2556
+ }
2557
+
2558
+ .tina-tailwind .text-gray-400 {
2559
+ --tw-text-opacity: 1 !important;
2560
+ color: rgba(145, 140, 158, var(--tw-text-opacity)) !important;
2561
+ }
2562
+
2563
+ .tina-tailwind .text-gray-300 {
2564
+ --tw-text-opacity: 1 !important;
2565
+ color: rgba(178, 173, 190, var(--tw-text-opacity)) !important;
2566
+ }
2567
+
2568
+ .tina-tailwind .text-gray-500 {
2569
+ --tw-text-opacity: 1 !important;
2570
+ color: rgba(113, 108, 127, var(--tw-text-opacity)) !important;
2571
+ }
2572
+
2573
+ .tina-tailwind .underline {
2574
+ text-decoration: underline !important;
2575
+ }
2576
+
2577
+ .tina-tailwind .opacity-80 {
2578
+ opacity: .8 !important;
2579
+ }
2580
+
2581
+ .tina-tailwind .opacity-50 {
2582
+ opacity: .5 !important;
2583
+ }
2584
+
2585
+ .tina-tailwind .opacity-100 {
2586
+ opacity: 1 !important;
2587
+ }
2588
+
2589
+ .tina-tailwind .opacity-0 {
2590
+ opacity: 0 !important;
2591
+ }
2592
+
2593
+ .tina-tailwind .opacity-90 {
2594
+ opacity: .9 !important;
2595
+ }
2596
+
2597
+ .tina-tailwind .opacity-70 {
2598
+ opacity: .7 !important;
2599
+ }
2600
+
2601
+ .tina-tailwind .shadow {
2602
+ --tw-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06) !important;
2603
+ box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) !important;
2604
+ }
2605
+
2606
+ .tina-tailwind .shadow-lg {
2607
+ --tw-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05) !important;
2608
+ box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) !important;
2609
+ }
2610
+
2611
+ .tina-tailwind .shadow-sm {
2612
+ --tw-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05) !important;
2613
+ box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) !important;
2614
+ }
2615
+
2616
+ .tina-tailwind .ring-1 {
2617
+ --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color) !important;
2618
+ --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color) !important;
2619
+ box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000) !important;
2620
+ }
2621
+
2622
+ .tina-tailwind .ring-black {
2623
+ --tw-ring-opacity: 1 !important;
2624
+ --tw-ring-color: rgba(0, 0, 0, var(--tw-ring-opacity)) !important;
2625
+ }
2626
+
2627
+ .tina-tailwind .ring-opacity-5 {
2628
+ --tw-ring-opacity: .05 !important;
2629
+ }
2630
+
2631
+ .tina-tailwind .filter {
2632
+ filter: var(--tw-filter) !important;
2633
+ }
2634
+
2635
+ .tina-tailwind .transition-colors {
2636
+ transition-property: background-color, border-color, color, fill, stroke !important;
2637
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important;
2638
+ transition-duration: 150ms !important;
2639
+ }
2640
+
2641
+ .tina-tailwind .transition-opacity {
2642
+ transition-property: opacity !important;
2643
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important;
2644
+ transition-duration: 150ms !important;
2645
+ }
2646
+
2647
+ .tina-tailwind .transition-all {
2648
+ transition-property: all !important;
2649
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important;
2650
+ transition-duration: 150ms !important;
2651
+ }
2652
+
2653
+ .tina-tailwind .transition {
2654
+ transition-property: background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter !important;
2655
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important;
2656
+ transition-duration: 150ms !important;
2657
+ }
2658
+
2659
+ .tina-tailwind .duration-100 {
2660
+ transition-duration: 100ms !important;
2661
+ }
2662
+
2663
+ .tina-tailwind .duration-150 {
2664
+ transition-duration: 150ms !important;
2665
+ }
2666
+
2667
+ .tina-tailwind .duration-300 {
2668
+ transition-duration: 300ms !important;
2669
+ }
2670
+
2671
+ .tina-tailwind .duration-75 {
2672
+ transition-duration: 75ms !important;
2673
+ }
2674
+
2675
+ .tina-tailwind .ease-out {
2676
+ transition-timing-function: cubic-bezier(0, 0, 0.2, 1) !important;
2677
+ }
2678
+
2679
+ .tina-tailwind .ease-in-out {
2680
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important;
2681
+ }
2682
+
2683
+ .tina-tailwind .ease-in {
2684
+ transition-timing-function: cubic-bezier(0.4, 0, 1, 1) !important;
2685
+ }
2686
+
2687
+ .tina-tailwind {
2688
+ 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";
2689
+ --tw-text-opacity: 1;
2690
+ color: rgba(86, 81, 101, var(--tw-text-opacity));
2691
+ }
2692
+
2693
+ .hover\\:bg-gray-50:hover {
2694
+ --tw-bg-opacity: 1 !important;
2695
+ background-color: rgba(246, 246, 249, var(--tw-bg-opacity)) !important;
2696
+ }
2697
+
2698
+ .hover\\:text-blue-500:hover {
2699
+ --tw-text-opacity: 1 !important;
2700
+ color: rgba(0, 132, 255, var(--tw-text-opacity)) !important;
2701
+ }
2702
+
2703
+ .hover\\:text-blue-600:hover {
2704
+ --tw-text-opacity: 1 !important;
2705
+ color: rgba(5, 116, 228, var(--tw-text-opacity)) !important;
2706
+ }
2707
+
2708
+ .hover\\:opacity-100:hover {
2709
+ opacity: 1 !important;
2710
+ }
2711
+
2712
+ .hover\\:opacity-80:hover {
2713
+ opacity: .8 !important;
2714
+ }
2715
+
2716
+ .focus\\:outline-none:focus {
2717
+ outline: 2px solid transparent !important;
2718
+ outline-offset: 2px !important;
2719
+ }
2720
+
2721
+ .group:hover .group-hover\\:opacity-100 {
2722
+ opacity: 1 !important;
2723
+ }
2724
+
2725
+ .group:hover .group-hover\\:opacity-80 {
2726
+ opacity: .8 !important;
2727
+ }
2728
+
2729
+ @media (min-width: 640px) {
2730
+
2731
+ .sm\\:rounded-lg {
2732
+ border-radius: 8px !important;
2733
+ }
2734
+ }
2735
+
2736
+ @media (min-width: 1024px) {
2737
+
2738
+ .lg\\:w-96 {
2739
+ width: 384px !important;
2740
+ }
2741
+ }
2742
+ `;
1413
2743
  const errorButtonStyles = {
1414
2744
  background: "#eb6337",
1415
2745
  padding: "12px 18px",
@@ -1495,20 +2825,29 @@ mutation addPendingDocumentMutation(
1495
2825
  return this.props.children;
1496
2826
  }
1497
2827
  }
2828
+ const parseURL = (url) => {
2829
+ if (url.includes("localhost")) {
2830
+ return { branch: null, isLocalClient: true, clientId: null };
2831
+ }
2832
+ const tinaHost = "content.tinajs.io";
2833
+ const params = new URL(url);
2834
+ const pattern = new UrlPattern__default["default"]("/content/:clientId/github/:branch");
2835
+ const result = pattern.match(params.pathname);
2836
+ if (params.host !== tinaHost) {
2837
+ throw new Error(`The only supported hosts are ${tinaHost} or localhost, but received ${params.host}.`);
2838
+ }
2839
+ return __spreadProps(__spreadValues({}, result), {
2840
+ isLocalClient: false
2841
+ });
2842
+ };
1498
2843
  const TinaCMSProvider2 = (_c) => {
1499
2844
  var _d = _c, {
1500
2845
  children,
1501
- branch,
1502
- clientId,
1503
- isLocalClient,
1504
2846
  cmsCallback,
1505
2847
  mediaStore,
1506
2848
  tinaioConfig
1507
2849
  } = _d, props = __objRest(_d, [
1508
2850
  "children",
1509
- "branch",
1510
- "clientId",
1511
- "isLocalClient",
1512
2851
  "cmsCallback",
1513
2852
  "mediaStore",
1514
2853
  "tinaioConfig"
@@ -1516,6 +2855,15 @@ mutation addPendingDocumentMutation(
1516
2855
  if (typeof props.query === "string") {
1517
2856
  props.query;
1518
2857
  }
2858
+ 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);
2859
+ if (!props.apiURL && !validOldSetup) {
2860
+ throw new Error(`apiURL is a required field`);
2861
+ }
2862
+ const { branch, clientId, isLocalClient } = props.apiURL ? parseURL(props.apiURL) : {
2863
+ branch: props.branch,
2864
+ clientId: props.clientId,
2865
+ isLocalClient: props.isLocalClient
2866
+ };
1519
2867
  return /* @__PURE__ */ React__default["default"].createElement(TinaCloudProvider, {
1520
2868
  branch,
1521
2869
  clientId,
@@ -1523,7 +2871,7 @@ mutation addPendingDocumentMutation(
1523
2871
  isLocalClient,
1524
2872
  cmsCallback,
1525
2873
  mediaStore
1526
- }, props.query ? /* @__PURE__ */ React__default["default"].createElement(SetupHooks, __spreadProps(__spreadValues({
2874
+ }, /* @__PURE__ */ React__default["default"].createElement("style", null, styles), props.query ? /* @__PURE__ */ React__default["default"].createElement(SetupHooks, __spreadProps(__spreadValues({
1527
2875
  key: props.query
1528
2876
  }, props), {
1529
2877
  query: props.query || ""
@@ -1657,10 +3005,10 @@ mutation addPendingDocumentMutation(
1657
3005
  if (!is_server()) {
1658
3006
  console.warn(`Whoops! Looks like you are using \`staticRequest\` in the browser to fetch data.
1659
3007
 
1660
- The local server is not available outside of \`getStaticProps\` or \`getStaticPaths\` functions.
3008
+ The local server is not available outside of \`getStaticProps\` or \`getStaticPaths\` functions.
1661
3009
  This function should only be called on the server at build time.
1662
3010
 
1663
- This will work when developing locally but NOT when deployed to production.
3011
+ This will work when developing locally but NOT when deployed to production.
1664
3012
  `);
1665
3013
  }
1666
3014
  return client.request(query, { variables });
@@ -1673,7 +3021,8 @@ This will work when developing locally but NOT when deployed to production.
1673
3021
  return str;
1674
3022
  }
1675
3023
  const Layout = ({ children }) => {
1676
- return /* @__PURE__ */ React__default["default"].createElement("div", {
3024
+ return /* @__PURE__ */ React__default["default"].createElement(React__default["default"].Fragment, null, /* @__PURE__ */ React__default["default"].createElement("style", null, styles), /* @__PURE__ */ React__default["default"].createElement("div", {
3025
+ className: "tina-tailwind",
1677
3026
  style: {
1678
3027
  position: "fixed",
1679
3028
  top: 0,
@@ -1682,9 +3031,10 @@ This will work when developing locally but NOT when deployed to production.
1682
3031
  height: "100%",
1683
3032
  overflow: "auto",
1684
3033
  background: "#F6F6F9",
3034
+ fontFamily: "'Inter', sans-serif",
1685
3035
  zIndex: 9999
1686
3036
  }
1687
- }, children);
3037
+ }, children));
1688
3038
  };
1689
3039
  function ImFilesEmpty(props) {
1690
3040
  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);
@@ -1804,7 +3154,7 @@ This will work when developing locally but NOT when deployed to production.
1804
3154
  return /* @__PURE__ */ React__default["default"].createElement("div", {
1805
3155
  className: "h-screen w-full bg-gradient-to-b from-blue-900 to-gray-900 flex items-center justify-center px-4 py-6"
1806
3156
  }, /* @__PURE__ */ React__default["default"].createElement("div", {
1807
- className: "bg-white rounded-lg overflow-hidden shadow-lg w-full max-w-md"
3157
+ className: "bg-white rounded-lg overflow-hidden shadow-lg w-full max-w-lg"
1808
3158
  }, /* @__PURE__ */ React__default["default"].createElement("div", {
1809
3159
  className: "px-5 py-4 border-b border-gray-150"
1810
3160
  }, /* @__PURE__ */ React__default["default"].createElement("h2", {
@@ -1829,9 +3179,7 @@ This will work when developing locally but NOT when deployed to production.
1829
3179
  const LoginPage = () => {
1830
3180
  const { setEdit } = sharedctx.useEditState();
1831
3181
  const login = () => setEdit(true);
1832
- return /* @__PURE__ */ React__default["default"].createElement(AuthTemplate, {
1833
- message: "Please log in to Tina Cloud to access your content."
1834
- }, /* @__PURE__ */ React__default["default"].createElement("a", {
3182
+ return /* @__PURE__ */ React__default["default"].createElement(AuthTemplate, null, /* @__PURE__ */ React__default["default"].createElement("a", {
1835
3183
  href: "/",
1836
3184
  className: "flex-1 text-center inline-flex justify-center items-center px-8 py-3 shadow-sm text-sm leading-4 font-medium rounded-full text-gray-600 border border-gray-150 hover:opacity-80 hover:bg-gray-50 focus:outline-none focus:shadow-outline-blue transition duration-150 ease-out"
1837
3185
  }, /* @__PURE__ */ React__default["default"].createElement(MdOutlineArrowBack, {
@@ -1843,7 +3191,7 @@ This will work when developing locally but NOT when deployed to production.
1843
3191
  style: { background: "#0084FF" }
1844
3192
  }, /* @__PURE__ */ React__default["default"].createElement(BiLogIn, {
1845
3193
  className: "w-6 h-auto mr-1.5 opacity-80"
1846
- }), " Log in"));
3194
+ }), " Enter edit-mode"));
1847
3195
  };
1848
3196
  const logout = () => {
1849
3197
  sharedctx.setEditing(false);
@@ -2001,37 +3349,37 @@ This will work when developing locally but NOT when deployed to production.
2001
3349
  className: "min-w-full"
2002
3350
  }, /* @__PURE__ */ React__default["default"].createElement("tbody", {
2003
3351
  className: "bg-white divide-y divide-gray-150"
2004
- }, documents.map((document2) => {
2005
- const livesiteRoute = routeMapping ? routeMapping.mapper(collection, document2.node) : void 0;
3352
+ }, documents.map((document) => {
3353
+ const livesiteRoute = routeMapping ? routeMapping.mapper(collection, document.node) : void 0;
2006
3354
  return /* @__PURE__ */ React__default["default"].createElement("tr", {
2007
- key: document2.node.sys.relativePath
3355
+ key: document.node.sys.relativePath
2008
3356
  }, /* @__PURE__ */ React__default["default"].createElement("td", {
2009
3357
  className: "px-5 py-3 whitespace-nowrap"
2010
3358
  }, /* @__PURE__ */ React__default["default"].createElement("span", {
2011
3359
  className: "block text-xs mb-0.5 text-gray-400 uppercase"
2012
3360
  }, "Filename"), /* @__PURE__ */ React__default["default"].createElement(reactRouterDom.Link, {
2013
- to: `${location2.pathname}/${document2.node.sys.filename}`,
3361
+ to: `${location2.pathname}/${document.node.sys.filename}`,
2014
3362
  className: "h-5 leading-5 flex max-w-xs"
2015
3363
  }, /* @__PURE__ */ React__default["default"].createElement("span", {
2016
3364
  className: "flex-shrink-1 leading-5 font-medium text-base overflow-ellipsis overflow-hidden whitespace-nowrap text-gray-700"
2017
- }, document2.node.sys.filename), /* @__PURE__ */ React__default["default"].createElement("span", {
3365
+ }, document.node.sys.filename), /* @__PURE__ */ React__default["default"].createElement("span", {
2018
3366
  className: "flex-shrink-0 leading-5 text-base font-medium text-gray-300"
2019
- }, document2.node.sys.extension))), /* @__PURE__ */ React__default["default"].createElement("td", {
3367
+ }, document.node.sys.extension))), /* @__PURE__ */ React__default["default"].createElement("td", {
2020
3368
  className: "px-5 py-3 whitespace-nowrap"
2021
3369
  }, /* @__PURE__ */ React__default["default"].createElement("span", {
2022
3370
  className: "block text-xs mb-0.5 text-gray-400 uppercase"
2023
3371
  }, "Template"), /* @__PURE__ */ React__default["default"].createElement("span", {
2024
3372
  className: "h-5 block leading-5 font-regular text-base overflow-ellipsis overflow-hidden whitespace-nowrap text-gray-500"
2025
- }, document2.node.sys.template)), /* @__PURE__ */ React__default["default"].createElement("td", {
3373
+ }, document.node.sys.template)), /* @__PURE__ */ React__default["default"].createElement("td", {
2026
3374
  className: "px-5 py-3 whitespace-nowrap flex gap-3 items-center justify-end"
2027
3375
  }, livesiteRoute && /* @__PURE__ */ React__default["default"].createElement("a", {
2028
3376
  href: livesiteRoute,
2029
- className: "flex gap-1.5 items-center px-4 py-1.5 rounded-full transition-all ease-out duration-150 text-gray-500 hover:text-blue-500"
3377
+ className: "flex gap-1.5 items-center text-base px-4 py-1.5 rounded-full transition-all ease-out duration-150 text-gray-500 hover:text-blue-500"
2030
3378
  }, /* @__PURE__ */ React__default["default"].createElement(BiLinkExternal, {
2031
3379
  className: "inline-block h-5 w-auto opacity-70"
2032
3380
  }), " ", "View"), /* @__PURE__ */ React__default["default"].createElement(reactRouterDom.Link, {
2033
- to: `${location2.pathname}/${document2.node.sys.filename}`,
2034
- className: "flex gap-1.5 items-center px-4 py-1.5 rounded-full border border-gray-150 transition-all ease-out duration-150 text-gray-700 hover:bg-gray-50 hover:text-blue-500"
3381
+ to: `${location2.pathname}/${document.node.sys.filename}`,
3382
+ className: "flex gap-1.5 items-center text-base px-4 py-1.5 rounded-full border border-gray-150 transition-all ease-out duration-150 text-gray-700 hover:bg-gray-50 hover:text-blue-500"
2035
3383
  }, /* @__PURE__ */ React__default["default"].createElement(BiEdit, {
2036
3384
  className: "inline-block h-5 w-auto opacity-70"
2037
3385
  }), " ", "Edit")));
@@ -2094,10 +3442,8 @@ This will work when developing locally but NOT when deployed to production.
2094
3442
  });
2095
3443
  await cms.api.tina.request(`mutation($collection: String!, $relativePath: String!, $params: DocumentMutation!) {
2096
3444
  createDocument(
2097
- collection: $collection,
2098
- relativePath: $relativePath,
2099
- params: $params
2100
- ){__typename}
3445
+ collection: $collection,
3446
+ relativePath: $relativePath,
2101
3447
  }`, {
2102
3448
  variables: {
2103
3449
  collection: collection.name,
@@ -2144,7 +3490,7 @@ This will work when developing locally but NOT when deployed to production.
2144
3490
  }));
2145
3491
  };
2146
3492
  const useGetDocument = (cms, collectionName, relativePath) => {
2147
- const [document2, setDocument] = React.useState(void 0);
3493
+ const [document, setDocument] = React.useState(void 0);
2148
3494
  React.useEffect(() => {
2149
3495
  const fetchDocument = async () => {
2150
3496
  const response = await cms.api.tina.request(`
@@ -2160,7 +3506,7 @@ This will work when developing locally but NOT when deployed to production.
2160
3506
  };
2161
3507
  fetchDocument();
2162
3508
  }, [cms, collectionName, relativePath]);
2163
- return document2;
3509
+ return document;
2164
3510
  };
2165
3511
  const GetDocument = ({
2166
3512
  cms,
@@ -2168,11 +3514,11 @@ This will work when developing locally but NOT when deployed to production.
2168
3514
  relativePath,
2169
3515
  children
2170
3516
  }) => {
2171
- const document2 = useGetDocument(cms, collectionName, relativePath);
2172
- if (!document2) {
3517
+ const document = useGetDocument(cms, collectionName, relativePath);
3518
+ if (!document) {
2173
3519
  return null;
2174
3520
  }
2175
- return /* @__PURE__ */ React__default["default"].createElement(React__default["default"].Fragment, null, children(document2));
3521
+ return /* @__PURE__ */ React__default["default"].createElement(React__default["default"].Fragment, null, children(document));
2176
3522
  };
2177
3523
  const updateDocument = async (cms, relativePath, collection, mutationInfo, values) => {
2178
3524
  const { includeCollection, includeTemplate } = mutationInfo;
@@ -2206,12 +3552,12 @@ This will work when developing locally but NOT when deployed to production.
2206
3552
  cms,
2207
3553
  collectionName: collection.name,
2208
3554
  relativePath
2209
- }, (document2) => {
3555
+ }, (document) => {
2210
3556
  const form = new toolkit.Form({
2211
3557
  id: "update-form",
2212
3558
  label: "form",
2213
- fields: document2.form.fields,
2214
- initialValues: document2.values,
3559
+ fields: document.form.fields,
3560
+ initialValues: document.values,
2215
3561
  onSubmit: async (values) => {
2216
3562
  await updateDocument(cms, relativePath, collection, mutationInfo, values);
2217
3563
  navigate(`/collections/${collection.name}`);
@@ -2228,20 +3574,6 @@ This will work when developing locally but NOT when deployed to production.
2228
3574
  });
2229
3575
  }));
2230
3576
  };
2231
- const useEmbedTailwind = () => {
2232
- React.useEffect(() => {
2233
- const isSSR = typeof window === "undefined";
2234
- if (!isSSR) {
2235
- const head = document.head;
2236
- const link = document.createElement("link");
2237
- link.id = "tina-admin-stylesheet";
2238
- link.type = "text/css";
2239
- link.rel = "stylesheet";
2240
- link.href = "https://unpkg.com/tailwindcss@^2/dist/tailwind.min.css";
2241
- head.appendChild(link);
2242
- }
2243
- }, []);
2244
- };
2245
3577
  const Redirect = () => {
2246
3578
  React__default["default"].useEffect(() => {
2247
3579
  if (window) {
@@ -2251,7 +3583,6 @@ This will work when developing locally but NOT when deployed to production.
2251
3583
  return null;
2252
3584
  };
2253
3585
  const TinaAdmin = () => {
2254
- useEmbedTailwind();
2255
3586
  const isSSR = typeof window === "undefined";
2256
3587
  const { edit } = sharedctx.useEditState();
2257
3588
  if (isSSR) {