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