tinacms 0.0.0-97d38ab-20241104224426 → 0.0.0-984566a-20250219181559

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, useEffect, useRef, createContext, forwardRef, useContext, useMemo, startTransition, createElement, Component } from "react";
10
- import { createPortal, findDOMNode } from "react-dom";
9
+ import React__default, { useState, useCallback, useEffect, useRef, createContext, forwardRef, useContext, useMemo, startTransition } from "react";
10
+ import { createPortal } from "react-dom";
11
11
  import { withRef, cn as cn$1, withVariants, withProps, withCn, createPrimitiveElement } from "@udecode/cn";
12
- 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, ELEMENT_TABLE, ELEMENT_TR, ELEMENT_TD, ELEMENT_TH, unwrapList, ELEMENT_TODO_LI, createTrailingBlockPlugin, createAutoformatPlugin, createExitBreakPlugin, KEYS_HEADING, createResetNodePlugin, createHeadingPlugin, createParagraphPlugin, createBlockquotePlugin, createBoldPlugin, createItalicPlugin, createUnderlinePlugin, createCodePlugin, createListPlugin, createIndentListPlugin, createHorizontalRulePlugin, createNodeIdPlugin, createTablePlugin, getListItemEntry, useListToolbarButtonState, useListToolbarButton } from "@udecode/plate";
12
+ 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, ELEMENT_TABLE, ELEMENT_TR, ELEMENT_TD, ELEMENT_TH, unwrapList, ELEMENT_TODO_LI, createTrailingBlockPlugin, createAutoformatPlugin, createExitBreakPlugin, KEYS_HEADING, createResetNodePlugin, createHeadingPlugin, createParagraphPlugin, createBlockquotePlugin, createBoldPlugin, createStrikethroughPlugin, createItalicPlugin, createUnderlinePlugin, createCodePlugin, createListPlugin, createIndentListPlugin, createHorizontalRulePlugin, createNodeIdPlugin, createTablePlugin, getListItemEntry, useListToolbarButtonState, useListToolbarButton } from "@udecode/plate";
13
13
  import { PlateElement, isCollapsed, findNodePath, getPointAfter, insertNodes, ELEMENT_DEFAULT, focusEditor, getPointBefore, setNodes, isElement, PlateLeaf, createPluginFactory, useComposedRef, useEditorRef, createPointRef, insertText, moveSelection, toggleNodeType, useElement, useRemoveNodeButton, useEditorSelector, isSelectionExpanded, withHOC, normalizeEditor, getBlockAbove, queryNode, getParentNode, isType, someNode, isSelectionAtBlockStart, setElements, insertNode, getPluginType, isBlock, isBlockAboveEmpty, findNode, PlateContent, getNodeEntries, useEditorState, collapseSelection, useMarkToolbarButtonState, useMarkToolbarButton, insertEmptyElement, usePlateSelectors, useEventEditorSelectors, PortalBody, useFormInputProps, createPlugins, Plate } from "@udecode/plate-common";
14
14
  import { ELEMENT_SLASH_INPUT, createSlashPlugin } from "@udecode/plate-slash-command";
15
15
  import { useSelected, useReadOnly, ReactEditor } from "slate-react";
16
16
  import { useCodeBlockElementState, useCodeSyntaxLeaf, ELEMENT_CODE_BLOCK as ELEMENT_CODE_BLOCK$1 } from "@udecode/plate-code-block";
17
17
  import MonacoEditor, { loader, useMonaco } from "@monaco-editor/react";
18
- import { Combobox, ComboboxInput, ComboboxButton, Transition, ComboboxOptions, ComboboxOption, Popover as Popover$3, PopoverButton, PopoverPanel, TransitionChild, Disclosure, DisclosureButton, DisclosurePanel, Menu, MenuButton, MenuItems, MenuItem } from "@headlessui/react";
18
+ import { Combobox as Combobox$1, ComboboxInput, ComboboxButton, Transition, ComboboxOptions, ComboboxOption, Popover as Popover$3, PopoverButton, PopoverPanel, TransitionChild, Disclosure, DisclosureButton, DisclosurePanel, Menu, MenuButton, MenuItems, MenuItem } from "@headlessui/react";
19
19
  import { cva } from "class-variance-authority";
20
20
  import { Eye, SquarePen, 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, Moon, SunMedium, Twitter } from "lucide-react";
21
21
  import mermaid from "mermaid";
22
22
  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";
23
- import { useComboboxContext, Combobox as Combobox$1, useComboboxStore, ComboboxProvider, Portal, ComboboxPopover, ComboboxItem } from "@ariakit/react";
23
+ import { useComboboxContext, Combobox as Combobox$2, useComboboxStore, ComboboxProvider, Portal, ComboboxPopover, ComboboxItem } from "@ariakit/react";
24
24
  import { useHTMLInputCursorState, useComboboxInput, filterWords } from "@udecode/plate-combobox";
25
25
  import { useTableCellElementState, useTableCellElement, useTableCellElementResizableState, useTableCellElementResizable, useTableBordersDropdownMenuContentState, useTableMergeState, TableProvider, useTableElementState, useTableElement, mergeTableCells, unmergeTableCells, ELEMENT_TABLE as ELEMENT_TABLE$1, getTableColumnCount, insertTable, deleteTable, insertTableColumn, deleteColumn, insertTableRow, deleteRow } from "@udecode/plate-table";
26
26
  import { ResizeHandle as ResizeHandle$1 } from "@udecode/plate-resizable";
@@ -889,13 +889,23 @@ const FieldDescription = ({
889
889
  className,
890
890
  ...props
891
891
  }) => {
892
+ if (typeof children === "string") {
893
+ return /* @__PURE__ */ React.createElement(
894
+ "span",
895
+ {
896
+ className: `block font-sans text-xs italic font-light text-gray-400 pt-0.5 whitespace-normal m-0 ${className}`,
897
+ ...props,
898
+ dangerouslySetInnerHTML: { __html: children }
899
+ }
900
+ );
901
+ }
892
902
  return /* @__PURE__ */ React.createElement(
893
903
  "span",
894
904
  {
895
905
  className: `block font-sans text-xs italic font-light text-gray-400 pt-0.5 whitespace-normal m-0 ${className}`,
896
- ...props,
897
- dangerouslySetInnerHTML: { __html: children }
898
- }
906
+ ...props
907
+ },
908
+ children
899
909
  );
900
910
  };
