tinacms 0.0.0-a30bc52-20251201062201 → 0.0.0-a3cc5b1-20251202013216

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
@@ -45879,7 +45879,7 @@ function MediaPicker({
45879
45879
  "ul",
45880
45880
  {
45881
45881
  ...rootProps,
45882
- className: `h-full grow overflow-y-auto transition duration-150 ease-out bg-gradient-to-b from-gray-50/50 to-gray-50 ${list.items.length === 0 || viewMode === "list" && "w-full flex flex-1 flex-col justify-start -mb-px"} ${list.items.length > 0 && viewMode === "grid" && "w-full p-4 gap-4 grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 2xl:grid-cols-4 4xl:grid-cols-6 6xl:grid-cols-9 auto-rows-auto content-start justify-start"} ${isDragActive ? `border-2 border-blue-500 rounded-lg` : ``}`
45882
+ className: `h-full grow overflow-y-auto transition duration-150 ease-out bg-gradient-to-b from-gray-50/50 to-gray-50 ${list.items.length === 0 || viewMode === "list" && "w-full flex flex-1 flex-col justify-start -mb-px"} ${list.items.length > 0 && viewMode === "grid" && "w-full p-4 gap-4 grid grid-cols-1 @sm:grid-cols-2 @lg:grid-cols-3 @2xl:grid-cols-4 @4xl:grid-cols-6 @6xl:grid-cols-9 auto-rows-auto content-start justify-start"} ${isDragActive ? `border-2 border-blue-500 rounded-lg` : ``}`
45883
45883
  },
45884
45884
  /* @__PURE__ */ React__default.createElement("input", { ...getInputProps() }),
45885
45885
  listState === "loaded" && list.items.length === 0 && /* @__PURE__ */ React__default.createElement(EmptyMediaList, null),
@@ -46390,7 +46390,31 @@ function FiInfo(props) {
46390
46390
  function VscNewFile(props) {
46391
46391
  return GenIcon({ "tag": "svg", "attr": { "viewBox": "0 0 16 16", "fill": "currentColor" }, "child": [{ "tag": "path", "attr": { "fillRule": "evenodd", "clipRule": "evenodd", "d": "M9.5 1.1l3.4 3.5.1.4v2h-1V6H8V2H3v11h4v1H2.5l-.5-.5v-12l.5-.5h6.7l.3.1zM9 2v3h2.9L9 2zm4 14h-1v-3H9v-1h3V9h1v3h3v1h-3v3z" }, "child": [] }] })(props);
46392
46392
  }
46393
- const version$1 = "2.10.1";
46393
+ const NavContext = createContext(void 0);
46394
+ const useNav = () => {
46395
+ const context = useContext(NavContext);
46396
+ if (!context) {
46397
+ throw new Error("useNav must be used within a NavProvider");
46398
+ }
46399
+ return context;
46400
+ };
46401
+ const NavProvider = ({
46402
+ children,
46403
+ defaultOpen = false
46404
+ }) => {
46405
+ const [menuIsOpen, setMenuIsOpen] = useState(defaultOpen);
46406
+ const toggleMenu = () => setMenuIsOpen((prev) => !prev);
46407
+ const openMenu = () => setMenuIsOpen(true);
46408
+ const closeMenu = () => setMenuIsOpen(false);
46409
+ const value = {
46410
+ menuIsOpen,
46411
+ toggleMenu,
46412
+ openMenu,
46413
+ closeMenu
46414
+ };
46415
+ return /* @__PURE__ */ React__default.createElement(NavContext.Provider, { value }, children);
46416
+ };
46417
+ const version$1 = "3.0.0";
46394
46418
  const VersionInfo = () => {
46395
46419
  var _a2, _b, _c, _d, _e, _f;
46396
46420
  const cms = useCMS();
@@ -46575,8 +46599,8 @@ const SyncStatusButton = ({
46575
46599
  const Nav = ({
46576
46600
  isLocalMode,
46577
46601
  showHamburger = true,
46578
- menuIsOpen,
46579
- toggleMenu,
46602
+ menuIsOpen: menuIsOpenProp,
46603
+ toggleMenu: toggleMenuProp,
46580
46604
  className = "",
46581
46605
  children,
46582
46606
  showCollections,
@@ -46593,6 +46617,10 @@ const Nav = ({
46593
46617
  }) => {
46594
46618
  const cms = useCMS$1();
46595
46619
  const [eventsOpen, setEventsOpen] = React.useState(false);
46620
+ const navContext = React.useContext(NavContext);
46621
+ const menuIsOpen = menuIsOpenProp ?? (navContext == null ? void 0 : navContext.menuIsOpen) ?? false;
46622
+ const toggleMenu = toggleMenuProp ?? (navContext == null ? void 0 : navContext.toggleMenu) ?? (() => {
46623
+ });
46596
46624
  const { contentCollections, authCollection } = collectionsInfo.collections.reduce(
46597
46625
  (acc, collection) => {
46598
46626
  if (collection.isAuthCollection) {
@@ -46615,7 +46643,7 @@ const Nav = ({
46615
46643
  },
46616
46644
  { Site: [] }
46617
46645
  );
46618
- return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement("div", { className: "flex items-baseline" }, /* @__PURE__ */ React.createElement(
46646
+ return /* @__PURE__ */ React.createElement(React.Fragment, null, showHamburger && /* @__PURE__ */ React.createElement("div", { className: "flex items-baseline" }, /* @__PURE__ */ React.createElement(
46619
46647
  "button",
46620
46648
  {
46621
46649
  className: cn(
@@ -46637,7 +46665,7 @@ const Nav = ({
46637
46665
  style: { maxWidth: `${sidebarWidth}px` },
46638
46666
  ...props
46639
46667
  },
46640
- /* @__PURE__ */ React.createElement("div", { className: "flex w-full px-4 py-3 justify-between items-center gap-2 border-b border-gray-200" }, /* @__PURE__ */ React.createElement(
46668
+ /* @__PURE__ */ React.createElement("div", { className: "flex w-full px-4 py-3 justify-between items-center gap-2 border-b border-gray-200" }, /* @__PURE__ */ React.createElement("span", { className: "text-left inline-flex items-center text-xl tracking-wide text-gray-800/80 flex-1 gap-1" }, /* @__PURE__ */ React.createElement(TinaExtendedIcon, { className: "h-8 w-auto fill-orange-500" })), /* @__PURE__ */ React.createElement(
46641
46669
  "button",
46642
46670
  {
46643
46671
  className: cn(
@@ -46647,8 +46675,8 @@ const Nav = ({
46647
46675
  toggleMenu();
46648
46676
  }
46649
46677
  },
46650
- /* @__PURE__ */ React.createElement(BiMenu, { className: "h-8 w-auto text-gray-600" })
46651
- ), /* @__PURE__ */ React.createElement("span", { className: "text-left inline-flex items-center text-xl tracking-wide text-gray-800/80 flex-1 gap-1" }, /* @__PURE__ */ React.createElement(TinaExtendedIcon, { className: "h-8 w-auto fill-orange-500" }))),
46678
+ /* @__PURE__ */ React.createElement(BiX, { className: "h-8 w-auto text-gray-600" })
46679
+ )),
46652
46680
  children,
46653
46681
  /* @__PURE__ */ React.createElement("div", { className: "flex flex-col px-6 flex-1 overflow-auto" }, showCollections && /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement("h4", { className: "flex space-x-1 justify-items-start uppercase font-sans font-bold text-sm mb-3 mt-8 text-gray-700" }, /* @__PURE__ */ React.createElement("span", null, "Collections"), isLocalMode && /* @__PURE__ */ React.createElement("span", { className: "flex items-center" }, /* @__PURE__ */ React.createElement(
46654
46682
  "a",
@@ -46758,6 +46786,20 @@ const Logout = ({
46758
46786
  };
46759
46787
  return /* @__PURE__ */ React.createElement("button", { onClick: handleLogout, ...buttonProps }, /* @__PURE__ */ React.createElement(BiExit, { className: "w-6 h-auto mr-2" }), " Log Out");
46760
46788
  };
46789
+ const NavCloudLink = ({ config }) => {
46790
+ if (config.text) {
46791
+ return /* @__PURE__ */ React__default.createElement("span", { className: "text-base tracking-wide text-gray-500 flex items-center opacity-90" }, config.text, " ", /* @__PURE__ */ React__default.createElement(
46792
+ "a",
46793
+ {
46794
+ target: "_blank",
46795
+ className: "ml-1 text-blue-600 hover:opacity-60",
46796
+ href: config.link.href
46797
+ },
46798
+ config.link.text
46799
+ ));
46800
+ }
46801
+ return /* @__PURE__ */ React__default.createElement("span", { className: "text-base tracking-wide text-gray-500 hover:text-blue-600 flex items-center opacity-90 hover:opacity-100" }, /* @__PURE__ */ React__default.createElement(config.Icon, { className: "mr-2 h-6 opacity-80 w-auto" }), /* @__PURE__ */ React__default.createElement("a", { target: "_blank", href: config.link.href }, config.link.text));
46802
+ };
46761
46803
  const ResizeHandle = () => {
46762
46804
  const {
46763
46805
  resizingSidebar,
@@ -47422,7 +47464,7 @@ const Sidebar$1 = ({
47422
47464
  }
47423
47465
  }
47424
47466
  ),
47425
- RenderNavCloud: ({ config }) => /* @__PURE__ */ React.createElement(SidebarCloudLink$1, { config }),
47467
+ RenderNavCloud: ({ config }) => /* @__PURE__ */ React.createElement(NavCloudLink, { config }),
47426
47468
  RenderNavCollection: ({ collection }) => /* @__PURE__ */ React.createElement(
47427
47469
  SidebarCollectionLink,
47428
47470
  {
@@ -47530,20 +47572,6 @@ const SidebarSiteLink = ({
47530
47572
  view.name
47531
47573
  );
47532
47574
  };
47533
- const SidebarCloudLink$1 = ({ config }) => {
47534
- if (config.text) {
47535
- return /* @__PURE__ */ React.createElement("span", { className: "text-base tracking-wide text-gray-500 flex items-center opacity-90" }, config.text, " ", /* @__PURE__ */ React.createElement(
47536
- "a",
47537
- {
47538
- target: "_blank",
47539
- className: "ml-1 text-blue-600 hover:opacity-60",
47540
- href: config.link.href
47541
- },
47542
- config.link.text
47543
- ));
47544
- }
47545
- return /* @__PURE__ */ React.createElement("span", { className: "text-base tracking-wide text-gray-500 hover:text-blue-600 flex items-center opacity-90 hover:opacity-100" }, /* @__PURE__ */ React.createElement(config.Icon, { className: "mr-2 h-6 opacity-80 w-auto" }), /* @__PURE__ */ React.createElement("a", { target: "_blank", href: config.link.href }, config.link.text));
47546
- };
47547
47575
  const SidebarCollectionLink = ({
47548
47576
  Icon = ImFilesEmpty,
47549
47577
  collection,
@@ -47609,6 +47637,25 @@ const SidebarBody = ({ children }) => {
47609
47637
  children
47610
47638
  );
47611
47639
  };
47640
+ const NavMenuTrigger = ({
47641
+ className = "",
47642
+ label = "Toggle navigation menu"
47643
+ }) => {
47644
+ const { toggleMenu, menuIsOpen } = useNav();
47645
+ if (menuIsOpen) {
47646
+ return null;
47647
+ }
47648
+ return /* @__PURE__ */ React__default.createElement(
47649
+ "button",
47650
+ {
47651
+ className: `pointer-events-auto p-2 hover:bg-gray-100 transition-colors duration-150 ease-in-out rounded ${className}`,
47652
+ onClick: toggleMenu,
47653
+ "aria-label": label,
47654
+ title: label
47655
+ },
47656
+ /* @__PURE__ */ React__default.createElement(BiMenu, { className: "h-8 w-auto text-gray-600" })
47657
+ );
47658
+ };
47612
47659
  const DEFAULT_FIELDS = [
47613
47660
  TextFieldPlugin,
47614
47661
  TextareaFieldPlugin,
@@ -120507,8 +120554,7 @@ const Sidebar = ({ cms }) => {
120507
120554
  const collectionsInfo = useGetCollections(cms);
120508
120555
  const screens = cms.plugins.getType("screen").all();
120509
120556
  const cloudConfigs = cms.plugins.getType("cloud-config").all();
120510
- const isOnDashboard = location.pathname === "/";
120511
- const [menuIsOpen, setMenuIsOpen] = React__default.useState(isOnDashboard);
120557
+ location.pathname === "/";
120512
120558
  const isLocalMode = (_b = (_a2 = cms.api) == null ? void 0 : _a2.tina) == null ? void 0 : _b.isLocalMode;
120513
120559
  const activeScreens = screens.filter(
120514
120560
  (screen) => {
@@ -120521,8 +120567,6 @@ const Sidebar = ({ cms }) => {
120521
120567
  {
120522
120568
  isLocalMode,
120523
120569
  showHamburger: false,
120524
- menuIsOpen,
120525
- toggleMenu: () => setMenuIsOpen((menu) => !menu),
120526
120570
  sidebarWidth: 360,
120527
120571
  showCollections: true,
120528
120572
  collectionsInfo,
@@ -120537,7 +120581,7 @@ const Sidebar = ({ cms }) => {
120537
120581
  Icon: view.Icon ? view.Icon : ImFilesEmpty
120538
120582
  }
120539
120583
  ),
120540
- RenderNavCloud: ({ config }) => /* @__PURE__ */ React__default.createElement(SidebarCloudLink, { config }),
120584
+ RenderNavCloud: ({ config }) => /* @__PURE__ */ React__default.createElement(NavCloudLink, { config }),
120541
120585
  RenderNavCollection: ({ collection }) => /* @__PURE__ */ React__default.createElement(
120542
120586
  SidebarLink,
120543
120587
  {
@@ -120574,20 +120618,6 @@ const SidebarLink = (props) => {
120574
120618
  label
120575
120619
  );
120576
120620
  };
120577
- const SidebarCloudLink = ({ config }) => {
120578
- if (config.text) {
120579
- return /* @__PURE__ */ React__default.createElement("span", { className: "text-base tracking-wide text-gray-500 flex items-center opacity-90" }, config.text, " ", /* @__PURE__ */ React__default.createElement(
120580
- "a",
120581
- {
120582
- target: "_blank",
120583
- className: "ml-1 text-blue-600 hover:opacity-60",
120584
- href: config.link.href
120585
- },
120586
- config.link.text
120587
- ));
120588
- }
120589
- return /* @__PURE__ */ React__default.createElement("span", { className: "text-base tracking-wide text-gray-500 hover:text-blue-600 flex items-center opacity-90 hover:opacity-100" }, /* @__PURE__ */ React__default.createElement(config.Icon, { className: "mr-2 h-6 opacity-80 w-auto" }), /* @__PURE__ */ React__default.createElement("a", { target: "_blank", href: config.link.href }, config.link.text));
120590
- };
120591
120621
  const ErrorDialog = (props) => {
120592
120622
  return /* @__PURE__ */ React__default.createElement(
120593
120623
  "div",
@@ -120752,7 +120782,7 @@ const PageWrapper = ({
120752
120782
  headerClassName,
120753
120783
  children
120754
120784
  }) => {
120755
- return /* @__PURE__ */ React__default.createElement("div", { className: "relative left-0 w-full h-full bg-gradient-to-b from-gray-50/50 to-gray-50 overflow-y-auto transition-opacity duration-300 ease-out flex flex-col opacity-100" }, /* @__PURE__ */ React__default.createElement("div", { className: `py-2 pr-4 w-full ${headerClassName}` }, /* @__PURE__ */ React__default.createElement(BillingWarning, null), /* @__PURE__ */ React__default.createElement("div", { className: "flex items-center gap-4" }, /* @__PURE__ */ React__default.createElement(TinaIcon, { className: "self-center h-10 min-w-10 w-auto text-orange-500" }), /* @__PURE__ */ React__default.createElement(LocalWarning, null), /* @__PURE__ */ React__default.createElement(BranchButton, null), /* @__PURE__ */ React__default.createElement(BranchPreviewButton, null))), children);
120785
+ return /* @__PURE__ */ React__default.createElement("div", { className: "relative left-0 w-full h-full bg-gradient-to-b from-gray-50/50 to-gray-50 overflow-y-auto transition-opacity duration-300 ease-out flex flex-col opacity-100" }, /* @__PURE__ */ React__default.createElement("div", { className: `py-2 w-full ${headerClassName}` }, /* @__PURE__ */ React__default.createElement(BillingWarning, null), /* @__PURE__ */ React__default.createElement("div", { className: "flex items-center gap-4" }, /* @__PURE__ */ React__default.createElement(NavMenuTrigger, { className: "ml-2" }), /* @__PURE__ */ React__default.createElement(TinaIcon, { className: "self-center h-10 min-w-10 w-auto text-orange-500" }), /* @__PURE__ */ React__default.createElement(LocalWarning, null), /* @__PURE__ */ React__default.createElement(BranchButton, null), /* @__PURE__ */ React__default.createElement(BranchPreviewButton, null))), children);
120756
120786
  };
120757
120787
  const PageHeader = ({
120758
120788
  children
@@ -122172,20 +122202,27 @@ const RenderForm$1 = ({
122172
122202
  ].filter((x) => !!x),
122173
122203
  onSubmit: async (values) => {
122174
122204
  try {
122175
- const folderName2 = folder.fullyQualifiedName ? folder.name : "";
122176
122205
  await createDocument(
122177
122206
  cms,
122178
122207
  collection,
122179
122208
  template,
122180
122209
  mutationInfo,
122181
- folderName2,
122210
+ folderName,
122182
122211
  values
122183
122212
  );
122184
122213
  cms.alerts.success("Document created!");
122214
+ const { filename } = values;
122215
+ let editPath;
122216
+ if (filename.startsWith("/")) {
122217
+ const filenameWithoutSlash = filename.substring(1);
122218
+ editPath = `/collections/edit/${collection.name}/${filenameWithoutSlash}`;
122219
+ } else if (folder.fullyQualifiedName) {
122220
+ editPath = `/collections/edit/${collection.name}/~/${folderName}/${filename}`;
122221
+ } else {
122222
+ editPath = `/collections/edit/${collection.name}/${filename}`;
122223
+ }
122185
122224
  setTimeout(() => {
122186
- navigate(
122187
- `/collections/${collection.name}${folder.fullyQualifiedName ? `/${folder.fullyQualifiedName}` : ""}`
122188
- );
122225
+ navigate(editPath);
122189
122226
  }, 10);
122190
122227
  } catch (error2) {
122191
122228
  console.error(error2);
@@ -122485,7 +122522,7 @@ const ScreenPage = () => {
122485
122522
  const selectedScreen = screens.find(
122486
122523
  ({ name }) => slugify(name) === screenName
122487
122524
  );
122488
- return /* @__PURE__ */ React__default.createElement("div", { className: "relative w-full h-full flex flex-col items-stretch justify-between" }, /* @__PURE__ */ React__default.createElement("div", { className: "py-2 px-6 w-fit " }, /* @__PURE__ */ React__default.createElement(LocalWarning, null), /* @__PURE__ */ React__default.createElement(BillingWarning, null)), /* @__PURE__ */ React__default.createElement(
122525
+ return /* @__PURE__ */ React__default.createElement("div", { className: "relative w-full h-full flex flex-col items-stretch justify-between" }, /* @__PURE__ */ React__default.createElement("div", { className: "py-2 w-full" }, /* @__PURE__ */ React__default.createElement(BillingWarning, null), /* @__PURE__ */ React__default.createElement("div", { className: "flex items-center gap-4" }, /* @__PURE__ */ React__default.createElement(NavMenuTrigger, { className: "ml-2" }), /* @__PURE__ */ React__default.createElement(TinaIcon, { className: "self-center h-10 min-w-10 w-auto text-orange-500" }), /* @__PURE__ */ React__default.createElement(LocalWarning, null))), /* @__PURE__ */ React__default.createElement(
122489
122526
  "div",
122490
122527
  {
122491
122528
  className: `xl:hidden pl-6 py-5 border-b border-gray-200 bg-white`
@@ -122712,7 +122749,7 @@ const DefaultWrapper = ({
122712
122749
  cms,
122713
122750
  children
122714
122751
  }) => {
122715
- return /* @__PURE__ */ React__default.createElement(Layout, null, /* @__PURE__ */ React__default.createElement("div", { className: "flex items-stretch h-dvh overflow-hidden" }, /* @__PURE__ */ React__default.createElement(Sidebar, { cms }), /* @__PURE__ */ React__default.createElement("div", { className: "w-full relative" }, children)));
122752
+ return /* @__PURE__ */ React__default.createElement(Layout, null, /* @__PURE__ */ React__default.createElement(NavProvider, { defaultOpen: false }, /* @__PURE__ */ React__default.createElement("div", { className: "flex items-stretch h-dvh overflow-hidden" }, /* @__PURE__ */ React__default.createElement(Sidebar, { cms }), /* @__PURE__ */ React__default.createElement("div", { className: "w-full relative" }, children))));
122716
122753
  };
122717
122754
  const PlainLayout = ({ children }) => {
122718
122755
  return /* @__PURE__ */ React__default.createElement(
@@ -123001,6 +123038,9 @@ export {
123001
123038
  ModalProvider,
123002
123039
  NAMER,
123003
123040
  Nav,
123041
+ NavCloudLink,
123042
+ NavMenuTrigger,
123043
+ NavProvider,
123004
123044
  NumberField,
123005
123045
  NumberFieldPlugin,
123006
123046
  NumberInput,
@@ -123094,6 +123134,7 @@ export {
123094
123134
  useFormPortal,
123095
123135
  useLocalStorage,
123096
123136
  useModalContainer,
123137
+ useNav,
123097
123138
  useScreenPlugin,
123098
123139
  useTinaAuthRedirect,
123099
123140
  wrapFieldWithError,
@@ -19,7 +19,7 @@ export type { TinaState } from './tina-state';
19
19
  export * from './forms';
20
20
  export * from './icons';
21
21
  export * from './react-dismissible';
22
- export { Nav, LocalWarning, BillingWarning, SyncStatusButton, } from './react-sidebar';
22
+ export { Nav, NavCloudLink, NavProvider, NavMenuTrigger, useNav, LocalWarning, BillingWarning, SyncStatusButton, } from './react-sidebar';
23
23
  export { useCMS } from './react-core';
24
24
  /**
25
25
  * Custom `tinacms` things
@@ -0,0 +1,11 @@
1
+ import React from 'react';
2
+ interface NavMenuTriggerProps {
3
+ className?: string;
4
+ label?: string;
5
+ }
6
+ /**
7
+ * A button component that triggers the navigation menu
8
+ * Can be used anywhere within the NavProvider hierarchy
9
+ */
10
+ export declare const NavMenuTrigger: React.FC<NavMenuTriggerProps>;
11
+ export {};
@@ -0,0 +1,11 @@
1
+ import React from 'react';
2
+ import type { CloudConfigPlugin } from '../../react-cloud-config';
3
+ interface NavCloudLinkProps {
4
+ config: CloudConfigPlugin;
5
+ }
6
+ /**
7
+ * Shared component for rendering cloud configuration links
8
+ * Used across both admin and sidebar navigation
9
+ */
10
+ export declare const NavCloudLink: React.FC<NavCloudLinkProps>;
11
+ export {};
@@ -0,0 +1,15 @@
1
+ import React, { ReactNode } from 'react';
2
+ export interface NavContextValue {
3
+ menuIsOpen: boolean;
4
+ toggleMenu: () => void;
5
+ openMenu: () => void;
6
+ closeMenu: () => void;
7
+ }
8
+ export declare const NavContext: React.Context<NavContextValue>;
9
+ export declare const useNav: () => NavContextValue;
10
+ interface NavProviderProps {
11
+ children: ReactNode;
12
+ defaultOpen?: boolean;
13
+ }
14
+ export declare const NavProvider: React.FC<NavProviderProps>;
15
+ export {};
@@ -9,8 +9,8 @@ interface NavCollection {
9
9
  interface NavProps {
10
10
  isLocalMode: boolean;
11
11
  showHamburger?: boolean;
12
- menuIsOpen: boolean;
13
- toggleMenu: () => void;
12
+ menuIsOpen?: boolean;
13
+ toggleMenu?: () => void;
14
14
  children?: any;
15
15
  className?: string;
16
16
  userName?: string;
@@ -41,5 +41,5 @@ interface NavProps {
41
41
  };
42
42
  }>;
43
43
  }
44
- export declare const Nav: ({ isLocalMode, showHamburger, menuIsOpen, toggleMenu, className, children, showCollections, collectionsInfo, screens, cloudConfigs, contentCreators, sidebarWidth, RenderNavSite, RenderNavCloud, RenderNavCollection, AuthRenderNavCollection, ...props }: NavProps) => React.JSX.Element;
44
+ export declare const Nav: ({ isLocalMode, showHamburger, menuIsOpen: menuIsOpenProp, toggleMenu: toggleMenuProp, className, children, showCollections, collectionsInfo, screens, cloudConfigs, contentCreators, sidebarWidth, RenderNavSite, RenderNavCloud, RenderNavCollection, AuthRenderNavCollection, ...props }: NavProps) => React.JSX.Element;
45
45
  export {};
@@ -3,3 +3,6 @@ export { SidebarProvider } from './components/sidebar';
3
3
  export { Nav } from './components/nav';
4
4
  export { LocalWarning, BillingWarning } from './components/local-warning';
5
5
  export { SyncStatusButton } from './components/sync-status';
6
+ export { NavCloudLink } from './components/nav-components';
7
+ export { NavProvider, useNav } from './components/nav-context';
8
+ export { NavMenuTrigger } from './components/NavMenuTrigger';
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "tinacms",
3
3
  "type": "module",
4
4
  "typings": "dist/index.d.ts",
5
- "version": "0.0.0-a30bc52-20251201062201",
5
+ "version": "0.0.0-a3cc5b1-20251202013216",
6
6
  "main": "dist/index.js",
7
7
  "module": "./dist/index.js",
8
8
  "exports": {
@@ -117,9 +117,9 @@
117
117
  "webfontloader": "1.6.28",
118
118
  "yup": "^1.6.1",
119
119
  "zod": "^3.24.2",
120
- "@tinacms/mdx": "0.0.0-a30bc52-20251201062201",
121
- "@tinacms/schema-tools": "0.0.0-a30bc52-20251201062201",
122
- "@tinacms/search": "0.0.0-a30bc52-20251201062201"
120
+ "@tinacms/mdx": "2.0.0",
121
+ "@tinacms/schema-tools": "2.0.0",
122
+ "@tinacms/search": "1.1.4"
123
123
  },
124
124
  "devDependencies": {
125
125
  "@graphql-tools/utils": "^10.8.1",