tinacms 2.2.4 → 2.2.6

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.mjs CHANGED
@@ -6,21 +6,21 @@ var __publicField = (obj, key, value) => {
6
6
  };
7
7
  import { z } from "zod";
8
8
  import * as React from "react";
9
- import React__default, { useState, useCallback, createContext, forwardRef, useContext, useEffect, useMemo, startTransition, Fragment, useRef, createElement, Component } from "react";
9
+ import React__default, { useState, useCallback, createContext, forwardRef, useContext, useEffect, useMemo, startTransition, useRef, createElement, Component } from "react";
10
10
  import { createPortal, findDOMNode } from "react-dom";
11
11
  import { toggleList, ELEMENT_UL, ELEMENT_OL, ELEMENT_H1 as ELEMENT_H1$1, ELEMENT_H2 as ELEMENT_H2$1, ELEMENT_H3 as ELEMENT_H3$1, ELEMENT_H4, ELEMENT_H5, ELEMENT_H6, ELEMENT_PARAGRAPH, ELEMENT_BLOCKQUOTE, ELEMENT_CODE_BLOCK, ELEMENT_CODE_LINE, ELEMENT_CODE_SYNTAX, ELEMENT_LI, ELEMENT_LINK, MARK_CODE, MARK_UNDERLINE, MARK_STRIKETHROUGH, MARK_ITALIC, MARK_BOLD, ELEMENT_HR, unwrapList, ELEMENT_TODO_LI, createTrailingBlockPlugin, createAutoformatPlugin, createExitBreakPlugin, KEYS_HEADING, createResetNodePlugin, createHeadingPlugin, createParagraphPlugin, createBlockquotePlugin, createBoldPlugin, createItalicPlugin, createUnderlinePlugin, createCodePlugin, createListPlugin, createIndentPlugin, createIndentListPlugin, createHorizontalRulePlugin, createNodeIdPlugin, getListItemEntry, useListToolbarButtonState, useListToolbarButton } from "@udecode/plate";
12
12
  import { useSelected, ReactEditor } from "slate-react";
13
13
  import { ELEMENT_SLASH_INPUT, createSlashPlugin } from "@udecode/plate-slash-command";
14
14
  import { cn as cn$1, withRef, withVariants, withProps, withCn, createPrimitiveElement } from "@udecode/cn";
15
15
  import { useComposedRef, useEditorRef, findNodePath, getPointBefore, createPointRef, insertText, moveSelection, PlateElement, toggleNodeType, PlateLeaf, isCollapsed, getPointAfter, insertNodes, ELEMENT_DEFAULT, focusEditor, setNodes, isElement, createPluginFactory, normalizeEditor, getBlockAbove, queryNode, getParentNode, isType, someNode, isSelectionAtBlockStart, setElements, insertNode, getPluginType, isBlock, isBlockAboveEmpty, findNode, PlateContent, useMarkToolbarButtonState, useMarkToolbarButton, useEditorState, useEditorSelector, getNodeEntries, collapseSelection, usePlateSelectors, useEventEditorSelectors, PortalBody, useFormInputProps, createPlugins, Plate } from "@udecode/plate-common";
16
- import { ELEMENT_H1, ELEMENT_H2, ELEMENT_H3, ELEMENT_H4 as ELEMENT_H4$1, ELEMENT_H5 as ELEMENT_H5$1 } from "@udecode/plate-heading";
16
+ import { ELEMENT_H1, ELEMENT_H2, ELEMENT_H3, ELEMENT_H4 as ELEMENT_H4$1, ELEMENT_H5 as ELEMENT_H5$1, ELEMENT_H6 as ELEMENT_H6$1 } from "@udecode/plate-heading";
17
17
  import { cva } from "class-variance-authority";
18
18
  import { Plus, AlignCenter as AlignCenter$1, AlignJustify, AlignLeft as AlignLeft$1, AlignRight as AlignRight$1, ChevronDown, PaintBucket, Quote, Check, ChevronRight, ChevronsUpDown, X, FileCode, Baseline, RectangleVertical, Combine, Ungroup, MessageSquare, MessageSquarePlus, Trash, GripVertical, Edit2, Smile, ExternalLink, Heading1, Heading2, Heading3, Heading4, Heading5, Heading6, Indent, Keyboard, WrapText, Minus, MoreHorizontal, Outdent, Pilcrow, RotateCcw, RectangleHorizontal, Search, Settings, Strikethrough, Subscript, Superscript, Table, Text, Underline, Link2Off, Eye, Moon, SunMedium, Twitter } from "lucide-react";
19
19
  import { useComboboxContext, Combobox, useComboboxStore, ComboboxProvider, Portal, ComboboxPopover, ComboboxItem } from "@ariakit/react";
20
20
  import { useHTMLInputCursorState, useComboboxInput, filterWords } from "@udecode/plate-combobox";
21
21
  import { useCodeSyntaxLeaf, useCodeBlockElementState, ELEMENT_CODE_BLOCK as ELEMENT_CODE_BLOCK$1 } from "@udecode/plate-code-block";
22
22
  import MonacoEditor, { loader, useMonaco } from "@monaco-editor/react";
23
- import { Combobox as Combobox$1, Transition, Popover as Popover$2, Disclosure, Menu } from "@headlessui/react";
23
+ import { Combobox as Combobox$1, ComboboxInput, ComboboxButton, Transition, ComboboxOptions, ComboboxOption, Popover as Popover$2, PopoverButton, PopoverPanel, TransitionChild, Disclosure, DisclosureButton, DisclosurePanel, Menu, MenuButton, MenuItems, MenuItem } from "@headlessui/react";
24
24
  import arrayMutators from "final-form-arrays";
25
25
  import setFieldData from "final-form-set-field-data";
26
26
  import { FORM_ERROR, createForm, getIn } from "final-form";