901
911
  const FieldError = ({
@@ -982,7 +992,7 @@ const Autocomplete = ({
982
992
  }
983
993
  }, [items2, query]);
984
994
  return /* @__PURE__ */ React__default.createElement(
985
- Combobox,
995
+ Combobox$1,
986
996
  {
987
997
  value,
988
998
  onChange,
@@ -1348,8 +1358,8 @@ const ListElementVariants = withVariants(PlateElement, listVariants, [
1348
1358
  ]);
1349
1359
  const ListElement = withRef(
1350
1360
  ({ children, variant = "ul", ...props }, ref) => {
1351
- const Component2 = variant;
1352
- return /* @__PURE__ */ React__default.createElement(ListElementVariants, { asChild: true, ref, variant, ...props }, /* @__PURE__ */ React__default.createElement(Component2, null, children));
1361
+ const Component = variant;
1362
+ return /* @__PURE__ */ React__default.createElement(ListElementVariants, { asChild: true, ref, variant, ...props }, /* @__PURE__ */ React__default.createElement(Component, null, children));
1353
1363
  }
1354
1364
  );
1355
1365
  const ELEMENT_MERMAID = "mermaid";
@@ -2163,7 +2173,7 @@ const InlineComboboxInput = forwardRef(({ className, ...props }, propRef) => {
2163
2173
  },
2164
2174
  value || "​"
2165
2175
  ), /* @__PURE__ */ React__default.createElement(
2166
- Combobox$1,
2176
+ Combobox$2,
2167
2177
  {
2168
2178
  autoSelect: true,
2169
2179
  className: cn$1(
@@ -2960,7 +2970,7 @@ const Components = () => {
2960
2970
  ),
2961
2971
  [MARK_CODE]: CodeLeaf,
2962
2972
  [MARK_UNDERLINE]: withProps(PlateLeaf, { as: "u" }),
2963
- [MARK_STRIKETHROUGH]: withProps(PlateLeaf, { as: "s" }),
2973
+ [MARK_STRIKETHROUGH]: ({ editor, leaf, text, ...props }) => /* @__PURE__ */ React__default.createElement("s", { ...props.attributes, ...props }),
2964
2974
  [MARK_ITALIC]: withProps(PlateLeaf, { as: "em" }),
2965
2975
  [MARK_BOLD]: ({ editor, leaf, text, ...props }) => /* @__PURE__ */ React__default.createElement("strong", { ...props.attributes, ...props }),
2966
2976
  [ELEMENT_HR]: ({
@@ -3669,7 +3679,7 @@ function TinaForm({ form, children }) {
3669
3679
  }));
3670
3680
  }
3671
3681
  function TinaField({
3672
- Component: Component2,
3682
+ Component,
3673
3683
  children,
3674
3684
  ...fieldProps
3675
3685
  }) {
@@ -3677,7 +3687,7 @@ function TinaField({
3677
3687
  if (!isEditing)
3678
3688
  return children || null;
3679
3689
  return /* @__PURE__ */ React.createElement(Field, { ...fieldProps }, ({ input, meta }) => {
3680
- return /* @__PURE__ */ React.createElement(Component2, { input, meta, ...fieldProps });
3690
+ return /* @__PURE__ */ React.createElement(Component, { input, meta, ...fieldProps });
3681
3691
  });
3682
3692
  }
3683
3693
  TinaField.propTypes = {
@@ -3847,7 +3857,7 @@ var _excluded = ["attr", "size", "title"];
3847
3857
  function _objectWithoutProperties(source, excluded) {
3848
3858
  if (source == null)
3849
3859
  return {};
3850
- var target = _objectWithoutPropertiesLoose$1(source, excluded);
3860
+ var target = _objectWithoutPropertiesLoose(source, excluded);
3851
3861
  var key, i;
3852
3862
  if (Object.getOwnPropertySymbols) {
3853
3863
  var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
@@ -3862,7 +3872,7 @@ function _objectWithoutProperties(source, excluded) {
3862
3872
  }
3863
3873
  return target;
3864
3874
  }
3865
- function _objectWithoutPropertiesLoose$1(source, excluded) {
3875
+ function _objectWithoutPropertiesLoose(source, excluded) {
3866
3876
  if (source == null)
3867
3877
  return {};
3868
3878
  var target = {};
@@ -4952,7 +4962,28 @@ const NumberInput = ({
4952
4962
  onChange,
4953
4963
  value,
4954
4964
  step
4955
- }) => /* @__PURE__ */ React.createElement(Input, { type: "number", step, value, onChange });
4965
+ }) => /* @__PURE__ */ React.createElement(
4966
+ Input,
4967
+ {
4968
+ type: "number",
4969
+ step,
4970
+ value,
4971
+ onChange: (event) => {
4972
+ const inputValue = event.target.value;
4973
+ const newValue = inputValue === "" ? void 0 : inputValue;
4974
+ if (onChange) {
4975
+ const syntheticEvent = {
4976
+ ...event,
4977
+ target: {
4978
+ ...event.target,
4979
+ value: newValue
4980
+ }
4981
+ };
4982
+ onChange(syntheticEvent);
4983
+ }
4984
+ }
4985
+ }
4986
+ );
4956
4987
  function useCMS() {
4957
4988
  return useCMS$1();
4958
4989
  }
@@ -5193,7 +5224,7 @@ const PopoverContent = React.forwardRef(({ className, align = "center", sideOffs
5193
5224
  side: "bottom",
5194
5225
  className: cn(
5195
5226
  "rounded-md border bg-white p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
5196
- "max-h-[30vh] max-w-[30vh] overflow-y-auto",
5227
+ "max-h-[30vh] max-w-[30vw] overflow-y-auto",
5197
5228
  className
5198
5229
  ),
5199
5230
  ...props
@@ -5285,11 +5316,7 @@ const getFilename = (optionSets, value) => {
5285
5316
  const node = nodes.find((node2) => node2.id === value);
5286
5317
  return node ? node._internalSys.filename : null;
5287
5318
  };
5288
- const ComboboxDemo = ({
5289
- cms,
5290
- input,
5291
- field
5292
- }) => {
5319
+ const Combobox = ({ cms, input, field }) => {
5293
5320
  const [open2, setOpen] = React.useState(false);
5294
5321
  const [value, setValue] = React.useState(input.value);
5295
5322
  const [displayText, setDisplayText] = React.useState(null);
@@ -5313,17 +5340,17 @@ const ComboboxDemo = ({
5313
5340
  if (loading === true) {
5314
5341
  return /* @__PURE__ */ React.createElement(LoadingDots, { color: "var(--tina-color-primary)" });
5315
5342
  }
5316
- return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(Popover, { open: open2, onOpenChange: setOpen }, /* @__PURE__ */ React.createElement(PopoverTrigger, { asChild: true }, /* @__PURE__ */ React.createElement(
5343
+ return /* @__PURE__ */ React.createElement(Popover, { open: open2, onOpenChange: setOpen }, /* @__PURE__ */ React.createElement(PopoverTrigger, { asChild: true }, /* @__PURE__ */ React.createElement(
5317
5344
  Button,
5318
5345
  {
5319
5346
  variant: "outline",
5320
5347
  role: "combobox",
5321
5348
  "aria-expanded": open2,
5322
- className: "w-52 justify-between"
5349
+ className: "w-full justify-between"
5323
5350
  },
5324
5351
  /* @__PURE__ */ React.createElement("p", { className: "truncate" }, displayText ?? "Choose an option..."),
5325
5352
  open2 ? /* @__PURE__ */ React.createElement(IoMdArrowDropup, { size: 20 }) : /* @__PURE__ */ React.createElement(IoMdArrowDropdown, { size: 20 })
5326
- )), /* @__PURE__ */ React.createElement(PopoverContent, { className: "p-0 relative" }, /* @__PURE__ */ React.createElement(
5353
+ )), /* @__PURE__ */ React.createElement(PopoverContent, { className: "p-0 relative min-w-[var(--radix-popover-trigger-width)]" }, /* @__PURE__ */ React.createElement(
5327
5354
  Command,
5328
5355
  {
5329
5356
  shouldFilter: !field.experimental___filter,
@@ -5347,32 +5374,25 @@ const ComboboxDemo = ({
5347
5374
  }
5348
5375
  ),
5349
5376
  /* @__PURE__ */ React.createElement(CommandEmpty, null, "No reference found"),
5350
- /* @__PURE__ */ React.createElement(CommandList, null, filteredOptionsList.length > 0 && (filteredOptionsList == null ? void 0 : filteredOptionsList.map(({ collection, edges }) => /* @__PURE__ */ React.createElement(
5351
- CommandGroup,
5352
- {
5353
- key: `${collection}-group`,
5354
- heading: collection
5355
- },
5356
- /* @__PURE__ */ React.createElement(CommandList, null, edges == null ? void 0 : edges.map(({ node }) => {
5357
- const { id, _values } = node;
5358
- return /* @__PURE__ */ React.createElement(
5359
- OptionComponent,
5360
- {
5361
- id,
5362
- key: id,
5363
- value,
5364
- field,
5365
- _values,
5366
- node,
5367
- onSelect: (currentValue) => {
5368
- setValue(currentValue);
5369
- setOpen(false);
5370
- }
5377
+ /* @__PURE__ */ React.createElement(CommandList, null, filteredOptionsList.length > 0 && (filteredOptionsList == null ? void 0 : filteredOptionsList.map(({ collection, edges }) => /* @__PURE__ */ React.createElement(CommandGroup, { key: `${collection}-group`, heading: collection }, /* @__PURE__ */ React.createElement(CommandList, null, edges == null ? void 0 : edges.map(({ node }) => {
5378
+ const { id, _values } = node;
5379
+ return /* @__PURE__ */ React.createElement(
5380
+ OptionComponent,
5381
+ {
5382
+ id,
5383
+ key: id,
5384
+ value,
5385
+ field,
5386
+ _values,
5387
+ node,
5388
+ onSelect: (currentValue) => {
5389
+ setValue(currentValue);
5390
+ setOpen(false);
5371
5391
  }
5372
- );
5373
- }))
5374
- ))))
5375
- ))));
5392
+ }
5393
+ );
5394
+ }))))))
5395
+ )));
5376
5396
  };
5377
5397
  const useGetNode = (cms, id) => {
5378
5398
  const [document2, setDocument] = React.useState(
@@ -5445,7 +5465,7 @@ const ReferenceLink = ({ cms, input }) => {
5445
5465
  };
5446
5466
  const Reference = ({ input, field }) => {
5447
5467
  const cms = useCMS();
5448
- return /* @__PURE__ */ React.createElement("div", null, /* @__PURE__ */ React.createElement("div", { className: "relative group" }, /* @__PURE__ */ React.createElement(ComboboxDemo, { cms, input, field })), /* @__PURE__ */ React.createElement(ReferenceLink, { cms, input }));
5468
+ return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement("div", { className: "relative group" }, /* @__PURE__ */ React.createElement(Combobox, { cms, input, field })), /* @__PURE__ */ React.createElement(ReferenceLink, { cms, input }));
5449
5469
  };
5450
5470
  const ButtonToggle = ({
5451
5471
  input,
@@ -5753,10 +5773,11 @@ const ItemDeleteButton = ({ onClick, disabled = false }) => {
5753
5773
  return /* @__PURE__ */ React__default.createElement(
5754
5774
  "button",
5755
5775
  {
5756
- className: `w-8 px-1 py-2.5 flex items-center justify-center hover:bg-gray-50 text-gray-200 hover:text-red-500 ${disabled && "pointer-events-none opacity-30 cursor-not-allowed"}`,
5776
+ type: "button",
5777
+ className: `w-8 px-1 py-2.5 flex items-center justify-center text-gray-200 hover:opacity-100 opacity-30 hover:bg-gray-50 ${disabled && "pointer-events-none opacity-30 cursor-not-allowed"}`,
5757
5778
  onClick
5758
5779
  },
5759
- /* @__PURE__ */ React__default.createElement(TrashIcon, { className: "fill-current transition-colors ease-out duration-100" })
5780
+ /* @__PURE__ */ React__default.createElement(TrashIcon, { className: "h-5 w-auto fill-current text-red-500 transition-colors duration-150 ease-out" })
5760
5781
  );
5761
5782
  };
5762
5783
  const DragHandle = ({ isDragging }) => {
@@ -7204,244 +7225,65 @@ function pad(type, value) {
7204
7225
  str = "0" + str;
7205
7226
  return str;
7206
7227
  }
7207
- function _inheritsLoose(subClass, superClass) {
7208
- subClass.prototype = Object.create(superClass.prototype);
7209
- subClass.prototype.constructor = subClass;
7210
- _setPrototypeOf(subClass, superClass);
7211
- }
7212
- function _setPrototypeOf(o, p) {
7213
- _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf2(o2, p2) {
7214
- o2.__proto__ = p2;
7215
- return o2;
7216
- };
7217
- return _setPrototypeOf(o, p);
7218
- }
7219
- function _objectWithoutPropertiesLoose(source, excluded) {
7220
- if (source == null)
7221
- return {};
7222
- var target = {};
7223
- var sourceKeys = Object.keys(source);
7224
- var key, i;
7225
- for (i = 0; i < sourceKeys.length; i++) {
7226
- key = sourceKeys[i];
7227
- if (excluded.indexOf(key) >= 0)
7228
- continue;
7229
- target[key] = source[key];
7230
- }
7231
- return target;
7232
- }
7233
- function _assertThisInitialized(self) {
7234
- if (self === void 0) {
7235
- throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
7236
- }
7237
- return self;
7238
- }
7239
- function isNodeFound(current, componentNode, ignoreClass) {
7240
- if (current === componentNode) {
7241
- return true;
7242
- }
7243
- if (current.correspondingElement) {
7244
- return current.correspondingElement.classList.contains(ignoreClass);
7245
- }
7246
- return current.classList.contains(ignoreClass);
7247
- }
7248
- function findHighest(current, componentNode, ignoreClass) {
7249
- if (current === componentNode) {
7250
- return true;
7228
+ var useClickAway$1 = {};
7229
+ var util = {};
7230
+ Object.defineProperty(util, "__esModule", { value: true });
7231
+ util.isNavigator = util.isBrowser = util.off = util.on = util.noop = void 0;
7232
+ var noop = function() {
7233
+ };
7234
+ util.noop = noop;
7235
+ function on(obj) {
7236
+ var args = [];
7237
+ for (var _i = 1; _i < arguments.length; _i++) {
7238
+ args[_i - 1] = arguments[_i];
7251
7239
  }
7252
- while (current.parentNode || current.host) {
7253
- if (current.parentNode && isNodeFound(current, componentNode, ignoreClass)) {
7254
- return true;
7255
- }
7256
- current = current.parentNode || current.host;
7240
+ if (obj && obj.addEventListener) {
7241
+ obj.addEventListener.apply(obj, args);
7257
7242
  }
7258
- return current;
7259
- }
7260
- function clickedScrollbar(evt) {
7261
- return document.documentElement.clientWidth <= evt.clientX || document.documentElement.clientHeight <= evt.clientY;
7262
7243
  }
7263
- var testPassiveEventSupport = function testPassiveEventSupport2() {
7264
- if (typeof window === "undefined" || typeof window.addEventListener !== "function") {
7265
- return;
7244
+ util.on = on;
7245
+ function off(obj) {
7246
+ var args = [];
7247
+ for (var _i = 1; _i < arguments.length; _i++) {
7248
+ args[_i - 1] = arguments[_i];
7266
7249
  }
7267
- var passive = false;
7268
- var options = Object.defineProperty({}, "passive", {
7269
- get: function get2() {
7270
- passive = true;
7271
- }
7272
- });
7273
- var noop = function noop2() {
7274
- };
7275
- window.addEventListener("testPassiveEventSupport", noop, options);
7276
- window.removeEventListener("testPassiveEventSupport", noop, options);
7277
- return passive;
7278
- };
7279
- function autoInc(seed) {
7280
- if (seed === void 0) {
7281
- seed = 0;
7250
+ if (obj && obj.removeEventListener) {
7251
+ obj.removeEventListener.apply(obj, args);
7282
7252
  }
7283
- return function() {
7284
- return ++seed;
7285
- };
7286
- }
7287
- var uid = autoInc();
7288
- var passiveEventSupport;
7289
- var handlersMap = {};
7290
- var enabledInstances = {};
7291
- var touchEvents = ["touchstart", "touchmove"];
7292
- var IGNORE_CLASS_NAME = "ignore-react-onclickoutside";
7293
- function getEventHandlerOptions(instance, eventName) {
7294
- var handlerOptions = {};
7295
- var isTouchEvent = touchEvents.indexOf(eventName) !== -1;
7296
- if (isTouchEvent && passiveEventSupport) {
7297
- handlerOptions.passive = !instance.props.preventDefault;
7298
- }
7299
- return handlerOptions;
7300
7253
  }
7301
- function onClickOutsideHOC(WrappedComponent, config) {
7302
- var _class, _temp;
7303
- var componentName = WrappedComponent.displayName || WrappedComponent.name || "Component";
7304
- return _temp = _class = /* @__PURE__ */ function(_Component) {
7305
- _inheritsLoose(onClickOutside, _Component);
7306
- function onClickOutside(props) {
7307
- var _this;
7308
- _this = _Component.call(this, props) || this;
7309
- _this.__outsideClickHandler = function(event) {
7310
- if (typeof _this.__clickOutsideHandlerProp === "function") {
7311
- _this.__clickOutsideHandlerProp(event);
7312
- return;
7313
- }
7314
- var instance = _this.getInstance();
7315
- if (typeof instance.props.handleClickOutside === "function") {
7316
- instance.props.handleClickOutside(event);
7317
- return;
7318
- }
7319
- if (typeof instance.handleClickOutside === "function") {
7320
- instance.handleClickOutside(event);
7321
- return;
7322
- }
7323
- throw new Error("WrappedComponent: " + componentName + " lacks a handleClickOutside(event) function for processing outside click events.");
7324
- };
7325
- _this.__getComponentNode = function() {
7326
- var instance = _this.getInstance();
7327
- if (config && typeof config.setClickOutsideRef === "function") {
7328
- return config.setClickOutsideRef()(instance);
7329
- }
7330
- if (typeof instance.setClickOutsideRef === "function") {
7331
- return instance.setClickOutsideRef();
7332
- }
7333
- return findDOMNode(instance);
7334
- };
7335
- _this.enableOnClickOutside = function() {
7336
- if (typeof document === "undefined" || enabledInstances[_this._uid]) {
7337
- return;
7338
- }
7339
- if (typeof passiveEventSupport === "undefined") {
7340
- passiveEventSupport = testPassiveEventSupport();
7341
- }
7342
- enabledInstances[_this._uid] = true;
7343
- var events = _this.props.eventTypes;
7344
- if (!events.forEach) {
7345
- events = [events];
7346
- }
7347
- handlersMap[_this._uid] = function(event) {
7348
- if (_this.componentNode === null)
7349
- return;
7350
- if (_this.initTimeStamp > event.timeStamp)
7351
- return;
7352
- if (_this.props.preventDefault) {
7353
- event.preventDefault();
7354
- }
7355
- if (_this.props.stopPropagation) {
7356
- event.stopPropagation();
7357
- }
7358
- if (_this.props.excludeScrollbar && clickedScrollbar(event))
7359
- return;
7360
- var current = event.composed && event.composedPath && event.composedPath().shift() || event.target;
7361
- if (findHighest(current, _this.componentNode, _this.props.outsideClickIgnoreClass) !== document) {
7362
- return;
7363
- }
7364
- _this.__outsideClickHandler(event);
7365
- };
7366
- events.forEach(function(eventName) {
7367
- document.addEventListener(eventName, handlersMap[_this._uid], getEventHandlerOptions(_assertThisInitialized(_this), eventName));
7368
- });
7369
- };
7370
- _this.disableOnClickOutside = function() {
7371
- delete enabledInstances[_this._uid];
7372
- var fn = handlersMap[_this._uid];
7373
- if (fn && typeof document !== "undefined") {
7374
- var events = _this.props.eventTypes;
7375
- if (!events.forEach) {
7376
- events = [events];
7377
- }
7378
- events.forEach(function(eventName) {
7379
- return document.removeEventListener(eventName, fn, getEventHandlerOptions(_assertThisInitialized(_this), eventName));
7380
- });
7381
- delete handlersMap[_this._uid];
7382
- }
7383
- };
7384
- _this.getRef = function(ref) {
7385
- return _this.instanceRef = ref;
7386
- };
7387
- _this._uid = uid();
7388
- _this.initTimeStamp = performance.now();
7389
- return _this;
7390
- }
7391
- var _proto = onClickOutside.prototype;
7392
- _proto.getInstance = function getInstance() {
7393
- if (WrappedComponent.prototype && !WrappedComponent.prototype.isReactComponent) {
7394
- return this;
7395
- }
7396
- var ref = this.instanceRef;
7397
- return ref.getInstance ? ref.getInstance() : ref;
7254
+ util.off = off;
7255
+ util.isBrowser = typeof window !== "undefined";
7256
+ util.isNavigator = typeof navigator !== "undefined";
7257
+ Object.defineProperty(useClickAway$1, "__esModule", { value: true });
7258
+ var react_1 = React__default;
7259
+ var util_1 = util;
7260
+ var defaultEvents = ["mousedown", "touchstart"];
7261
+ var useClickAway = function(ref, onClickAway, events) {
7262
+ if (events === void 0) {
7263
+ events = defaultEvents;
7264
+ }
7265
+ var savedCallback = react_1.useRef(onClickAway);
7266
+ react_1.useEffect(function() {
7267
+ savedCallback.current = onClickAway;
7268
+ }, [onClickAway]);
7269
+ react_1.useEffect(function() {
7270
+ var handler = function(event) {
7271
+ var el = ref.current;
7272
+ el && !el.contains(event.target) && savedCallback.current(event);
7398
7273
  };
7399
- _proto.componentDidMount = function componentDidMount() {
7400
- if (typeof document === "undefined" || !document.createElement) {
7401
- return;
7402
- }
7403
- var instance = this.getInstance();
7404
- if (config && typeof config.handleClickOutside === "function") {
7405
- this.__clickOutsideHandlerProp = config.handleClickOutside(instance);
7406
- if (typeof this.__clickOutsideHandlerProp !== "function") {
7407
- throw new Error("WrappedComponent: " + componentName + " lacks a function for processing outside click events specified by the handleClickOutside config option.");
7408
- }
7409
- }
7410
- this.componentNode = this.__getComponentNode();
7411
- if (this.props.disableOnClickOutside)
7412
- return;
7413
- this.enableOnClickOutside();
7414
- };
7415
- _proto.componentDidUpdate = function componentDidUpdate() {
7416
- this.componentNode = this.__getComponentNode();
7417
- };
7418
- _proto.componentWillUnmount = function componentWillUnmount() {
7419
- this.disableOnClickOutside();
7420
- };
7421
- _proto.render = function render() {
7422
- var _this$props = this.props;
7423
- _this$props.excludeScrollbar;
7424
- var props = _objectWithoutPropertiesLoose(_this$props, ["excludeScrollbar"]);
7425
- if (WrappedComponent.prototype && WrappedComponent.prototype.isReactComponent) {
7426
- props.ref = this.getRef;
7427
- } else {
7428
- props.wrappedRef = this.getRef;
7274
+ for (var _i = 0, events_1 = events; _i < events_1.length; _i++) {
7275
+ var eventName = events_1[_i];
7276
+ util_1.on(document, eventName, handler);
7277
+ }
7278
+ return function() {
7279
+ for (var _i2 = 0, events_2 = events; _i2 < events_2.length; _i2++) {
7280
+ var eventName2 = events_2[_i2];
7281
+ util_1.off(document, eventName2, handler);
7429
7282
  }
7430
- props.disableOnClickOutside = this.disableOnClickOutside;
7431
- props.enableOnClickOutside = this.enableOnClickOutside;
7432
- return createElement(WrappedComponent, props);
7433
7283
  };
7434
- return onClickOutside;
7435
- }(Component), _class.displayName = "OnClickOutside(" + componentName + ")", _class.defaultProps = {
7436
- eventTypes: ["mousedown", "touchstart"],
7437
- excludeScrollbar: config && config.excludeScrollbar || false,
7438
- outsideClickIgnoreClass: IGNORE_CLASS_NAME,
7439
- preventDefault: false,
7440
- stopPropagation: false
7441
- }, _class.getClass = function() {
7442
- return WrappedComponent.getClass ? WrappedComponent.getClass() : WrappedComponent;
7443
- }, _temp;
7444
- }
7284
+ }, [events, ref]);
7285
+ };
7286
+ var _default = useClickAway$1.default = useClickAway;
7445
7287
  const viewModes = {
7446
7288
  YEARS: "years",
7447
7289
  MONTHS: "months",
@@ -7970,22 +7812,13 @@ function log(message, method) {
7970
7812
  }
7971
7813
  con[method]("***react-datetime:" + message);
7972
7814
  }
7973
- class ClickOutBase extends React__default.Component {
7974
- constructor() {
7975
- super(...arguments);
7976
- __publicField(this, "container", React__default.createRef());
7977
- }
7978
- render() {
7979
- return /* @__PURE__ */ React__default.createElement("div", { className: this.props.className, ref: this.container }, this.props.children);
7980
- }
7981
- handleClickOutside(e) {
7982
- this.props.onClickOut(e);
7983
- }
7984
- setClickOutsideRef() {
7985
- return this.container.current;
7986
- }
7815
+ function ClickableWrapper({ className, onClickOut, children }) {
7816
+ const containerRef = useRef(null);
7817
+ _default(containerRef, (event) => {
7818
+ onClickOut(event);
7819
+ });
7820
+ return /* @__PURE__ */ React__default.createElement("div", { className, ref: containerRef }, children);
7987
7821
  }
7988
- const ClickableWrapper = onClickOutsideHOC(ClickOutBase);
7989
7822
  const DEFAULT_DATE_DISPLAY_FORMAT = "MMM DD, YYYY";
7990
7823
  const DEFAULT_TIME_DISPLAY_FORMAT = "h:mm A";
7991
7824
  const format$1 = (val, _name, field) => {
@@ -8028,7 +7861,10 @@ const DateField = wrapFieldsWithMeta(
8028
7861
  ReactDateTimeWithStyles,
8029
7862
  {
8030
7863
  value: input.value,
8031
- onChange: input.onChange,
7864
+ onChange: (value) => {
7865
+ const newValue = value === "" ? void 0 : value;
7866
+ input.onChange(newValue);
7867
+ },
8032
7868
  dateFormat: dateFormat || DEFAULT_DATE_DISPLAY_FORMAT,
8033
7869
  timeFormat: timeFormat || false,
8034
7870
  inputProps: { className: textFieldClasses },
@@ -9480,6 +9316,19 @@ class TinaMediaStore {
9480
9316
  }
9481
9317
  }
9482
9318
  }
9319
+ const encodeUrlIfNeeded = (url) => {
9320
+ if (url) {
9321
+ try {
9322
+ const parsed = new URL(url);
9323
+ parsed.pathname = parsed.pathname.split("/").filter((part) => part !== "").map(encodeURIComponent).join("/");
9324
+ return parsed.toString();
9325
+ } catch (e) {
9326
+ return url;
9327
+ }
9328
+ } else {
9329
+ return url;
9330
+ }
9331
+ };
9483
9332
  let MediaManager$1 = class MediaManager {
9484
9333
  constructor(store, events) {
9485
9334
  this.store = store;
@@ -9552,6 +9401,20 @@ let MediaManager$1 = class MediaManager {
9552
9401
  try {
9553
9402
  this.events.dispatch({ type: "media:list:start", ...options });
9554
9403
  const media = await this.store.list(options);
9404
+ media.items = media.items.map((item) => {
9405
+ if (item.type === "dir") {
9406
+ return item;
9407
+ }
9408
+ if (item.thumbnails) {
9409
+ for (const [size, src] of Object.entries(item.thumbnails)) {
9410
+ item.thumbnails[size] = encodeUrlIfNeeded(src);
9411
+ }
9412
+ }
9413
+ return {
9414
+ ...item,
9415
+ src: encodeUrlIfNeeded(item.src)
9416
+ };
9417
+ });
9555
9418
  this.events.dispatch({ type: "media:list:success", ...options, media });
9556
9419
  return media;
9557
9420
  } catch (error) {
@@ -9839,7 +9702,7 @@ class SidebarState {
9839
9702
  }
9840
9703
  }
9841
9704
  function createScreen({
9842
- Component: Component2,
9705
+ Component,
9843
9706
  props,
9844
9707
  ...options
9845
9708
  }) {
@@ -9848,7 +9711,7 @@ function createScreen({
9848
9711
  layout: "popup",
9849
9712
  ...options,
9850
9713
  Component(screenProps) {
9851
- return /* @__PURE__ */ React__default.createElement(Component2, { ...screenProps, ...props });
9714
+ return /* @__PURE__ */ React__default.createElement(Component, { ...screenProps, ...props });
9852
9715
  }
9853
9716
  };
9854
9717
  }
@@ -10359,7 +10222,7 @@ const SyncStatus = ({ cms, setEventsOpen }) => {
10359
10222
  "Event Log"
10360
10223
  ));
10361
10224
  };
10362
- const version = "2.4.0";
10225
+ const version = "2.6.4";
10363
10226
  const Nav = ({
10364
10227
  isLocalMode,
10365
10228
  className = "",
@@ -13288,9 +13151,9 @@ const EllipsisIcon = ({ title }) => {
13288
13151
  ));
13289
13152
  };
13290
13153
  const Wrapper$1 = ({ inline, children }) => {
13291
- const Component2 = inline ? "span" : "div";
13154
+ const Component = inline ? "span" : "div";
13292
13155
  return /* @__PURE__ */ React__default.createElement(
13293
- Component2,
13156
+ Component,
13294
13157
  {
13295
13158
  contentEditable: false,
13296
13159
  style: { userSelect: "none" },
@@ -13860,6 +13723,7 @@ const plugins = [
13860
13723
  createHTMLInlinePlugin(),
13861
13724
  createBlockquotePlugin(),
13862
13725
  createBoldPlugin(),
13726
+ createStrikethroughPlugin(),
13863
13727
  createItalicPlugin(),
13864
13728
  createUnderlinePlugin(),
13865
13729
  createCodePlugin(),
@@ -14078,13 +13942,13 @@ const TooltipContent = withCn(
14078
13942
  }),
14079
13943
  "z-[9999] overflow-hidden rounded-md border bg-popover px-3 py-1.5 text-sm text-popover-foreground shadow-md"
14080
13944
  );
14081
- function withTooltip(Component2) {
13945
+ function withTooltip(Component) {
14082
13946
  return React__default.forwardRef(function ExtendComponent({ tooltip, tooltipContentProps, tooltipProps, ...props }, ref) {
14083
13947
  const [mounted, setMounted] = React__default.useState(false);
14084
13948
  React__default.useEffect(() => {
14085
13949
  setMounted(true);
14086
13950
  }, []);
14087
- const component = /* @__PURE__ */ React__default.createElement(Component2, { ref, ...props });
13951
+ const component = /* @__PURE__ */ React__default.createElement(Component, { ref, ...props });
14088
13952
  if (tooltip && mounted) {
14089
13953
  return /* @__PURE__ */ React__default.createElement(Tooltip, { ...tooltipProps }, /* @__PURE__ */ React__default.createElement(TooltipTrigger, { asChild: true }, component), /* @__PURE__ */ React__default.createElement(TooltipPortal, null, /* @__PURE__ */ React__default.createElement(TooltipContent, { ...tooltipContentProps }, tooltip)));
14090
13954
  }
@@ -14679,7 +14543,7 @@ const EmbedButton = ({ editor, templates }) => {
14679
14543
  key: template.name,
14680
14544
  onMouseDown: (e) => {
14681
14545
  e.preventDefault();
14682
- close();
14546
+ setOpen(false);
14683
14547
  insertMDX(editor, template);
14684
14548
  },
14685
14549
  className: ""
@@ -14724,6 +14588,11 @@ const toolbarItems = {
14724
14588
  width: () => STANDARD_ICON_WIDTH,
14725
14589
  Component: /* @__PURE__ */ React__default.createElement(MarkToolbarButton, { tooltip: "Bold (⌘+B)", nodeType: MARK_BOLD }, /* @__PURE__ */ React__default.createElement(Icons.bold, null))
14726
14590
  },
14591
+ strikethrough: {
14592
+ label: "Strikethrough",
14593
+ width: () => STANDARD_ICON_WIDTH,
14594
+ Component: /* @__PURE__ */ React__default.createElement(MarkToolbarButton, { tooltip: "Strikethrough ", nodeType: MARK_STRIKETHROUGH }, /* @__PURE__ */ React__default.createElement(Icons.strikethrough, null))
14595
+ },
14727
14596
  italic: {
14728
14597
  label: "Italic",
14729
14598
  width: () => STANDARD_ICON_WIDTH,
@@ -14765,7 +14634,12 @@ function FixedToolbarButtons() {
14765
14634
  const [itemsShown, setItemsShown] = React__default.useState(11);
14766
14635
  const { overrides, templates } = useToolbarContext();
14767
14636
  const showEmbedButton = templates.length > 0;
14768
- let items2 = overrides === void 0 ? Object.values(toolbarItems) : overrides.map((item) => toolbarItems[item]).filter((item) => item !== void 0);
14637
+ let items2 = [];
14638
+ if (Array.isArray(overrides)) {
14639
+ items2 = overrides === void 0 ? Object.values(toolbarItems) : overrides.map((item) => toolbarItems[item]).filter((item) => item !== void 0);
14640
+ } else {
14641
+ items2 = (overrides == null ? void 0 : overrides.toolbar) === void 0 ? Object.values(toolbarItems) : overrides.toolbar.map((item) => toolbarItems[item]).filter((item) => item !== void 0);
14642
+ }
14769
14643
  if (!showEmbedButton) {
14770
14644
  items2 = items2.filter((item) => item.label !== toolbarItems.embed.label);
14771
14645
  }
@@ -15093,6 +14967,9 @@ const isUrl = (string) => {
15093
14967
  if (typeof string !== "string") {
15094
14968
  return false;
15095
14969
  }
14970
+ if (string.startsWith("#")) {
14971
+ return true;
14972
+ }
15096
14973
  const generalMatch = string.match(protocolAndDomainRE);
15097
14974
  const emailLinkMatch = string.match(emailLintRE);
15098
14975
  const localUrlMatch = string.match(localUrlRE);
@@ -15114,12 +14991,12 @@ const isUrl = (string) => {
15114
14991
  }
15115
14992
  return localhostDomainRE.test(everythingAfterProtocol) || nonLocalhostDomainRE.test(everythingAfterProtocol);
15116
14993
  };
15117
- const RichEditor = (props) => {
14994
+ const RichEditor = ({ input, tinaForm, field }) => {
15118
14995
  var _a;
15119
14996
  const initialValue = React__default.useMemo(
15120
14997
  () => {
15121
14998
  var _a2, _b;
15122
- return ((_b = (_a2 = props.input.value) == null ? void 0 : _a2.children) == null ? void 0 : _b.length) ? props.input.value.children.map(helpers.normalize) : [{ type: "p", children: [{ type: "text", text: "" }] }];
14999
+ return ((_b = (_a2 = input.value) == null ? void 0 : _a2.children) == null ? void 0 : _b.length) ? input.value.children.map(helpers.normalize) : [{ type: "p", children: [{ type: "text", text: "" }] }];
15123
15000
  },
15124
15001
  []
15125
15002
  );
@@ -15147,7 +15024,7 @@ const RichEditor = (props) => {
15147
15024
  ),
15148
15025
  []
15149
15026
  );
15150
- const tempId = [props.tinaForm.id, props.input.name].join(".");
15027
+ const tempId = [tinaForm.id, input.name].join(".");
15151
15028
  const id = React__default.useMemo(() => uuid() + tempId, [tempId]);
15152
15029
  const ref = React__default.useRef(null);
15153
15030
  React__default.useEffect(() => {
@@ -15157,13 +15034,13 @@ const RichEditor = (props) => {
15157
15034
  const plateElement = (_a2 = ref.current) == null ? void 0 : _a2.querySelector(
15158
15035
  '[role="textbox"]'
15159
15036
  );
15160
- if (props.field.experimental_focusIntent && plateElement) {
15037
+ if (field.experimental_focusIntent && plateElement) {
15161
15038
  if (plateElement)
15162
15039
  plateElement.focus();
15163
15040
  }
15164
15041
  }, 100);
15165
15042
  }
15166
- }, [props.field.experimental_focusIntent, ref]);
15043
+ }, [field.experimental_focusIntent, ref]);
15167
15044
  return /* @__PURE__ */ React__default.createElement("div", { ref }, /* @__PURE__ */ React__default.createElement(
15168
15045
  Plate,
15169
15046
  {
@@ -15171,7 +15048,7 @@ const RichEditor = (props) => {
15171
15048
  initialValue,
15172
15049
  plugins: plugins$2,
15173
15050
  onChange: (value) => {
15174
- props.input.onChange({
15051
+ input.onChange({
15175
15052
  type: "root",
15176
15053
  children: value
15177
15054
  });
@@ -15180,12 +15057,12 @@ const RichEditor = (props) => {
15180
15057
  /* @__PURE__ */ React__default.createElement(TooltipProvider, null, /* @__PURE__ */ React__default.createElement(
15181
15058
  ToolbarProvider,
15182
15059
  {
15183
- tinaForm: props.tinaForm,
15184
- templates: props.field.templates,
15185
- overrides: (_a = props.field) == null ? void 0 : _a.toolbarOverride
15060
+ tinaForm,
15061
+ templates: field.templates,
15062
+ overrides: (field == null ? void 0 : field.toolbarOverride) ? field.toolbarOverride : field.overrides
15186
15063
  },
15187
15064
  /* @__PURE__ */ React__default.createElement(FixedToolbar, null, /* @__PURE__ */ React__default.createElement(FixedToolbarButtons, null)),
15188
- /* @__PURE__ */ React__default.createElement(FloatingToolbar, null, /* @__PURE__ */ React__default.createElement(FloatingToolbarButtons, null))
15065
+ ((_a = field == null ? void 0 : field.overrides) == null ? void 0 : _a.showFloatingToolbar) !== false ? /* @__PURE__ */ React__default.createElement(FloatingToolbar, null, /* @__PURE__ */ React__default.createElement(FloatingToolbarButtons, null)) : null
15189
15066
  ), /* @__PURE__ */ React__default.createElement(Editor, null))
15190
15067
  ));
15191
15068
  };
@@ -16373,132 +16250,1209 @@ const ben = [
16373
16250
  "হয়"
16374
16251
  ];
16375
16252
  const bre = [
16253
+ "'blam",
16254
+ "'d",
16255
+ "'m",
16256
+ "'r",
16257
+ "'ta",
16258
+ "'vat",
16259
+ "'z",
16260
+ "'zo",
16376
16261
  "a",
16377
- "ainda",
16378
- "alem",
16379
- "ambas",
16380
- "ambos",
16381
- "antes",
16382
- "ao",
16383
- "aonde",
16384
- "aos",
16385
- "apos",
16386
- "aquele",
16387
- "aqueles",
16388
- "as",
16389
- "assim",
16390
- "com",
16391
- "como",
16392
- "contra",
16393
- "contudo",
16394
- "cuja",
16395
- "cujas",
16396
- "cujo",
16397
- "cujos",
16262
+ "a:",
16263
+ "aba",
16264
+ "abalamour",
16265
+ "abaoe",
16266
+ "ac'hane",
16267
+ "ac'hanoc'h",
16268
+ "ac'hanomp",
16269
+ "ac'hanon",
16270
+ "ac'hanout",
16271
+ "adal",
16272
+ "adalek",
16273
+ "adarre",
16274
+ "ae",
16275
+ "aec'h",
16276
+ "aed",
16277
+ "aemp",
16278
+ "aen",
16279
+ "aent",
16280
+ "aes",
16281
+ "afe",
16282
+ "afec'h",
16283
+ "afed",
16284
+ "afemp",
16285
+ "afen",
16286
+ "afent",
16287
+ "afes",
16288
+ "ag",
16289
+ "ah",
16290
+ "aimp",
16291
+ "aint",
16292
+ "aio",
16293
+ "aiou",
16294
+ "aje",
16295
+ "ajec'h",
16296
+ "ajed",
16297
+ "ajemp",
16298
+ "ajen",
16299
+ "ajent",
16300
+ "ajes",
16301
+ "al",
16302
+ "alato",
16303
+ "alies",
16304
+ "aliesañ",
16305
+ "alkent",
16306
+ "all",
16307
+ "allas",
16308
+ "allo",
16309
+ "allô",
16310
+ "am",
16311
+ "amañ",
16312
+ "amzer",
16313
+ "an",
16314
+ "anezhañ",
16315
+ "anezhe",
16316
+ "anezhi",
16317
+ "anezho",
16318
+ "anvet",
16319
+ "aon",
16320
+ "aotren",
16321
+ "ar",
16322
+ "arall",
16323
+ "araok",
16324
+ "araoki",
16325
+ "araozañ",
16326
+ "araozo",
16327
+ "araozoc'h",
16328
+ "araozomp",
16329
+ "araozon",
16330
+ "araozor",
16331
+ "araozout",
16332
+ "arbenn",
16333
+ "arre",
16334
+ "atalek",
16335
+ "atav",
16336
+ "az",
16337
+ "azalek",
16338
+ "azirazañ",
16339
+ "azirazi",
16340
+ "azirazo",
16341
+ "azirazoc'h",
16342
+ "azirazomp",
16343
+ "azirazon",
16344
+ "azirazor",
16345
+ "azirazout",
16346
+ "b:",
16347
+ "ba",
16348
+ "ba'l",
16349
+ "ba'n",
16350
+ "ba'r",
16351
+ "bad",
16352
+ "bah",
16353
+ "bal",
16354
+ "ban",
16355
+ "bar",
16356
+ "bastañ",
16357
+ "befe",
16358
+ "bell",
16359
+ "benaos",
16360
+ "benn",
16361
+ "bennag",
16362
+ "bennak",
16363
+ "bennozh",
16364
+ "bep",
16365
+ "bepred",
16366
+ "berr",
16367
+ "berzh",
16368
+ "bet",
16369
+ "betek",
16370
+ "betra",
16371
+ "bev",
16372
+ "bevet",
16373
+ "bez",
16374
+ "bezañ",
16375
+ "beze",
16376
+ "bezent",
16377
+ "bezet",
16378
+ "bezh",
16379
+ "bezit",
16380
+ "bezomp",
16381
+ "bihan",
16382
+ "bije",
16383
+ "biou",
16384
+ "biskoazh",
16385
+ "blam",
16386
+ "bo",
16387
+ "boa",
16388
+ "bominapl",
16389
+ "boudoudom",
16390
+ "bouez",
16391
+ "boull",
16392
+ "boum",
16393
+ "bout",
16394
+ "bras",
16395
+ "brasañ",
16396
+ "brav",
16397
+ "bravo",
16398
+ "bremañ",
16399
+ "bres",
16400
+ "brokenn",
16401
+ "bronn",
16402
+ "brrr",
16403
+ "brutal",
16404
+ "buhezek",
16405
+ "c'h:",
16406
+ "c'haout",
16407
+ "c'he",
16408
+ "c'hem",
16409
+ "c'herz",
16410
+ "c'heñver",
16411
+ "c'hichen",
16412
+ "c'hiz",
16413
+ "c'hoazh",
16414
+ "c'horre",
16415
+ "c'houde",
16416
+ "c'houst",
16417
+ "c'hreiz",
16418
+ "c'hwec'h",
16419
+ "c'hwec'hvet",
16420
+ "c'hwezek",
16421
+ "c'hwi",
16422
+ "ch:",
16423
+ "chaous",
16424
+ "chik",
16425
+ "chit",
16426
+ "chom",
16427
+ "chut",
16428
+ "d'",
16429
+ "d'al",
16430
+ "d'an",
16431
+ "d'ar",
16432
+ "d'az",
16433
+ "d'e",
16434
+ "d'he",
16435
+ "d'ho",
16436
+ "d'hol",
16437
+ "d'hon",
16438
+ "d'hor",
16439
+ "d'o",
16440
+ "d'ober",
16441
+ "d'ul",
16442
+ "d'un",
16443
+ "d'ur",
16444
+ "d:",
16398
16445
  "da",
16399
- "das",
16400
- "de",
16401
- "dela",
16402
- "dele",
16403
- "deles",
16404
- "demais",
16405
- "depois",
16406
- "desde",
16407
- "desta",
16408
- "deste",
16409
- "dispoe",
16410
- "dispoem",
16411
- "diversa",
16412
- "diversas",
16413
- "diversos",
16446
+ "dak",
16447
+ "daka",
16448
+ "dal",
16449
+ "dalbezh",
16450
+ "dalc'hmat",
16451
+ "dalit",
16452
+ "damdost",
16453
+ "damheñvel",
16454
+ "damm",
16455
+ "dan",
16456
+ "danvez",
16457
+ "dao",
16458
+ "daol",
16459
+ "daonet",
16460
+ "daou",
16461
+ "daoust",
16462
+ "daouzek",
16463
+ "daouzekvet",
16464
+ "darn",
16465
+ "dastrewiñ",
16466
+ "dav",
16467
+ "davedoc'h",
16468
+ "davedomp",
16469
+ "davedon",
16470
+ "davedor",
16471
+ "davedout",
16472
+ "davet",
16473
+ "davetañ",
16474
+ "davete",
16475
+ "daveti",
16476
+ "daveto",
16477
+ "defe",
16478
+ "dehou",
16479
+ "dek",
16480
+ "dekvet",
16481
+ "den",
16482
+ "deoc'h",
16483
+ "deomp",
16484
+ "deor",
16485
+ "derc'hel",
16486
+ "deus",
16487
+ "dez",
16488
+ "deze",
16489
+ "dezhañ",
16490
+ "dezhe",
16491
+ "dezhi",
16492
+ "dezho",
16493
+ "di",
16494
+ "diabarzh",
16495
+ "diagent",
16496
+ "diar",
16497
+ "diaraok",
16498
+ "diavaez",
16499
+ "dibaoe",
16500
+ "dibaot",
16501
+ "dibar",
16502
+ "dic'halañ",
16503
+ "didiac'h",
16504
+ "dienn",
16505
+ "difer",
16506
+ "diganeoc'h",
16507
+ "diganeomp",
16508
+ "diganeor",
16509
+ "diganimp",
16510
+ "diganin",
16511
+ "diganit",
16512
+ "digant",
16513
+ "digantañ",
16514
+ "digante",
16515
+ "diganti",
16516
+ "diganto",
16517
+ "digemmesk",
16518
+ "diget",
16519
+ "digor",
16520
+ "digoret",
16521
+ "dija",
16522
+ "dije",
16523
+ "dimp",
16524
+ "din",
16525
+ "dinaou",
16526
+ "dindan",
16527
+ "dindanañ",
16528
+ "dindani",
16529
+ "dindano",
16530
+ "dindanoc'h",
16531
+ "dindanomp",
16532
+ "dindanon",
16533
+ "dindanor",
16534
+ "dindanout",
16535
+ "dioutañ",
16536
+ "dioute",
16537
+ "diouti",
16538
+ "diouto",
16539
+ "diouzh",
16540
+ "diouzhin",
16541
+ "diouzhit",
16542
+ "diouzhoc'h",
16543
+ "diouzhomp",
16544
+ "diouzhor",
16545
+ "dirak",
16546
+ "dirazañ",
16547
+ "dirazi",
16548
+ "dirazo",
16549
+ "dirazoc'h",
16550
+ "dirazomp",
16551
+ "dirazon",
16552
+ "dirazor",
16553
+ "dirazout",
16554
+ "disheñvel",
16555
+ "dispar",
16556
+ "distank",
16557
+ "dister",
16558
+ "disterañ",
16559
+ "disterig",
16560
+ "distro",
16561
+ "dit",
16562
+ "divaez",
16563
+ "diwar",
16564
+ "diwezhat",
16565
+ "diwezhañ",
16414
16566
  "do",
16415
- "dos",
16416
- "durante",
16567
+ "doa",
16568
+ "doare",
16569
+ "dont",
16570
+ "dost",
16571
+ "doue",
16572
+ "douetus",
16573
+ "douez",
16574
+ "doug",
16575
+ "draou",
16576
+ "draoñ",
16577
+ "dre",
16578
+ "drede",
16579
+ "dreist",
16580
+ "dreistañ",
16581
+ "dreisti",
16582
+ "dreisto",
16583
+ "dreistoc'h",
16584
+ "dreistomp",
16585
+ "dreiston",
16586
+ "dreistor",
16587
+ "dreistout",
16588
+ "drek",
16589
+ "dreñv",
16590
+ "dring",
16591
+ "dro",
16592
+ "du",
16417
16593
  "e",
16418
- "ela",
16419
- "elas",
16420
- "ele",
16421
- "eles",
16594
+ "e:",
16595
+ "eas",
16596
+ "ebet",
16597
+ "ec'h",
16598
+ "edo",
16599
+ "edoc'h",
16600
+ "edod",
16601
+ "edomp",
16602
+ "edon",
16603
+ "edont",
16604
+ "edos",
16605
+ "eer",
16606
+ "eeun",
16607
+ "efed",
16608
+ "egedoc'h",
16609
+ "egedomp",
16610
+ "egedon",
16611
+ "egedor",
16612
+ "egedout",
16613
+ "eget",
16614
+ "egetañ",
16615
+ "egete",
16616
+ "egeti",
16617
+ "egeto",
16618
+ "eh",
16619
+ "eil",
16620
+ "eilvet",
16621
+ "eizh",
16622
+ "eizhvet",
16623
+ "ejoc'h",
16624
+ "ejod",
16625
+ "ejomp",
16626
+ "ejont",
16627
+ "ejout",
16628
+ "el",
16422
16629
  "em",
16423
- "entao",
16424
- "entre",
16425
- "essa",
16426
- "essas",
16427
- "esse",
16428
- "esses",
16429
- "esta",
16430
- "estas",
16431
- "este",
16432
- "estes",
16630
+ "emaint",
16631
+ "emaoc'h",
16632
+ "emaomp",
16633
+ "emaon",
16634
+ "emaout",
16635
+ "emañ",
16636
+ "eme",
16637
+ "emeur",
16638
+ "emezañ",
16639
+ "emezi",
16640
+ "emezo",
16641
+ "emezoc'h",
16642
+ "emezomp",
16643
+ "emezon",
16644
+ "emezout",
16645
+ "emporzhiañ",
16646
+ "en",
16647
+ "end",
16648
+ "endan",
16649
+ "endra",
16650
+ "enep",
16651
+ "ennañ",
16652
+ "enni",
16653
+ "enno",
16654
+ "ennoc'h",
16655
+ "ennomp",
16656
+ "ennon",
16657
+ "ennor",
16658
+ "ennout",
16659
+ "enta",
16660
+ "eo",
16661
+ "eomp",
16662
+ "eont",
16663
+ "eor",
16664
+ "eot",
16665
+ "er",
16666
+ "erbet",
16667
+ "erfin",
16668
+ "esa",
16669
+ "esae",
16670
+ "espar",
16671
+ "estlamm",
16672
+ "estrañj",
16673
+ "eta",
16674
+ "etre",
16675
+ "etreoc'h",
16676
+ "etrezo",
16677
+ "etrezoc'h",
16678
+ "etrezomp",
16679
+ "etrezor",
16680
+ "euh",
16681
+ "eur",
16682
+ "eus",
16683
+ "evel",
16684
+ "evelato",
16685
+ "eveldoc'h",
16686
+ "eveldomp",
16687
+ "eveldon",
16688
+ "eveldor",
16689
+ "eveldout",
16690
+ "evelkent",
16691
+ "eveltañ",
16692
+ "evelte",
16693
+ "evelti",
16694
+ "evelto",
16695
+ "evidoc'h",
16696
+ "evidomp",
16697
+ "evidon",
16698
+ "evidor",
16699
+ "evidout",
16700
+ "evit",
16701
+ "evitañ",
16702
+ "evite",
16703
+ "eviti",
16704
+ "evito",
16705
+ "ez",
16706
+ "eñ",
16707
+ "f:",
16708
+ "fac'h",
16709
+ "fall",
16710
+ "fed",
16711
+ "feiz",
16712
+ "fenn",
16713
+ "fezh",
16714
+ "fin",
16715
+ "finsalvet",
16716
+ "foei",
16717
+ "fouilhezañ",
16718
+ "g:",
16719
+ "gallout",
16720
+ "ganeoc'h",
16721
+ "ganeomp",
16722
+ "ganin",
16723
+ "ganit",
16724
+ "gant",
16725
+ "gantañ",
16726
+ "ganti",
16727
+ "ganto",
16728
+ "gaout",
16729
+ "gast",
16730
+ "gein",
16731
+ "gellout",
16732
+ "genndost",
16733
+ "gentañ",
16734
+ "ger",
16735
+ "gerz",
16736
+ "get",
16737
+ "geñver",
16738
+ "gichen",
16739
+ "gin",
16740
+ "giz",
16741
+ "glan",
16742
+ "gloev",
16743
+ "goll",
16744
+ "gorre",
16745
+ "goude",
16746
+ "gouez",
16747
+ "gouezit",
16748
+ "gouezomp",
16749
+ "goulz",
16750
+ "gounnar",
16751
+ "gour",
16752
+ "goust",
16753
+ "gouze",
16754
+ "gouzout",
16755
+ "gra",
16756
+ "grak",
16757
+ "grec'h",
16758
+ "greiz",
16759
+ "grenn",
16760
+ "greomp",
16761
+ "grit",
16762
+ "groñs",
16763
+ "gutez",
16764
+ "gwall",
16765
+ "gwashoc'h",
16766
+ "gwazh",
16767
+ "gwech",
16768
+ "gwechall",
16769
+ "gwechoù",
16770
+ "gwell",
16771
+ "gwezh",
16772
+ "gwezhall",
16773
+ "gwezharall",
16774
+ "gwezhoù",
16775
+ "gwig",
16776
+ "gwirionez",
16777
+ "gwitibunan",
16778
+ "gêr",
16779
+ "h:",
16433
16780
  "ha",
16434
- "isso",
16435
- "isto",
16436
- "logo",
16437
- "mais",
16438
- "mas",
16439
- "mediante",
16440
- "menos",
16441
- "mesma",
16442
- "mesmas",
16443
- "mesmo",
16444
- "mesmos",
16781
+ "hag",
16782
+ "han",
16783
+ "hanter",
16784
+ "hanterc'hantad",
16785
+ "hanterkantved",
16786
+ "harz",
16787
+ "hañ",
16788
+ "hañval",
16789
+ "he",
16790
+ "hebioù",
16791
+ "hec'h",
16792
+ "hei",
16793
+ "hein",
16794
+ "hem",
16795
+ "hemañ",
16796
+ "hen",
16797
+ "hend",
16798
+ "henhont",
16799
+ "henn",
16800
+ "hennezh",
16801
+ "hent",
16802
+ "hep",
16803
+ "hervez",
16804
+ "hervezañ",
16805
+ "hervezi",
16806
+ "hervezo",
16807
+ "hervezoc'h",
16808
+ "hervezomp",
16809
+ "hervezon",
16810
+ "hervezor",
16811
+ "hervezout",
16812
+ "heul",
16813
+ "heuliañ",
16814
+ "hevelep",
16815
+ "heverk",
16816
+ "heñvel",
16817
+ "heñvelat",
16818
+ "heñvelañ",
16819
+ "heñveliñ",
16820
+ "heñveloc'h",
16821
+ "heñvelout",
16822
+ "hi",
16823
+ "hilh",
16824
+ "hini",
16825
+ "hirie",
16826
+ "hirio",
16827
+ "hiziv",
16828
+ "hiziviken",
16829
+ "ho",
16830
+ "hoaliñ",
16831
+ "hoc'h",
16832
+ "hogen",
16833
+ "hogos",
16834
+ "hogozik",
16835
+ "hol",
16836
+ "holl",
16837
+ "holà",
16838
+ "homañ",
16839
+ "hon",
16840
+ "honhont",
16841
+ "honnezh",
16842
+ "hont",
16843
+ "hop",
16844
+ "hopala",
16845
+ "hor",
16846
+ "hou",
16847
+ "houp",
16848
+ "hudu",
16849
+ "hue",
16850
+ "hui",
16851
+ "hum",
16852
+ "hurrah",
16853
+ "i",
16854
+ "i:",
16855
+ "in",
16856
+ "int",
16857
+ "is",
16858
+ "ispisial",
16859
+ "isurzhiet",
16860
+ "it",
16861
+ "ivez",
16862
+ "izelañ",
16863
+ "j:",
16864
+ "just",
16865
+ "k:",
16866
+ "kae",
16867
+ "kaer",
16868
+ "kalon",
16869
+ "kalz",
16870
+ "kant",
16871
+ "kaout",
16872
+ "kar",
16873
+ "kazi",
16874
+ "keid",
16875
+ "kein",
16876
+ "keit",
16877
+ "kel",
16878
+ "kellies",
16879
+ "keloù",
16880
+ "kement",
16881
+ "ken",
16882
+ "kenkent",
16883
+ "kenkoulz",
16884
+ "kenment",
16885
+ "kent",
16886
+ "kentañ",
16887
+ "kentizh",
16888
+ "kentoc'h",
16889
+ "kentre",
16890
+ "ker",
16891
+ "kerkent",
16892
+ "kerz",
16893
+ "kerzh",
16894
+ "ket",
16895
+ "keta",
16896
+ "keñver",
16897
+ "keñverel",
16898
+ "keñverius",
16899
+ "kichen",
16900
+ "kichenik",
16901
+ "kit",
16902
+ "kiz",
16903
+ "klak",
16904
+ "klek",
16905
+ "klik",
16906
+ "komprenet",
16907
+ "komz",
16908
+ "kont",
16909
+ "korf",
16910
+ "korre",
16911
+ "koulskoude",
16912
+ "koulz",
16913
+ "koust",
16914
+ "krak",
16915
+ "krampouezh",
16916
+ "krec'h",
16917
+ "kreiz",
16918
+ "kuit",
16919
+ "kwir",
16920
+ "l:",
16921
+ "la",
16922
+ "laez",
16923
+ "laoskel",
16924
+ "laouen",
16925
+ "lavar",
16926
+ "lavaret",
16927
+ "lavarout",
16928
+ "lec'h",
16929
+ "lein",
16930
+ "leizh",
16931
+ "lerc'h",
16932
+ "leun",
16933
+ "leuskel",
16934
+ "lew",
16935
+ "lies",
16936
+ "liesañ",
16937
+ "lod",
16938
+ "lusk",
16939
+ "lâr",
16940
+ "lârout",
16941
+ "m:",
16942
+ "ma",
16943
+ "ma'z",
16944
+ "mac'h",
16945
+ "mac'hat",
16946
+ "mac'hañ",
16947
+ "mac'hoc'h",
16948
+ "mad",
16949
+ "maez",
16950
+ "maksimal",
16951
+ "mann",
16952
+ "mar",
16953
+ "mard",
16954
+ "marg",
16955
+ "marzh",
16956
+ "mat",
16957
+ "mañ",
16958
+ "me",
16959
+ "memes",
16960
+ "memestra",
16961
+ "merkapl",
16962
+ "mersi",
16963
+ "mes",
16964
+ "mesk",
16965
+ "met",
16966
+ "meur",
16967
+ "mil",
16968
+ "minimal",
16969
+ "moan",
16970
+ "moaniaat",
16971
+ "mod",
16972
+ "mont",
16973
+ "mout",
16974
+ "mui",
16975
+ "muiañ",
16976
+ "muioc'h",
16977
+ "n",
16978
+ "n'",
16979
+ "n:",
16445
16980
  "na",
16446
- "nao",
16447
- "nas",
16448
- "nem",
16449
- "nesse",
16450
- "neste",
16451
- "nos",
16981
+ "nag",
16982
+ "naontek",
16983
+ "naturel",
16984
+ "nav",
16985
+ "navet",
16986
+ "ne",
16987
+ "nebeudig",
16988
+ "nebeut",
16989
+ "nebeutañ",
16990
+ "nebeutoc'h",
16991
+ "neketa",
16992
+ "nemedoc'h",
16993
+ "nemedomp",
16994
+ "nemedon",
16995
+ "nemedor",
16996
+ "nemedout",
16997
+ "nemet",
16998
+ "nemetañ",
16999
+ "nemete",
17000
+ "nemeti",
17001
+ "nemeto",
17002
+ "nemeur",
17003
+ "neoac'h",
17004
+ "nepell",
17005
+ "nerzh",
17006
+ "nes",
17007
+ "neseser",
17008
+ "netra",
17009
+ "neubeudoù",
17010
+ "neuhe",
17011
+ "neuze",
17012
+ "nevez",
17013
+ "newazh",
17014
+ "nez",
17015
+ "ni",
17016
+ "nikun",
17017
+ "niverus",
17018
+ "nul",
16452
17019
  "o",
16453
- "os",
16454
- "ou",
16455
- "outra",
16456
- "outras",
16457
- "outro",
16458
- "outros",
16459
- "pelas",
16460
- "pelo",
16461
- "pelos",
16462
- "perante",
16463
- "pois",
16464
- "por",
16465
- "porque",
16466
- "portanto",
16467
- "propios",
16468
- "proprio",
16469
- "quais",
16470
- "qual",
16471
- "qualquer",
16472
- "quando",
16473
- "quanto",
16474
- "que",
16475
- "quem",
16476
- "quer",
17020
+ "o:",
17021
+ "oa",
17022
+ "oac'h",
17023
+ "oad",
17024
+ "oamp",
17025
+ "oan",
17026
+ "oant",
17027
+ "oar",
17028
+ "oas",
17029
+ "ober",
17030
+ "oc'h",
17031
+ "oc'ho",
17032
+ "oc'hola",
17033
+ "oc'hpenn",
17034
+ "oh",
17035
+ "ohe",
17036
+ "ollé",
17037
+ "olole",
17038
+ "olé",
17039
+ "omp",
17040
+ "on",
17041
+ "ordin",
17042
+ "ordinal",
17043
+ "ouejoc'h",
17044
+ "ouejod",
17045
+ "ouejomp",
17046
+ "ouejont",
17047
+ "ouejout",
17048
+ "ouek",
17049
+ "ouezas",
17050
+ "ouezi",
17051
+ "ouezimp",
17052
+ "ouezin",
17053
+ "ouezint",
17054
+ "ouezis",
17055
+ "ouezo",
17056
+ "ouezoc'h",
17057
+ "ouezor",
17058
+ "ouf",
17059
+ "oufe",
17060
+ "oufec'h",
17061
+ "oufed",
17062
+ "oufemp",
17063
+ "oufen",
17064
+ "oufent",
17065
+ "oufes",
17066
+ "ouie",
17067
+ "ouiec'h",
17068
+ "ouied",
17069
+ "ouiemp",
17070
+ "ouien",
17071
+ "ouient",
17072
+ "ouies",
17073
+ "ouije",
17074
+ "ouijec'h",
17075
+ "ouijed",
17076
+ "ouijemp",
17077
+ "ouijen",
17078
+ "ouijent",
17079
+ "ouijes",
17080
+ "out",
17081
+ "outañ",
17082
+ "outi",
17083
+ "outo",
17084
+ "ouzer",
17085
+ "ouzh",
17086
+ "ouzhin",
17087
+ "ouzhit",
17088
+ "ouzhoc'h",
17089
+ "ouzhomp",
17090
+ "ouzhor",
17091
+ "ouzhpenn",
17092
+ "ouzhpennik",
17093
+ "ouzoc'h",
17094
+ "ouzomp",
17095
+ "ouzon",
17096
+ "ouzont",
17097
+ "ouzout",
17098
+ "p'",
17099
+ "p:",
17100
+ "pa",
17101
+ "pad",
17102
+ "padal",
17103
+ "paf",
17104
+ "pan",
17105
+ "panevedeoc'h",
17106
+ "panevedo",
17107
+ "panevedomp",
17108
+ "panevedon",
17109
+ "panevedout",
17110
+ "panevet",
17111
+ "panevetañ",
17112
+ "paneveti",
17113
+ "pas",
17114
+ "paseet",
17115
+ "pe",
17116
+ "peadra",
17117
+ "peder",
17118
+ "pedervet",
17119
+ "pedervetvet",
17120
+ "pefe",
17121
+ "pegeit",
17122
+ "pegement",
17123
+ "pegen",
17124
+ "pegiz",
17125
+ "pegoulz",
17126
+ "pehini",
17127
+ "pelec'h",
17128
+ "pell",
17129
+ "pemod",
17130
+ "pemp",
17131
+ "pempved",
17132
+ "pemzek",
17133
+ "penaos",
17134
+ "penn",
17135
+ "peogwir",
17136
+ "peotramant",
17137
+ "pep",
17138
+ "perak",
17139
+ "perc'hennañ",
17140
+ "pergen",
17141
+ "permetiñ",
17142
+ "peseurt",
17143
+ "pet",
17144
+ "petiaoul",
17145
+ "petoare",
17146
+ "petra",
17147
+ "peur",
17148
+ "peurgetket",
17149
+ "peurheñvel",
17150
+ "peurliesañ",
17151
+ "peurvuiañ",
17152
+ "peus",
17153
+ "peustost",
17154
+ "peuz",
17155
+ "pevar",
17156
+ "pevare",
17157
+ "pevarevet",
17158
+ "pevarzek",
17159
+ "pez",
17160
+ "peze",
17161
+ "pezh",
17162
+ "pff",
17163
+ "pfft",
17164
+ "pfut",
17165
+ "picher",
17166
+ "pif",
17167
+ "pife",
17168
+ "pign",
17169
+ "pije",
17170
+ "pikol",
17171
+ "pitiaoul",
17172
+ "piv",
17173
+ "plaouf",
17174
+ "plok",
17175
+ "plouf",
17176
+ "po",
17177
+ "poa",
17178
+ "poelladus",
17179
+ "pof",
17180
+ "pok",
17181
+ "posupl",
17182
+ "pouah",
17183
+ "pourc'henn",
17184
+ "prest",
17185
+ "prestik",
17186
+ "prim",
17187
+ "prin",
17188
+ "provostapl",
17189
+ "pst",
17190
+ "pu",
17191
+ "pur",
17192
+ "r:",
17193
+ "ra",
17194
+ "rae",
17195
+ "raec'h",
17196
+ "raed",
17197
+ "raemp",
17198
+ "raen",
17199
+ "raent",
17200
+ "raes",
17201
+ "rafe",
17202
+ "rafec'h",
17203
+ "rafed",
17204
+ "rafemp",
17205
+ "rafen",
17206
+ "rafent",
17207
+ "rafes",
17208
+ "rag",
17209
+ "raimp",
17210
+ "raint",
17211
+ "raio",
17212
+ "raje",
17213
+ "rajec'h",
17214
+ "rajed",
17215
+ "rajemp",
17216
+ "rajen",
17217
+ "rajent",
17218
+ "rajes",
17219
+ "rak",
17220
+ "ral",
17221
+ "ran",
17222
+ "rankout",
17223
+ "raok",
17224
+ "razh",
17225
+ "re",
17226
+ "reas",
17227
+ "reer",
17228
+ "regennoù",
17229
+ "reiñ",
17230
+ "rejoc'h",
17231
+ "rejod",
17232
+ "rejomp",
17233
+ "rejont",
17234
+ "rejout",
17235
+ "rener",
17236
+ "rentañ",
17237
+ "reoc'h",
17238
+ "reomp",
17239
+ "reont",
17240
+ "reor",
17241
+ "reot",
17242
+ "resis",
17243
+ "ret",
17244
+ "reve",
17245
+ "rez",
17246
+ "ri",
17247
+ "rik",
17248
+ "rin",
17249
+ "ris",
17250
+ "rit",
17251
+ "rouez",
17252
+ "s:",
17253
+ "sac'h",
17254
+ "sant",
17255
+ "sav",
17256
+ "sañset",
16477
17257
  "se",
16478
- "seja",
16479
- "sem",
16480
- "sendo",
16481
- "seu",
16482
- "seus",
16483
- "sob",
16484
- "sobre",
16485
- "sua",
16486
- "suas",
17258
+ "sed",
17259
+ "seitek",
17260
+ "seizh",
17261
+ "seizhvet",
17262
+ "sell",
17263
+ "sellit",
17264
+ "ser",
17265
+ "setu",
17266
+ "seul",
17267
+ "seurt",
17268
+ "siwazh",
17269
+ "skignañ",
17270
+ "skoaz",
17271
+ "skouer",
17272
+ "sort",
17273
+ "souden",
17274
+ "souvitañ",
17275
+ "soñj",
17276
+ "speriañ",
17277
+ "spririñ",
17278
+ "stad",
17279
+ "stlabezañ",
17280
+ "stop",
17281
+ "stranañ",
17282
+ "strewiñ",
17283
+ "strishaat",
17284
+ "stumm",
17285
+ "sujed",
17286
+ "surtoud",
17287
+ "t:",
17288
+ "ta",
17289
+ "taer",
17290
+ "tailh",
17291
+ "tak",
16487
17292
  "tal",
16488
- "tambem",
16489
- "teu",
17293
+ "talvoudegezh",
17294
+ "tamm",
17295
+ "tanav",
17296
+ "taol",
17297
+ "te",
17298
+ "techet",
17299
+ "teir",
17300
+ "teirvet",
17301
+ "telt",
17302
+ "teltenn",
16490
17303
  "teus",
16491
- "toda",
16492
- "todas",
16493
- "todo",
16494
- "todos",
16495
- "tua",
16496
- "tuas",
16497
- "tudo",
16498
- "um",
16499
- "uma",
16500
- "umas",
16501
- "uns"
17304
+ "teut",
17305
+ "teuteu",
17306
+ "ti",
17307
+ "tik",
17308
+ "toa",
17309
+ "tok",
17310
+ "tost",
17311
+ "tostig",
17312
+ "toud",
17313
+ "touesk",
17314
+ "touez",
17315
+ "toull",
17316
+ "tra",
17317
+ "trantenn",
17318
+ "traoñ",
17319
+ "trawalc'h",
17320
+ "tre",
17321
+ "trede",
17322
+ "tregont",
17323
+ "tremenet",
17324
+ "tri",
17325
+ "trivet",
17326
+ "triwec'h",
17327
+ "trizek",
17328
+ "tro",
17329
+ "trugarez",
17330
+ "trumm",
17331
+ "tsoin",
17332
+ "tsouin",
17333
+ "tu",
17334
+ "tud",
17335
+ "u:",
17336
+ "ugent",
17337
+ "uhel",
17338
+ "uhelañ",
17339
+ "ul",
17340
+ "un",
17341
+ "unan",
17342
+ "unanez",
17343
+ "unanig",
17344
+ "unnek",
17345
+ "unnekvet",
17346
+ "ur",
17347
+ "urzh",
17348
+ "us",
17349
+ "v:",
17350
+ "va",
17351
+ "vale",
17352
+ "van",
17353
+ "vare",
17354
+ "vat",
17355
+ "vefe",
17356
+ "vefec'h",
17357
+ "vefed",
17358
+ "vefemp",
17359
+ "vefen",
17360
+ "vefent",
17361
+ "vefes",
17362
+ "vesk",
17363
+ "vete",
17364
+ "vez",
17365
+ "vezan",
17366
+ "vezañ",
17367
+ "veze",
17368
+ "vezec'h",
17369
+ "vezed",
17370
+ "vezemp",
17371
+ "vezen",
17372
+ "vezent",
17373
+ "vezer",
17374
+ "vezes",
17375
+ "vezez",
17376
+ "vezit",
17377
+ "vezomp",
17378
+ "vezont",
17379
+ "vi",
17380
+ "vihan",
17381
+ "vihanañ",
17382
+ "vije",
17383
+ "vijec'h",
17384
+ "vijed",
17385
+ "vijemp",
17386
+ "vijen",
17387
+ "vijent",
17388
+ "vijes",
17389
+ "viken",
17390
+ "vimp",
17391
+ "vin",
17392
+ "vint",
17393
+ "vior",
17394
+ "viot",
17395
+ "virviken",
17396
+ "viskoazh",
17397
+ "vlan",
17398
+ "vlaou",
17399
+ "vo",
17400
+ "vod",
17401
+ "voe",
17402
+ "voec'h",
17403
+ "voed",
17404
+ "voemp",
17405
+ "voen",
17406
+ "voent",
17407
+ "voes",
17408
+ "vont",
17409
+ "vostapl",
17410
+ "vrac'h",
17411
+ "vrasañ",
17412
+ "vremañ",
17413
+ "w:",
17414
+ "walc'h",
17415
+ "war",
17416
+ "warnañ",
17417
+ "warni",
17418
+ "warno",
17419
+ "warnoc'h",
17420
+ "warnomp",
17421
+ "warnon",
17422
+ "warnor",
17423
+ "warnout",
17424
+ "wazh",
17425
+ "wech",
17426
+ "wechoù",
17427
+ "well",
17428
+ "y:",
17429
+ "you",
17430
+ "youadenn",
17431
+ "youc'hadenn",
17432
+ "youc'hou",
17433
+ "z:",
17434
+ "za",
17435
+ "zan",
17436
+ "zaw",
17437
+ "zeu",
17438
+ "zi",
17439
+ "ziar",
17440
+ "zigarez",
17441
+ "ziget",
17442
+ "zindan",
17443
+ "zioc'h",
17444
+ "ziouzh",
17445
+ "zirak",
17446
+ "zivout",
17447
+ "ziwar",
17448
+ "ziwezhañ",
17449
+ "zo",
17450
+ "zoken",
17451
+ "zokenoc'h",
17452
+ "zouesk",
17453
+ "zouez",
17454
+ "zro",
17455
+ "zu"
16502
17456
  ];
16503
17457
  const bul = [
16504
17458
  "а",
@@ -28154,22 +29108,32 @@ const tur = [
28154
29108
  "şöyle"
28155
29109
  ];
28156
29110
  const ukr = [
29111
+ "а",
29112
+ "або",
28157
29113
  "авжеж",
28158
29114
  "адже",
29115
+ "аж",
28159
29116
  "але",
29117
+ "ані",
28160
29118
  "б",
28161
29119
  "без",
29120
+ "би",
29121
+ "бо",
28162
29122
  "був",
28163
29123
  "була",
28164
29124
  "були",
28165
29125
  "було",
28166
29126
  "бути",
28167
29127
  "більш",
29128
+ "в",
28168
29129
  "вам",
29130
+ "вами",
28169
29131
  "вас",
28170
29132
  "весь",
29133
+ "вже",
28171
29134
  "вздовж",
28172
29135
  "ви",
29136
+ "від",
28173
29137
  "вниз",
28174
29138
  "внизу",
28175
29139
  "вона",
@@ -28178,55 +29142,138 @@ const ukr = [
28178
29142
  "все",
28179
29143
  "всередині",
28180
29144
  "всіх",
29145
+ "вся",
28181
29146
  "від",
28182
29147
  "він",
28183
29148
  "да",
28184
29149
  "давай",
28185
29150
  "давати",
28186
29151
  "де",
29152
+ "десь",
28187
29153
  "дещо",
28188
29154
  "для",
28189
29155
  "до",
29156
+ "є",
29157
+ "ж",
29158
+ "же",
28190
29159
  "з",
29160
+ "за",
28191
29161
  "завжди",
28192
29162
  "замість",
29163
+ "зі",
29164
+ "і",
29165
+ "із",
29166
+ "інших",
29167
+ "її",
29168
+ "їй",
29169
+ "їм",
29170
+ "їх",
28193
29171
  "й",
29172
+ "його",
29173
+ "йому",
28194
29174
  "коли",
28195
29175
  "ледве",
29176
+ "лиш",
28196
29177
  "майже",
29178
+ "мене",
29179
+ "мені",
28197
29180
  "ми",
29181
+ "між",
29182
+ "мій",
29183
+ "мною",
29184
+ "мов",
29185
+ "мого",
29186
+ "моєї",
29187
+ "моє",
29188
+ "може",
29189
+ "мої",
29190
+ "моїх",
29191
+ "моя",
29192
+ "на",
29193
+ "над",
28198
29194
  "навколо",
28199
29195
  "навіть",
28200
29196
  "нам",
29197
+ "нами",
29198
+ "нас",
29199
+ "наче",
29200
+ "наш",
29201
+ "не",
29202
+ "нє",
29203
+ "неї",
29204
+ "нема",
29205
+ "немов",
29206
+ "неначе",
29207
+ "нею",
29208
+ "ним",
29209
+ "ними",
29210
+ "них",
29211
+ "ні",
29212
+ "ніби",
29213
+ "ніщо",
29214
+ "нього",
29215
+ "о",
29216
+ "ось",
28201
29217
  "от",
28202
29218
  "отже",
28203
29219
  "отож",
29220
+ "під",
29221
+ "по",
28204
29222
  "поза",
28205
29223
  "про",
28206
29224
  "під",
29225
+ "сам",
29226
+ "сама",
29227
+ "свій",
29228
+ "свої",
29229
+ "своя",
29230
+ "свою",
29231
+ "себе",
29232
+ "собі",
28207
29233
  "та",
29234
+ "там",
28208
29235
  "так",
29236
+ "така",
28209
29237
  "такий",
28210
29238
  "також",
29239
+ "твій",
29240
+ "твого",
29241
+ "твоєї",
29242
+ "твої",
29243
+ "твоя",
28211
29244
  "те",
29245
+ "тебе",
28212
29246
  "ти",
29247
+ "ті",
29248
+ "тільки",
29249
+ "то",
29250
+ "тобі",
29251
+ "тобою",
28213
29252
  "тобто",
29253
+ "тоді",
28214
29254
  "тож",
29255
+ "той",
28215
29256
  "тощо",
29257
+ "тут",
29258
+ "у",
29259
+ "хіба",
29260
+ "хоч",
28216
29261
  "хоча",
28217
29262
  "це",
28218
29263
  "цей",
29264
+ "ці",
29265
+ "ця",
28219
29266
  "чи",
28220
29267
  "чого",
29268
+ "ще",
28221
29269
  "що",
29270
+ "щоб",
29271
+ "щось",
29272
+ "я",
28222
29273
  "як",
29274
+ "яка",
28223
29275
  "який",
28224
- "якої",
28225
- "є",
28226
- "із",
28227
- "інших",
28228
- "їх",
28229
- "її"
29276
+ "якої"
28230
29277
  ];
28231
29278
  const urd = [
28232
29279
  "آئی",
@@ -31857,6 +32904,7 @@ const CollectionListPage = () => {
31857
32904
  const [vars, setVars] = React__default.useState({
31858
32905
  collection: collectionName,
31859
32906
  relativePath: "",
32907
+ relativePathWithoutExtension: "",
31860
32908
  newRelativePath: "",
31861
32909
  filterField: "",
31862
32910
  folderName: "",
@@ -31898,6 +32946,7 @@ const CollectionListPage = () => {
31898
32946
  ...old,
31899
32947
  collection: collectionName,
31900
32948
  relativePath: "",
32949
+ relativePathWithoutExtension: "",
31901
32950
  newRelativePath: "",
31902
32951
  filterField: "",
31903
32952
  startsWith: "",
@@ -31923,6 +32972,7 @@ const CollectionListPage = () => {
31923
32972
  collectionName === vars.collection ? vars : {
31924
32973
  collection: collectionName,
31925
32974
  relativePath: "",
32975
+ relativePathWithoutExtension: "",
31926
32976
  newRelativePath: "",
31927
32977
  filterField: "",
31928
32978
  startsWith: "",
@@ -32024,7 +33074,7 @@ const CollectionListPage = () => {
32024
33074
  ), renameModalOpen && /* @__PURE__ */ React__default.createElement(
32025
33075
  RenameModal,
32026
33076
  {
32027
- filename: vars.relativePath,
33077
+ filename: vars.relativePathWithoutExtension,
32028
33078
  newRelativePath: vars.newRelativePath,
32029
33079
  setNewRelativePath: (newRelativePath) => {
32030
33080
  setVars((vars2) => {
@@ -32345,6 +33395,9 @@ const CollectionListPage = () => {
32345
33395
  setVars((old) => ({
32346
33396
  ...old,
32347
33397
  collection: collectionName,
33398
+ relativePathWithoutExtension: document2.node._sys.breadcrumbs.join(
33399
+ "/"
33400
+ ),
32348
33401
  relativePath: document2.node._sys.breadcrumbs.join(
32349
33402
  "/"
32350
33403
  ) + document2.node._sys.extension,
@@ -32367,6 +33420,9 @@ const CollectionListPage = () => {
32367
33420
  setVars((old) => ({
32368
33421
  ...old,
32369
33422
  collection: collectionName,
33423
+ relativePathWithoutExtension: document2.node._sys.breadcrumbs.join(
33424
+ "/"
33425
+ ),
32370
33426
  relativePath: document2.node._sys.breadcrumbs.join(
32371
33427
  "/"
32372
33428
  ) + document2.node._sys.extension,
@@ -32579,7 +33635,7 @@ const RenameModal = ({
32579
33635
  newRelativePath,
32580
33636
  setNewRelativePath
32581
33637
  }) => {
32582
- return /* @__PURE__ */ React__default.createElement(Modal, null, /* @__PURE__ */ React__default.createElement(PopupModal, null, /* @__PURE__ */ React__default.createElement(ModalHeader, { close: close2 }, "Rename ", filename), /* @__PURE__ */ React__default.createElement(ModalBody, { padded: true }, /* @__PURE__ */ React__default.createElement(React__default.Fragment, null, /* @__PURE__ */ React__default.createElement("p", { className: "mb-4" }, "Are you sure you want to rename ", /* @__PURE__ */ React__default.createElement("strong", null, filename), "? TinaCMS uses the filename as the ID; renaming this file could result in unresolved references."), /* @__PURE__ */ React__default.createElement(
33638
+ return /* @__PURE__ */ React__default.createElement(Modal, null, /* @__PURE__ */ React__default.createElement(PopupModal, null, /* @__PURE__ */ React__default.createElement(ModalHeader, { close: close2 }, "Rename ", filename), /* @__PURE__ */ React__default.createElement(ModalBody, { padded: true }, /* @__PURE__ */ React__default.createElement(React__default.Fragment, null, /* @__PURE__ */ React__default.createElement("p", { className: "mb-4" }, "Are you sure you want to rename ", /* @__PURE__ */ React__default.createElement("strong", null, filename), "?"), /* @__PURE__ */ React__default.createElement(
32583
33639
  BaseTextField,
32584
33640
  {
32585
33641
  placeholder: "Enter a new name for the document's file",
@@ -32594,7 +33650,8 @@ const RenameModal = ({
32594
33650
  onClick: async () => {
32595
33651
  await renameFunc();
32596
33652
  close2();
32597
- }
33653
+ },
33654
+ disabled: !newRelativePath || newRelativePath === filename
32598
33655
  },
32599
33656
  "Rename"
32600
33657
  ))));
@@ -33265,15 +34322,24 @@ const IndexingPage = () => {
33265
34322
  }
33266
34323
  }
33267
34324
  if (state === "creatingPR") {
33268
- const foo = await tinaApi.createPullRequest({
33269
- baseBranch,
33270
- branch,
33271
- title: `${branch.replace("tina/", "").replace("-", " ")} (PR from TinaCMS)`
33272
- });
33273
- console.log("PR created", foo);
33274
- cms.alerts.success("Pull request created.");
33275
- localStorage.setItem("tina.createBranchState", "done");
33276
- setState("done");
34325
+ try {
34326
+ const foo = await tinaApi.createPullRequest({
34327
+ baseBranch,
34328
+ branch,
34329
+ title: `${branch.replace("tina/", "").replace("-", " ")} (PR from TinaCMS)`
34330
+ });
34331
+ console.log("PR created", foo);
34332
+ cms.alerts.success("Pull request created.");
34333
+ localStorage.setItem("tina.createBranchState", "done");
34334
+ setState("done");
34335
+ } catch (e) {
34336
+ console.error(e);
34337
+ cms.alerts.error("Failed to create PR");
34338
+ setErrorMessage(
34339
+ "Failed to create PR, please try again. If the problem persists please contact support."
34340
+ );
34341
+ setState("error");
34342
+ }
33277
34343
  }
33278
34344
  if (state === "done") {
33279
34345
  window.location.href = back;