tinacms 0.0.0-a318f2f-20241010063440 → 0.0.0-a4e58da-20250221000426
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/admin/api.d.ts +1 -0
- package/dist/admin/types.d.ts +3 -0
- package/dist/cache/node-cache.d.ts +1 -0
- package/dist/client.js +90 -61
- package/dist/client.mjs +49 -35
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1614 -467
- package/dist/index.mjs +1631 -484
- package/dist/node-cache-5e8db9f0.mjs +63 -0
- package/dist/react.d.ts +1 -0
- package/dist/react.js +10 -1
- package/dist/react.mjs +10 -1
- package/dist/toolkit/fields/components/reference/reference-select.d.ts +2 -2
- package/dist/toolkit/fields/plugins/mdx-field-plugin/index.d.ts +4 -1
- package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/index.d.ts +1 -1
- package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/plugins/ui/components.d.ts +6 -11
- package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/toolbar/toolbar-overrides.d.ts +5 -1
- package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/toolbar/toolbar-provider.d.ts +2 -2
- package/dist/toolkit/fields/plugins/wrap-field-with-meta.d.ts +8 -0
- package/dist/unifiedClient/index.d.ts +8 -1
- package/package.json +43 -43
- package/dist/__vite-browser-external-d06ac358.mjs +0 -4
- package/dist/node-cache-7fa2452c.mjs +0 -43
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
|
|
10
|
-
import { createPortal
|
|
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,
|
|
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, createBasicMarksPlugin, createHeadingPlugin, createParagraphPlugin, createBlockquotePlugin, createUnderlinePlugin, 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$
|
|
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";
|
|
@@ -801,6 +801,22 @@ function wrapFieldsWithMeta(Field2) {
|
|
|
801
801
|
);
|
|
802
802
|
};
|
|
803
803
|
}
|
|
804
|
+
function wrapFieldWithNoHeader(Field2) {
|
|
805
|
+
return (props) => {
|
|
806
|
+
return /* @__PURE__ */ React.createElement(
|
|
807
|
+
FieldMeta,
|
|
808
|
+
{
|
|
809
|
+
name: props.input.name,
|
|
810
|
+
label: false,
|
|
811
|
+
description: "",
|
|
812
|
+
error: props.meta.error,
|
|
813
|
+
index: props.index,
|
|
814
|
+
tinaForm: props.tinaForm
|
|
815
|
+
},
|
|
816
|
+
/* @__PURE__ */ React.createElement(Field2, { ...props })
|
|
817
|
+
);
|
|
818
|
+
};
|
|
819
|
+
}
|
|
804
820
|
function wrapFieldWithError(Field2) {
|
|
805
821
|
return (props) => {
|
|
806
822
|
return /* @__PURE__ */ React.createElement(
|
|
@@ -873,6 +889,16 @@ const FieldDescription = ({
|
|
|
873
889
|
className,
|
|
874
890
|
...props
|
|
875
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
|
+
}
|
|
876
902
|
return /* @__PURE__ */ React.createElement(
|
|
877
903
|
"span",
|
|
878
904
|
{
|
|
@@ -966,7 +992,7 @@ const Autocomplete = ({
|
|
|
966
992
|
}
|
|
967
993
|
}, [items2, query]);
|
|
968
994
|
return /* @__PURE__ */ React__default.createElement(
|
|
969
|
-
Combobox,
|
|
995
|
+
Combobox$1,
|
|
970
996
|
{
|
|
971
997
|
value,
|
|
972
998
|
onChange,
|
|
@@ -1332,8 +1358,8 @@ const ListElementVariants = withVariants(PlateElement, listVariants, [
|
|
|
1332
1358
|
]);
|
|
1333
1359
|
const ListElement = withRef(
|
|
1334
1360
|
({ children, variant = "ul", ...props }, ref) => {
|
|
1335
|
-
const
|
|
1336
|
-
return /* @__PURE__ */ React__default.createElement(ListElementVariants, { asChild: true, ref, variant, ...props }, /* @__PURE__ */ React__default.createElement(
|
|
1361
|
+
const Component = variant;
|
|
1362
|
+
return /* @__PURE__ */ React__default.createElement(ListElementVariants, { asChild: true, ref, variant, ...props }, /* @__PURE__ */ React__default.createElement(Component, null, children));
|
|
1337
1363
|
}
|
|
1338
1364
|
);
|
|
1339
1365
|
const ELEMENT_MERMAID = "mermaid";
|
|
@@ -1348,7 +1374,7 @@ const MermaidElementWithRef = ({ config }) => {
|
|
|
1348
1374
|
useEffect(() => {
|
|
1349
1375
|
if (mermaidRef.current) {
|
|
1350
1376
|
mermaid.initialize({ startOnLoad: true });
|
|
1351
|
-
mermaid.
|
|
1377
|
+
mermaid.init();
|
|
1352
1378
|
}
|
|
1353
1379
|
}, [config]);
|
|
1354
1380
|
return /* @__PURE__ */ React__default.createElement("div", { contentEditable: false, className: "border-border border-b" }, /* @__PURE__ */ React__default.createElement("div", { ref: mermaidRef }, /* @__PURE__ */ React__default.createElement("pre", { className: "mermaid not-tina-prose" }, config)));
|
|
@@ -1375,7 +1401,7 @@ flowchart TD
|
|
|
1375
1401
|
--> id2(modify me to see changes!)
|
|
1376
1402
|
id2
|
|
1377
1403
|
--> id3(Click the top button to preview the changes)
|
|
1378
|
-
--> id4(Learn about mermaid diagrams
|
|
1404
|
+
--> id4(Learn about mermaid diagrams - mermaid.js.org)`;
|
|
1379
1405
|
const MermaidElement = withRef(
|
|
1380
1406
|
({ children, nodeProps, element, ...props }, ref) => {
|
|
1381
1407
|
const [mermaidConfig, setMermaidConfig] = useState(
|
|
@@ -1391,7 +1417,7 @@ const MermaidElement = withRef(
|
|
|
1391
1417
|
children: [{ type: "text", text: "" }]
|
|
1392
1418
|
};
|
|
1393
1419
|
useEffect(() => {
|
|
1394
|
-
if (mermaid.parse(mermaidConfig
|
|
1420
|
+
if (mermaid.parse(mermaidConfig)) {
|
|
1395
1421
|
setMermaidError(null);
|
|
1396
1422
|
}
|
|
1397
1423
|
}, [mermaidConfig]);
|
|
@@ -2147,7 +2173,7 @@ const InlineComboboxInput = forwardRef(({ className, ...props }, propRef) => {
|
|
|
2147
2173
|
},
|
|
2148
2174
|
value || ""
|
|
2149
2175
|
), /* @__PURE__ */ React__default.createElement(
|
|
2150
|
-
Combobox$
|
|
2176
|
+
Combobox$2,
|
|
2151
2177
|
{
|
|
2152
2178
|
autoSelect: true,
|
|
2153
2179
|
className: cn$1(
|
|
@@ -2944,7 +2970,7 @@ const Components = () => {
|
|
|
2944
2970
|
),
|
|
2945
2971
|
[MARK_CODE]: CodeLeaf,
|
|
2946
2972
|
[MARK_UNDERLINE]: withProps(PlateLeaf, { as: "u" }),
|
|
2947
|
-
[MARK_STRIKETHROUGH]:
|
|
2973
|
+
[MARK_STRIKETHROUGH]: ({ editor, leaf, text, ...props }) => /* @__PURE__ */ React__default.createElement("s", { ...props.attributes, ...props }),
|
|
2948
2974
|
[MARK_ITALIC]: withProps(PlateLeaf, { as: "em" }),
|
|
2949
2975
|
[MARK_BOLD]: ({ editor, leaf, text, ...props }) => /* @__PURE__ */ React__default.createElement("strong", { ...props.attributes, ...props }),
|
|
2950
2976
|
[ELEMENT_HR]: ({
|
|
@@ -3653,7 +3679,7 @@ function TinaForm({ form, children }) {
|
|
|
3653
3679
|
}));
|
|
3654
3680
|
}
|
|
3655
3681
|
function TinaField({
|
|
3656
|
-
Component
|
|
3682
|
+
Component,
|
|
3657
3683
|
children,
|
|
3658
3684
|
...fieldProps
|
|
3659
3685
|
}) {
|
|
@@ -3661,7 +3687,7 @@ function TinaField({
|
|
|
3661
3687
|
if (!isEditing)
|
|
3662
3688
|
return children || null;
|
|
3663
3689
|
return /* @__PURE__ */ React.createElement(Field, { ...fieldProps }, ({ input, meta }) => {
|
|
3664
|
-
return /* @__PURE__ */ React.createElement(
|
|
3690
|
+
return /* @__PURE__ */ React.createElement(Component, { input, meta, ...fieldProps });
|
|
3665
3691
|
});
|
|
3666
3692
|
}
|
|
3667
3693
|
TinaField.propTypes = {
|
|
@@ -3703,7 +3729,7 @@ const Button$1 = ({
|
|
|
3703
3729
|
};
|
|
3704
3730
|
const sizeClasses = {
|
|
3705
3731
|
small: `text-xs h-8 px-3`,
|
|
3706
|
-
medium: `text-sm h-10 px-
|
|
3732
|
+
medium: `text-sm h-10 px-8`,
|
|
3707
3733
|
custom: ``
|
|
3708
3734
|
};
|
|
3709
3735
|
return /* @__PURE__ */ React.createElement(
|
|
@@ -3831,7 +3857,7 @@ var _excluded = ["attr", "size", "title"];
|
|
|
3831
3857
|
function _objectWithoutProperties(source, excluded) {
|
|
3832
3858
|
if (source == null)
|
|
3833
3859
|
return {};
|
|
3834
|
-
var target = _objectWithoutPropertiesLoose
|
|
3860
|
+
var target = _objectWithoutPropertiesLoose(source, excluded);
|
|
3835
3861
|
var key, i;
|
|
3836
3862
|
if (Object.getOwnPropertySymbols) {
|
|
3837
3863
|
var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
|
|
@@ -3846,7 +3872,7 @@ function _objectWithoutProperties(source, excluded) {
|
|
|
3846
3872
|
}
|
|
3847
3873
|
return target;
|
|
3848
3874
|
}
|
|
3849
|
-
function _objectWithoutPropertiesLoose
|
|
3875
|
+
function _objectWithoutPropertiesLoose(source, excluded) {
|
|
3850
3876
|
if (source == null)
|
|
3851
3877
|
return {};
|
|
3852
3878
|
var target = {};
|
|
@@ -4936,7 +4962,28 @@ const NumberInput = ({
|
|
|
4936
4962
|
onChange,
|
|
4937
4963
|
value,
|
|
4938
4964
|
step
|
|
4939
|
-
}) => /* @__PURE__ */ React.createElement(
|
|
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
|
+
);
|
|
4940
4987
|
function useCMS() {
|
|
4941
4988
|
return useCMS$1();
|
|
4942
4989
|
}
|
|
@@ -5177,7 +5224,7 @@ const PopoverContent = React.forwardRef(({ className, align = "center", sideOffs
|
|
|
5177
5224
|
side: "bottom",
|
|
5178
5225
|
className: cn(
|
|
5179
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",
|
|
5180
|
-
"max-h-[30vh] max-w-[
|
|
5227
|
+
"max-h-[30vh] max-w-[30vw] overflow-y-auto",
|
|
5181
5228
|
className
|
|
5182
5229
|
),
|
|
5183
5230
|
...props
|
|
@@ -5269,11 +5316,7 @@ const getFilename = (optionSets, value) => {
|
|
|
5269
5316
|
const node = nodes.find((node2) => node2.id === value);
|
|
5270
5317
|
return node ? node._internalSys.filename : null;
|
|
5271
5318
|
};
|
|
5272
|
-
const
|
|
5273
|
-
cms,
|
|
5274
|
-
input,
|
|
5275
|
-
field
|
|
5276
|
-
}) => {
|
|
5319
|
+
const Combobox = ({ cms, input, field }) => {
|
|
5277
5320
|
const [open2, setOpen] = React.useState(false);
|
|
5278
5321
|
const [value, setValue] = React.useState(input.value);
|
|
5279
5322
|
const [displayText, setDisplayText] = React.useState(null);
|
|
@@ -5297,17 +5340,17 @@ const ComboboxDemo = ({
|
|
|
5297
5340
|
if (loading === true) {
|
|
5298
5341
|
return /* @__PURE__ */ React.createElement(LoadingDots, { color: "var(--tina-color-primary)" });
|
|
5299
5342
|
}
|
|
5300
|
-
return /* @__PURE__ */ React.createElement(
|
|
5343
|
+
return /* @__PURE__ */ React.createElement(Popover, { open: open2, onOpenChange: setOpen }, /* @__PURE__ */ React.createElement(PopoverTrigger, { asChild: true }, /* @__PURE__ */ React.createElement(
|
|
5301
5344
|
Button,
|
|
5302
5345
|
{
|
|
5303
5346
|
variant: "outline",
|
|
5304
5347
|
role: "combobox",
|
|
5305
5348
|
"aria-expanded": open2,
|
|
5306
|
-
className: "w-
|
|
5349
|
+
className: "w-full justify-between"
|
|
5307
5350
|
},
|
|
5308
5351
|
/* @__PURE__ */ React.createElement("p", { className: "truncate" }, displayText ?? "Choose an option..."),
|
|
5309
5352
|
open2 ? /* @__PURE__ */ React.createElement(IoMdArrowDropup, { size: 20 }) : /* @__PURE__ */ React.createElement(IoMdArrowDropdown, { size: 20 })
|
|
5310
|
-
)), /* @__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(
|
|
5311
5354
|
Command,
|
|
5312
5355
|
{
|
|
5313
5356
|
shouldFilter: !field.experimental___filter,
|
|
@@ -5331,32 +5374,25 @@ const ComboboxDemo = ({
|
|
|
5331
5374
|
}
|
|
5332
5375
|
),
|
|
5333
5376
|
/* @__PURE__ */ React.createElement(CommandEmpty, null, "No reference found"),
|
|
5334
|
-
/* @__PURE__ */ React.createElement(CommandList, null, filteredOptionsList.length > 0 && (filteredOptionsList == null ? void 0 : filteredOptionsList.map(({ collection, edges }) => /* @__PURE__ */ React.createElement(
|
|
5335
|
-
|
|
5336
|
-
|
|
5337
|
-
|
|
5338
|
-
|
|
5339
|
-
|
|
5340
|
-
|
|
5341
|
-
|
|
5342
|
-
|
|
5343
|
-
|
|
5344
|
-
|
|
5345
|
-
|
|
5346
|
-
|
|
5347
|
-
|
|
5348
|
-
field,
|
|
5349
|
-
_values,
|
|
5350
|
-
node,
|
|
5351
|
-
onSelect: (currentValue) => {
|
|
5352
|
-
setValue(currentValue);
|
|
5353
|
-
setOpen(false);
|
|
5354
|
-
}
|
|
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);
|
|
5355
5391
|
}
|
|
5356
|
-
|
|
5357
|
-
|
|
5358
|
-
))))
|
|
5359
|
-
)))
|
|
5392
|
+
}
|
|
5393
|
+
);
|
|
5394
|
+
}))))))
|
|
5395
|
+
)));
|
|
5360
5396
|
};
|
|
5361
5397
|
const useGetNode = (cms, id) => {
|
|
5362
5398
|
const [document2, setDocument] = React.useState(
|
|
@@ -5429,7 +5465,7 @@ const ReferenceLink = ({ cms, input }) => {
|
|
|
5429
5465
|
};
|
|
5430
5466
|
const Reference = ({ input, field }) => {
|
|
5431
5467
|
const cms = useCMS();
|
|
5432
|
-
return /* @__PURE__ */ React.createElement(
|
|
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 }));
|
|
5433
5469
|
};
|
|
5434
5470
|
const ButtonToggle = ({
|
|
5435
5471
|
input,
|
|
@@ -5737,10 +5773,11 @@ const ItemDeleteButton = ({ onClick, disabled = false }) => {
|
|
|
5737
5773
|
return /* @__PURE__ */ React__default.createElement(
|
|
5738
5774
|
"button",
|
|
5739
5775
|
{
|
|
5740
|
-
|
|
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"}`,
|
|
5741
5778
|
onClick
|
|
5742
5779
|
},
|
|
5743
|
-
/* @__PURE__ */ React__default.createElement(TrashIcon, { className: "fill-current transition-colors ease-out
|
|
5780
|
+
/* @__PURE__ */ React__default.createElement(TrashIcon, { className: "h-5 w-auto fill-current text-red-500 transition-colors duration-150 ease-out" })
|
|
5744
5781
|
);
|
|
5745
5782
|
};
|
|
5746
5783
|
const DragHandle = ({ isDragging }) => {
|
|
@@ -5818,27 +5855,35 @@ const BlockSelector = ({
|
|
|
5818
5855
|
))))
|
|
5819
5856
|
))));
|
|
5820
5857
|
};
|
|
5821
|
-
const Group =
|
|
5822
|
-
|
|
5823
|
-
|
|
5824
|
-
|
|
5825
|
-
|
|
5826
|
-
|
|
5827
|
-
|
|
5828
|
-
|
|
5829
|
-
|
|
5830
|
-
|
|
5831
|
-
|
|
5858
|
+
const Group = wrapFieldWithNoHeader(
|
|
5859
|
+
({ tinaForm, field }) => {
|
|
5860
|
+
const cms = useCMS$1();
|
|
5861
|
+
return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(
|
|
5862
|
+
Header,
|
|
5863
|
+
{
|
|
5864
|
+
onClick: () => {
|
|
5865
|
+
const state = tinaForm.finalForm.getState();
|
|
5866
|
+
if (state.invalid === true) {
|
|
5867
|
+
cms.alerts.error("Cannot navigate away from an invalid form.");
|
|
5868
|
+
return;
|
|
5869
|
+
}
|
|
5870
|
+
cms.dispatch({
|
|
5871
|
+
type: "forms:set-active-field-name",
|
|
5872
|
+
value: { formId: tinaForm.id, fieldName: field.name }
|
|
5873
|
+
});
|
|
5832
5874
|
}
|
|
5833
|
-
|
|
5834
|
-
|
|
5835
|
-
|
|
5836
|
-
|
|
5837
|
-
|
|
5838
|
-
|
|
5839
|
-
|
|
5840
|
-
|
|
5841
|
-
|
|
5875
|
+
},
|
|
5876
|
+
field.label || field.name,
|
|
5877
|
+
field.description && /* @__PURE__ */ React.createElement(
|
|
5878
|
+
"span",
|
|
5879
|
+
{
|
|
5880
|
+
className: `block font-sans text-xs italic font-light text-gray-400 pt-0.5 whitespace-normal m-0`,
|
|
5881
|
+
dangerouslySetInnerHTML: { __html: field.description }
|
|
5882
|
+
}
|
|
5883
|
+
)
|
|
5884
|
+
));
|
|
5885
|
+
}
|
|
5886
|
+
);
|
|
5842
5887
|
const Header = ({ onClick, children }) => {
|
|
5843
5888
|
return /* @__PURE__ */ React.createElement("div", { className: "pt-1 mb-5" }, /* @__PURE__ */ React.createElement(
|
|
5844
5889
|
"button",
|
|
@@ -7180,244 +7225,65 @@ function pad(type, value) {
|
|
|
7180
7225
|
str = "0" + str;
|
|
7181
7226
|
return str;
|
|
7182
7227
|
}
|
|
7183
|
-
|
|
7184
|
-
|
|
7185
|
-
|
|
7186
|
-
|
|
7187
|
-
|
|
7188
|
-
|
|
7189
|
-
|
|
7190
|
-
|
|
7191
|
-
|
|
7192
|
-
|
|
7193
|
-
|
|
7194
|
-
}
|
|
7195
|
-
function _objectWithoutPropertiesLoose(source, excluded) {
|
|
7196
|
-
if (source == null)
|
|
7197
|
-
return {};
|
|
7198
|
-
var target = {};
|
|
7199
|
-
var sourceKeys = Object.keys(source);
|
|
7200
|
-
var key, i;
|
|
7201
|
-
for (i = 0; i < sourceKeys.length; i++) {
|
|
7202
|
-
key = sourceKeys[i];
|
|
7203
|
-
if (excluded.indexOf(key) >= 0)
|
|
7204
|
-
continue;
|
|
7205
|
-
target[key] = source[key];
|
|
7206
|
-
}
|
|
7207
|
-
return target;
|
|
7208
|
-
}
|
|
7209
|
-
function _assertThisInitialized(self) {
|
|
7210
|
-
if (self === void 0) {
|
|
7211
|
-
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
|
|
7212
|
-
}
|
|
7213
|
-
return self;
|
|
7214
|
-
}
|
|
7215
|
-
function isNodeFound(current, componentNode, ignoreClass) {
|
|
7216
|
-
if (current === componentNode) {
|
|
7217
|
-
return true;
|
|
7218
|
-
}
|
|
7219
|
-
if (current.correspondingElement) {
|
|
7220
|
-
return current.correspondingElement.classList.contains(ignoreClass);
|
|
7221
|
-
}
|
|
7222
|
-
return current.classList.contains(ignoreClass);
|
|
7223
|
-
}
|
|
7224
|
-
function findHighest(current, componentNode, ignoreClass) {
|
|
7225
|
-
if (current === componentNode) {
|
|
7226
|
-
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];
|
|
7227
7239
|
}
|
|
7228
|
-
|
|
7229
|
-
|
|
7230
|
-
return true;
|
|
7231
|
-
}
|
|
7232
|
-
current = current.parentNode || current.host;
|
|
7240
|
+
if (obj && obj.addEventListener) {
|
|
7241
|
+
obj.addEventListener.apply(obj, args);
|
|
7233
7242
|
}
|
|
7234
|
-
return current;
|
|
7235
7243
|
}
|
|
7236
|
-
|
|
7237
|
-
|
|
7238
|
-
|
|
7239
|
-
var
|
|
7240
|
-
|
|
7241
|
-
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];
|
|
7242
7249
|
}
|
|
7243
|
-
|
|
7244
|
-
|
|
7245
|
-
get: function get2() {
|
|
7246
|
-
passive = true;
|
|
7247
|
-
}
|
|
7248
|
-
});
|
|
7249
|
-
var noop = function noop2() {
|
|
7250
|
-
};
|
|
7251
|
-
window.addEventListener("testPassiveEventSupport", noop, options);
|
|
7252
|
-
window.removeEventListener("testPassiveEventSupport", noop, options);
|
|
7253
|
-
return passive;
|
|
7254
|
-
};
|
|
7255
|
-
function autoInc(seed) {
|
|
7256
|
-
if (seed === void 0) {
|
|
7257
|
-
seed = 0;
|
|
7250
|
+
if (obj && obj.removeEventListener) {
|
|
7251
|
+
obj.removeEventListener.apply(obj, args);
|
|
7258
7252
|
}
|
|
7259
|
-
return function() {
|
|
7260
|
-
return ++seed;
|
|
7261
|
-
};
|
|
7262
|
-
}
|
|
7263
|
-
var uid = autoInc();
|
|
7264
|
-
var passiveEventSupport;
|
|
7265
|
-
var handlersMap = {};
|
|
7266
|
-
var enabledInstances = {};
|
|
7267
|
-
var touchEvents = ["touchstart", "touchmove"];
|
|
7268
|
-
var IGNORE_CLASS_NAME = "ignore-react-onclickoutside";
|
|
7269
|
-
function getEventHandlerOptions(instance, eventName) {
|
|
7270
|
-
var handlerOptions = {};
|
|
7271
|
-
var isTouchEvent = touchEvents.indexOf(eventName) !== -1;
|
|
7272
|
-
if (isTouchEvent && passiveEventSupport) {
|
|
7273
|
-
handlerOptions.passive = !instance.props.preventDefault;
|
|
7274
|
-
}
|
|
7275
|
-
return handlerOptions;
|
|
7276
7253
|
}
|
|
7277
|
-
|
|
7278
|
-
|
|
7279
|
-
|
|
7280
|
-
|
|
7281
|
-
|
|
7282
|
-
|
|
7283
|
-
|
|
7284
|
-
|
|
7285
|
-
|
|
7286
|
-
|
|
7287
|
-
|
|
7288
|
-
|
|
7289
|
-
|
|
7290
|
-
|
|
7291
|
-
|
|
7292
|
-
|
|
7293
|
-
|
|
7294
|
-
|
|
7295
|
-
|
|
7296
|
-
instance.handleClickOutside(event);
|
|
7297
|
-
return;
|
|
7298
|
-
}
|
|
7299
|
-
throw new Error("WrappedComponent: " + componentName + " lacks a handleClickOutside(event) function for processing outside click events.");
|
|
7300
|
-
};
|
|
7301
|
-
_this.__getComponentNode = function() {
|
|
7302
|
-
var instance = _this.getInstance();
|
|
7303
|
-
if (config && typeof config.setClickOutsideRef === "function") {
|
|
7304
|
-
return config.setClickOutsideRef()(instance);
|
|
7305
|
-
}
|
|
7306
|
-
if (typeof instance.setClickOutsideRef === "function") {
|
|
7307
|
-
return instance.setClickOutsideRef();
|
|
7308
|
-
}
|
|
7309
|
-
return findDOMNode(instance);
|
|
7310
|
-
};
|
|
7311
|
-
_this.enableOnClickOutside = function() {
|
|
7312
|
-
if (typeof document === "undefined" || enabledInstances[_this._uid]) {
|
|
7313
|
-
return;
|
|
7314
|
-
}
|
|
7315
|
-
if (typeof passiveEventSupport === "undefined") {
|
|
7316
|
-
passiveEventSupport = testPassiveEventSupport();
|
|
7317
|
-
}
|
|
7318
|
-
enabledInstances[_this._uid] = true;
|
|
7319
|
-
var events = _this.props.eventTypes;
|
|
7320
|
-
if (!events.forEach) {
|
|
7321
|
-
events = [events];
|
|
7322
|
-
}
|
|
7323
|
-
handlersMap[_this._uid] = function(event) {
|
|
7324
|
-
if (_this.componentNode === null)
|
|
7325
|
-
return;
|
|
7326
|
-
if (_this.initTimeStamp > event.timeStamp)
|
|
7327
|
-
return;
|
|
7328
|
-
if (_this.props.preventDefault) {
|
|
7329
|
-
event.preventDefault();
|
|
7330
|
-
}
|
|
7331
|
-
if (_this.props.stopPropagation) {
|
|
7332
|
-
event.stopPropagation();
|
|
7333
|
-
}
|
|
7334
|
-
if (_this.props.excludeScrollbar && clickedScrollbar(event))
|
|
7335
|
-
return;
|
|
7336
|
-
var current = event.composed && event.composedPath && event.composedPath().shift() || event.target;
|
|
7337
|
-
if (findHighest(current, _this.componentNode, _this.props.outsideClickIgnoreClass) !== document) {
|
|
7338
|
-
return;
|
|
7339
|
-
}
|
|
7340
|
-
_this.__outsideClickHandler(event);
|
|
7341
|
-
};
|
|
7342
|
-
events.forEach(function(eventName) {
|
|
7343
|
-
document.addEventListener(eventName, handlersMap[_this._uid], getEventHandlerOptions(_assertThisInitialized(_this), eventName));
|
|
7344
|
-
});
|
|
7345
|
-
};
|
|
7346
|
-
_this.disableOnClickOutside = function() {
|
|
7347
|
-
delete enabledInstances[_this._uid];
|
|
7348
|
-
var fn = handlersMap[_this._uid];
|
|
7349
|
-
if (fn && typeof document !== "undefined") {
|
|
7350
|
-
var events = _this.props.eventTypes;
|
|
7351
|
-
if (!events.forEach) {
|
|
7352
|
-
events = [events];
|
|
7353
|
-
}
|
|
7354
|
-
events.forEach(function(eventName) {
|
|
7355
|
-
return document.removeEventListener(eventName, fn, getEventHandlerOptions(_assertThisInitialized(_this), eventName));
|
|
7356
|
-
});
|
|
7357
|
-
delete handlersMap[_this._uid];
|
|
7358
|
-
}
|
|
7359
|
-
};
|
|
7360
|
-
_this.getRef = function(ref) {
|
|
7361
|
-
return _this.instanceRef = ref;
|
|
7362
|
-
};
|
|
7363
|
-
_this._uid = uid();
|
|
7364
|
-
_this.initTimeStamp = performance.now();
|
|
7365
|
-
return _this;
|
|
7366
|
-
}
|
|
7367
|
-
var _proto = onClickOutside.prototype;
|
|
7368
|
-
_proto.getInstance = function getInstance() {
|
|
7369
|
-
if (WrappedComponent.prototype && !WrappedComponent.prototype.isReactComponent) {
|
|
7370
|
-
return this;
|
|
7371
|
-
}
|
|
7372
|
-
var ref = this.instanceRef;
|
|
7373
|
-
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);
|
|
7374
7273
|
};
|
|
7375
|
-
|
|
7376
|
-
|
|
7377
|
-
|
|
7378
|
-
|
|
7379
|
-
|
|
7380
|
-
|
|
7381
|
-
|
|
7382
|
-
|
|
7383
|
-
throw new Error("WrappedComponent: " + componentName + " lacks a function for processing outside click events specified by the handleClickOutside config option.");
|
|
7384
|
-
}
|
|
7385
|
-
}
|
|
7386
|
-
this.componentNode = this.__getComponentNode();
|
|
7387
|
-
if (this.props.disableOnClickOutside)
|
|
7388
|
-
return;
|
|
7389
|
-
this.enableOnClickOutside();
|
|
7390
|
-
};
|
|
7391
|
-
_proto.componentDidUpdate = function componentDidUpdate() {
|
|
7392
|
-
this.componentNode = this.__getComponentNode();
|
|
7393
|
-
};
|
|
7394
|
-
_proto.componentWillUnmount = function componentWillUnmount() {
|
|
7395
|
-
this.disableOnClickOutside();
|
|
7396
|
-
};
|
|
7397
|
-
_proto.render = function render() {
|
|
7398
|
-
var _this$props = this.props;
|
|
7399
|
-
_this$props.excludeScrollbar;
|
|
7400
|
-
var props = _objectWithoutPropertiesLoose(_this$props, ["excludeScrollbar"]);
|
|
7401
|
-
if (WrappedComponent.prototype && WrappedComponent.prototype.isReactComponent) {
|
|
7402
|
-
props.ref = this.getRef;
|
|
7403
|
-
} else {
|
|
7404
|
-
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);
|
|
7405
7282
|
}
|
|
7406
|
-
props.disableOnClickOutside = this.disableOnClickOutside;
|
|
7407
|
-
props.enableOnClickOutside = this.enableOnClickOutside;
|
|
7408
|
-
return createElement(WrappedComponent, props);
|
|
7409
7283
|
};
|
|
7410
|
-
|
|
7411
|
-
|
|
7412
|
-
|
|
7413
|
-
excludeScrollbar: config && config.excludeScrollbar || false,
|
|
7414
|
-
outsideClickIgnoreClass: IGNORE_CLASS_NAME,
|
|
7415
|
-
preventDefault: false,
|
|
7416
|
-
stopPropagation: false
|
|
7417
|
-
}, _class.getClass = function() {
|
|
7418
|
-
return WrappedComponent.getClass ? WrappedComponent.getClass() : WrappedComponent;
|
|
7419
|
-
}, _temp;
|
|
7420
|
-
}
|
|
7284
|
+
}, [events, ref]);
|
|
7285
|
+
};
|
|
7286
|
+
var _default = useClickAway$1.default = useClickAway;
|
|
7421
7287
|
const viewModes = {
|
|
7422
7288
|
YEARS: "years",
|
|
7423
7289
|
MONTHS: "months",
|
|
@@ -7946,22 +7812,13 @@ function log(message, method) {
|
|
|
7946
7812
|
}
|
|
7947
7813
|
con[method]("***react-datetime:" + message);
|
|
7948
7814
|
}
|
|
7949
|
-
|
|
7950
|
-
|
|
7951
|
-
|
|
7952
|
-
|
|
7953
|
-
}
|
|
7954
|
-
|
|
7955
|
-
return /* @__PURE__ */ React__default.createElement("div", { className: this.props.className, ref: this.container }, this.props.children);
|
|
7956
|
-
}
|
|
7957
|
-
handleClickOutside(e) {
|
|
7958
|
-
this.props.onClickOut(e);
|
|
7959
|
-
}
|
|
7960
|
-
setClickOutsideRef() {
|
|
7961
|
-
return this.container.current;
|
|
7962
|
-
}
|
|
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);
|
|
7963
7821
|
}
|
|
7964
|
-
const ClickableWrapper = onClickOutsideHOC(ClickOutBase);
|
|
7965
7822
|
const DEFAULT_DATE_DISPLAY_FORMAT = "MMM DD, YYYY";
|
|
7966
7823
|
const DEFAULT_TIME_DISPLAY_FORMAT = "h:mm A";
|
|
7967
7824
|
const format$1 = (val, _name, field) => {
|
|
@@ -8004,7 +7861,10 @@ const DateField = wrapFieldsWithMeta(
|
|
|
8004
7861
|
ReactDateTimeWithStyles,
|
|
8005
7862
|
{
|
|
8006
7863
|
value: input.value,
|
|
8007
|
-
onChange:
|
|
7864
|
+
onChange: (value) => {
|
|
7865
|
+
const newValue = value === "" ? void 0 : value;
|
|
7866
|
+
input.onChange(newValue);
|
|
7867
|
+
},
|
|
8008
7868
|
dateFormat: dateFormat || DEFAULT_DATE_DISPLAY_FORMAT,
|
|
8009
7869
|
timeFormat: timeFormat || false,
|
|
8010
7870
|
inputProps: { className: textFieldClasses },
|
|
@@ -9456,6 +9316,19 @@ class TinaMediaStore {
|
|
|
9456
9316
|
}
|
|
9457
9317
|
}
|
|
9458
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
|
+
};
|
|
9459
9332
|
let MediaManager$1 = class MediaManager {
|
|
9460
9333
|
constructor(store, events) {
|
|
9461
9334
|
this.store = store;
|
|
@@ -9528,6 +9401,20 @@ let MediaManager$1 = class MediaManager {
|
|
|
9528
9401
|
try {
|
|
9529
9402
|
this.events.dispatch({ type: "media:list:start", ...options });
|
|
9530
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
|
+
});
|
|
9531
9418
|
this.events.dispatch({ type: "media:list:success", ...options, media });
|
|
9532
9419
|
return media;
|
|
9533
9420
|
} catch (error) {
|
|
@@ -9815,7 +9702,7 @@ class SidebarState {
|
|
|
9815
9702
|
}
|
|
9816
9703
|
}
|
|
9817
9704
|
function createScreen({
|
|
9818
|
-
Component
|
|
9705
|
+
Component,
|
|
9819
9706
|
props,
|
|
9820
9707
|
...options
|
|
9821
9708
|
}) {
|
|
@@ -9824,7 +9711,7 @@ function createScreen({
|
|
|
9824
9711
|
layout: "popup",
|
|
9825
9712
|
...options,
|
|
9826
9713
|
Component(screenProps) {
|
|
9827
|
-
return /* @__PURE__ */ React__default.createElement(
|
|
9714
|
+
return /* @__PURE__ */ React__default.createElement(Component, { ...screenProps, ...props });
|
|
9828
9715
|
}
|
|
9829
9716
|
};
|
|
9830
9717
|
}
|
|
@@ -10335,7 +10222,7 @@ const SyncStatus = ({ cms, setEventsOpen }) => {
|
|
|
10335
10222
|
"Event Log"
|
|
10336
10223
|
));
|
|
10337
10224
|
};
|
|
10338
|
-
const version = "2.
|
|
10225
|
+
const version = "2.7.0";
|
|
10339
10226
|
const Nav = ({
|
|
10340
10227
|
isLocalMode,
|
|
10341
10228
|
className = "",
|
|
@@ -12866,15 +12753,14 @@ const FormBuilder = ({
|
|
|
12866
12753
|
fields: fieldGroup.fields
|
|
12867
12754
|
}
|
|
12868
12755
|
) : /* @__PURE__ */ React.createElement(NoFieldsPlaceholder, null)
|
|
12869
|
-
)), !hideFooter && /* @__PURE__ */ React.createElement("div", { className: "relative flex-none w-full h-16 px-
|
|
12756
|
+
)), !hideFooter && /* @__PURE__ */ React.createElement("div", { className: "relative flex-none w-full h-16 px-12 bg-white border-t border-gray-100 flex items-center justify-end" }, /* @__PURE__ */ React.createElement("div", { className: "flex-1 w-full justify-end gap-2 flex items-center max-w-form" }, tinaForm.reset && /* @__PURE__ */ React.createElement(
|
|
12870
12757
|
ResetForm,
|
|
12871
12758
|
{
|
|
12872
12759
|
pristine,
|
|
12873
12760
|
reset: async () => {
|
|
12874
12761
|
finalForm.reset();
|
|
12875
12762
|
await tinaForm.reset();
|
|
12876
|
-
}
|
|
12877
|
-
style: { flexGrow: 1 }
|
|
12763
|
+
}
|
|
12878
12764
|
},
|
|
12879
12765
|
tinaForm.buttons.reset
|
|
12880
12766
|
), /* @__PURE__ */ React.createElement(
|
|
@@ -12883,8 +12769,7 @@ const FormBuilder = ({
|
|
|
12883
12769
|
onClick: safeHandleSubmit,
|
|
12884
12770
|
disabled: !canSubmit,
|
|
12885
12771
|
busy: submitting,
|
|
12886
|
-
variant: "primary"
|
|
12887
|
-
style: { flexGrow: 3 }
|
|
12772
|
+
variant: "primary"
|
|
12888
12773
|
},
|
|
12889
12774
|
submitting && /* @__PURE__ */ React.createElement(LoadingDots, null),
|
|
12890
12775
|
!submitting && tinaForm.buttons.save
|
|
@@ -13266,9 +13151,9 @@ const EllipsisIcon = ({ title }) => {
|
|
|
13266
13151
|
));
|
|
13267
13152
|
};
|
|
13268
13153
|
const Wrapper$1 = ({ inline, children }) => {
|
|
13269
|
-
const
|
|
13154
|
+
const Component = inline ? "span" : "div";
|
|
13270
13155
|
return /* @__PURE__ */ React__default.createElement(
|
|
13271
|
-
|
|
13156
|
+
Component,
|
|
13272
13157
|
{
|
|
13273
13158
|
contentEditable: false,
|
|
13274
13159
|
style: { userSelect: "none" },
|
|
@@ -13690,6 +13575,11 @@ const autoformatMarks = [
|
|
|
13690
13575
|
mode: "mark",
|
|
13691
13576
|
type: MARK_CODE,
|
|
13692
13577
|
match: "`"
|
|
13578
|
+
},
|
|
13579
|
+
{
|
|
13580
|
+
mode: "mark",
|
|
13581
|
+
type: MARK_STRIKETHROUGH,
|
|
13582
|
+
match: ["~~", "~"]
|
|
13693
13583
|
}
|
|
13694
13584
|
];
|
|
13695
13585
|
const autoformatRules = [
|
|
@@ -13831,16 +13721,14 @@ const plugins$1 = [
|
|
|
13831
13721
|
})
|
|
13832
13722
|
];
|
|
13833
13723
|
const plugins = [
|
|
13724
|
+
createBasicMarksPlugin(),
|
|
13834
13725
|
createHeadingPlugin(),
|
|
13835
13726
|
createParagraphPlugin(),
|
|
13836
13727
|
createCodeBlockPlugin(),
|
|
13837
13728
|
createHTMLBlockPlugin(),
|
|
13838
13729
|
createHTMLInlinePlugin(),
|
|
13839
13730
|
createBlockquotePlugin(),
|
|
13840
|
-
createBoldPlugin(),
|
|
13841
|
-
createItalicPlugin(),
|
|
13842
13731
|
createUnderlinePlugin(),
|
|
13843
|
-
createCodePlugin(),
|
|
13844
13732
|
createListPlugin(),
|
|
13845
13733
|
createIndentListPlugin(),
|
|
13846
13734
|
createHorizontalRulePlugin(),
|
|
@@ -13854,6 +13742,7 @@ const unsupportedItemsInTable = /* @__PURE__ */ new Set([
|
|
|
13854
13742
|
"Unordered List",
|
|
13855
13743
|
"Ordered List",
|
|
13856
13744
|
"Quote",
|
|
13745
|
+
"Mermaid",
|
|
13857
13746
|
"Heading 1",
|
|
13858
13747
|
"Heading 2",
|
|
13859
13748
|
"Heading 3",
|
|
@@ -14055,13 +13944,13 @@ const TooltipContent = withCn(
|
|
|
14055
13944
|
}),
|
|
14056
13945
|
"z-[9999] overflow-hidden rounded-md border bg-popover px-3 py-1.5 text-sm text-popover-foreground shadow-md"
|
|
14057
13946
|
);
|
|
14058
|
-
function withTooltip(
|
|
13947
|
+
function withTooltip(Component) {
|
|
14059
13948
|
return React__default.forwardRef(function ExtendComponent({ tooltip, tooltipContentProps, tooltipProps, ...props }, ref) {
|
|
14060
13949
|
const [mounted, setMounted] = React__default.useState(false);
|
|
14061
13950
|
React__default.useEffect(() => {
|
|
14062
13951
|
setMounted(true);
|
|
14063
13952
|
}, []);
|
|
14064
|
-
const component = /* @__PURE__ */ React__default.createElement(
|
|
13953
|
+
const component = /* @__PURE__ */ React__default.createElement(Component, { ref, ...props });
|
|
14065
13954
|
if (tooltip && mounted) {
|
|
14066
13955
|
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)));
|
|
14067
13956
|
}
|
|
@@ -14453,6 +14342,7 @@ function OverflowMenu({
|
|
|
14453
14342
|
ToolbarButton,
|
|
14454
14343
|
{
|
|
14455
14344
|
showArrow: false,
|
|
14345
|
+
"data-testid": "rich-text-editor-overflow-menu-button",
|
|
14456
14346
|
className: "lg:min-w-[130px]",
|
|
14457
14347
|
isDropdown: true,
|
|
14458
14348
|
pressed: openState.open,
|
|
@@ -14506,7 +14396,17 @@ const useRawMarkdownToolbarButton = () => {
|
|
|
14506
14396
|
};
|
|
14507
14397
|
const RawMarkdownToolbarButton = withRef(({ clear, ...rest }, ref) => {
|
|
14508
14398
|
const { props } = useRawMarkdownToolbarButton();
|
|
14509
|
-
return /* @__PURE__ */ React__default.createElement(
|
|
14399
|
+
return /* @__PURE__ */ React__default.createElement(
|
|
14400
|
+
ToolbarButton,
|
|
14401
|
+
{
|
|
14402
|
+
ref,
|
|
14403
|
+
tooltip: "Link",
|
|
14404
|
+
...rest,
|
|
14405
|
+
...props,
|
|
14406
|
+
"data-testid": "markdown-button"
|
|
14407
|
+
},
|
|
14408
|
+
/* @__PURE__ */ React__default.createElement(Icons.raw, null)
|
|
14409
|
+
);
|
|
14510
14410
|
});
|
|
14511
14411
|
function TableDropdownMenu(props) {
|
|
14512
14412
|
const tableSelected = useEditorSelector(
|
|
@@ -14645,7 +14545,7 @@ const EmbedButton = ({ editor, templates }) => {
|
|
|
14645
14545
|
key: template.name,
|
|
14646
14546
|
onMouseDown: (e) => {
|
|
14647
14547
|
e.preventDefault();
|
|
14648
|
-
|
|
14548
|
+
setOpen(false);
|
|
14649
14549
|
insertMDX(editor, template);
|
|
14650
14550
|
},
|
|
14651
14551
|
className: ""
|
|
@@ -14690,6 +14590,11 @@ const toolbarItems = {
|
|
|
14690
14590
|
width: () => STANDARD_ICON_WIDTH,
|
|
14691
14591
|
Component: /* @__PURE__ */ React__default.createElement(MarkToolbarButton, { tooltip: "Bold (⌘+B)", nodeType: MARK_BOLD }, /* @__PURE__ */ React__default.createElement(Icons.bold, null))
|
|
14692
14592
|
},
|
|
14593
|
+
strikethrough: {
|
|
14594
|
+
label: "Strikethrough",
|
|
14595
|
+
width: () => STANDARD_ICON_WIDTH,
|
|
14596
|
+
Component: /* @__PURE__ */ React__default.createElement(MarkToolbarButton, { tooltip: "Strikethrough ", nodeType: MARK_STRIKETHROUGH }, /* @__PURE__ */ React__default.createElement(Icons.strikethrough, null))
|
|
14597
|
+
},
|
|
14693
14598
|
italic: {
|
|
14694
14599
|
label: "Italic",
|
|
14695
14600
|
width: () => STANDARD_ICON_WIDTH,
|
|
@@ -14731,7 +14636,12 @@ function FixedToolbarButtons() {
|
|
|
14731
14636
|
const [itemsShown, setItemsShown] = React__default.useState(11);
|
|
14732
14637
|
const { overrides, templates } = useToolbarContext();
|
|
14733
14638
|
const showEmbedButton = templates.length > 0;
|
|
14734
|
-
let items2 =
|
|
14639
|
+
let items2 = [];
|
|
14640
|
+
if (Array.isArray(overrides)) {
|
|
14641
|
+
items2 = overrides === void 0 ? Object.values(toolbarItems) : overrides.map((item) => toolbarItems[item]).filter((item) => item !== void 0);
|
|
14642
|
+
} else {
|
|
14643
|
+
items2 = (overrides == null ? void 0 : overrides.toolbar) === void 0 ? Object.values(toolbarItems) : overrides.toolbar.map((item) => toolbarItems[item]).filter((item) => item !== void 0);
|
|
14644
|
+
}
|
|
14735
14645
|
if (!showEmbedButton) {
|
|
14736
14646
|
items2 = items2.filter((item) => item.label !== toolbarItems.embed.label);
|
|
14737
14647
|
}
|
|
@@ -15059,6 +14969,9 @@ const isUrl = (string) => {
|
|
|
15059
14969
|
if (typeof string !== "string") {
|
|
15060
14970
|
return false;
|
|
15061
14971
|
}
|
|
14972
|
+
if (string.startsWith("#")) {
|
|
14973
|
+
return true;
|
|
14974
|
+
}
|
|
15062
14975
|
const generalMatch = string.match(protocolAndDomainRE);
|
|
15063
14976
|
const emailLinkMatch = string.match(emailLintRE);
|
|
15064
14977
|
const localUrlMatch = string.match(localUrlRE);
|
|
@@ -15080,12 +14993,12 @@ const isUrl = (string) => {
|
|
|
15080
14993
|
}
|
|
15081
14994
|
return localhostDomainRE.test(everythingAfterProtocol) || nonLocalhostDomainRE.test(everythingAfterProtocol);
|
|
15082
14995
|
};
|
|
15083
|
-
const RichEditor = (
|
|
14996
|
+
const RichEditor = ({ input, tinaForm, field }) => {
|
|
15084
14997
|
var _a;
|
|
15085
14998
|
const initialValue = React__default.useMemo(
|
|
15086
14999
|
() => {
|
|
15087
15000
|
var _a2, _b;
|
|
15088
|
-
return ((_b = (_a2 =
|
|
15001
|
+
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: "" }] }];
|
|
15089
15002
|
},
|
|
15090
15003
|
[]
|
|
15091
15004
|
);
|
|
@@ -15113,7 +15026,7 @@ const RichEditor = (props) => {
|
|
|
15113
15026
|
),
|
|
15114
15027
|
[]
|
|
15115
15028
|
);
|
|
15116
|
-
const tempId = [
|
|
15029
|
+
const tempId = [tinaForm.id, input.name].join(".");
|
|
15117
15030
|
const id = React__default.useMemo(() => uuid() + tempId, [tempId]);
|
|
15118
15031
|
const ref = React__default.useRef(null);
|
|
15119
15032
|
React__default.useEffect(() => {
|
|
@@ -15123,13 +15036,13 @@ const RichEditor = (props) => {
|
|
|
15123
15036
|
const plateElement = (_a2 = ref.current) == null ? void 0 : _a2.querySelector(
|
|
15124
15037
|
'[role="textbox"]'
|
|
15125
15038
|
);
|
|
15126
|
-
if (
|
|
15039
|
+
if (field.experimental_focusIntent && plateElement) {
|
|
15127
15040
|
if (plateElement)
|
|
15128
15041
|
plateElement.focus();
|
|
15129
15042
|
}
|
|
15130
15043
|
}, 100);
|
|
15131
15044
|
}
|
|
15132
|
-
}, [
|
|
15045
|
+
}, [field.experimental_focusIntent, ref]);
|
|
15133
15046
|
return /* @__PURE__ */ React__default.createElement("div", { ref }, /* @__PURE__ */ React__default.createElement(
|
|
15134
15047
|
Plate,
|
|
15135
15048
|
{
|
|
@@ -15137,7 +15050,7 @@ const RichEditor = (props) => {
|
|
|
15137
15050
|
initialValue,
|
|
15138
15051
|
plugins: plugins$2,
|
|
15139
15052
|
onChange: (value) => {
|
|
15140
|
-
|
|
15053
|
+
input.onChange({
|
|
15141
15054
|
type: "root",
|
|
15142
15055
|
children: value
|
|
15143
15056
|
});
|
|
@@ -15146,12 +15059,12 @@ const RichEditor = (props) => {
|
|
|
15146
15059
|
/* @__PURE__ */ React__default.createElement(TooltipProvider, null, /* @__PURE__ */ React__default.createElement(
|
|
15147
15060
|
ToolbarProvider,
|
|
15148
15061
|
{
|
|
15149
|
-
tinaForm
|
|
15150
|
-
templates:
|
|
15151
|
-
overrides: (
|
|
15062
|
+
tinaForm,
|
|
15063
|
+
templates: field.templates,
|
|
15064
|
+
overrides: (field == null ? void 0 : field.toolbarOverride) ? field.toolbarOverride : field.overrides
|
|
15152
15065
|
},
|
|
15153
15066
|
/* @__PURE__ */ React__default.createElement(FixedToolbar, null, /* @__PURE__ */ React__default.createElement(FixedToolbarButtons, null)),
|
|
15154
|
-
/* @__PURE__ */ React__default.createElement(FloatingToolbar, null, /* @__PURE__ */ React__default.createElement(FloatingToolbarButtons, null))
|
|
15067
|
+
((_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
|
|
15155
15068
|
), /* @__PURE__ */ React__default.createElement(Editor, null))
|
|
15156
15069
|
));
|
|
15157
15070
|
};
|
|
@@ -16339,132 +16252,1209 @@ const ben = [
|
|
|
16339
16252
|
"হয়"
|
|
16340
16253
|
];
|
|
16341
16254
|
const bre = [
|
|
16255
|
+
"'blam",
|
|
16256
|
+
"'d",
|
|
16257
|
+
"'m",
|
|
16258
|
+
"'r",
|
|
16259
|
+
"'ta",
|
|
16260
|
+
"'vat",
|
|
16261
|
+
"'z",
|
|
16262
|
+
"'zo",
|
|
16342
16263
|
"a",
|
|
16343
|
-
"
|
|
16344
|
-
"
|
|
16345
|
-
"
|
|
16346
|
-
"
|
|
16347
|
-
"
|
|
16348
|
-
"
|
|
16349
|
-
"
|
|
16350
|
-
"
|
|
16351
|
-
"
|
|
16352
|
-
"
|
|
16353
|
-
"
|
|
16354
|
-
"
|
|
16355
|
-
"
|
|
16356
|
-
"
|
|
16357
|
-
"
|
|
16358
|
-
"
|
|
16359
|
-
"
|
|
16360
|
-
"
|
|
16361
|
-
"
|
|
16362
|
-
"
|
|
16363
|
-
"
|
|
16264
|
+
"a:",
|
|
16265
|
+
"aba",
|
|
16266
|
+
"abalamour",
|
|
16267
|
+
"abaoe",
|
|
16268
|
+
"ac'hane",
|
|
16269
|
+
"ac'hanoc'h",
|
|
16270
|
+
"ac'hanomp",
|
|
16271
|
+
"ac'hanon",
|
|
16272
|
+
"ac'hanout",
|
|
16273
|
+
"adal",
|
|
16274
|
+
"adalek",
|
|
16275
|
+
"adarre",
|
|
16276
|
+
"ae",
|
|
16277
|
+
"aec'h",
|
|
16278
|
+
"aed",
|
|
16279
|
+
"aemp",
|
|
16280
|
+
"aen",
|
|
16281
|
+
"aent",
|
|
16282
|
+
"aes",
|
|
16283
|
+
"afe",
|
|
16284
|
+
"afec'h",
|
|
16285
|
+
"afed",
|
|
16286
|
+
"afemp",
|
|
16287
|
+
"afen",
|
|
16288
|
+
"afent",
|
|
16289
|
+
"afes",
|
|
16290
|
+
"ag",
|
|
16291
|
+
"ah",
|
|
16292
|
+
"aimp",
|
|
16293
|
+
"aint",
|
|
16294
|
+
"aio",
|
|
16295
|
+
"aiou",
|
|
16296
|
+
"aje",
|
|
16297
|
+
"ajec'h",
|
|
16298
|
+
"ajed",
|
|
16299
|
+
"ajemp",
|
|
16300
|
+
"ajen",
|
|
16301
|
+
"ajent",
|
|
16302
|
+
"ajes",
|
|
16303
|
+
"al",
|
|
16304
|
+
"alato",
|
|
16305
|
+
"alies",
|
|
16306
|
+
"aliesañ",
|
|
16307
|
+
"alkent",
|
|
16308
|
+
"all",
|
|
16309
|
+
"allas",
|
|
16310
|
+
"allo",
|
|
16311
|
+
"allô",
|
|
16312
|
+
"am",
|
|
16313
|
+
"amañ",
|
|
16314
|
+
"amzer",
|
|
16315
|
+
"an",
|
|
16316
|
+
"anezhañ",
|
|
16317
|
+
"anezhe",
|
|
16318
|
+
"anezhi",
|
|
16319
|
+
"anezho",
|
|
16320
|
+
"anvet",
|
|
16321
|
+
"aon",
|
|
16322
|
+
"aotren",
|
|
16323
|
+
"ar",
|
|
16324
|
+
"arall",
|
|
16325
|
+
"araok",
|
|
16326
|
+
"araoki",
|
|
16327
|
+
"araozañ",
|
|
16328
|
+
"araozo",
|
|
16329
|
+
"araozoc'h",
|
|
16330
|
+
"araozomp",
|
|
16331
|
+
"araozon",
|
|
16332
|
+
"araozor",
|
|
16333
|
+
"araozout",
|
|
16334
|
+
"arbenn",
|
|
16335
|
+
"arre",
|
|
16336
|
+
"atalek",
|
|
16337
|
+
"atav",
|
|
16338
|
+
"az",
|
|
16339
|
+
"azalek",
|
|
16340
|
+
"azirazañ",
|
|
16341
|
+
"azirazi",
|
|
16342
|
+
"azirazo",
|
|
16343
|
+
"azirazoc'h",
|
|
16344
|
+
"azirazomp",
|
|
16345
|
+
"azirazon",
|
|
16346
|
+
"azirazor",
|
|
16347
|
+
"azirazout",
|
|
16348
|
+
"b:",
|
|
16349
|
+
"ba",
|
|
16350
|
+
"ba'l",
|
|
16351
|
+
"ba'n",
|
|
16352
|
+
"ba'r",
|
|
16353
|
+
"bad",
|
|
16354
|
+
"bah",
|
|
16355
|
+
"bal",
|
|
16356
|
+
"ban",
|
|
16357
|
+
"bar",
|
|
16358
|
+
"bastañ",
|
|
16359
|
+
"befe",
|
|
16360
|
+
"bell",
|
|
16361
|
+
"benaos",
|
|
16362
|
+
"benn",
|
|
16363
|
+
"bennag",
|
|
16364
|
+
"bennak",
|
|
16365
|
+
"bennozh",
|
|
16366
|
+
"bep",
|
|
16367
|
+
"bepred",
|
|
16368
|
+
"berr",
|
|
16369
|
+
"berzh",
|
|
16370
|
+
"bet",
|
|
16371
|
+
"betek",
|
|
16372
|
+
"betra",
|
|
16373
|
+
"bev",
|
|
16374
|
+
"bevet",
|
|
16375
|
+
"bez",
|
|
16376
|
+
"bezañ",
|
|
16377
|
+
"beze",
|
|
16378
|
+
"bezent",
|
|
16379
|
+
"bezet",
|
|
16380
|
+
"bezh",
|
|
16381
|
+
"bezit",
|
|
16382
|
+
"bezomp",
|
|
16383
|
+
"bihan",
|
|
16384
|
+
"bije",
|
|
16385
|
+
"biou",
|
|
16386
|
+
"biskoazh",
|
|
16387
|
+
"blam",
|
|
16388
|
+
"bo",
|
|
16389
|
+
"boa",
|
|
16390
|
+
"bominapl",
|
|
16391
|
+
"boudoudom",
|
|
16392
|
+
"bouez",
|
|
16393
|
+
"boull",
|
|
16394
|
+
"boum",
|
|
16395
|
+
"bout",
|
|
16396
|
+
"bras",
|
|
16397
|
+
"brasañ",
|
|
16398
|
+
"brav",
|
|
16399
|
+
"bravo",
|
|
16400
|
+
"bremañ",
|
|
16401
|
+
"bres",
|
|
16402
|
+
"brokenn",
|
|
16403
|
+
"bronn",
|
|
16404
|
+
"brrr",
|
|
16405
|
+
"brutal",
|
|
16406
|
+
"buhezek",
|
|
16407
|
+
"c'h:",
|
|
16408
|
+
"c'haout",
|
|
16409
|
+
"c'he",
|
|
16410
|
+
"c'hem",
|
|
16411
|
+
"c'herz",
|
|
16412
|
+
"c'heñver",
|
|
16413
|
+
"c'hichen",
|
|
16414
|
+
"c'hiz",
|
|
16415
|
+
"c'hoazh",
|
|
16416
|
+
"c'horre",
|
|
16417
|
+
"c'houde",
|
|
16418
|
+
"c'houst",
|
|
16419
|
+
"c'hreiz",
|
|
16420
|
+
"c'hwec'h",
|
|
16421
|
+
"c'hwec'hvet",
|
|
16422
|
+
"c'hwezek",
|
|
16423
|
+
"c'hwi",
|
|
16424
|
+
"ch:",
|
|
16425
|
+
"chaous",
|
|
16426
|
+
"chik",
|
|
16427
|
+
"chit",
|
|
16428
|
+
"chom",
|
|
16429
|
+
"chut",
|
|
16430
|
+
"d'",
|
|
16431
|
+
"d'al",
|
|
16432
|
+
"d'an",
|
|
16433
|
+
"d'ar",
|
|
16434
|
+
"d'az",
|
|
16435
|
+
"d'e",
|
|
16436
|
+
"d'he",
|
|
16437
|
+
"d'ho",
|
|
16438
|
+
"d'hol",
|
|
16439
|
+
"d'hon",
|
|
16440
|
+
"d'hor",
|
|
16441
|
+
"d'o",
|
|
16442
|
+
"d'ober",
|
|
16443
|
+
"d'ul",
|
|
16444
|
+
"d'un",
|
|
16445
|
+
"d'ur",
|
|
16446
|
+
"d:",
|
|
16364
16447
|
"da",
|
|
16365
|
-
"
|
|
16366
|
-
"
|
|
16367
|
-
"
|
|
16368
|
-
"
|
|
16369
|
-
"
|
|
16370
|
-
"
|
|
16371
|
-
"
|
|
16372
|
-
"
|
|
16373
|
-
"
|
|
16374
|
-
"
|
|
16375
|
-
"
|
|
16376
|
-
"
|
|
16377
|
-
"
|
|
16378
|
-
"
|
|
16379
|
-
"
|
|
16448
|
+
"dak",
|
|
16449
|
+
"daka",
|
|
16450
|
+
"dal",
|
|
16451
|
+
"dalbezh",
|
|
16452
|
+
"dalc'hmat",
|
|
16453
|
+
"dalit",
|
|
16454
|
+
"damdost",
|
|
16455
|
+
"damheñvel",
|
|
16456
|
+
"damm",
|
|
16457
|
+
"dan",
|
|
16458
|
+
"danvez",
|
|
16459
|
+
"dao",
|
|
16460
|
+
"daol",
|
|
16461
|
+
"daonet",
|
|
16462
|
+
"daou",
|
|
16463
|
+
"daoust",
|
|
16464
|
+
"daouzek",
|
|
16465
|
+
"daouzekvet",
|
|
16466
|
+
"darn",
|
|
16467
|
+
"dastrewiñ",
|
|
16468
|
+
"dav",
|
|
16469
|
+
"davedoc'h",
|
|
16470
|
+
"davedomp",
|
|
16471
|
+
"davedon",
|
|
16472
|
+
"davedor",
|
|
16473
|
+
"davedout",
|
|
16474
|
+
"davet",
|
|
16475
|
+
"davetañ",
|
|
16476
|
+
"davete",
|
|
16477
|
+
"daveti",
|
|
16478
|
+
"daveto",
|
|
16479
|
+
"defe",
|
|
16480
|
+
"dehou",
|
|
16481
|
+
"dek",
|
|
16482
|
+
"dekvet",
|
|
16483
|
+
"den",
|
|
16484
|
+
"deoc'h",
|
|
16485
|
+
"deomp",
|
|
16486
|
+
"deor",
|
|
16487
|
+
"derc'hel",
|
|
16488
|
+
"deus",
|
|
16489
|
+
"dez",
|
|
16490
|
+
"deze",
|
|
16491
|
+
"dezhañ",
|
|
16492
|
+
"dezhe",
|
|
16493
|
+
"dezhi",
|
|
16494
|
+
"dezho",
|
|
16495
|
+
"di",
|
|
16496
|
+
"diabarzh",
|
|
16497
|
+
"diagent",
|
|
16498
|
+
"diar",
|
|
16499
|
+
"diaraok",
|
|
16500
|
+
"diavaez",
|
|
16501
|
+
"dibaoe",
|
|
16502
|
+
"dibaot",
|
|
16503
|
+
"dibar",
|
|
16504
|
+
"dic'halañ",
|
|
16505
|
+
"didiac'h",
|
|
16506
|
+
"dienn",
|
|
16507
|
+
"difer",
|
|
16508
|
+
"diganeoc'h",
|
|
16509
|
+
"diganeomp",
|
|
16510
|
+
"diganeor",
|
|
16511
|
+
"diganimp",
|
|
16512
|
+
"diganin",
|
|
16513
|
+
"diganit",
|
|
16514
|
+
"digant",
|
|
16515
|
+
"digantañ",
|
|
16516
|
+
"digante",
|
|
16517
|
+
"diganti",
|
|
16518
|
+
"diganto",
|
|
16519
|
+
"digemmesk",
|
|
16520
|
+
"diget",
|
|
16521
|
+
"digor",
|
|
16522
|
+
"digoret",
|
|
16523
|
+
"dija",
|
|
16524
|
+
"dije",
|
|
16525
|
+
"dimp",
|
|
16526
|
+
"din",
|
|
16527
|
+
"dinaou",
|
|
16528
|
+
"dindan",
|
|
16529
|
+
"dindanañ",
|
|
16530
|
+
"dindani",
|
|
16531
|
+
"dindano",
|
|
16532
|
+
"dindanoc'h",
|
|
16533
|
+
"dindanomp",
|
|
16534
|
+
"dindanon",
|
|
16535
|
+
"dindanor",
|
|
16536
|
+
"dindanout",
|
|
16537
|
+
"dioutañ",
|
|
16538
|
+
"dioute",
|
|
16539
|
+
"diouti",
|
|
16540
|
+
"diouto",
|
|
16541
|
+
"diouzh",
|
|
16542
|
+
"diouzhin",
|
|
16543
|
+
"diouzhit",
|
|
16544
|
+
"diouzhoc'h",
|
|
16545
|
+
"diouzhomp",
|
|
16546
|
+
"diouzhor",
|
|
16547
|
+
"dirak",
|
|
16548
|
+
"dirazañ",
|
|
16549
|
+
"dirazi",
|
|
16550
|
+
"dirazo",
|
|
16551
|
+
"dirazoc'h",
|
|
16552
|
+
"dirazomp",
|
|
16553
|
+
"dirazon",
|
|
16554
|
+
"dirazor",
|
|
16555
|
+
"dirazout",
|
|
16556
|
+
"disheñvel",
|
|
16557
|
+
"dispar",
|
|
16558
|
+
"distank",
|
|
16559
|
+
"dister",
|
|
16560
|
+
"disterañ",
|
|
16561
|
+
"disterig",
|
|
16562
|
+
"distro",
|
|
16563
|
+
"dit",
|
|
16564
|
+
"divaez",
|
|
16565
|
+
"diwar",
|
|
16566
|
+
"diwezhat",
|
|
16567
|
+
"diwezhañ",
|
|
16380
16568
|
"do",
|
|
16381
|
-
"
|
|
16382
|
-
"
|
|
16569
|
+
"doa",
|
|
16570
|
+
"doare",
|
|
16571
|
+
"dont",
|
|
16572
|
+
"dost",
|
|
16573
|
+
"doue",
|
|
16574
|
+
"douetus",
|
|
16575
|
+
"douez",
|
|
16576
|
+
"doug",
|
|
16577
|
+
"draou",
|
|
16578
|
+
"draoñ",
|
|
16579
|
+
"dre",
|
|
16580
|
+
"drede",
|
|
16581
|
+
"dreist",
|
|
16582
|
+
"dreistañ",
|
|
16583
|
+
"dreisti",
|
|
16584
|
+
"dreisto",
|
|
16585
|
+
"dreistoc'h",
|
|
16586
|
+
"dreistomp",
|
|
16587
|
+
"dreiston",
|
|
16588
|
+
"dreistor",
|
|
16589
|
+
"dreistout",
|
|
16590
|
+
"drek",
|
|
16591
|
+
"dreñv",
|
|
16592
|
+
"dring",
|
|
16593
|
+
"dro",
|
|
16594
|
+
"du",
|
|
16383
16595
|
"e",
|
|
16384
|
-
"
|
|
16385
|
-
"
|
|
16386
|
-
"
|
|
16387
|
-
"
|
|
16596
|
+
"e:",
|
|
16597
|
+
"eas",
|
|
16598
|
+
"ebet",
|
|
16599
|
+
"ec'h",
|
|
16600
|
+
"edo",
|
|
16601
|
+
"edoc'h",
|
|
16602
|
+
"edod",
|
|
16603
|
+
"edomp",
|
|
16604
|
+
"edon",
|
|
16605
|
+
"edont",
|
|
16606
|
+
"edos",
|
|
16607
|
+
"eer",
|
|
16608
|
+
"eeun",
|
|
16609
|
+
"efed",
|
|
16610
|
+
"egedoc'h",
|
|
16611
|
+
"egedomp",
|
|
16612
|
+
"egedon",
|
|
16613
|
+
"egedor",
|
|
16614
|
+
"egedout",
|
|
16615
|
+
"eget",
|
|
16616
|
+
"egetañ",
|
|
16617
|
+
"egete",
|
|
16618
|
+
"egeti",
|
|
16619
|
+
"egeto",
|
|
16620
|
+
"eh",
|
|
16621
|
+
"eil",
|
|
16622
|
+
"eilvet",
|
|
16623
|
+
"eizh",
|
|
16624
|
+
"eizhvet",
|
|
16625
|
+
"ejoc'h",
|
|
16626
|
+
"ejod",
|
|
16627
|
+
"ejomp",
|
|
16628
|
+
"ejont",
|
|
16629
|
+
"ejout",
|
|
16630
|
+
"el",
|
|
16388
16631
|
"em",
|
|
16389
|
-
"
|
|
16390
|
-
"
|
|
16391
|
-
"
|
|
16392
|
-
"
|
|
16393
|
-
"
|
|
16394
|
-
"
|
|
16395
|
-
"
|
|
16396
|
-
"
|
|
16397
|
-
"
|
|
16398
|
-
"
|
|
16632
|
+
"emaint",
|
|
16633
|
+
"emaoc'h",
|
|
16634
|
+
"emaomp",
|
|
16635
|
+
"emaon",
|
|
16636
|
+
"emaout",
|
|
16637
|
+
"emañ",
|
|
16638
|
+
"eme",
|
|
16639
|
+
"emeur",
|
|
16640
|
+
"emezañ",
|
|
16641
|
+
"emezi",
|
|
16642
|
+
"emezo",
|
|
16643
|
+
"emezoc'h",
|
|
16644
|
+
"emezomp",
|
|
16645
|
+
"emezon",
|
|
16646
|
+
"emezout",
|
|
16647
|
+
"emporzhiañ",
|
|
16648
|
+
"en",
|
|
16649
|
+
"end",
|
|
16650
|
+
"endan",
|
|
16651
|
+
"endra",
|
|
16652
|
+
"enep",
|
|
16653
|
+
"ennañ",
|
|
16654
|
+
"enni",
|
|
16655
|
+
"enno",
|
|
16656
|
+
"ennoc'h",
|
|
16657
|
+
"ennomp",
|
|
16658
|
+
"ennon",
|
|
16659
|
+
"ennor",
|
|
16660
|
+
"ennout",
|
|
16661
|
+
"enta",
|
|
16662
|
+
"eo",
|
|
16663
|
+
"eomp",
|
|
16664
|
+
"eont",
|
|
16665
|
+
"eor",
|
|
16666
|
+
"eot",
|
|
16667
|
+
"er",
|
|
16668
|
+
"erbet",
|
|
16669
|
+
"erfin",
|
|
16670
|
+
"esa",
|
|
16671
|
+
"esae",
|
|
16672
|
+
"espar",
|
|
16673
|
+
"estlamm",
|
|
16674
|
+
"estrañj",
|
|
16675
|
+
"eta",
|
|
16676
|
+
"etre",
|
|
16677
|
+
"etreoc'h",
|
|
16678
|
+
"etrezo",
|
|
16679
|
+
"etrezoc'h",
|
|
16680
|
+
"etrezomp",
|
|
16681
|
+
"etrezor",
|
|
16682
|
+
"euh",
|
|
16683
|
+
"eur",
|
|
16684
|
+
"eus",
|
|
16685
|
+
"evel",
|
|
16686
|
+
"evelato",
|
|
16687
|
+
"eveldoc'h",
|
|
16688
|
+
"eveldomp",
|
|
16689
|
+
"eveldon",
|
|
16690
|
+
"eveldor",
|
|
16691
|
+
"eveldout",
|
|
16692
|
+
"evelkent",
|
|
16693
|
+
"eveltañ",
|
|
16694
|
+
"evelte",
|
|
16695
|
+
"evelti",
|
|
16696
|
+
"evelto",
|
|
16697
|
+
"evidoc'h",
|
|
16698
|
+
"evidomp",
|
|
16699
|
+
"evidon",
|
|
16700
|
+
"evidor",
|
|
16701
|
+
"evidout",
|
|
16702
|
+
"evit",
|
|
16703
|
+
"evitañ",
|
|
16704
|
+
"evite",
|
|
16705
|
+
"eviti",
|
|
16706
|
+
"evito",
|
|
16707
|
+
"ez",
|
|
16708
|
+
"eñ",
|
|
16709
|
+
"f:",
|
|
16710
|
+
"fac'h",
|
|
16711
|
+
"fall",
|
|
16712
|
+
"fed",
|
|
16713
|
+
"feiz",
|
|
16714
|
+
"fenn",
|
|
16715
|
+
"fezh",
|
|
16716
|
+
"fin",
|
|
16717
|
+
"finsalvet",
|
|
16718
|
+
"foei",
|
|
16719
|
+
"fouilhezañ",
|
|
16720
|
+
"g:",
|
|
16721
|
+
"gallout",
|
|
16722
|
+
"ganeoc'h",
|
|
16723
|
+
"ganeomp",
|
|
16724
|
+
"ganin",
|
|
16725
|
+
"ganit",
|
|
16726
|
+
"gant",
|
|
16727
|
+
"gantañ",
|
|
16728
|
+
"ganti",
|
|
16729
|
+
"ganto",
|
|
16730
|
+
"gaout",
|
|
16731
|
+
"gast",
|
|
16732
|
+
"gein",
|
|
16733
|
+
"gellout",
|
|
16734
|
+
"genndost",
|
|
16735
|
+
"gentañ",
|
|
16736
|
+
"ger",
|
|
16737
|
+
"gerz",
|
|
16738
|
+
"get",
|
|
16739
|
+
"geñver",
|
|
16740
|
+
"gichen",
|
|
16741
|
+
"gin",
|
|
16742
|
+
"giz",
|
|
16743
|
+
"glan",
|
|
16744
|
+
"gloev",
|
|
16745
|
+
"goll",
|
|
16746
|
+
"gorre",
|
|
16747
|
+
"goude",
|
|
16748
|
+
"gouez",
|
|
16749
|
+
"gouezit",
|
|
16750
|
+
"gouezomp",
|
|
16751
|
+
"goulz",
|
|
16752
|
+
"gounnar",
|
|
16753
|
+
"gour",
|
|
16754
|
+
"goust",
|
|
16755
|
+
"gouze",
|
|
16756
|
+
"gouzout",
|
|
16757
|
+
"gra",
|
|
16758
|
+
"grak",
|
|
16759
|
+
"grec'h",
|
|
16760
|
+
"greiz",
|
|
16761
|
+
"grenn",
|
|
16762
|
+
"greomp",
|
|
16763
|
+
"grit",
|
|
16764
|
+
"groñs",
|
|
16765
|
+
"gutez",
|
|
16766
|
+
"gwall",
|
|
16767
|
+
"gwashoc'h",
|
|
16768
|
+
"gwazh",
|
|
16769
|
+
"gwech",
|
|
16770
|
+
"gwechall",
|
|
16771
|
+
"gwechoù",
|
|
16772
|
+
"gwell",
|
|
16773
|
+
"gwezh",
|
|
16774
|
+
"gwezhall",
|
|
16775
|
+
"gwezharall",
|
|
16776
|
+
"gwezhoù",
|
|
16777
|
+
"gwig",
|
|
16778
|
+
"gwirionez",
|
|
16779
|
+
"gwitibunan",
|
|
16780
|
+
"gêr",
|
|
16781
|
+
"h:",
|
|
16399
16782
|
"ha",
|
|
16400
|
-
"
|
|
16401
|
-
"
|
|
16402
|
-
"
|
|
16403
|
-
"
|
|
16404
|
-
"
|
|
16405
|
-
"
|
|
16406
|
-
"
|
|
16407
|
-
"
|
|
16408
|
-
"
|
|
16409
|
-
"
|
|
16410
|
-
"
|
|
16783
|
+
"hag",
|
|
16784
|
+
"han",
|
|
16785
|
+
"hanter",
|
|
16786
|
+
"hanterc'hantad",
|
|
16787
|
+
"hanterkantved",
|
|
16788
|
+
"harz",
|
|
16789
|
+
"hañ",
|
|
16790
|
+
"hañval",
|
|
16791
|
+
"he",
|
|
16792
|
+
"hebioù",
|
|
16793
|
+
"hec'h",
|
|
16794
|
+
"hei",
|
|
16795
|
+
"hein",
|
|
16796
|
+
"hem",
|
|
16797
|
+
"hemañ",
|
|
16798
|
+
"hen",
|
|
16799
|
+
"hend",
|
|
16800
|
+
"henhont",
|
|
16801
|
+
"henn",
|
|
16802
|
+
"hennezh",
|
|
16803
|
+
"hent",
|
|
16804
|
+
"hep",
|
|
16805
|
+
"hervez",
|
|
16806
|
+
"hervezañ",
|
|
16807
|
+
"hervezi",
|
|
16808
|
+
"hervezo",
|
|
16809
|
+
"hervezoc'h",
|
|
16810
|
+
"hervezomp",
|
|
16811
|
+
"hervezon",
|
|
16812
|
+
"hervezor",
|
|
16813
|
+
"hervezout",
|
|
16814
|
+
"heul",
|
|
16815
|
+
"heuliañ",
|
|
16816
|
+
"hevelep",
|
|
16817
|
+
"heverk",
|
|
16818
|
+
"heñvel",
|
|
16819
|
+
"heñvelat",
|
|
16820
|
+
"heñvelañ",
|
|
16821
|
+
"heñveliñ",
|
|
16822
|
+
"heñveloc'h",
|
|
16823
|
+
"heñvelout",
|
|
16824
|
+
"hi",
|
|
16825
|
+
"hilh",
|
|
16826
|
+
"hini",
|
|
16827
|
+
"hirie",
|
|
16828
|
+
"hirio",
|
|
16829
|
+
"hiziv",
|
|
16830
|
+
"hiziviken",
|
|
16831
|
+
"ho",
|
|
16832
|
+
"hoaliñ",
|
|
16833
|
+
"hoc'h",
|
|
16834
|
+
"hogen",
|
|
16835
|
+
"hogos",
|
|
16836
|
+
"hogozik",
|
|
16837
|
+
"hol",
|
|
16838
|
+
"holl",
|
|
16839
|
+
"holà",
|
|
16840
|
+
"homañ",
|
|
16841
|
+
"hon",
|
|
16842
|
+
"honhont",
|
|
16843
|
+
"honnezh",
|
|
16844
|
+
"hont",
|
|
16845
|
+
"hop",
|
|
16846
|
+
"hopala",
|
|
16847
|
+
"hor",
|
|
16848
|
+
"hou",
|
|
16849
|
+
"houp",
|
|
16850
|
+
"hudu",
|
|
16851
|
+
"hue",
|
|
16852
|
+
"hui",
|
|
16853
|
+
"hum",
|
|
16854
|
+
"hurrah",
|
|
16855
|
+
"i",
|
|
16856
|
+
"i:",
|
|
16857
|
+
"in",
|
|
16858
|
+
"int",
|
|
16859
|
+
"is",
|
|
16860
|
+
"ispisial",
|
|
16861
|
+
"isurzhiet",
|
|
16862
|
+
"it",
|
|
16863
|
+
"ivez",
|
|
16864
|
+
"izelañ",
|
|
16865
|
+
"j:",
|
|
16866
|
+
"just",
|
|
16867
|
+
"k:",
|
|
16868
|
+
"kae",
|
|
16869
|
+
"kaer",
|
|
16870
|
+
"kalon",
|
|
16871
|
+
"kalz",
|
|
16872
|
+
"kant",
|
|
16873
|
+
"kaout",
|
|
16874
|
+
"kar",
|
|
16875
|
+
"kazi",
|
|
16876
|
+
"keid",
|
|
16877
|
+
"kein",
|
|
16878
|
+
"keit",
|
|
16879
|
+
"kel",
|
|
16880
|
+
"kellies",
|
|
16881
|
+
"keloù",
|
|
16882
|
+
"kement",
|
|
16883
|
+
"ken",
|
|
16884
|
+
"kenkent",
|
|
16885
|
+
"kenkoulz",
|
|
16886
|
+
"kenment",
|
|
16887
|
+
"kent",
|
|
16888
|
+
"kentañ",
|
|
16889
|
+
"kentizh",
|
|
16890
|
+
"kentoc'h",
|
|
16891
|
+
"kentre",
|
|
16892
|
+
"ker",
|
|
16893
|
+
"kerkent",
|
|
16894
|
+
"kerz",
|
|
16895
|
+
"kerzh",
|
|
16896
|
+
"ket",
|
|
16897
|
+
"keta",
|
|
16898
|
+
"keñver",
|
|
16899
|
+
"keñverel",
|
|
16900
|
+
"keñverius",
|
|
16901
|
+
"kichen",
|
|
16902
|
+
"kichenik",
|
|
16903
|
+
"kit",
|
|
16904
|
+
"kiz",
|
|
16905
|
+
"klak",
|
|
16906
|
+
"klek",
|
|
16907
|
+
"klik",
|
|
16908
|
+
"komprenet",
|
|
16909
|
+
"komz",
|
|
16910
|
+
"kont",
|
|
16911
|
+
"korf",
|
|
16912
|
+
"korre",
|
|
16913
|
+
"koulskoude",
|
|
16914
|
+
"koulz",
|
|
16915
|
+
"koust",
|
|
16916
|
+
"krak",
|
|
16917
|
+
"krampouezh",
|
|
16918
|
+
"krec'h",
|
|
16919
|
+
"kreiz",
|
|
16920
|
+
"kuit",
|
|
16921
|
+
"kwir",
|
|
16922
|
+
"l:",
|
|
16923
|
+
"la",
|
|
16924
|
+
"laez",
|
|
16925
|
+
"laoskel",
|
|
16926
|
+
"laouen",
|
|
16927
|
+
"lavar",
|
|
16928
|
+
"lavaret",
|
|
16929
|
+
"lavarout",
|
|
16930
|
+
"lec'h",
|
|
16931
|
+
"lein",
|
|
16932
|
+
"leizh",
|
|
16933
|
+
"lerc'h",
|
|
16934
|
+
"leun",
|
|
16935
|
+
"leuskel",
|
|
16936
|
+
"lew",
|
|
16937
|
+
"lies",
|
|
16938
|
+
"liesañ",
|
|
16939
|
+
"lod",
|
|
16940
|
+
"lusk",
|
|
16941
|
+
"lâr",
|
|
16942
|
+
"lârout",
|
|
16943
|
+
"m:",
|
|
16944
|
+
"ma",
|
|
16945
|
+
"ma'z",
|
|
16946
|
+
"mac'h",
|
|
16947
|
+
"mac'hat",
|
|
16948
|
+
"mac'hañ",
|
|
16949
|
+
"mac'hoc'h",
|
|
16950
|
+
"mad",
|
|
16951
|
+
"maez",
|
|
16952
|
+
"maksimal",
|
|
16953
|
+
"mann",
|
|
16954
|
+
"mar",
|
|
16955
|
+
"mard",
|
|
16956
|
+
"marg",
|
|
16957
|
+
"marzh",
|
|
16958
|
+
"mat",
|
|
16959
|
+
"mañ",
|
|
16960
|
+
"me",
|
|
16961
|
+
"memes",
|
|
16962
|
+
"memestra",
|
|
16963
|
+
"merkapl",
|
|
16964
|
+
"mersi",
|
|
16965
|
+
"mes",
|
|
16966
|
+
"mesk",
|
|
16967
|
+
"met",
|
|
16968
|
+
"meur",
|
|
16969
|
+
"mil",
|
|
16970
|
+
"minimal",
|
|
16971
|
+
"moan",
|
|
16972
|
+
"moaniaat",
|
|
16973
|
+
"mod",
|
|
16974
|
+
"mont",
|
|
16975
|
+
"mout",
|
|
16976
|
+
"mui",
|
|
16977
|
+
"muiañ",
|
|
16978
|
+
"muioc'h",
|
|
16979
|
+
"n",
|
|
16980
|
+
"n'",
|
|
16981
|
+
"n:",
|
|
16411
16982
|
"na",
|
|
16412
|
-
"
|
|
16413
|
-
"
|
|
16414
|
-
"
|
|
16415
|
-
"
|
|
16416
|
-
"
|
|
16417
|
-
"
|
|
16983
|
+
"nag",
|
|
16984
|
+
"naontek",
|
|
16985
|
+
"naturel",
|
|
16986
|
+
"nav",
|
|
16987
|
+
"navet",
|
|
16988
|
+
"ne",
|
|
16989
|
+
"nebeudig",
|
|
16990
|
+
"nebeut",
|
|
16991
|
+
"nebeutañ",
|
|
16992
|
+
"nebeutoc'h",
|
|
16993
|
+
"neketa",
|
|
16994
|
+
"nemedoc'h",
|
|
16995
|
+
"nemedomp",
|
|
16996
|
+
"nemedon",
|
|
16997
|
+
"nemedor",
|
|
16998
|
+
"nemedout",
|
|
16999
|
+
"nemet",
|
|
17000
|
+
"nemetañ",
|
|
17001
|
+
"nemete",
|
|
17002
|
+
"nemeti",
|
|
17003
|
+
"nemeto",
|
|
17004
|
+
"nemeur",
|
|
17005
|
+
"neoac'h",
|
|
17006
|
+
"nepell",
|
|
17007
|
+
"nerzh",
|
|
17008
|
+
"nes",
|
|
17009
|
+
"neseser",
|
|
17010
|
+
"netra",
|
|
17011
|
+
"neubeudoù",
|
|
17012
|
+
"neuhe",
|
|
17013
|
+
"neuze",
|
|
17014
|
+
"nevez",
|
|
17015
|
+
"newazh",
|
|
17016
|
+
"nez",
|
|
17017
|
+
"ni",
|
|
17018
|
+
"nikun",
|
|
17019
|
+
"niverus",
|
|
17020
|
+
"nul",
|
|
16418
17021
|
"o",
|
|
16419
|
-
"
|
|
16420
|
-
"
|
|
16421
|
-
"
|
|
16422
|
-
"
|
|
16423
|
-
"
|
|
16424
|
-
"
|
|
16425
|
-
"
|
|
16426
|
-
"
|
|
16427
|
-
"
|
|
16428
|
-
"
|
|
16429
|
-
"
|
|
16430
|
-
"
|
|
16431
|
-
"
|
|
16432
|
-
"
|
|
16433
|
-
"
|
|
16434
|
-
"
|
|
16435
|
-
"
|
|
16436
|
-
"
|
|
16437
|
-
"
|
|
16438
|
-
"
|
|
16439
|
-
"
|
|
16440
|
-
"
|
|
16441
|
-
"
|
|
16442
|
-
"
|
|
17022
|
+
"o:",
|
|
17023
|
+
"oa",
|
|
17024
|
+
"oac'h",
|
|
17025
|
+
"oad",
|
|
17026
|
+
"oamp",
|
|
17027
|
+
"oan",
|
|
17028
|
+
"oant",
|
|
17029
|
+
"oar",
|
|
17030
|
+
"oas",
|
|
17031
|
+
"ober",
|
|
17032
|
+
"oc'h",
|
|
17033
|
+
"oc'ho",
|
|
17034
|
+
"oc'hola",
|
|
17035
|
+
"oc'hpenn",
|
|
17036
|
+
"oh",
|
|
17037
|
+
"ohe",
|
|
17038
|
+
"ollé",
|
|
17039
|
+
"olole",
|
|
17040
|
+
"olé",
|
|
17041
|
+
"omp",
|
|
17042
|
+
"on",
|
|
17043
|
+
"ordin",
|
|
17044
|
+
"ordinal",
|
|
17045
|
+
"ouejoc'h",
|
|
17046
|
+
"ouejod",
|
|
17047
|
+
"ouejomp",
|
|
17048
|
+
"ouejont",
|
|
17049
|
+
"ouejout",
|
|
17050
|
+
"ouek",
|
|
17051
|
+
"ouezas",
|
|
17052
|
+
"ouezi",
|
|
17053
|
+
"ouezimp",
|
|
17054
|
+
"ouezin",
|
|
17055
|
+
"ouezint",
|
|
17056
|
+
"ouezis",
|
|
17057
|
+
"ouezo",
|
|
17058
|
+
"ouezoc'h",
|
|
17059
|
+
"ouezor",
|
|
17060
|
+
"ouf",
|
|
17061
|
+
"oufe",
|
|
17062
|
+
"oufec'h",
|
|
17063
|
+
"oufed",
|
|
17064
|
+
"oufemp",
|
|
17065
|
+
"oufen",
|
|
17066
|
+
"oufent",
|
|
17067
|
+
"oufes",
|
|
17068
|
+
"ouie",
|
|
17069
|
+
"ouiec'h",
|
|
17070
|
+
"ouied",
|
|
17071
|
+
"ouiemp",
|
|
17072
|
+
"ouien",
|
|
17073
|
+
"ouient",
|
|
17074
|
+
"ouies",
|
|
17075
|
+
"ouije",
|
|
17076
|
+
"ouijec'h",
|
|
17077
|
+
"ouijed",
|
|
17078
|
+
"ouijemp",
|
|
17079
|
+
"ouijen",
|
|
17080
|
+
"ouijent",
|
|
17081
|
+
"ouijes",
|
|
17082
|
+
"out",
|
|
17083
|
+
"outañ",
|
|
17084
|
+
"outi",
|
|
17085
|
+
"outo",
|
|
17086
|
+
"ouzer",
|
|
17087
|
+
"ouzh",
|
|
17088
|
+
"ouzhin",
|
|
17089
|
+
"ouzhit",
|
|
17090
|
+
"ouzhoc'h",
|
|
17091
|
+
"ouzhomp",
|
|
17092
|
+
"ouzhor",
|
|
17093
|
+
"ouzhpenn",
|
|
17094
|
+
"ouzhpennik",
|
|
17095
|
+
"ouzoc'h",
|
|
17096
|
+
"ouzomp",
|
|
17097
|
+
"ouzon",
|
|
17098
|
+
"ouzont",
|
|
17099
|
+
"ouzout",
|
|
17100
|
+
"p'",
|
|
17101
|
+
"p:",
|
|
17102
|
+
"pa",
|
|
17103
|
+
"pad",
|
|
17104
|
+
"padal",
|
|
17105
|
+
"paf",
|
|
17106
|
+
"pan",
|
|
17107
|
+
"panevedeoc'h",
|
|
17108
|
+
"panevedo",
|
|
17109
|
+
"panevedomp",
|
|
17110
|
+
"panevedon",
|
|
17111
|
+
"panevedout",
|
|
17112
|
+
"panevet",
|
|
17113
|
+
"panevetañ",
|
|
17114
|
+
"paneveti",
|
|
17115
|
+
"pas",
|
|
17116
|
+
"paseet",
|
|
17117
|
+
"pe",
|
|
17118
|
+
"peadra",
|
|
17119
|
+
"peder",
|
|
17120
|
+
"pedervet",
|
|
17121
|
+
"pedervetvet",
|
|
17122
|
+
"pefe",
|
|
17123
|
+
"pegeit",
|
|
17124
|
+
"pegement",
|
|
17125
|
+
"pegen",
|
|
17126
|
+
"pegiz",
|
|
17127
|
+
"pegoulz",
|
|
17128
|
+
"pehini",
|
|
17129
|
+
"pelec'h",
|
|
17130
|
+
"pell",
|
|
17131
|
+
"pemod",
|
|
17132
|
+
"pemp",
|
|
17133
|
+
"pempved",
|
|
17134
|
+
"pemzek",
|
|
17135
|
+
"penaos",
|
|
17136
|
+
"penn",
|
|
17137
|
+
"peogwir",
|
|
17138
|
+
"peotramant",
|
|
17139
|
+
"pep",
|
|
17140
|
+
"perak",
|
|
17141
|
+
"perc'hennañ",
|
|
17142
|
+
"pergen",
|
|
17143
|
+
"permetiñ",
|
|
17144
|
+
"peseurt",
|
|
17145
|
+
"pet",
|
|
17146
|
+
"petiaoul",
|
|
17147
|
+
"petoare",
|
|
17148
|
+
"petra",
|
|
17149
|
+
"peur",
|
|
17150
|
+
"peurgetket",
|
|
17151
|
+
"peurheñvel",
|
|
17152
|
+
"peurliesañ",
|
|
17153
|
+
"peurvuiañ",
|
|
17154
|
+
"peus",
|
|
17155
|
+
"peustost",
|
|
17156
|
+
"peuz",
|
|
17157
|
+
"pevar",
|
|
17158
|
+
"pevare",
|
|
17159
|
+
"pevarevet",
|
|
17160
|
+
"pevarzek",
|
|
17161
|
+
"pez",
|
|
17162
|
+
"peze",
|
|
17163
|
+
"pezh",
|
|
17164
|
+
"pff",
|
|
17165
|
+
"pfft",
|
|
17166
|
+
"pfut",
|
|
17167
|
+
"picher",
|
|
17168
|
+
"pif",
|
|
17169
|
+
"pife",
|
|
17170
|
+
"pign",
|
|
17171
|
+
"pije",
|
|
17172
|
+
"pikol",
|
|
17173
|
+
"pitiaoul",
|
|
17174
|
+
"piv",
|
|
17175
|
+
"plaouf",
|
|
17176
|
+
"plok",
|
|
17177
|
+
"plouf",
|
|
17178
|
+
"po",
|
|
17179
|
+
"poa",
|
|
17180
|
+
"poelladus",
|
|
17181
|
+
"pof",
|
|
17182
|
+
"pok",
|
|
17183
|
+
"posupl",
|
|
17184
|
+
"pouah",
|
|
17185
|
+
"pourc'henn",
|
|
17186
|
+
"prest",
|
|
17187
|
+
"prestik",
|
|
17188
|
+
"prim",
|
|
17189
|
+
"prin",
|
|
17190
|
+
"provostapl",
|
|
17191
|
+
"pst",
|
|
17192
|
+
"pu",
|
|
17193
|
+
"pur",
|
|
17194
|
+
"r:",
|
|
17195
|
+
"ra",
|
|
17196
|
+
"rae",
|
|
17197
|
+
"raec'h",
|
|
17198
|
+
"raed",
|
|
17199
|
+
"raemp",
|
|
17200
|
+
"raen",
|
|
17201
|
+
"raent",
|
|
17202
|
+
"raes",
|
|
17203
|
+
"rafe",
|
|
17204
|
+
"rafec'h",
|
|
17205
|
+
"rafed",
|
|
17206
|
+
"rafemp",
|
|
17207
|
+
"rafen",
|
|
17208
|
+
"rafent",
|
|
17209
|
+
"rafes",
|
|
17210
|
+
"rag",
|
|
17211
|
+
"raimp",
|
|
17212
|
+
"raint",
|
|
17213
|
+
"raio",
|
|
17214
|
+
"raje",
|
|
17215
|
+
"rajec'h",
|
|
17216
|
+
"rajed",
|
|
17217
|
+
"rajemp",
|
|
17218
|
+
"rajen",
|
|
17219
|
+
"rajent",
|
|
17220
|
+
"rajes",
|
|
17221
|
+
"rak",
|
|
17222
|
+
"ral",
|
|
17223
|
+
"ran",
|
|
17224
|
+
"rankout",
|
|
17225
|
+
"raok",
|
|
17226
|
+
"razh",
|
|
17227
|
+
"re",
|
|
17228
|
+
"reas",
|
|
17229
|
+
"reer",
|
|
17230
|
+
"regennoù",
|
|
17231
|
+
"reiñ",
|
|
17232
|
+
"rejoc'h",
|
|
17233
|
+
"rejod",
|
|
17234
|
+
"rejomp",
|
|
17235
|
+
"rejont",
|
|
17236
|
+
"rejout",
|
|
17237
|
+
"rener",
|
|
17238
|
+
"rentañ",
|
|
17239
|
+
"reoc'h",
|
|
17240
|
+
"reomp",
|
|
17241
|
+
"reont",
|
|
17242
|
+
"reor",
|
|
17243
|
+
"reot",
|
|
17244
|
+
"resis",
|
|
17245
|
+
"ret",
|
|
17246
|
+
"reve",
|
|
17247
|
+
"rez",
|
|
17248
|
+
"ri",
|
|
17249
|
+
"rik",
|
|
17250
|
+
"rin",
|
|
17251
|
+
"ris",
|
|
17252
|
+
"rit",
|
|
17253
|
+
"rouez",
|
|
17254
|
+
"s:",
|
|
17255
|
+
"sac'h",
|
|
17256
|
+
"sant",
|
|
17257
|
+
"sav",
|
|
17258
|
+
"sañset",
|
|
16443
17259
|
"se",
|
|
16444
|
-
"
|
|
16445
|
-
"
|
|
16446
|
-
"
|
|
16447
|
-
"
|
|
16448
|
-
"
|
|
16449
|
-
"
|
|
16450
|
-
"
|
|
16451
|
-
"
|
|
16452
|
-
"
|
|
17260
|
+
"sed",
|
|
17261
|
+
"seitek",
|
|
17262
|
+
"seizh",
|
|
17263
|
+
"seizhvet",
|
|
17264
|
+
"sell",
|
|
17265
|
+
"sellit",
|
|
17266
|
+
"ser",
|
|
17267
|
+
"setu",
|
|
17268
|
+
"seul",
|
|
17269
|
+
"seurt",
|
|
17270
|
+
"siwazh",
|
|
17271
|
+
"skignañ",
|
|
17272
|
+
"skoaz",
|
|
17273
|
+
"skouer",
|
|
17274
|
+
"sort",
|
|
17275
|
+
"souden",
|
|
17276
|
+
"souvitañ",
|
|
17277
|
+
"soñj",
|
|
17278
|
+
"speriañ",
|
|
17279
|
+
"spririñ",
|
|
17280
|
+
"stad",
|
|
17281
|
+
"stlabezañ",
|
|
17282
|
+
"stop",
|
|
17283
|
+
"stranañ",
|
|
17284
|
+
"strewiñ",
|
|
17285
|
+
"strishaat",
|
|
17286
|
+
"stumm",
|
|
17287
|
+
"sujed",
|
|
17288
|
+
"surtoud",
|
|
17289
|
+
"t:",
|
|
17290
|
+
"ta",
|
|
17291
|
+
"taer",
|
|
17292
|
+
"tailh",
|
|
17293
|
+
"tak",
|
|
16453
17294
|
"tal",
|
|
16454
|
-
"
|
|
16455
|
-
"
|
|
17295
|
+
"talvoudegezh",
|
|
17296
|
+
"tamm",
|
|
17297
|
+
"tanav",
|
|
17298
|
+
"taol",
|
|
17299
|
+
"te",
|
|
17300
|
+
"techet",
|
|
17301
|
+
"teir",
|
|
17302
|
+
"teirvet",
|
|
17303
|
+
"telt",
|
|
17304
|
+
"teltenn",
|
|
16456
17305
|
"teus",
|
|
16457
|
-
"
|
|
16458
|
-
"
|
|
16459
|
-
"
|
|
16460
|
-
"
|
|
16461
|
-
"
|
|
16462
|
-
"
|
|
16463
|
-
"
|
|
16464
|
-
"
|
|
16465
|
-
"
|
|
16466
|
-
"
|
|
16467
|
-
"
|
|
17306
|
+
"teut",
|
|
17307
|
+
"teuteu",
|
|
17308
|
+
"ti",
|
|
17309
|
+
"tik",
|
|
17310
|
+
"toa",
|
|
17311
|
+
"tok",
|
|
17312
|
+
"tost",
|
|
17313
|
+
"tostig",
|
|
17314
|
+
"toud",
|
|
17315
|
+
"touesk",
|
|
17316
|
+
"touez",
|
|
17317
|
+
"toull",
|
|
17318
|
+
"tra",
|
|
17319
|
+
"trantenn",
|
|
17320
|
+
"traoñ",
|
|
17321
|
+
"trawalc'h",
|
|
17322
|
+
"tre",
|
|
17323
|
+
"trede",
|
|
17324
|
+
"tregont",
|
|
17325
|
+
"tremenet",
|
|
17326
|
+
"tri",
|
|
17327
|
+
"trivet",
|
|
17328
|
+
"triwec'h",
|
|
17329
|
+
"trizek",
|
|
17330
|
+
"tro",
|
|
17331
|
+
"trugarez",
|
|
17332
|
+
"trumm",
|
|
17333
|
+
"tsoin",
|
|
17334
|
+
"tsouin",
|
|
17335
|
+
"tu",
|
|
17336
|
+
"tud",
|
|
17337
|
+
"u:",
|
|
17338
|
+
"ugent",
|
|
17339
|
+
"uhel",
|
|
17340
|
+
"uhelañ",
|
|
17341
|
+
"ul",
|
|
17342
|
+
"un",
|
|
17343
|
+
"unan",
|
|
17344
|
+
"unanez",
|
|
17345
|
+
"unanig",
|
|
17346
|
+
"unnek",
|
|
17347
|
+
"unnekvet",
|
|
17348
|
+
"ur",
|
|
17349
|
+
"urzh",
|
|
17350
|
+
"us",
|
|
17351
|
+
"v:",
|
|
17352
|
+
"va",
|
|
17353
|
+
"vale",
|
|
17354
|
+
"van",
|
|
17355
|
+
"vare",
|
|
17356
|
+
"vat",
|
|
17357
|
+
"vefe",
|
|
17358
|
+
"vefec'h",
|
|
17359
|
+
"vefed",
|
|
17360
|
+
"vefemp",
|
|
17361
|
+
"vefen",
|
|
17362
|
+
"vefent",
|
|
17363
|
+
"vefes",
|
|
17364
|
+
"vesk",
|
|
17365
|
+
"vete",
|
|
17366
|
+
"vez",
|
|
17367
|
+
"vezan",
|
|
17368
|
+
"vezañ",
|
|
17369
|
+
"veze",
|
|
17370
|
+
"vezec'h",
|
|
17371
|
+
"vezed",
|
|
17372
|
+
"vezemp",
|
|
17373
|
+
"vezen",
|
|
17374
|
+
"vezent",
|
|
17375
|
+
"vezer",
|
|
17376
|
+
"vezes",
|
|
17377
|
+
"vezez",
|
|
17378
|
+
"vezit",
|
|
17379
|
+
"vezomp",
|
|
17380
|
+
"vezont",
|
|
17381
|
+
"vi",
|
|
17382
|
+
"vihan",
|
|
17383
|
+
"vihanañ",
|
|
17384
|
+
"vije",
|
|
17385
|
+
"vijec'h",
|
|
17386
|
+
"vijed",
|
|
17387
|
+
"vijemp",
|
|
17388
|
+
"vijen",
|
|
17389
|
+
"vijent",
|
|
17390
|
+
"vijes",
|
|
17391
|
+
"viken",
|
|
17392
|
+
"vimp",
|
|
17393
|
+
"vin",
|
|
17394
|
+
"vint",
|
|
17395
|
+
"vior",
|
|
17396
|
+
"viot",
|
|
17397
|
+
"virviken",
|
|
17398
|
+
"viskoazh",
|
|
17399
|
+
"vlan",
|
|
17400
|
+
"vlaou",
|
|
17401
|
+
"vo",
|
|
17402
|
+
"vod",
|
|
17403
|
+
"voe",
|
|
17404
|
+
"voec'h",
|
|
17405
|
+
"voed",
|
|
17406
|
+
"voemp",
|
|
17407
|
+
"voen",
|
|
17408
|
+
"voent",
|
|
17409
|
+
"voes",
|
|
17410
|
+
"vont",
|
|
17411
|
+
"vostapl",
|
|
17412
|
+
"vrac'h",
|
|
17413
|
+
"vrasañ",
|
|
17414
|
+
"vremañ",
|
|
17415
|
+
"w:",
|
|
17416
|
+
"walc'h",
|
|
17417
|
+
"war",
|
|
17418
|
+
"warnañ",
|
|
17419
|
+
"warni",
|
|
17420
|
+
"warno",
|
|
17421
|
+
"warnoc'h",
|
|
17422
|
+
"warnomp",
|
|
17423
|
+
"warnon",
|
|
17424
|
+
"warnor",
|
|
17425
|
+
"warnout",
|
|
17426
|
+
"wazh",
|
|
17427
|
+
"wech",
|
|
17428
|
+
"wechoù",
|
|
17429
|
+
"well",
|
|
17430
|
+
"y:",
|
|
17431
|
+
"you",
|
|
17432
|
+
"youadenn",
|
|
17433
|
+
"youc'hadenn",
|
|
17434
|
+
"youc'hou",
|
|
17435
|
+
"z:",
|
|
17436
|
+
"za",
|
|
17437
|
+
"zan",
|
|
17438
|
+
"zaw",
|
|
17439
|
+
"zeu",
|
|
17440
|
+
"zi",
|
|
17441
|
+
"ziar",
|
|
17442
|
+
"zigarez",
|
|
17443
|
+
"ziget",
|
|
17444
|
+
"zindan",
|
|
17445
|
+
"zioc'h",
|
|
17446
|
+
"ziouzh",
|
|
17447
|
+
"zirak",
|
|
17448
|
+
"zivout",
|
|
17449
|
+
"ziwar",
|
|
17450
|
+
"ziwezhañ",
|
|
17451
|
+
"zo",
|
|
17452
|
+
"zoken",
|
|
17453
|
+
"zokenoc'h",
|
|
17454
|
+
"zouesk",
|
|
17455
|
+
"zouez",
|
|
17456
|
+
"zro",
|
|
17457
|
+
"zu"
|
|
16468
17458
|
];
|
|
16469
17459
|
const bul = [
|
|
16470
17460
|
"а",
|
|
@@ -28120,22 +29110,32 @@ const tur = [
|
|
|
28120
29110
|
"şöyle"
|
|
28121
29111
|
];
|
|
28122
29112
|
const ukr = [
|
|
29113
|
+
"а",
|
|
29114
|
+
"або",
|
|
28123
29115
|
"авжеж",
|
|
28124
29116
|
"адже",
|
|
29117
|
+
"аж",
|
|
28125
29118
|
"але",
|
|
29119
|
+
"ані",
|
|
28126
29120
|
"б",
|
|
28127
29121
|
"без",
|
|
29122
|
+
"би",
|
|
29123
|
+
"бо",
|
|
28128
29124
|
"був",
|
|
28129
29125
|
"була",
|
|
28130
29126
|
"були",
|
|
28131
29127
|
"було",
|
|
28132
29128
|
"бути",
|
|
28133
29129
|
"більш",
|
|
29130
|
+
"в",
|
|
28134
29131
|
"вам",
|
|
29132
|
+
"вами",
|
|
28135
29133
|
"вас",
|
|
28136
29134
|
"весь",
|
|
29135
|
+
"вже",
|
|
28137
29136
|
"вздовж",
|
|
28138
29137
|
"ви",
|
|
29138
|
+
"від",
|
|
28139
29139
|
"вниз",
|
|
28140
29140
|
"внизу",
|
|
28141
29141
|
"вона",
|
|
@@ -28144,55 +29144,138 @@ const ukr = [
|
|
|
28144
29144
|
"все",
|
|
28145
29145
|
"всередині",
|
|
28146
29146
|
"всіх",
|
|
29147
|
+
"вся",
|
|
28147
29148
|
"від",
|
|
28148
29149
|
"він",
|
|
28149
29150
|
"да",
|
|
28150
29151
|
"давай",
|
|
28151
29152
|
"давати",
|
|
28152
29153
|
"де",
|
|
29154
|
+
"десь",
|
|
28153
29155
|
"дещо",
|
|
28154
29156
|
"для",
|
|
28155
29157
|
"до",
|
|
29158
|
+
"є",
|
|
29159
|
+
"ж",
|
|
29160
|
+
"же",
|
|
28156
29161
|
"з",
|
|
29162
|
+
"за",
|
|
28157
29163
|
"завжди",
|
|
28158
29164
|
"замість",
|
|
29165
|
+
"зі",
|
|
29166
|
+
"і",
|
|
29167
|
+
"із",
|
|
29168
|
+
"інших",
|
|
29169
|
+
"її",
|
|
29170
|
+
"їй",
|
|
29171
|
+
"їм",
|
|
29172
|
+
"їх",
|
|
28159
29173
|
"й",
|
|
29174
|
+
"його",
|
|
29175
|
+
"йому",
|
|
28160
29176
|
"коли",
|
|
28161
29177
|
"ледве",
|
|
29178
|
+
"лиш",
|
|
28162
29179
|
"майже",
|
|
29180
|
+
"мене",
|
|
29181
|
+
"мені",
|
|
28163
29182
|
"ми",
|
|
29183
|
+
"між",
|
|
29184
|
+
"мій",
|
|
29185
|
+
"мною",
|
|
29186
|
+
"мов",
|
|
29187
|
+
"мого",
|
|
29188
|
+
"моєї",
|
|
29189
|
+
"моє",
|
|
29190
|
+
"може",
|
|
29191
|
+
"мої",
|
|
29192
|
+
"моїх",
|
|
29193
|
+
"моя",
|
|
29194
|
+
"на",
|
|
29195
|
+
"над",
|
|
28164
29196
|
"навколо",
|
|
28165
29197
|
"навіть",
|
|
28166
29198
|
"нам",
|
|
29199
|
+
"нами",
|
|
29200
|
+
"нас",
|
|
29201
|
+
"наче",
|
|
29202
|
+
"наш",
|
|
29203
|
+
"не",
|
|
29204
|
+
"нє",
|
|
29205
|
+
"неї",
|
|
29206
|
+
"нема",
|
|
29207
|
+
"немов",
|
|
29208
|
+
"неначе",
|
|
29209
|
+
"нею",
|
|
29210
|
+
"ним",
|
|
29211
|
+
"ними",
|
|
29212
|
+
"них",
|
|
29213
|
+
"ні",
|
|
29214
|
+
"ніби",
|
|
29215
|
+
"ніщо",
|
|
29216
|
+
"нього",
|
|
29217
|
+
"о",
|
|
29218
|
+
"ось",
|
|
28167
29219
|
"от",
|
|
28168
29220
|
"отже",
|
|
28169
29221
|
"отож",
|
|
29222
|
+
"під",
|
|
29223
|
+
"по",
|
|
28170
29224
|
"поза",
|
|
28171
29225
|
"про",
|
|
28172
29226
|
"під",
|
|
29227
|
+
"сам",
|
|
29228
|
+
"сама",
|
|
29229
|
+
"свій",
|
|
29230
|
+
"свої",
|
|
29231
|
+
"своя",
|
|
29232
|
+
"свою",
|
|
29233
|
+
"себе",
|
|
29234
|
+
"собі",
|
|
28173
29235
|
"та",
|
|
29236
|
+
"там",
|
|
28174
29237
|
"так",
|
|
29238
|
+
"така",
|
|
28175
29239
|
"такий",
|
|
28176
29240
|
"також",
|
|
29241
|
+
"твій",
|
|
29242
|
+
"твого",
|
|
29243
|
+
"твоєї",
|
|
29244
|
+
"твої",
|
|
29245
|
+
"твоя",
|
|
28177
29246
|
"те",
|
|
29247
|
+
"тебе",
|
|
28178
29248
|
"ти",
|
|
29249
|
+
"ті",
|
|
29250
|
+
"тільки",
|
|
29251
|
+
"то",
|
|
29252
|
+
"тобі",
|
|
29253
|
+
"тобою",
|
|
28179
29254
|
"тобто",
|
|
29255
|
+
"тоді",
|
|
28180
29256
|
"тож",
|
|
29257
|
+
"той",
|
|
28181
29258
|
"тощо",
|
|
29259
|
+
"тут",
|
|
29260
|
+
"у",
|
|
29261
|
+
"хіба",
|
|
29262
|
+
"хоч",
|
|
28182
29263
|
"хоча",
|
|
28183
29264
|
"це",
|
|
28184
29265
|
"цей",
|
|
29266
|
+
"ці",
|
|
29267
|
+
"ця",
|
|
28185
29268
|
"чи",
|
|
28186
29269
|
"чого",
|
|
29270
|
+
"ще",
|
|
28187
29271
|
"що",
|
|
29272
|
+
"щоб",
|
|
29273
|
+
"щось",
|
|
29274
|
+
"я",
|
|
28188
29275
|
"як",
|
|
29276
|
+
"яка",
|
|
28189
29277
|
"який",
|
|
28190
|
-
"якої"
|
|
28191
|
-
"є",
|
|
28192
|
-
"із",
|
|
28193
|
-
"інших",
|
|
28194
|
-
"їх",
|
|
28195
|
-
"її"
|
|
29278
|
+
"якої"
|
|
28196
29279
|
];
|
|
28197
29280
|
const urd = [
|
|
28198
29281
|
"آئی",
|
|
@@ -30105,6 +31188,7 @@ class TinaAdminApi {
|
|
|
30105
31188
|
relativePath
|
|
30106
31189
|
filename
|
|
30107
31190
|
extension
|
|
31191
|
+
hasReferences
|
|
30108
31192
|
}
|
|
30109
31193
|
}
|
|
30110
31194
|
}
|
|
@@ -30196,6 +31280,9 @@ class TinaAdminApi {
|
|
|
30196
31280
|
document(collection:$collection, relativePath:$relativePath) {
|
|
30197
31281
|
... on Document {
|
|
30198
31282
|
_values
|
|
31283
|
+
_sys {
|
|
31284
|
+
hasReferences
|
|
31285
|
+
}
|
|
30199
31286
|
}
|
|
30200
31287
|
}
|
|
30201
31288
|
}`;
|
|
@@ -31819,6 +32906,7 @@ const CollectionListPage = () => {
|
|
|
31819
32906
|
const [vars, setVars] = React__default.useState({
|
|
31820
32907
|
collection: collectionName,
|
|
31821
32908
|
relativePath: "",
|
|
32909
|
+
relativePathWithoutExtension: "",
|
|
31822
32910
|
newRelativePath: "",
|
|
31823
32911
|
filterField: "",
|
|
31824
32912
|
folderName: "",
|
|
@@ -31860,6 +32948,7 @@ const CollectionListPage = () => {
|
|
|
31860
32948
|
...old,
|
|
31861
32949
|
collection: collectionName,
|
|
31862
32950
|
relativePath: "",
|
|
32951
|
+
relativePathWithoutExtension: "",
|
|
31863
32952
|
newRelativePath: "",
|
|
31864
32953
|
filterField: "",
|
|
31865
32954
|
startsWith: "",
|
|
@@ -31885,6 +32974,7 @@ const CollectionListPage = () => {
|
|
|
31885
32974
|
collectionName === vars.collection ? vars : {
|
|
31886
32975
|
collection: collectionName,
|
|
31887
32976
|
relativePath: "",
|
|
32977
|
+
relativePathWithoutExtension: "",
|
|
31888
32978
|
newRelativePath: "",
|
|
31889
32979
|
filterField: "",
|
|
31890
32980
|
startsWith: "",
|
|
@@ -31922,6 +33012,23 @@ const CollectionListPage = () => {
|
|
|
31922
33012
|
DeleteModal,
|
|
31923
33013
|
{
|
|
31924
33014
|
filename: vars.relativePath,
|
|
33015
|
+
checkRefsFunc: async () => {
|
|
33016
|
+
var _a2, _b2;
|
|
33017
|
+
try {
|
|
33018
|
+
const doc = await admin.fetchDocument(
|
|
33019
|
+
collection.name,
|
|
33020
|
+
vars.relativePath,
|
|
33021
|
+
true
|
|
33022
|
+
);
|
|
33023
|
+
return (_b2 = (_a2 = doc == null ? void 0 : doc.document) == null ? void 0 : _a2._sys) == null ? void 0 : _b2.hasReferences;
|
|
33024
|
+
} catch (error) {
|
|
33025
|
+
cms.alerts.error(
|
|
33026
|
+
"Document was not found, ask a developer for help or check the console for an error message"
|
|
33027
|
+
);
|
|
33028
|
+
console.error(error);
|
|
33029
|
+
throw error;
|
|
33030
|
+
}
|
|
33031
|
+
},
|
|
31925
33032
|
deleteFunc: async () => {
|
|
31926
33033
|
try {
|
|
31927
33034
|
await admin.deleteDocument(vars);
|
|
@@ -31930,6 +33037,12 @@ const CollectionListPage = () => {
|
|
|
31930
33037
|
);
|
|
31931
33038
|
reFetchCollection();
|
|
31932
33039
|
} catch (error) {
|
|
33040
|
+
if (error.message.indexOf("has references")) {
|
|
33041
|
+
cms.alerts.error(
|
|
33042
|
+
error.message.split("\n ").filter(Boolean)[1]
|
|
33043
|
+
);
|
|
33044
|
+
return;
|
|
33045
|
+
}
|
|
31933
33046
|
cms.alerts.warn(
|
|
31934
33047
|
"Document was not deleted, ask a developer for help or check the console for an error message"
|
|
31935
33048
|
);
|
|
@@ -31963,7 +33076,7 @@ const CollectionListPage = () => {
|
|
|
31963
33076
|
), renameModalOpen && /* @__PURE__ */ React__default.createElement(
|
|
31964
33077
|
RenameModal,
|
|
31965
33078
|
{
|
|
31966
|
-
filename: vars.
|
|
33079
|
+
filename: vars.relativePathWithoutExtension,
|
|
31967
33080
|
newRelativePath: vars.newRelativePath,
|
|
31968
33081
|
setNewRelativePath: (newRelativePath) => {
|
|
31969
33082
|
setVars((vars2) => {
|
|
@@ -31981,6 +33094,12 @@ const CollectionListPage = () => {
|
|
|
31981
33094
|
cms.alerts.info("Document was successfully renamed");
|
|
31982
33095
|
reFetchCollection();
|
|
31983
33096
|
} catch (error) {
|
|
33097
|
+
if (error.message.indexOf("has references")) {
|
|
33098
|
+
cms.alerts.error(
|
|
33099
|
+
error.message.split("\n ").filter(Boolean)[1]
|
|
33100
|
+
);
|
|
33101
|
+
return;
|
|
33102
|
+
}
|
|
31984
33103
|
cms.alerts.warn(
|
|
31985
33104
|
"Document was not renamed, ask a developer for help or check the console for an error message"
|
|
31986
33105
|
);
|
|
@@ -32278,6 +33397,9 @@ const CollectionListPage = () => {
|
|
|
32278
33397
|
setVars((old) => ({
|
|
32279
33398
|
...old,
|
|
32280
33399
|
collection: collectionName,
|
|
33400
|
+
relativePathWithoutExtension: document2.node._sys.breadcrumbs.join(
|
|
33401
|
+
"/"
|
|
33402
|
+
),
|
|
32281
33403
|
relativePath: document2.node._sys.breadcrumbs.join(
|
|
32282
33404
|
"/"
|
|
32283
33405
|
) + document2.node._sys.extension,
|
|
@@ -32300,6 +33422,9 @@ const CollectionListPage = () => {
|
|
|
32300
33422
|
setVars((old) => ({
|
|
32301
33423
|
...old,
|
|
32302
33424
|
collection: collectionName,
|
|
33425
|
+
relativePathWithoutExtension: document2.node._sys.breadcrumbs.join(
|
|
33426
|
+
"/"
|
|
33427
|
+
),
|
|
32303
33428
|
relativePath: document2.node._sys.breadcrumbs.join(
|
|
32304
33429
|
"/"
|
|
32305
33430
|
) + document2.node._sys.extension,
|
|
@@ -32454,8 +33579,19 @@ const Breadcrumb = ({ folder, navigate, collectionName }) => {
|
|
|
32454
33579
|
const NoDocumentsPlaceholder = () => {
|
|
32455
33580
|
return /* @__PURE__ */ React__default.createElement("div", { className: "text-center px-5 py-3 flex flex-col items-center justify-center shadow border border-gray-100 bg-gray-50 border-b border-gray-200 w-full max-w-full rounded-lg" }, /* @__PURE__ */ React__default.createElement("p", { className: "text-base italic font-medium text-gray-300" }, "No documents found."));
|
|
32456
33581
|
};
|
|
32457
|
-
const DeleteModal = ({
|
|
32458
|
-
|
|
33582
|
+
const DeleteModal = ({
|
|
33583
|
+
close: close2,
|
|
33584
|
+
deleteFunc,
|
|
33585
|
+
checkRefsFunc,
|
|
33586
|
+
filename
|
|
33587
|
+
}) => {
|
|
33588
|
+
const [hasRefs, setHasRefs] = React__default.useState();
|
|
33589
|
+
useEffect(() => {
|
|
33590
|
+
checkRefsFunc().then((result) => {
|
|
33591
|
+
setHasRefs(result);
|
|
33592
|
+
});
|
|
33593
|
+
}, [filename, checkRefsFunc]);
|
|
33594
|
+
return /* @__PURE__ */ React__default.createElement(Modal, null, /* @__PURE__ */ React__default.createElement(PopupModal, null, /* @__PURE__ */ React__default.createElement(ModalHeader, { close: close2 }, "Delete ", filename), /* @__PURE__ */ React__default.createElement(ModalBody, { padded: true }, /* @__PURE__ */ React__default.createElement("p", null, `Are you sure you want to delete ${filename}?${hasRefs ? " References to this document will also be deleted." : ""}`)), /* @__PURE__ */ React__default.createElement(ModalActions, null, /* @__PURE__ */ React__default.createElement(Button$1, { style: { flexGrow: 2 }, onClick: close2 }, "Cancel"), /* @__PURE__ */ React__default.createElement(
|
|
32459
33595
|
Button$1,
|
|
32460
33596
|
{
|
|
32461
33597
|
style: { flexGrow: 3 },
|
|
@@ -32501,7 +33637,7 @@ const RenameModal = ({
|
|
|
32501
33637
|
newRelativePath,
|
|
32502
33638
|
setNewRelativePath
|
|
32503
33639
|
}) => {
|
|
32504
|
-
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), "?
|
|
33640
|
+
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(
|
|
32505
33641
|
BaseTextField,
|
|
32506
33642
|
{
|
|
32507
33643
|
placeholder: "Enter a new name for the document's file",
|
|
@@ -32516,7 +33652,8 @@ const RenameModal = ({
|
|
|
32516
33652
|
onClick: async () => {
|
|
32517
33653
|
await renameFunc();
|
|
32518
33654
|
close2();
|
|
32519
|
-
}
|
|
33655
|
+
},
|
|
33656
|
+
disabled: !newRelativePath || newRelativePath === filename
|
|
32520
33657
|
},
|
|
32521
33658
|
"Rename"
|
|
32522
33659
|
))));
|
|
@@ -33187,15 +34324,24 @@ const IndexingPage = () => {
|
|
|
33187
34324
|
}
|
|
33188
34325
|
}
|
|
33189
34326
|
if (state === "creatingPR") {
|
|
33190
|
-
|
|
33191
|
-
|
|
33192
|
-
|
|
33193
|
-
|
|
33194
|
-
|
|
33195
|
-
|
|
33196
|
-
|
|
33197
|
-
|
|
33198
|
-
|
|
34327
|
+
try {
|
|
34328
|
+
const foo = await tinaApi.createPullRequest({
|
|
34329
|
+
baseBranch,
|
|
34330
|
+
branch,
|
|
34331
|
+
title: `${branch.replace("tina/", "").replace("-", " ")} (PR from TinaCMS)`
|
|
34332
|
+
});
|
|
34333
|
+
console.log("PR created", foo);
|
|
34334
|
+
cms.alerts.success("Pull request created.");
|
|
34335
|
+
localStorage.setItem("tina.createBranchState", "done");
|
|
34336
|
+
setState("done");
|
|
34337
|
+
} catch (e) {
|
|
34338
|
+
console.error(e);
|
|
34339
|
+
cms.alerts.error("Failed to create PR");
|
|
34340
|
+
setErrorMessage(
|
|
34341
|
+
"Failed to create PR, please try again. If the problem persists please contact support."
|
|
34342
|
+
);
|
|
34343
|
+
setState("error");
|
|
34344
|
+
}
|
|
33199
34345
|
}
|
|
33200
34346
|
if (state === "done") {
|
|
33201
34347
|
window.location.href = back;
|
|
@@ -33817,5 +34963,6 @@ export {
|
|
|
33817
34963
|
useScreenPlugin,
|
|
33818
34964
|
useTinaAuthRedirect,
|
|
33819
34965
|
wrapFieldWithError,
|
|
34966
|
+
wrapFieldWithNoHeader,
|
|
33820
34967
|
wrapFieldsWithMeta
|
|
33821
34968
|
};
|