@@ -1865,14 +1865,14 @@ const Autocomplete = ({
1865
1865
  className: "relative inline-block text-left z-20"
1866
1866
  },
1867
1867
  /* @__PURE__ */ React__default.createElement("div", { className: "mt-1" }, /* @__PURE__ */ React__default.createElement("div", { className: "relative w-full cursor-default overflow-hidden rounded-lg bg-white text-left shadow-md sm:text-sm" }, /* @__PURE__ */ React__default.createElement(
1868
- Combobox$1.Input,
1868
+ ComboboxInput,
1869
1869
  {
1870
1870
  className: "w-full border-none py-2 pl-3 pr-10 text-sm leading-5 text-gray-900 focus:ring-0 focus:outline-none focus-visible:ring-2 focus-visible:ring-white focus-visible:ring-opacity-75 focus-visible:ring-offset-2 focus-visible:ring-offset-teal-300",
1871
1871
  displayValue: (item) => (item == null ? void 0 : item.label) ?? "Plain Text",
1872
1872
  onChange: (event) => setQuery(event.target.value),
1873
1873
  onClick: (ev) => ev.stopPropagation()
1874
1874
  }
1875
- ), /* @__PURE__ */ React__default.createElement(Combobox$1.Button, { className: "absolute inset-y-0 right-0 flex items-center pr-2" }, /* @__PURE__ */ React__default.createElement(
1875
+ ), /* @__PURE__ */ React__default.createElement(ComboboxButton, { className: "absolute inset-y-0 right-0 flex items-center pr-2" }, /* @__PURE__ */ React__default.createElement(
1876
1876
  ChevronDownIcon$1,
1877
1877
  {
1878
1878
  className: "h-5 w-5 text-gray-400",
@@ -1882,7 +1882,6 @@ const Autocomplete = ({
1882
1882
  /* @__PURE__ */ React__default.createElement(
1883
1883
  Transition,
1884
1884
  {
1885
- as: Fragment,
1886
1885
  enter: "transition ease-out duration-100",
1887
1886
  enterFrom: "transform opacity-0 scale-95",
1888
1887
  enterTo: "transform opacity-100 scale-100",
@@ -1890,11 +1889,11 @@ const Autocomplete = ({
1890
1889
  leaveFrom: "transform opacity-100 scale-100",
1891
1890
  leaveTo: "transform opacity-0 scale-95"
1892
1891
  },
1893
- /* @__PURE__ */ React__default.createElement(Combobox$1.Options, { className: "origin-top-right absolute right-0 mt-1 w-full max-h-[300px] overflow-y-auto rounded-md shadow-lg bg-white ring-1 ring-black ring-opacity-5 focus:outline-none" }, filteredItems.map((item) => /* @__PURE__ */ React__default.createElement(Combobox$1.Option, { key: item.key, value: item }, ({ active }) => /* @__PURE__ */ React__default.createElement(
1892
+ /* @__PURE__ */ React__default.createElement(ComboboxOptions, { className: "origin-top-right absolute right-0 mt-1 w-full max-h-[300px] overflow-y-auto rounded-md shadow-lg bg-white ring-1 ring-black ring-opacity-5 focus:outline-none" }, filteredItems.map((item) => /* @__PURE__ */ React__default.createElement(ComboboxOption, { key: item.key, value: item }, ({ focus }) => /* @__PURE__ */ React__default.createElement(
1894
1893
  "button",
1895
1894
  {
1896
1895
  className: classNames$1(
1897
- active ? "bg-gray-100 text-gray-900" : "text-gray-700",
1896
+ focus ? "bg-gray-100 text-gray-900" : "text-gray-700",
1898
1897
  "block px-4 py-2 text-xs w-full text-right"
1899
1898
  )
1900
1899
  },
@@ -3371,6 +3370,9 @@ function BiCopyAlt(props) {
3371
3370
  function BiCopy(props) {
3372
3371
  return GenIcon({ "tag": "svg", "attr": { "viewBox": "0 0 24 24" }, "child": [{ "tag": "path", "attr": { "d": "M20 2H10c-1.103 0-2 .897-2 2v4H4c-1.103 0-2 .897-2 2v10c0 1.103.897 2 2 2h10c1.103 0 2-.897 2-2v-4h4c1.103 0 2-.897 2-2V4c0-1.103-.897-2-2-2zM4 20V10h10l.002 10H4zm16-6h-4v-4c0-1.103-.897-2-2-2h-4V4h10v10z" }, "child": [] }] })(props);
3373
3372
  }
3373
+ function BiDotsVertical(props) {
3374
+ return GenIcon({ "tag": "svg", "attr": { "viewBox": "0 0 24 24" }, "child": [{ "tag": "path", "attr": { "d": "M10 10h4v4h-4zm0-6h4v4h-4zm0 12h4v4h-4z" }, "child": [] }] })(props);
3375
+ }
3374
3376
  function BiEdit(props) {
3375
3377
  return GenIcon({ "tag": "svg", "attr": { "viewBox": "0 0 24 24" }, "child": [{ "tag": "path", "attr": { "d": "m7 17.013 4.413-.015 9.632-9.54c.378-.378.586-.88.586-1.414s-.208-1.036-.586-1.414l-1.586-1.586c-.756-.756-2.075-.752-2.825-.003L7 12.583v4.43zM18.045 4.458l1.589 1.583-1.597 1.582-1.586-1.585 1.594-1.58zM9 13.417l6.03-5.973 1.586 1.586-6.029 5.971L9 15.006v-1.589z" }, "child": [] }, { "tag": "path", "attr": { "d": "M5 21h14c1.103 0 2-.897 2-2v-8.668l-2 2V19H8.158c-.026 0-.053.01-.079.01-.033 0-.066-.009-.1-.01H5V5h6.847l2-2H5c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2z" }, "child": [] }] })(props);
3376
3378
  }
@@ -5130,7 +5132,7 @@ const BlockSelector = ({
5130
5132
  return template.label ? template.label.toLowerCase().includes(filter.toLowerCase()) || name.toLowerCase().includes(filter.toLowerCase()) : name.toLowerCase().includes(filter.toLowerCase());
5131
5133
  });
5132
5134
  }, [filter]);
5133
- return /* @__PURE__ */ React.createElement(Popover$2, null, ({ open: open2 }) => /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(Popover$2.Button, { as: "span" }, /* @__PURE__ */ React.createElement(
5135
+ return /* @__PURE__ */ React.createElement(Popover$2, null, ({ open: open2 }) => /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(PopoverButton, { as: "span" }, /* @__PURE__ */ React.createElement(
5134
5136
  IconButton,
5135
5137
  {
5136
5138
  variant: open2 ? "secondary" : "primary",
@@ -5148,7 +5150,7 @@ const BlockSelector = ({
5148
5150
  leaveFrom: "transform opacity-100 translate-y-0",
5149
5151
  leaveTo: "transform opacity-0 -translate-y-2"
5150
5152
  },
5151
- /* @__PURE__ */ React.createElement(Popover$2.Panel, { className: "relative overflow-hidden rounded-lg shadow-lg bg-white border border-gray-100" }, ({ close: close2 }) => /* @__PURE__ */ React.createElement("div", { className: "min-w-[192px] max-h-[24rem] overflow-y-auto flex flex-col w-full h-full" }, showFilter && /* @__PURE__ */ React.createElement("div", { className: "sticky top-0 bg-gray-50 p-2 border-b border-gray-100 z-10" }, /* @__PURE__ */ React.createElement(
5153
+ /* @__PURE__ */ React.createElement(PopoverPanel, { className: "relative overflow-hidden rounded-lg shadow-lg bg-white border border-gray-100" }, ({ close: close2 }) => /* @__PURE__ */ React.createElement("div", { className: "min-w-[192px] max-h-[24rem] overflow-y-auto flex flex-col w-full h-full" }, showFilter && /* @__PURE__ */ React.createElement("div", { className: "sticky top-0 bg-gray-50 p-2 border-b border-gray-100 z-10" }, /* @__PURE__ */ React.createElement(
5152
5154
  "input",
5153
5155
  {
5154
5156
  type: "text",
@@ -5321,14 +5323,13 @@ const BlockSelectorBig = ({
5321
5323
  {
5322
5324
  variant: pickerIsOpen ? "secondary" : "primary",
5323
5325
  size: "small",
5324
- className: `${pickerIsOpen ? `rotate-45 pointer-events-none` : ``}`,
5326
+ className: `${pickerIsOpen ? "rotate-45 pointer-events-none" : ""}`,
5325
5327
  onClick: () => setPickerIsOpen(!pickerIsOpen)
5326
5328
  },
5327
5329
  /* @__PURE__ */ React.createElement(AddIcon, { className: "w-5/6 h-auto" })
5328
5330
  ), /* @__PURE__ */ React.createElement(FormPortal, null, ({ zIndexShift }) => /* @__PURE__ */ React.createElement(Transition, { show: pickerIsOpen }, /* @__PURE__ */ React.createElement(
5329
- Transition.Child,
5331
+ TransitionChild,
5330
5332
  {
5331
- as: React.Fragment,
5332
5333
  enter: "transform transition-all ease-out duration-200",
5333
5334
  enterFrom: "opacity-0 -translate-x-1/2",
5334
5335
  enterTo: "opacity-100 translate-x-0",
@@ -5421,7 +5422,7 @@ const BlockGroup = ({ category, templates, close: close2, isLast = false }) => {
5421
5422
  className: `left-0 right-0 relative`
5422
5423
  },
5423
5424
  ({ open: open2 }) => /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(
5424
- Disclosure.Button,
5425
+ DisclosureButton,
5425
5426
  {
5426
5427
  className: `relative block group text-left w-full text-base font-bold tracking-wide py-2 truncate ${templates.length === 0 ? `pointer-events-none` : ``} ${!isLast && (!open2 || templates.length === 0) && `border-b border-gray-100`}`
5427
5428
  },
@@ -5448,7 +5449,15 @@ const BlockGroup = ({ category, templates, close: close2, isLast = false }) => {
5448
5449
  leaveFrom: "transform scale-100 opacity-100",
5449
5450
  leaveTo: "transform scale-95 opacity-0"
5450
5451
  },
5451
- /* @__PURE__ */ React.createElement(Disclosure.Panel, null, templates.length > 0 && /* @__PURE__ */ React.createElement(CardColumns, null, templates.map(([name, template]) => /* @__PURE__ */ React.createElement(BlockCard, { close: close2, name, template }))))
5452
+ /* @__PURE__ */ React.createElement(DisclosurePanel, null, templates.length > 0 && /* @__PURE__ */ React.createElement(CardColumns, null, templates.map(([name, template], index) => /* @__PURE__ */ React.createElement(
5453
+ BlockCard,
5454
+ {
5455
+ key: index,
5456
+ close: close2,
5457
+ name,
5458
+ template
5459
+ }
5460
+ ))))
5452
5461
  ))
5453
5462
  );
5454
5463
  };
@@ -9258,11 +9267,12 @@ const FormListItem = ({
9258
9267
  };
9259
9268
  const FormLists = (props) => {
9260
9269
  const cms = useCMS();
9261
- return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(
9270
+ return /* @__PURE__ */ React.createElement(
9262
9271
  Transition,
9263
9272
  {
9264
9273
  appear: true,
9265
9274
  show: true,
9275
+ as: "div",
9266
9276
  enter: "transition-all ease-out duration-150",
9267
9277
  enterFrom: "opacity-0 -translate-x-1/2",
9268
9278
  enterTo: "opacity-100",
@@ -9280,7 +9290,7 @@ const FormLists = (props) => {
9280
9290
  formList
9281
9291
  }
9282
9292
  )))
9283
- ));
9293
+ );
9284
9294
  };
9285
9295
  const FormList = (props) => {
9286
9296
  const cms = useCMS();
@@ -9312,7 +9322,7 @@ const FormList = (props) => {
9312
9322
  }
9313
9323
  return [...topItems, ...orderedListItems, ...extra];
9314
9324
  }, [JSON.stringify(props.formList.items)]);
9315
- return /* @__PURE__ */ React.createElement("ul", null, /* @__PURE__ */ React.createElement("li", { className: `divide-y divide-gray-200` }, listItems.map((item, index) => {
9325
+ return /* @__PURE__ */ React.createElement("ul", null, /* @__PURE__ */ React.createElement("li", { className: "divide-y divide-gray-200" }, listItems.map((item, index) => {
9316
9326
  if (item.type === "list") {
9317
9327
  return /* @__PURE__ */ React.createElement(
9318
9328
  "div",
@@ -9403,19 +9413,46 @@ const MultiformFormHeader = ({
9403
9413
  }
9404
9414
  }
9405
9415
  },
9416
+ /* @__PURE__ */ React.createElement(BiDotsVertical, { className: "h-auto w-5 inline-block opacity-70" })
9417
+ ), /* @__PURE__ */ React.createElement(
9418
+ "button",
9419
+ {
9420
+ type: "button",
9421
+ className: "pointer-events-auto text-xs text-blue-400 hover:text-blue-500 hover:underline transition-all ease-out duration-150",
9422
+ onClick: () => {
9423
+ const collectionName = cms.api.tina.schema.getCollectionByFullPath(
9424
+ cms.state.activeFormId
9425
+ ).name;
9426
+ window.location.href = `${new URL(window.location.href).pathname}#/collections/${collectionName}/~`;
9427
+ }
9428
+ },
9406
9429
  /* @__PURE__ */ React.createElement(BiHomeAlt, { className: "h-auto w-5 inline-block opacity-70" })
9407
9430
  ), /* @__PURE__ */ React.createElement("span", { className: "opacity-30 text-sm leading-tight whitespace-nowrap flex-0" }, "/"), /* @__PURE__ */ React.createElement("span", { className: "block w-full text-sm leading-tight whitespace-nowrap truncate" }, activeForm.tinaForm.label || activeForm.tinaForm.id), /* @__PURE__ */ React.createElement(FormStatus, { pristine: formIsPristine }))
9408
9431
  );
9409
9432
  };
9410
9433
  const FormHeader = ({ activeForm }) => {
9411
9434
  const { formIsPristine } = React.useContext(SidebarContext);
9435
+ const cms = useCMS$1();
9412
9436
  const shortFormLabel = activeForm.tinaForm.label ? activeForm.tinaForm.label.replace(/^.*[\\\/]/, "") : false;
9413
9437
  return /* @__PURE__ */ React.createElement(
9414
9438
  "div",
9415
9439
  {
9416
9440
  className: "pt-18 pb-4 px-6 border-b border-gray-200 bg-gradient-to-t from-white to-gray-50"
9417
9441
  },
9418
- /* @__PURE__ */ React.createElement("div", { className: "max-w-form mx-auto flex gap-2 justify-between items-center" }, shortFormLabel && /* @__PURE__ */ React.createElement("span", { className: "block w-full text-sm leading-tight whitespace-nowrap truncate" }, shortFormLabel), /* @__PURE__ */ React.createElement(FormStatus, { pristine: formIsPristine }))
9442
+ /* @__PURE__ */ React.createElement("div", { className: "max-w-form mx-auto flex gap-2 justify-between items-center" }, /* @__PURE__ */ React.createElement(
9443
+ "button",
9444
+ {
9445
+ type: "button",
9446
+ className: "pointer-events-auto text-xs text-blue-400 hover:text-blue-500 hover:underline transition-all ease-out duration-150",
9447
+ onClick: () => {
9448
+ const collectionName = cms.api.tina.schema.getCollectionByFullPath(
9449
+ cms.state.activeFormId
9450
+ ).name;
9451
+ window.location.href = `${new URL(window.location.href).pathname}#/collections/${collectionName}/~`;
9452
+ }
9453
+ },
9454
+ /* @__PURE__ */ React.createElement(BiHomeAlt, { className: "h-auto w-5 inline-block opacity-70" })
9455
+ ), shortFormLabel && /* @__PURE__ */ React.createElement("span", { className: "block w-full text-sm leading-tight whitespace-nowrap truncate" }, shortFormLabel), /* @__PURE__ */ React.createElement(FormStatus, { pristine: formIsPristine }))
9419
9456
  );
9420
9457
  };
9421
9458
  function ImFilesEmpty(props) {
@@ -9660,6 +9697,7 @@ const SyncStatus = ({ cms, setEventsOpen }) => {
9660
9697
  "Event Log"
9661
9698
  ));
9662
9699
  };
9700
+ const version = "2.2.6";
9663
9701
  const Nav = ({
9664
9702
  isLocalMode,
9665
9703
  className = "",
@@ -9710,13 +9748,13 @@ const Nav = ({
9710
9748
  "div",
9711
9749
  {
9712
9750
  className: `relative z-30 flex flex-col bg-white border-r border-gray-200 w-96 h-full ${className}`,
9713
- style: { maxWidth: sidebarWidth + "px" },
9751
+ style: { maxWidth: `${sidebarWidth}px` },
9714
9752
  ...props
9715
9753
  },
9716
9754
  /* @__PURE__ */ React.createElement("div", { className: "border-b border-gray-200" }, /* @__PURE__ */ React.createElement(Menu, { as: "div", className: "relative block" }, ({ open: open2 }) => /* @__PURE__ */ React.createElement("div", null, /* @__PURE__ */ React.createElement(
9717
- Menu.Button,
9755
+ MenuButton,
9718
9756
  {
9719
- className: `group w-full px-6 py-3 gap-2 flex justify-between items-center transition-colors duration-150 ease-out ${open2 ? `bg-gray-50` : `bg-transparent`}`
9757
+ className: `group w-full px-6 py-3 gap-2 flex justify-between items-center transition-colors duration-150 ease-out ${open2 ? "bg-gray-50" : "bg-transparent"}`
9720
9758
  },
9721
9759
  /* @__PURE__ */ React.createElement("span", { className: "text-left inline-flex items-center text-xl tracking-wide text-gray-800 flex-1 gap-1 opacity-80 group-hover:opacity-100 transition-opacity duration-150 ease-out" }, /* @__PURE__ */ React.createElement(
9722
9760
  "svg",
@@ -9733,7 +9771,7 @@ const Nav = ({
9733
9771
  /* @__PURE__ */ React.createElement(
9734
9772
  FiMoreVertical,
9735
9773
  {
9736
- className: `flex-0 w-6 h-full inline-block group-hover:opacity-80 transition-all duration-300 ease-in-out transform ${open2 ? `opacity-100 text-blue-400` : `text-gray-400 opacity-50 hover:opacity-70`}`
9774
+ className: `flex-0 w-6 h-full inline-block group-hover:opacity-80 transition-all duration-300 ease-in-out transform ${open2 ? "opacity-100 text-blue-400" : "text-gray-400 opacity-50 hover:opacity-70"}`
9737
9775
  }
9738
9776
  )
9739
9777
  ), /* @__PURE__ */ React.createElement("div", { className: "transform translate-y-full absolute bottom-3 right-5 z-50" }, /* @__PURE__ */ React.createElement(
@@ -9746,7 +9784,7 @@ const Nav = ({
9746
9784
  leaveFrom: "transform opacity-100 translate-y-0",
9747
9785
  leaveTo: "transform opacity-0 -translate-y-2"
9748
9786
  },
9749
- /* @__PURE__ */ React.createElement(Menu.Items, { className: "bg-white border border-gray-150 rounded-lg shadow-lg flex flex-col items-stretch overflow-hidden" }, /* @__PURE__ */ React.createElement(Menu.Item, null, /* @__PURE__ */ React.createElement(
9787
+ /* @__PURE__ */ React.createElement(MenuItems, { className: "bg-white border border-gray-150 rounded-lg shadow-lg flex flex-col items-stretch overflow-hidden" }, /* @__PURE__ */ React.createElement(MenuItem, null, /* @__PURE__ */ React.createElement(
9750
9788
  "button",
9751
9789
  {
9752
9790
  className: `text-lg px-4 py-2 first:pt-3 last:pb-3 tracking-wide whitespace-nowrap flex items-center opacity-80 text-gray-600 hover:text-blue-400 hover:bg-gray-50 hover:opacity-100`,
@@ -9779,7 +9817,7 @@ const Nav = ({
9779
9817
  },
9780
9818
  /* @__PURE__ */ React.createElement(BiExit, { className: "w-6 h-auto mr-2 text-blue-400" }),
9781
9819
  " Log Out"
9782
- )), /* @__PURE__ */ React.createElement(Menu.Item, null, /* @__PURE__ */ React.createElement(
9820
+ )), /* @__PURE__ */ React.createElement(MenuItem, null, /* @__PURE__ */ React.createElement(
9783
9821
  WrappedSyncStatus,
9784
9822
  {
9785
9823
  cms,
@@ -9789,7 +9827,7 @@ const Nav = ({
9789
9827
  ))))),
9790
9828
  eventsOpen && /* @__PURE__ */ React.createElement(SyncStatusModal, { cms, closeEventsModal }),
9791
9829
  children,
9792
- /* @__PURE__ */ React.createElement("div", { className: "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(
9830
+ /* @__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(
9793
9831
  "a",
9794
9832
  {
9795
9833
  href: "https://tina.io/docs/schema/#defining-collections",
@@ -9820,7 +9858,7 @@ const Nav = ({
9820
9858
  }
9821
9859
  }), !!(cloudConfigs == null ? void 0 : cloudConfigs.length) && /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement("h4", { className: "uppercase font-sans font-bold text-sm mb-3 mt-8 text-gray-700" }, "Cloud"), /* @__PURE__ */ React.createElement("ul", { className: "flex flex-col gap-4" }, cloudConfigs.map((config) => {
9822
9860
  return /* @__PURE__ */ React.createElement("li", { key: `nav-site-${config.name}` }, /* @__PURE__ */ React.createElement(RenderNavCloud, { config }));
9823
- }))))
9861
+ }))), /* @__PURE__ */ React.createElement("div", { className: "grow" }), /* @__PURE__ */ React.createElement("span", { className: "font-sans font-light text-xs mb-3 mt-8 text-gray-500" }, "v", version))
9824
9862
  );
9825
9863
  };
9826
9864
  const CollectionsList = ({
@@ -10125,10 +10163,9 @@ const Sidebar$1 = ({
10125
10163
  screen: activeScreen,
10126
10164
  close: () => setActiveView(null)
10127
10165
  }
10128
- )), /* @__PURE__ */ React.createElement(ResizeHandle, null)), renderMobileNav && /* @__PURE__ */ React.createElement(Transition, { show: menuIsOpen }, /* @__PURE__ */ React.createElement(
10129
- Transition.Child,
10166
+ )), /* @__PURE__ */ React.createElement(ResizeHandle, null)), renderMobileNav && /* @__PURE__ */ React.createElement(Transition, { show: menuIsOpen, as: "div" }, /* @__PURE__ */ React.createElement(
10167
+ TransitionChild,
10130
10168
  {
10131
- as: React.Fragment,
10132
10169
  enter: "transform transition-all ease-out duration-300",
10133
10170
  enterFrom: "opacity-0 -translate-x-full",
10134
10171
  enterTo: "opacity-100 translate-x-0",
@@ -10186,15 +10223,14 @@ const Sidebar$1 = ({
10186
10223
  onClick: () => {
10187
10224
  setMenuIsOpen(false);
10188
10225
  },
10189
- className: `transition-opacity duration-150 ease-out`
10226
+ className: "transition-opacity duration-150 ease-out"
10190
10227
  },
10191
10228
  /* @__PURE__ */ React.createElement(IoMdClose, { className: "h-5 w-auto text-blue-500" })
10192
10229
  ))
10193
10230
  ))
10194
10231
  ), /* @__PURE__ */ React.createElement(
10195
- Transition.Child,
10232
+ TransitionChild,
10196
10233
  {
10197
- as: React.Fragment,
10198
10234
  enter: "ease-out duration-300",
10199
10235
  enterFrom: "opacity-0",
10200
10236
  enterTo: "opacity-80",
@@ -10230,7 +10266,7 @@ const updateBodyDisplacement = ({
10230
10266
  sidebarWidth,
10231
10267
  windowWidth - minPreviewWidth
10232
10268
  );
10233
- body.style.paddingLeft = bodyDisplacement + "px";
10269
+ body.style.paddingLeft = `${bodyDisplacement}px`;
10234
10270
  } else {
10235
10271
  body.style.paddingLeft = "0";
10236
10272
  }
@@ -10276,7 +10312,7 @@ const SidebarHeader = ({
10276
10312
  )), /* @__PURE__ */ React.createElement(
10277
10313
  "div",
10278
10314
  {
10279
- className: `flex items-center pointer-events-auto transition-opacity duration-150 ease-in-out -mr-px`
10315
+ className: "flex items-center pointer-events-auto transition-opacity duration-150 ease-in-out -mr-px"
10280
10316
  },
10281
10317
  /* @__PURE__ */ React.createElement(
10282
10318
  Button$1,
@@ -10375,14 +10411,14 @@ const SidebarWrapper = ({ children }) => {
10375
10411
  return /* @__PURE__ */ React.createElement(
10376
10412
  "div",
10377
10413
  {
10378
- className: `fixed top-0 left-0 h-dvh z-base ${displayState === "closed" ? `pointer-events-none` : ``}`
10414
+ className: `fixed top-0 left-0 h-dvh z-base ${displayState === "closed" ? "pointer-events-none" : ""}`
10379
10415
  },
10380
10416
  /* @__PURE__ */ React.createElement(
10381
10417
  "div",
10382
10418
  {
10383
- className: `relative h-dvh transform flex ${displayState !== "closed" ? `` : `-translate-x-full`} ${resizingSidebar ? `transition-none` : displayState === "closed" ? `transition-all duration-300 ease-in` : displayState === "fullscreen" ? `transition-all duration-150 ease-out` : `transition-all duration-300 ease-out`}`,
10419
+ className: `relative h-dvh transform flex ${displayState !== "closed" ? "" : "-translate-x-full"} ${resizingSidebar ? "transition-none" : displayState === "closed" ? "transition-all duration-300 ease-in" : displayState === "fullscreen" ? "transition-all duration-150 ease-out" : "transition-all duration-300 ease-out"}`,
10384
10420
  style: {
10385
- width: displayState === "fullscreen" ? "100vw" : sidebarWidth + "px",
10421
+ width: displayState === "fullscreen" ? "100vw" : `${sidebarWidth}px`,
10386
10422
  maxWidth: displayState === "fullscreen" ? "100vw" : "calc(100vw - 8px)",
10387
10423
  minWidth: "360px"
10388
10424
  }
@@ -10395,7 +10431,7 @@ const SidebarBody = ({ children }) => {
10395
10431
  return /* @__PURE__ */ React.createElement(
10396
10432
  "div",
10397
10433
  {
10398
- className: `relative left-0 w-full h-full flex flex-col items-stretch bg-white border-r border-gray-200 overflow-hidden`
10434
+ className: "relative left-0 w-full h-full flex flex-col items-stretch bg-white border-r border-gray-200 overflow-hidden"
10399
10435
  },
10400
10436
  children
10401
10437
  );
@@ -12729,7 +12765,7 @@ const EmbedNestedForm = ({
12729
12765
  };
12730
12766
  const DotMenu = ({ onOpen, onRemove }) => {
12731
12767
  return /* @__PURE__ */ React__default.createElement(Popover$2, { as: "span", className: "-ml-px relative block" }, /* @__PURE__ */ React__default.createElement(
12732
- Popover$2.Button,
12768
+ PopoverButton,
12733
12769
  {
12734
12770
  as: "span",
12735
12771
  className: "cursor-pointer h-full relative inline-flex items-center px-1 py-0.5 rounded-r-md border border-gray-200 bg-white text-gray-500 hover:bg-gray-50 focus:outline-none focus:ring-1 focus:ring-blue-500 focus:border-blue-500"
@@ -12738,7 +12774,6 @@ const DotMenu = ({ onOpen, onRemove }) => {
12738
12774
  ), /* @__PURE__ */ React__default.createElement(
12739
12775
  Transition,
12740
12776
  {
12741
- as: React__default.Fragment,
12742
12777
  enter: "transition ease-out duration-100",
12743
12778
  enterFrom: "transform opacity-0 scale-95",
12744
12779
  enterTo: "transform opacity-100 scale-100",
@@ -12746,7 +12781,7 @@ const DotMenu = ({ onOpen, onRemove }) => {
12746
12781
  leaveFrom: "transform opacity-100 scale-100",
12747
12782
  leaveTo: "transform opacity-0 scale-95"
12748
12783
  },
12749
- /* @__PURE__ */ React__default.createElement(Popover$2.Panel, { className: "z-30 absolute origin-top-right right-0" }, /* @__PURE__ */ React__default.createElement("div", { className: "mt-2 -mr-1 rounded-md shadow-lg bg-white ring-1 ring-black ring-opacity-5 focus:outline-none" }, /* @__PURE__ */ React__default.createElement("div", { className: "py-1" }, /* @__PURE__ */ React__default.createElement(
12784
+ /* @__PURE__ */ React__default.createElement(PopoverPanel, { className: "z-30 absolute origin-top-right right-0" }, /* @__PURE__ */ React__default.createElement("div", { className: "mt-2 -mr-1 rounded-md shadow-lg bg-white ring-1 ring-black ring-opacity-5 focus:outline-none" }, /* @__PURE__ */ React__default.createElement("div", { className: "py-1" }, /* @__PURE__ */ React__default.createElement(
12750
12785
  "span",
12751
12786
  {
12752
12787
  onClick: onOpen,
@@ -13683,6 +13718,12 @@ const items$1 = [
13683
13718
  icon: Icons.h5,
13684
13719
  label: "Heading 5",
13685
13720
  value: ELEMENT_H5$1
13721
+ },
13722
+ {
13723
+ description: "Heading 6",
13724
+ icon: Icons.h6,
13725
+ label: "Heading 6",
13726
+ value: ELEMENT_H6$1
13686
13727
  }
13687
13728
  ];
13688
13729
  const defaultItem$1 = items$1.find((item) => item.value === ELEMENT_PARAGRAPH$1) || items$1[0];
@@ -13881,12 +13922,29 @@ function TemplatesToolbarButton() {
13881
13922
  }
13882
13923
  const EmbedButton = ({ editor, templates }) => {
13883
13924
  const [open2, setOpen] = useState(false);
13925
+ const [filteredTemplates, setFilteredTemplates] = useState(templates);
13926
+ const filterChange = (e) => {
13927
+ const filterText = e.target.value.toLowerCase();
13928
+ setFilteredTemplates(
13929
+ templates.filter(
13930
+ (template) => template.name.toLowerCase().includes(filterText)
13931
+ )
13932
+ );
13933
+ };
13884
13934
  return /* @__PURE__ */ React__default.createElement(DropdownMenu, { open: open2, onOpenChange: setOpen }, /* @__PURE__ */ React__default.createElement(DropdownMenuTrigger, { className: "inline-flex items-center rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg:not([data-icon])]:size-5 h-9 px-2 bg-transparent hover:bg-muted hover:text-muted-foreground aria-checked:bg-accent aria-checked:text-accent-foreground my-1 justify-between pr-1" }, /* @__PURE__ */ React__default.createElement("span", { className: "flex" }, "Embed"), /* @__PURE__ */ React__default.createElement(
13885
13935
  PlusIcon,
13886
13936
  {
13887
13937
  className: `origin-center transition-all ease-out duration-150 ${open2 ? "rotate-45" : ""}`
13888
13938
  }
13889
- )), /* @__PURE__ */ React__default.createElement(DropdownMenuContent, null, /* @__PURE__ */ React__default.createElement(DropdownMenuLabel, null, "Templates"), /* @__PURE__ */ React__default.createElement(DropdownMenuSeparator, null), templates.map((template) => /* @__PURE__ */ React__default.createElement(
13939
+ )), /* @__PURE__ */ React__default.createElement(DropdownMenuContent, { className: "max-h-48 overflow-y-auto" }, templates.length > 10 && /* @__PURE__ */ React__default.createElement(
13940
+ "input",
13941
+ {
13942
+ type: "text",
13943
+ placeholder: "Filter templates...",
13944
+ className: "w-full p-2 border border-gray-300 rounded-md",
13945
+ onChange: filterChange
13946
+ }
13947
+ ), /* @__PURE__ */ React__default.createElement(DropdownMenuSeparator, null), filteredTemplates.map((template) => /* @__PURE__ */ React__default.createElement(
13890
13948
  DropdownMenuItem,
13891
13949
  {
13892
13950
  key: template.name,
@@ -14084,6 +14142,12 @@ const items = [
14084
14142
  icon: Icons.h5,
14085
14143
  label: "Heading 5",
14086
14144
  value: ELEMENT_H5$1
14145
+ },
14146
+ {
14147
+ description: "Heading 6",
14148
+ icon: Icons.h6,
14149
+ label: "Heading 6",
14150
+ value: ELEMENT_H6$1
14087
14151
  }
14088
14152
  ];
14089
14153
  const defaultItem = items.find((item) => item.value === ELEMENT_PARAGRAPH$1);
@@ -16838,120 +16902,176 @@ const ces = [
16838
16902
  "že"
16839
16903
  ];
16840
16904
  const dan = [
16841
- "er",
16842
- "jeg",
16905
+ "ad",
16906
+ "af",
16907
+ "aldrig",
16908
+ "alle",
16909
+ "alt",
16910
+ "anden",
16911
+ "andet",
16912
+ "andre",
16913
+ "at",
16914
+ "bare",
16915
+ "begge",
16916
+ "blev",
16917
+ "blive",
16918
+ "bliver",
16919
+ "da",
16920
+ "de",
16921
+ "dem",
16922
+ "den",
16923
+ "denne",
16924
+ "der",
16925
+ "deres",
16843
16926
  "det",
16927
+ "dette",
16928
+ "dig",
16929
+ "din",
16930
+ "dine",
16931
+ "disse",
16932
+ "dit",
16933
+ "dog",
16844
16934
  "du",
16845
- "ikke",
16846
- "i",
16847
- "at",
16935
+ "efter",
16936
+ "ej",
16937
+ "eller",
16848
16938
  "en",
16849
- "og",
16850
- "har",
16851
- "vi",
16852
- "til",
16853
- "",
16854
- "hvad",
16855
- "med",
16856
- "mig",
16857
- "",
16939
+ "end",
16940
+ "ene",
16941
+ "eneste",
16942
+ "enhver",
16943
+ "er",
16944
+ "et",
16945
+ "far",
16946
+ "fem",
16947
+ "fik",
16948
+ "fire",
16949
+ "flere",
16950
+ "fleste",
16858
16951
  "for",
16859
- "de",
16860
- "dig",
16861
- "der",
16862
- "den",
16952
+ "fordi",
16953
+ "forrige",
16954
+ "fra",
16955
+ "",
16956
+ "får",
16957
+ "før",
16958
+ "god",
16959
+ "godt",
16960
+ "ham",
16863
16961
  "han",
16864
- "kan",
16865
- "af",
16866
- "vil",
16867
- "var",
16962
+ "hans",
16963
+ "har",
16964
+ "havde",
16965
+ "have",
16966
+ "hej",
16967
+ "helt",
16968
+ "hende",
16969
+ "hendes",
16868
16970
  "her",
16869
- "et",
16870
- "skal",
16871
- "ved",
16872
- "nu",
16873
- "men",
16874
- "om",
16875
- "ja",
16876
- "som",
16877
- "nej",
16878
- "min",
16879
- "noget",
16880
- "ham",
16971
+ "hos",
16881
16972
  "hun",
16882
- "bare",
16883
- "kom",
16884
- "være",
16885
- "din",
16886
- "hvor",
16887
- "dem",
16888
- "ud",
16889
- "os",
16973
+ "hvad",
16974
+ "hvem",
16975
+ "hver",
16976
+ "hvilken",
16890
16977
  "hvis",
16891
- "",
16892
- "se",
16893
- "godt",
16894
- "have",
16895
- "fra",
16896
- "ville",
16897
- "okay",
16898
- "lige",
16899
- "op",
16900
- "alle",
16901
- "lad",
16902
- "hvorfor",
16903
- "sig",
16978
+ "hvor",
16904
16979
  "hvordan",
16905
- "",
16906
- "kunne",
16907
- "eller",
16908
- "hvem",
16909
- "man",
16910
- "bliver",
16911
- "havde",
16912
- "da",
16980
+ "hvorfor",
16981
+ "hvornår",
16982
+ "i",
16983
+ "ikke",
16984
+ "ind",
16913
16985
  "ingen",
16914
- "efter",
16915
- "når",
16916
- "alt",
16986
+ "intet",
16987
+ "ja",
16988
+ "jeg",
16989
+ "jer",
16990
+ "jeres",
16917
16991
  "jo",
16918
- "to",
16919
- "mit",
16920
- "ind",
16921
- "hej",
16922
- "aldrig",
16992
+ "kan",
16993
+ "kom",
16994
+ "komme",
16995
+ "kommer",
16996
+ "kun",
16997
+ "kunne",
16998
+ "lad",
16999
+ "lav",
16923
17000
  "lidt",
17001
+ "lige",
17002
+ "lille",
17003
+ "man",
17004
+ "mand",
17005
+ "mange",
17006
+ "med",
17007
+ "meget",
17008
+ "men",
17009
+ "mens",
17010
+ "mere",
17011
+ "mig",
17012
+ "min",
17013
+ "mine",
17014
+ "mit",
17015
+ "mod",
17016
+ "må",
17017
+ "ned",
17018
+ "nej",
17019
+ "ni",
16924
17020
  "nogen",
16925
- "over",
17021
+ "noget",
17022
+ "nogle",
17023
+ "nu",
17024
+ "ny",
17025
+ "nyt",
17026
+ "når",
17027
+ "nær",
17028
+ "næste",
17029
+ "næsten",
17030
+ "og",
16926
17031
  "også",
16927
- "mand",
16928
- "far",
16929
- "skulle",
17032
+ "okay",
17033
+ "om",
17034
+ "op",
17035
+ "os",
17036
+ "otte",
17037
+ "over",
17038
+ "på",
17039
+ "se",
17040
+ "seks",
16930
17041
  "selv",
16931
- "får",
16932
- "hans",
16933
17042
  "ser",
16934
- "vores",
16935
- "jer",
16936
- "sådan",
16937
- "dit",
16938
- "kun",
16939
- "deres",
16940
- "ned",
16941
- "mine",
16942
- "komme",
16943
- "tage",
16944
- "denne",
17043
+ "ses",
17044
+ "sig",
16945
17045
  "sige",
16946
- "dette",
16947
- "blive",
16948
- "helt",
16949
- "fordi",
16950
- "end",
17046
+ "sin",
17047
+ "sine",
17048
+ "sit",
17049
+ "skal",
17050
+ "skulle",
17051
+ "som",
17052
+ "stor",
17053
+ "store",
17054
+ "syv",
17055
+ "så",
17056
+ "sådan",
16951
17057
  "tag",
16952
- "før",
16953
- "fik",
16954
- "dine"
17058
+ "tage",
17059
+ "thi",
17060
+ "ti",
17061
+ "til",
17062
+ "to",
17063
+ "tre",
17064
+ "ud",
17065
+ "under",
17066
+ "var",
17067
+ "ved",
17068
+ "vi",
17069
+ "vil",
17070
+ "ville",
17071
+ "vor",
17072
+ "vores",
17073
+ "være",
17074
+ "været"
16955
17075
  ];
16956
17076
  const nld = [
16957
17077
  "aan",
@@ -19335,7 +19455,7 @@ const hun = [
19335
19455
  "alóluk",
19336
19456
  "alólunk",
19337
19457
  "amely",
19338
- "amelybol",
19458
+ "amelyből",
19339
19459
  "amelyek",
19340
19460
  "amelyekben",
19341
19461
  "amelyeket",
@@ -26378,125 +26498,424 @@ const swa = [
26378
26498
  "upande"
26379
26499
  ];
26380
26500
  const swe = [
26381
- "jag",
26501
+ "aderton",
26502
+ "adertonde",
26503
+ "adjö",
26504
+ "aldrig",
26505
+ "alla",
26506
+ "allas",
26507
+ "allt",
26508
+ "alltid",
26509
+ "alltså",
26510
+ "andra",
26511
+ "andras",
26512
+ "annan",
26513
+ "annat",
26514
+ "artonde",
26515
+ "artonn",
26516
+ "att",
26517
+ "av",
26518
+ "bakom",
26519
+ "bara",
26520
+ "behöva",
26521
+ "behövas",
26522
+ "behövde",
26523
+ "behövt",
26524
+ "beslut",
26525
+ "beslutat",
26526
+ "beslutit",
26527
+ "bland",
26528
+ "blev",
26529
+ "bli",
26530
+ "blir",
26531
+ "blivit",
26532
+ "bort",
26533
+ "borta",
26534
+ "bra",
26535
+ "bäst",
26536
+ "bättre",
26537
+ "båda",
26538
+ "bådas",
26539
+ "dag",
26540
+ "dagar",
26541
+ "dagarna",
26542
+ "dagen",
26543
+ "de",
26544
+ "del",
26545
+ "delen",
26546
+ "dem",
26547
+ "den",
26548
+ "denna",
26549
+ "deras",
26550
+ "dess",
26551
+ "dessa",
26382
26552
  "det",
26383
- "är",
26553
+ "detta",
26554
+ "dig",
26555
+ "din",
26556
+ "dina",
26557
+ "dit",
26558
+ "ditt",
26559
+ "dock",
26560
+ "dom",
26384
26561
  "du",
26385
- "inte",
26386
- "att",
26562
+ "där",
26563
+ "därför",
26564
+ "då",
26565
+ "e",
26566
+ "efter",
26567
+ "eftersom",
26568
+ "ej",
26569
+ "elfte",
26570
+ "eller",
26571
+ "elva",
26572
+ "emot",
26387
26573
  "en",
26388
- "och",
26389
- "har",
26390
- "vi",
26391
- "",
26392
- "i",
26574
+ "enkel",
26575
+ "enkelt",
26576
+ "enkla",
26577
+ "enligt",
26578
+ "ens",
26579
+ "er",
26580
+ "era",
26581
+ "ers",
26582
+ "ert",
26583
+ "ett",
26584
+ "ettusen",
26585
+ "fanns",
26586
+ "fem",
26587
+ "femte",
26588
+ "femtio",
26589
+ "femtionde",
26590
+ "femton",
26591
+ "femtonde",
26592
+ "fick",
26593
+ "fin",
26594
+ "finnas",
26595
+ "finns",
26596
+ "fjorton",
26597
+ "fjortonde",
26598
+ "fjärde",
26599
+ "fler",
26600
+ "flera",
26601
+ "flesta",
26602
+ "fram",
26603
+ "framför",
26604
+ "från",
26605
+ "fyra",
26606
+ "fyrtio",
26607
+ "fyrtionde",
26608
+ "få",
26609
+ "får",
26610
+ "fått",
26611
+ "följande",
26393
26612
  "för",
26613
+ "före",
26614
+ "förlåt",
26615
+ "förra",
26616
+ "första",
26617
+ "genast",
26618
+ "genom",
26619
+ "gick",
26620
+ "gjorde",
26621
+ "gjort",
26622
+ "god",
26623
+ "goda",
26624
+ "godare",
26625
+ "godast",
26626
+ "gott",
26627
+ "gälla",
26628
+ "gäller",
26629
+ "gällt",
26630
+ "gärna",
26631
+ "gå",
26632
+ "går",
26633
+ "gått",
26634
+ "gör",
26635
+ "göra",
26636
+ "ha",
26637
+ "hade",
26638
+ "haft",
26394
26639
  "han",
26395
- "vad",
26396
- "med",
26397
- "mig",
26398
- "som",
26640
+ "hans",
26641
+ "har",
26642
+ "heller",
26643
+ "hellre",
26644
+ "helst",
26645
+ "helt",
26646
+ "henne",
26647
+ "hennes",
26648
+ "hit",
26649
+ "hon",
26650
+ "honom",
26651
+ "hundra",
26652
+ "hundraen",
26653
+ "hundraett",
26654
+ "hur",
26399
26655
  "här",
26400
- "om",
26401
- "dig",
26402
- "var",
26403
- "den",
26404
- "",
26405
- "till",
26656
+ "hög",
26657
+ "höger",
26658
+ "högre",
26659
+ "högst",
26660
+ "i",
26661
+ "ibland",
26662
+ "icke",
26663
+ "idag",
26664
+ "igen",
26665
+ "igår",
26666
+ "imorgon",
26667
+ "in",
26668
+ "inför",
26669
+ "inga",
26670
+ "ingen",
26671
+ "ingenting",
26672
+ "inget",
26673
+ "innan",
26674
+ "inne",
26675
+ "inom",
26676
+ "inte",
26677
+ "inuti",
26678
+ "ja",
26679
+ "jag",
26680
+ "jo",
26681
+ "ju",
26682
+ "just",
26683
+ "jämfört",
26406
26684
  "kan",
26407
- "de",
26408
- "ni",
26409
- "ska",
26410
- "ett",
26685
+ "kanske",
26686
+ "knappast",
26687
+ "kom",
26688
+ "komma",
26689
+ "kommer",
26690
+ "kommit",
26691
+ "kr",
26692
+ "kunde",
26693
+ "kunna",
26694
+ "kunnat",
26695
+ "kvar",
26696
+ "legat",
26697
+ "ligga",
26698
+ "ligger",
26699
+ "lika",
26700
+ "likställd",
26701
+ "likställda",
26702
+ "lilla",
26703
+ "lite",
26704
+ "liten",
26705
+ "litet",
26706
+ "länge",
26707
+ "längre",
26708
+ "längst",
26709
+ "lätt",
26710
+ "lättare",
26711
+ "lättast",
26712
+ "långsam",
26713
+ "långsammare",
26714
+ "långsammast",
26715
+ "långsamt",
26716
+ "långt",
26717
+ "låt",
26718
+ "man",
26719
+ "med",
26720
+ "mej",
26721
+ "mellan",
26411
26722
  "men",
26412
- "av",
26413
- "vill",
26414
- "nu",
26415
- "ja",
26416
- "nej",
26417
- "bara",
26418
- "hon",
26419
- "hur",
26723
+ "mer",
26724
+ "mera",
26725
+ "mest",
26726
+ "mig",
26420
26727
  "min",
26421
- "där",
26422
- "honom",
26423
- "kom",
26424
- "din",
26425
- "",
26728
+ "mina",
26729
+ "mindre",
26730
+ "minst",
26731
+ "mitt",
26732
+ "mittemot",
26733
+ "mot",
26734
+ "mycket",
26735
+ "många",
26736
+ "måste",
26737
+ "möjlig",
26738
+ "möjligen",
26739
+ "möjligt",
26740
+ "möjligtvis",
26741
+ "ned",
26742
+ "nederst",
26743
+ "nedersta",
26744
+ "nedre",
26745
+ "nej",
26746
+ "ner",
26747
+ "ni",
26748
+ "nio",
26749
+ "nionde",
26750
+ "nittio",
26751
+ "nittionde",
26752
+ "nitton",
26753
+ "nittonde",
26754
+ "nog",
26755
+ "noll",
26756
+ "nr",
26757
+ "nu",
26758
+ "nummer",
26426
26759
  "när",
26427
- "ha",
26428
- "er",
26429
- "ta",
26430
- "ut",
26431
- "får",
26432
- "man",
26433
- "vara",
26760
+ "nästa",
26761
+ "någon",
26762
+ "någonting",
26763
+ "något",
26764
+ "några",
26765
+ "nån",
26766
+ "nånting",
26767
+ "nåt",
26768
+ "nödvändig",
26769
+ "nödvändiga",
26770
+ "nödvändigt",
26771
+ "nödvändigtvis",
26772
+ "och",
26773
+ "också",
26774
+ "ofta",
26775
+ "oftast",
26776
+ "olika",
26777
+ "olikt",
26778
+ "om",
26434
26779
  "oss",
26435
- "dem",
26436
- "eller",
26437
- "varför",
26438
- "alla",
26439
- "från",
26440
- "upp",
26441
- "igen",
26780
+ "",
26781
+ "rakt",
26782
+ "redan",
26783
+ "rätt",
26442
26784
  "sa",
26443
- "hade",
26444
- "allt",
26445
- "in",
26785
+ "sade",
26786
+ "sagt",
26787
+ "samma",
26788
+ "sedan",
26789
+ "senare",
26790
+ "senast",
26791
+ "sent",
26792
+ "sex",
26793
+ "sextio",
26794
+ "sextionde",
26795
+ "sexton",
26796
+ "sextonde",
26446
26797
  "sig",
26447
- "ingen",
26448
- "henne",
26449
- "vem",
26450
- "mitt",
26451
- "nåt",
26452
- "blir",
26453
- "än",
26454
- "bli",
26455
- "ju",
26456
- "två",
26798
+ "sin",
26799
+ "sina",
26800
+ "sist",
26801
+ "sista",
26802
+ "siste",
26803
+ "sitt",
26804
+ "sitta",
26805
+ "sju",
26806
+ "sjunde",
26807
+ "sjuttio",
26808
+ "sjuttionde",
26809
+ "sjutton",
26810
+ "sjuttonde",
26811
+ "själv",
26812
+ "sjätte",
26813
+ "ska",
26814
+ "skall",
26815
+ "skulle",
26816
+ "slutligen",
26817
+ "små",
26818
+ "smått",
26819
+ "snart",
26820
+ "som",
26821
+ "stor",
26822
+ "stora",
26823
+ "stort",
26824
+ "större",
26825
+ "störst",
26826
+ "säga",
26827
+ "säger",
26828
+ "sämre",
26829
+ "sämst",
26830
+ "så",
26831
+ "sådan",
26832
+ "sådana",
26833
+ "sådant",
26834
+ "ta",
26835
+ "tack",
26457
26836
  "tar",
26458
- "hans",
26459
- "ditt",
26460
- "mina",
26461
- "åt",
26462
- "väl",
26463
- "också",
26464
- "nån",
26465
- "låt",
26466
- "detta",
26837
+ "tidig",
26838
+ "tidigare",
26839
+ "tidigast",
26840
+ "tidigt",
26841
+ "till",
26842
+ "tills",
26843
+ "tillsammans",
26844
+ "tio",
26845
+ "tionde",
26846
+ "tjugo",
26847
+ "tjugoen",
26848
+ "tjugoett",
26849
+ "tjugonde",
26850
+ "tjugotre",
26851
+ "tjugotvå",
26852
+ "tjungo",
26853
+ "tolfte",
26854
+ "tolv",
26855
+ "tre",
26856
+ "tredje",
26857
+ "trettio",
26858
+ "trettionde",
26859
+ "tretton",
26860
+ "trettonde",
26861
+ "två",
26862
+ "tvåhundra",
26863
+ "under",
26864
+ "upp",
26865
+ "ur",
26866
+ "ursäkt",
26867
+ "ut",
26868
+ "utan",
26869
+ "utanför",
26870
+ "ute",
26467
26871
  "va",
26468
- "dina",
26469
- "dom",
26470
- "blev",
26471
- "inga",
26472
- "sin",
26473
- "just",
26474
- "många",
26872
+ "vad",
26873
+ "var",
26874
+ "vara",
26875
+ "varför",
26876
+ "varifrån",
26877
+ "varit",
26878
+ "varje",
26879
+ "varken",
26880
+ "vars",
26881
+ "varsågod",
26475
26882
  "vart",
26883
+ "vem",
26884
+ "vems",
26885
+ "verkligen",
26886
+ "vi",
26887
+ "vid",
26888
+ "vidare",
26889
+ "viktig",
26890
+ "viktigare",
26891
+ "viktigast",
26892
+ "viktigt",
26893
+ "vilka",
26894
+ "vilkas",
26476
26895
  "vilken",
26477
- "ur",
26478
- "ens",
26479
- "sitt",
26480
- "e",
26481
- "jo",
26482
- "era",
26483
- "deras",
26484
- "fem",
26485
- "sex",
26486
- "denna",
26487
26896
  "vilket",
26488
- "fyra",
26897
+ "vill",
26898
+ "väl",
26899
+ "vänster",
26900
+ "vänstra",
26901
+ "värre",
26902
+ "vår",
26903
+ "våra",
26489
26904
  "vårt",
26490
- "emot",
26491
- "tio",
26492
- "ert",
26493
- "sju",
26905
+ "än",
26906
+ "ännu",
26907
+ "är",
26908
+ "även",
26909
+ "åt",
26910
+ "åtminstone",
26494
26911
  "åtta",
26495
- "nånting",
26496
- "ned",
26497
- "ers",
26498
- "nio",
26499
- "mej"
26912
+ "åttio",
26913
+ "åttionde",
26914
+ "åttonde",
26915
+ "över",
26916
+ "övermorgon",
26917
+ "överst",
26918
+ "övre"
26500
26919
  ];
26501
26920
  const tha = [
26502
26921
  "กล่าว",
@@ -27817,15 +28236,11 @@ const zul = [
27817
28236
  "kwakukhona",
27818
28237
  "ngelinye"
27819
28238
  ];
27820
- const defaultStopwords = eng;
27821
- const removeStopwords = function(tokens, stopwords) {
27822
- stopwords = stopwords || defaultStopwords;
27823
- if (typeof tokens !== "object" || typeof stopwords !== "object") {
28239
+ const removeStopwords = (tokens, stopwords = eng) => {
28240
+ if (!Array.isArray(tokens) || !Array.isArray(stopwords)) {
27824
28241
  throw new Error("expected Arrays try: removeStopwords(Array[, Array])");
27825
28242
  }
27826
- return tokens.filter(function(value) {
27827
- return stopwords.indexOf(value.toLowerCase()) === -1;
27828
- });
28243
+ return tokens.filter((x) => !stopwords.includes(x.toLowerCase()));
27829
28244
  };
27830
28245
  const sw = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
27831
28246
  __proto__: null,
@@ -30151,9 +30566,8 @@ const Sidebar = ({ cms }) => {
30151
30566
  )
30152
30567
  }
30153
30568
  ), !renderDesktopNav && /* @__PURE__ */ React__default.createElement(Transition, { show: menuIsOpen }, /* @__PURE__ */ React__default.createElement(
30154
- Transition.Child,
30569
+ TransitionChild,
30155
30570
  {
30156
- as: React__default.Fragment,
30157
30571
  enter: "transform transition-all ease-out duration-300",
30158
30572
  enterFrom: "opacity-0 -translate-x-full",
30159
30573
  enterTo: "opacity-100 translate-x-0",
@@ -30221,9 +30635,8 @@ const Sidebar = ({ cms }) => {
30221
30635
  ))
30222
30636
  ))
30223
30637
  ), /* @__PURE__ */ React__default.createElement(
30224
- Transition.Child,
30638
+ TransitionChild,
30225
30639
  {
30226
- as: React__default.Fragment,
30227
30640
  enter: "ease-out duration-300",
30228
30641
  enterFrom: "opacity-0",
30229
30642
  enterTo: "opacity-80",
@@ -30249,7 +30662,7 @@ const Sidebar = ({ cms }) => {
30249
30662
  onClick: () => {
30250
30663
  setMenuIsOpen(true);
30251
30664
  },
30252
- className: `pointer-events-auto -ml-px absolute left-0 z-50 ${isLocalMode ? `top-10` : `top-4`}`
30665
+ className: `pointer-events-auto -ml-px absolute left-0 z-50 ${isLocalMode ? "top-10" : "top-4"}`
30253
30666
  },
30254
30667
  /* @__PURE__ */ React__default.createElement(BiMenu, { className: "h-7 w-auto" })
30255
30668
  ));
@@ -30676,10 +31089,9 @@ const TemplateMenu = ({
30676
31089
  folder,
30677
31090
  collectionName
30678
31091
  }) => {
30679
- return /* @__PURE__ */ React__default.createElement(Menu, { as: "div", className: "relative inline-block text-left" }, () => /* @__PURE__ */ React__default.createElement("div", null, /* @__PURE__ */ React__default.createElement("div", null, /* @__PURE__ */ React__default.createElement(Menu.Button, { className: "icon-parent inline-flex items-center font-medium focus:outline-none focus:ring-2 focus:shadow-outline text-center rounded-full justify-center transition-all duration-150 ease-out shadow text-white bg-blue-500 hover:bg-blue-600 focus:ring-blue-500 text-sm h-10 px-6" }, "Create New ", /* @__PURE__ */ React__default.createElement(BiPlus, { className: "w-5 h-full ml-1 opacity-70" }))), /* @__PURE__ */ React__default.createElement(
31092
+ return /* @__PURE__ */ React__default.createElement(Menu, { as: "div", className: "relative inline-block text-left" }, () => /* @__PURE__ */ React__default.createElement("div", null, /* @__PURE__ */ React__default.createElement("div", null, /* @__PURE__ */ React__default.createElement(MenuButton, { className: "icon-parent inline-flex items-center font-medium focus:outline-none focus:ring-2 focus:shadow-outline text-center rounded-full justify-center transition-all duration-150 ease-out shadow text-white bg-blue-500 hover:bg-blue-600 focus:ring-blue-500 text-sm h-10 px-6" }, "Create New ", /* @__PURE__ */ React__default.createElement(BiPlus, { className: "w-5 h-full ml-1 opacity-70" }))), /* @__PURE__ */ React__default.createElement(
30680
31093
  Transition,
30681
31094
  {
30682
- as: Fragment,
30683
31095
  enter: "transition ease-out duration-100",
30684
31096
  enterFrom: "transform opacity-0 scale-95",
30685
31097
  enterTo: "transform opacity-100 scale-100",
@@ -30687,7 +31099,7 @@ const TemplateMenu = ({
30687
31099
  leaveFrom: "transform opacity-100 scale-100",
30688
31100
  leaveTo: "transform opacity-0 scale-95"
30689
31101
  },
30690
- /* @__PURE__ */ React__default.createElement(Menu.Items, { className: "origin-top-right absolute right-0 mt-2 z-menu w-56 rounded-md shadow-lg bg-white ring-1 ring-black ring-opacity-5 focus:outline-none" }, /* @__PURE__ */ React__default.createElement("div", { className: "py-1" }, templates.map((template) => /* @__PURE__ */ React__default.createElement(Menu.Item, { key: `${template.label}-${template.name}` }, ({ active }) => /* @__PURE__ */ React__default.createElement(
31102
+ /* @__PURE__ */ React__default.createElement(MenuItems, { className: "origin-top-right absolute right-0 mt-2 z-menu w-56 rounded-md shadow-lg bg-white ring-1 ring-black ring-opacity-5 focus:outline-none" }, /* @__PURE__ */ React__default.createElement("div", { className: "py-1" }, templates.map((template) => /* @__PURE__ */ React__default.createElement(MenuItem, { key: `${template.label}-${template.name}` }, ({ focus }) => /* @__PURE__ */ React__default.createElement(
30691
31103
  Link,
30692
31104
  {
30693
31105
  to: `/${folder.fullyQualifiedName ? [
@@ -30703,7 +31115,7 @@ const TemplateMenu = ({
30703
31115
  collectionName,
30704
31116
  template.name
30705
31117
  ].join("/")}`,
30706
- className: `w-full text-md px-4 py-2 tracking-wide flex items-center transition ease-out duration-100 ${active ? "text-blue-600 opacity-100 bg-gray-50" : "opacity-80 text-gray-600"}`
31118
+ className: `w-full text-md px-4 py-2 tracking-wide flex items-center transition ease-out duration-100 ${focus ? "text-blue-600 opacity-100 bg-gray-50" : "opacity-80 text-gray-600"}`
30707
31119
  },
30708
31120
  template.label
30709
31121
  )))))
@@ -30876,7 +31288,7 @@ const CollectionListPage = () => {
30876
31288
  CreateBranchModel,
30877
31289
  {
30878
31290
  crudType: "delete",
30879
- relativePath: collectionExtra.path + "/" + vars.relativePath,
31291
+ relativePath: `${collectionExtra.path}/${vars.relativePath}`,
30880
31292
  values: vars,
30881
31293
  close: () => setDeleteModalOpen(false),
30882
31294
  safeSubmit: async () => {
@@ -30983,7 +31395,7 @@ const CollectionListPage = () => {
30983
31395
  name: ""
30984
31396
  })
30985
31397
  },
30986
- ...fields.map((x) => [
31398
+ ...fields.flatMap((x) => [
30987
31399
  {
30988
31400
  label: (x.label || x.name) + (x.type === "datetime" ? " (Oldest First)" : " (Ascending)"),
30989
31401
  value: JSON.stringify({
@@ -30998,7 +31410,7 @@ const CollectionListPage = () => {
30998
31410
  order: "desc"
30999
31411
  })
31000
31412
  }
31001
- ]).flat()
31413
+ ])
31002
31414
  ],
31003
31415
  input: {
31004
31416
  id: "sort",
@@ -31594,7 +32006,7 @@ const RenderForm$1 = ({
31594
32006
  mutationInfo,
31595
32007
  customDefaults
31596
32008
  }) => {
31597
- var _a, _b, _c, _d, _e, _f;
32009
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j;
31598
32010
  const navigate = useNavigate();
31599
32011
  const [formIsPristine, setFormIsPristine] = useState(true);
31600
32012
  const schema = cms.api.tina.schema;
@@ -31624,8 +32036,53 @@ const RenderForm$1 = ({
31624
32036
  const defaultItem2 = customDefaults || // @ts-ignore internal types aren't up to date
31625
32037
  ((_d = template.ui) == null ? void 0 : _d.defaultItem) || // @ts-ignore
31626
32038
  (template == null ? void 0 : template.defaultItem) || {};
32039
+ const filenameField = {
32040
+ name: "filename",
32041
+ label: "Filename",
32042
+ component: slugFunction ? wrapFieldsWithMeta(({ field, input, meta }) => {
32043
+ var _a2, _b2;
32044
+ return /* @__PURE__ */ React__default.createElement(
32045
+ FilenameInput,
32046
+ {
32047
+ readOnly: (_b2 = (_a2 = schemaCollection == null ? void 0 : schemaCollection.ui) == null ? void 0 : _a2.filename) == null ? void 0 : _b2.readonly,
32048
+ ...input
32049
+ }
32050
+ );
32051
+ }) : "text",
32052
+ disabled: (_f = (_e = schemaCollection == null ? void 0 : schemaCollection.ui) == null ? void 0 : _e.filename) == null ? void 0 : _f.readonly,
32053
+ description: ((_h = (_g = collection.ui) == null ? void 0 : _g.filename) == null ? void 0 : _h.description) ? /* @__PURE__ */ React__default.createElement(
32054
+ "span",
32055
+ {
32056
+ dangerouslySetInnerHTML: { __html: collection.ui.filename.description }
32057
+ }
32058
+ ) : /* @__PURE__ */ React__default.createElement("span", null, "A unique filename for the content.", /* @__PURE__ */ React__default.createElement("br", null), "Examples: ", /* @__PURE__ */ React__default.createElement("code", null, "My_Document"), ", ", /* @__PURE__ */ React__default.createElement("code", null, "My_Document.en"), ",", " ", /* @__PURE__ */ React__default.createElement("code", null, "sub-folder/My_Document")),
32059
+ placeholder: "My_Document",
32060
+ validate: (value, allValues, meta) => {
32061
+ var _a2, _b2;
32062
+ if (!value) {
32063
+ if (meta.dirty) {
32064
+ return "Required";
32065
+ }
32066
+ return true;
32067
+ }
32068
+ const isValid = /[\.\-_\/a-zA-Z0-9]*$/.test(value);
32069
+ if (value && !isValid) {
32070
+ return "Must contain only a-z, A-Z, 0-9, -, _, ., or /.";
32071
+ }
32072
+ if (((_a2 = schemaCollection.match) == null ? void 0 : _a2.exclude) || ((_b2 = schemaCollection.match) == null ? void 0 : _b2.include)) {
32073
+ const filePath = `${normalizePath(schemaCollection.path)}/${value}.${schemaCollection.format || "md"}`;
32074
+ const match = schema == null ? void 0 : schema.matchFiles({
32075
+ files: [filePath],
32076
+ collection: schemaCollection
32077
+ });
32078
+ if ((match == null ? void 0 : match.length) === 0) {
32079
+ return `The filename "${value}" is not allowed for this collection.`;
32080
+ }
32081
+ }
32082
+ }
32083
+ };
31627
32084
  const form = useMemo(() => {
31628
- var _a2, _b2;
32085
+ var _a2, _b2, _c2, _d2;
31629
32086
  const folderName = folder.fullyQualifiedName ? folder.name : "";
31630
32087
  return new Form({
31631
32088
  crudType: "create",
@@ -31649,50 +32106,10 @@ const RenderForm$1 = ({
31649
32106
  id: schemaCollection.path + folderName + `/new-post.${schemaCollection.format || "md"}`,
31650
32107
  label: "form",
31651
32108
  fields: [
32109
+ ((_b2 = (_a2 = collection.ui) == null ? void 0 : _a2.filename) == null ? void 0 : _b2.showFirst) && filenameField,
31652
32110
  ...formInfo.fields,
31653
- {
31654
- name: "filename",
31655
- label: "Filename",
31656
- component: slugFunction ? wrapFieldsWithMeta(({ field, input, meta }) => {
31657
- var _a3, _b3;
31658
- return /* @__PURE__ */ React__default.createElement(
31659
- FilenameInput,
31660
- {
31661
- readOnly: (_b3 = (_a3 = schemaCollection == null ? void 0 : schemaCollection.ui) == null ? void 0 : _a3.filename) == null ? void 0 : _b3.readonly,
31662
- ...input
31663
- }
31664
- );
31665
- }) : "text",
31666
- disabled: (_b2 = (_a2 = schemaCollection == null ? void 0 : schemaCollection.ui) == null ? void 0 : _a2.filename) == null ? void 0 : _b2.readonly,
31667
- description: /* @__PURE__ */ React__default.createElement("span", null, "A unique filename for the content.", /* @__PURE__ */ React__default.createElement("br", null), "Examples: ", /* @__PURE__ */ React__default.createElement("code", null, "My_Document"), ", ", /* @__PURE__ */ React__default.createElement("code", null, "My_Document.en"), ",", " ", /* @__PURE__ */ React__default.createElement("code", null, "sub-folder/My_Document")),
31668
- placeholder: "My_Document",
31669
- validate: (value, allValues, meta) => {
31670
- var _a3, _b3;
31671
- if (!value) {
31672
- if (meta.dirty) {
31673
- return "Required";
31674
- }
31675
- return true;
31676
- }
31677
- const isValid = /[\.\-_\/a-zA-Z0-9]*$/.test(value);
31678
- if (value && !isValid) {
31679
- return "Must contain only a-z, A-Z, 0-9, -, _, ., or /.";
31680
- }
31681
- if (((_a3 = schemaCollection.match) == null ? void 0 : _a3.exclude) || ((_b3 = schemaCollection.match) == null ? void 0 : _b3.include)) {
31682
- const filePath = `${normalizePath(
31683
- schemaCollection.path
31684
- )}/${value}.${schemaCollection.format || "md"}`;
31685
- const match = schema == null ? void 0 : schema.matchFiles({
31686
- files: [filePath],
31687
- collection: schemaCollection
31688
- });
31689
- if ((match == null ? void 0 : match.length) === 0) {
31690
- return `The filename "${value}" is not allowed for this collection.`;
31691
- }
31692
- }
31693
- }
31694
- }
31695
- ],
32111
+ !((_d2 = (_c2 = collection.ui) == null ? void 0 : _c2.filename) == null ? void 0 : _d2.showFirst) && filenameField
32112
+ ].filter((x) => !!x),
31696
32113
  onSubmit: async (values) => {
31697
32114
  try {
31698
32115
  const folderName2 = folder.fullyQualifiedName ? folder.name : "";
@@ -31747,7 +32164,7 @@ const RenderForm$1 = ({
31747
32164
  const activeForm = cms.state.forms.find(
31748
32165
  ({ tinaForm }) => tinaForm.id === form.id
31749
32166
  );
31750
- return /* @__PURE__ */ React__default.createElement(PageWrapper, null, /* @__PURE__ */ React__default.createElement(React__default.Fragment, null, ((_f = (_e = cms == null ? void 0 : cms.api) == null ? void 0 : _e.tina) == null ? void 0 : _f.isLocalMode) ? /* @__PURE__ */ React__default.createElement(LocalWarning, null) : /* @__PURE__ */ React__default.createElement(BillingWarning, null), /* @__PURE__ */ React__default.createElement(
32167
+ return /* @__PURE__ */ React__default.createElement(PageWrapper, null, /* @__PURE__ */ React__default.createElement(React__default.Fragment, null, ((_j = (_i = cms == null ? void 0 : cms.api) == null ? void 0 : _i.tina) == null ? void 0 : _j.isLocalMode) ? /* @__PURE__ */ React__default.createElement(LocalWarning, null) : /* @__PURE__ */ React__default.createElement(BillingWarning, null), /* @__PURE__ */ React__default.createElement(
31751
32168
  "div",
31752
32169
  {
31753
32170
  className: `pt-10 xl:pt-3 pb-10 xl:pb-4 px-20 xl:px-12 border-b border-gray-200 bg-white w-full grow-0 shrink basis-0 flex justify-center`