tinacms 0.0.0-b4c6a60-20241010070518 → 0.0.0-b551232-20250318064010
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/components/GetCollection.d.ts +2 -2
- package/dist/admin/types.d.ts +3 -0
- package/dist/auth/TinaCloudProvider.d.ts +1 -1
- package/dist/cache/node-cache.d.ts +1 -0
- package/dist/client.js +90 -61
- package/dist/client.mjs +49 -35
- package/dist/hooks/create-page-plugin.d.ts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1875 -643
- package/dist/index.mjs +1892 -660
- 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/components/plate-ui/indent-list-toolbar-button.d.ts +17 -5
- package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/mark-toolbar-button.d.ts +4 -18
- 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 +41 -41
- package/dist/__vite-browser-external-d06ac358.mjs +0 -4
- package/dist/node-cache-7fa2452c.mjs +0 -43
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
(function(global, factory) {
|
|
2
|
-
typeof exports === "object" && typeof module !== "undefined" ? factory(exports, require("zod"), require("react"), require("react-dom"), require("@udecode/cn"), require("@udecode/plate"), require("@udecode/plate-common"), require("@udecode/plate-slash-command"), require("slate-react"), require("@udecode/plate-code-block"), require("@monaco-editor/react"), require("@headlessui/react"), require("class-variance-authority"), require("lucide-react"), require("mermaid"), require("@udecode/plate-heading"), require("@ariakit/react"), require("@udecode/plate-combobox"), require("@udecode/plate-table"), require("@udecode/plate-resizable"), require("@radix-ui/react-popover"), require("@radix-ui/react-slot"), require("@radix-ui/react-dropdown-menu"), require("@radix-ui/react-separator"), require("final-form-arrays"), require("final-form-set-field-data"), require("final-form"), require("react-final-form"), require("prop-types"), require("react-beautiful-dnd"), require("react-color"), require("color-string"), require("react-dropzone"), require("clsx"), require("tailwind-merge"), require("cmdk"), require("is-hotkey"), require("slate"), require("lodash.get"), require("moment"), require("date-fns"), require("@udecode/plate-link"), require("@radix-ui/react-toolbar"), require("@radix-ui/react-tooltip"), require("@udecode/plate-paragraph"), require("@udecode/plate-block-quote"), require("@udecode/plate-floating"), require("@react-hook/window-size"), require("graphql"), require("graphql-tag"), require("@tinacms/schema-tools"), require("
|
|
3
|
-
})(this, function(exports2, zod, React, reactDom, cn$1, plate, plateCommon, plateSlashCommand, slateReact, plateCodeBlock, MonacoEditor, react, classVarianceAuthority, lucideReact, mermaid, plateHeading, react$1, plateCombobox, plateTable, plateResizable, PopoverPrimitive, reactSlot, DropdownMenuPrimitive, SeparatorPrimitive, arrayMutators, setFieldData, finalForm, reactFinalForm, PropTypes, reactBeautifulDnd, pkg$1, pkg, dropzone, clsx, tailwindMerge, cmdk, isHotkey, slate, get, moment, dateFns, plateLink, ToolbarPrimitive, TooltipPrimitive, plateParagraph, plateBlockQuote, plateFloating, windowSize, graphql, gql, schemaTools,
|
|
2
|
+
typeof exports === "object" && typeof module !== "undefined" ? factory(exports, require("zod"), require("react"), require("react-dom"), require("@udecode/cn"), require("@udecode/plate"), require("@udecode/plate-common"), require("@udecode/plate-slash-command"), require("slate-react"), require("@udecode/plate-code-block"), require("@monaco-editor/react"), require("@headlessui/react"), require("class-variance-authority"), require("lucide-react"), require("mermaid"), require("@udecode/plate-heading"), require("@ariakit/react"), require("@udecode/plate-combobox"), require("@udecode/plate-table"), require("@udecode/plate-resizable"), require("@radix-ui/react-popover"), require("@radix-ui/react-slot"), require("@radix-ui/react-dropdown-menu"), require("@radix-ui/react-separator"), require("final-form-arrays"), require("final-form-set-field-data"), require("final-form"), require("react-final-form"), require("prop-types"), require("react-beautiful-dnd"), require("react-color"), require("color-string"), require("react-dropzone"), require("clsx"), require("tailwind-merge"), require("cmdk"), require("is-hotkey"), require("slate"), require("lodash.get"), require("moment"), require("date-fns"), require("@udecode/plate-link"), require("@radix-ui/react-toolbar"), require("@radix-ui/react-tooltip"), require("@udecode/plate-paragraph"), require("@udecode/plate-block-quote"), require("@udecode/plate-floating"), require("@react-hook/window-size"), require("graphql"), require("graphql-tag"), require("@tinacms/schema-tools"), require("@graphql-inspector/core"), require("yup"), require("react-router-dom"), require("@tinacms/mdx")) : typeof define === "function" && define.amd ? define(["exports", "zod", "react", "react-dom", "@udecode/cn", "@udecode/plate", "@udecode/plate-common", "@udecode/plate-slash-command", "slate-react", "@udecode/plate-code-block", "@monaco-editor/react", "@headlessui/react", "class-variance-authority", "lucide-react", "mermaid", "@udecode/plate-heading", "@ariakit/react", "@udecode/plate-combobox", "@udecode/plate-table", "@udecode/plate-resizable", "@radix-ui/react-popover", "@radix-ui/react-slot", "@radix-ui/react-dropdown-menu", "@radix-ui/react-separator", "final-form-arrays", "final-form-set-field-data", "final-form", "react-final-form", "prop-types", "react-beautiful-dnd", "react-color", "color-string", "react-dropzone", "clsx", "tailwind-merge", "cmdk", "is-hotkey", "slate", "lodash.get", "moment", "date-fns", "@udecode/plate-link", "@radix-ui/react-toolbar", "@radix-ui/react-tooltip", "@udecode/plate-paragraph", "@udecode/plate-block-quote", "@udecode/plate-floating", "@react-hook/window-size", "graphql", "graphql-tag", "@tinacms/schema-tools", "@graphql-inspector/core", "yup", "react-router-dom", "@tinacms/mdx"], factory) : (global = typeof globalThis !== "undefined" ? globalThis : global || self, factory(global.tinacms = {}, global.NOOP, global.NOOP, global.NOOP, global.NOOP, global.NOOP, global.NOOP, global.NOOP, global.NOOP, global.NOOP, global.NOOP, global.NOOP, global.NOOP, global.NOOP, global.NOOP, global.NOOP, global.NOOP, global.NOOP, global.NOOP, global.NOOP, global.NOOP, global.NOOP, global.NOOP, global.NOOP, global.NOOP, global.NOOP, global.NOOP, global.NOOP, global.NOOP, global.NOOP, global.NOOP, global.NOOP, global.NOOP, global.NOOP, global.NOOP, global.NOOP, global.NOOP, global.NOOP, global.NOOP, global.NOOP, global.NOOP, global.NOOP, global.NOOP, global.NOOP, global.NOOP, global.NOOP, global.NOOP, global.NOOP, global.NOOP, global.NOOP, global.NOOP, global.NOOP, global.NOOP, global.NOOP, global.NOOP));
|
|
3
|
+
})(this, function(exports2, zod, React, reactDom, cn$1, plate, plateCommon, plateSlashCommand, slateReact, plateCodeBlock, MonacoEditor, react, classVarianceAuthority, lucideReact, mermaid, plateHeading, react$1, plateCombobox, plateTable, plateResizable, PopoverPrimitive, reactSlot, DropdownMenuPrimitive, SeparatorPrimitive, arrayMutators, setFieldData, finalForm, reactFinalForm, PropTypes, reactBeautifulDnd, pkg$1, pkg, dropzone, clsx, tailwindMerge, cmdk, isHotkey, slate, get, moment, dateFns, plateLink, ToolbarPrimitive, TooltipPrimitive, plateParagraph, plateBlockQuote, plateFloating, windowSize, graphql, gql, schemaTools, core, yup, reactRouterDom, mdx) {
|
|
4
4
|
"use strict";var __defProp = Object.defineProperty;
|
|
5
5
|
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
6
6
|
var __publicField = (obj, key, value) => {
|
|
@@ -774,6 +774,22 @@ var __publicField = (obj, key, value) => {
|
|
|
774
774
|
);
|
|
775
775
|
};
|
|
776
776
|
}
|
|
777
|
+
function wrapFieldWithNoHeader(Field) {
|
|
778
|
+
return (props) => {
|
|
779
|
+
return /* @__PURE__ */ React__namespace.createElement(
|
|
780
|
+
FieldMeta,
|
|
781
|
+
{
|
|
782
|
+
name: props.input.name,
|
|
783
|
+
label: false,
|
|
784
|
+
description: "",
|
|
785
|
+
error: props.meta.error,
|
|
786
|
+
index: props.index,
|
|
787
|
+
tinaForm: props.tinaForm
|
|
788
|
+
},
|
|
789
|
+
/* @__PURE__ */ React__namespace.createElement(Field, { ...props })
|
|
790
|
+
);
|
|
791
|
+
};
|
|
792
|
+
}
|
|
777
793
|
function wrapFieldWithError(Field) {
|
|
778
794
|
return (props) => {
|
|
779
795
|
return /* @__PURE__ */ React__namespace.createElement(
|
|
@@ -846,6 +862,16 @@ var __publicField = (obj, key, value) => {
|
|
|
846
862
|
className,
|
|
847
863
|
...props
|
|
848
864
|
}) => {
|
|
865
|
+
if (typeof children === "string") {
|
|
866
|
+
return /* @__PURE__ */ React__namespace.createElement(
|
|
867
|
+
"span",
|
|
868
|
+
{
|
|
869
|
+
className: `block font-sans text-xs italic font-light text-gray-400 pt-0.5 whitespace-normal m-0 ${className}`,
|
|
870
|
+
...props,
|
|
871
|
+
dangerouslySetInnerHTML: { __html: children }
|
|
872
|
+
}
|
|
873
|
+
);
|
|
874
|
+
}
|
|
849
875
|
return /* @__PURE__ */ React__namespace.createElement(
|
|
850
876
|
"span",
|
|
851
877
|
{
|
|
@@ -1321,7 +1347,7 @@ var __publicField = (obj, key, value) => {
|
|
|
1321
1347
|
React.useEffect(() => {
|
|
1322
1348
|
if (mermaidRef.current) {
|
|
1323
1349
|
mermaid.initialize({ startOnLoad: true });
|
|
1324
|
-
mermaid.
|
|
1350
|
+
mermaid.init();
|
|
1325
1351
|
}
|
|
1326
1352
|
}, [config]);
|
|
1327
1353
|
return /* @__PURE__ */ React.createElement("div", { contentEditable: false, className: "border-border border-b" }, /* @__PURE__ */ React.createElement("div", { ref: mermaidRef }, /* @__PURE__ */ React.createElement("pre", { className: "mermaid not-tina-prose" }, config)));
|
|
@@ -1348,7 +1374,7 @@ flowchart TD
|
|
|
1348
1374
|
--> id2(modify me to see changes!)
|
|
1349
1375
|
id2
|
|
1350
1376
|
--> id3(Click the top button to preview the changes)
|
|
1351
|
-
--> id4(Learn about mermaid diagrams
|
|
1377
|
+
--> id4(Learn about mermaid diagrams - mermaid.js.org)`;
|
|
1352
1378
|
const MermaidElement = cn$1.withRef(
|
|
1353
1379
|
({ children, nodeProps, element, ...props }, ref) => {
|
|
1354
1380
|
const [mermaidConfig, setMermaidConfig] = React.useState(
|
|
@@ -1364,7 +1390,7 @@ flowchart TD
|
|
|
1364
1390
|
children: [{ type: "text", text: "" }]
|
|
1365
1391
|
};
|
|
1366
1392
|
React.useEffect(() => {
|
|
1367
|
-
if (mermaid.parse(mermaidConfig
|
|
1393
|
+
if (mermaid.parse(mermaidConfig)) {
|
|
1368
1394
|
setMermaidError(null);
|
|
1369
1395
|
}
|
|
1370
1396
|
}, [mermaidConfig]);
|
|
@@ -2917,7 +2943,7 @@ flowchart TD
|
|
|
2917
2943
|
),
|
|
2918
2944
|
[plate.MARK_CODE]: CodeLeaf,
|
|
2919
2945
|
[plate.MARK_UNDERLINE]: cn$1.withProps(plateCommon.PlateLeaf, { as: "u" }),
|
|
2920
|
-
[plate.MARK_STRIKETHROUGH]:
|
|
2946
|
+
[plate.MARK_STRIKETHROUGH]: ({ editor, leaf, text, ...props }) => /* @__PURE__ */ React.createElement("s", { ...props.attributes, ...props }),
|
|
2921
2947
|
[plate.MARK_ITALIC]: cn$1.withProps(plateCommon.PlateLeaf, { as: "em" }),
|
|
2922
2948
|
[plate.MARK_BOLD]: ({ editor, leaf, text, ...props }) => /* @__PURE__ */ React.createElement("strong", { ...props.attributes, ...props }),
|
|
2923
2949
|
[plate.ELEMENT_HR]: ({
|
|
@@ -3676,7 +3702,7 @@ flowchart TD
|
|
|
3676
3702
|
};
|
|
3677
3703
|
const sizeClasses = {
|
|
3678
3704
|
small: `text-xs h-8 px-3`,
|
|
3679
|
-
medium: `text-sm h-10 px-
|
|
3705
|
+
medium: `text-sm h-10 px-8`,
|
|
3680
3706
|
custom: ``
|
|
3681
3707
|
};
|
|
3682
3708
|
return /* @__PURE__ */ React__namespace.createElement(
|
|
@@ -3804,7 +3830,7 @@ flowchart TD
|
|
|
3804
3830
|
function _objectWithoutProperties(source, excluded) {
|
|
3805
3831
|
if (source == null)
|
|
3806
3832
|
return {};
|
|
3807
|
-
var target = _objectWithoutPropertiesLoose
|
|
3833
|
+
var target = _objectWithoutPropertiesLoose(source, excluded);
|
|
3808
3834
|
var key, i;
|
|
3809
3835
|
if (Object.getOwnPropertySymbols) {
|
|
3810
3836
|
var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
|
|
@@ -3819,7 +3845,7 @@ flowchart TD
|
|
|
3819
3845
|
}
|
|
3820
3846
|
return target;
|
|
3821
3847
|
}
|
|
3822
|
-
function _objectWithoutPropertiesLoose
|
|
3848
|
+
function _objectWithoutPropertiesLoose(source, excluded) {
|
|
3823
3849
|
if (source == null)
|
|
3824
3850
|
return {};
|
|
3825
3851
|
var target = {};
|
|
@@ -4909,7 +4935,28 @@ flowchart TD
|
|
|
4909
4935
|
onChange,
|
|
4910
4936
|
value,
|
|
4911
4937
|
step
|
|
4912
|
-
}) => /* @__PURE__ */ React__namespace.createElement(
|
|
4938
|
+
}) => /* @__PURE__ */ React__namespace.createElement(
|
|
4939
|
+
Input,
|
|
4940
|
+
{
|
|
4941
|
+
type: "number",
|
|
4942
|
+
step,
|
|
4943
|
+
value,
|
|
4944
|
+
onChange: (event) => {
|
|
4945
|
+
const inputValue = event.target.value;
|
|
4946
|
+
const newValue = inputValue === "" ? void 0 : inputValue;
|
|
4947
|
+
if (onChange) {
|
|
4948
|
+
const syntheticEvent = {
|
|
4949
|
+
...event,
|
|
4950
|
+
target: {
|
|
4951
|
+
...event.target,
|
|
4952
|
+
value: newValue
|
|
4953
|
+
}
|
|
4954
|
+
};
|
|
4955
|
+
onChange(syntheticEvent);
|
|
4956
|
+
}
|
|
4957
|
+
}
|
|
4958
|
+
}
|
|
4959
|
+
);
|
|
4913
4960
|
function useCMS() {
|
|
4914
4961
|
return useCMS$1();
|
|
4915
4962
|
}
|
|
@@ -5150,7 +5197,7 @@ flowchart TD
|
|
|
5150
5197
|
side: "bottom",
|
|
5151
5198
|
className: cn(
|
|
5152
5199
|
"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",
|
|
5153
|
-
"max-h-[30vh] max-w-[
|
|
5200
|
+
"max-h-[30vh] max-w-[30vw] overflow-y-auto",
|
|
5154
5201
|
className
|
|
5155
5202
|
),
|
|
5156
5203
|
...props
|
|
@@ -5242,11 +5289,7 @@ flowchart TD
|
|
|
5242
5289
|
const node = nodes.find((node2) => node2.id === value);
|
|
5243
5290
|
return node ? node._internalSys.filename : null;
|
|
5244
5291
|
};
|
|
5245
|
-
const
|
|
5246
|
-
cms,
|
|
5247
|
-
input,
|
|
5248
|
-
field
|
|
5249
|
-
}) => {
|
|
5292
|
+
const Combobox = ({ cms, input, field }) => {
|
|
5250
5293
|
const [open2, setOpen] = React__namespace.useState(false);
|
|
5251
5294
|
const [value, setValue] = React__namespace.useState(input.value);
|
|
5252
5295
|
const [displayText, setDisplayText] = React__namespace.useState(null);
|
|
@@ -5262,7 +5305,9 @@ flowchart TD
|
|
|
5262
5305
|
}, [value, input, optionSets]);
|
|
5263
5306
|
React__namespace.useEffect(() => {
|
|
5264
5307
|
if (field.experimental___filter && optionSets.length > 0) {
|
|
5265
|
-
setFilteredOptionsList(
|
|
5308
|
+
setFilteredOptionsList(
|
|
5309
|
+
field.experimental___filter(optionSets, void 0)
|
|
5310
|
+
);
|
|
5266
5311
|
} else {
|
|
5267
5312
|
setFilteredOptionsList(optionSets);
|
|
5268
5313
|
}
|
|
@@ -5270,17 +5315,17 @@ flowchart TD
|
|
|
5270
5315
|
if (loading === true) {
|
|
5271
5316
|
return /* @__PURE__ */ React__namespace.createElement(LoadingDots, { color: "var(--tina-color-primary)" });
|
|
5272
5317
|
}
|
|
5273
|
-
return /* @__PURE__ */ React__namespace.createElement(
|
|
5318
|
+
return /* @__PURE__ */ React__namespace.createElement(Popover, { open: open2, onOpenChange: setOpen }, /* @__PURE__ */ React__namespace.createElement(PopoverTrigger, { asChild: true }, /* @__PURE__ */ React__namespace.createElement(
|
|
5274
5319
|
Button,
|
|
5275
5320
|
{
|
|
5276
5321
|
variant: "outline",
|
|
5277
5322
|
role: "combobox",
|
|
5278
5323
|
"aria-expanded": open2,
|
|
5279
|
-
className: "w-
|
|
5324
|
+
className: "w-full justify-between"
|
|
5280
5325
|
},
|
|
5281
5326
|
/* @__PURE__ */ React__namespace.createElement("p", { className: "truncate" }, displayText ?? "Choose an option..."),
|
|
5282
5327
|
open2 ? /* @__PURE__ */ React__namespace.createElement(IoMdArrowDropup, { size: 20 }) : /* @__PURE__ */ React__namespace.createElement(IoMdArrowDropdown, { size: 20 })
|
|
5283
|
-
)), /* @__PURE__ */ React__namespace.createElement(PopoverContent, { className: "p-0 relative" }, /* @__PURE__ */ React__namespace.createElement(
|
|
5328
|
+
)), /* @__PURE__ */ React__namespace.createElement(PopoverContent, { className: "p-0 relative min-w-[var(--radix-popover-trigger-width)]" }, /* @__PURE__ */ React__namespace.createElement(
|
|
5284
5329
|
Command,
|
|
5285
5330
|
{
|
|
5286
5331
|
shouldFilter: !field.experimental___filter,
|
|
@@ -5304,32 +5349,25 @@ flowchart TD
|
|
|
5304
5349
|
}
|
|
5305
5350
|
),
|
|
5306
5351
|
/* @__PURE__ */ React__namespace.createElement(CommandEmpty, null, "No reference found"),
|
|
5307
|
-
/* @__PURE__ */ React__namespace.createElement(CommandList, null, filteredOptionsList.length > 0 && (filteredOptionsList == null ? void 0 : filteredOptionsList.map(({ collection, edges }) => /* @__PURE__ */ React__namespace.createElement(
|
|
5308
|
-
|
|
5309
|
-
|
|
5310
|
-
|
|
5311
|
-
|
|
5312
|
-
|
|
5313
|
-
|
|
5314
|
-
|
|
5315
|
-
|
|
5316
|
-
|
|
5317
|
-
|
|
5318
|
-
|
|
5319
|
-
|
|
5320
|
-
|
|
5321
|
-
field,
|
|
5322
|
-
_values,
|
|
5323
|
-
node,
|
|
5324
|
-
onSelect: (currentValue) => {
|
|
5325
|
-
setValue(currentValue);
|
|
5326
|
-
setOpen(false);
|
|
5327
|
-
}
|
|
5352
|
+
/* @__PURE__ */ React__namespace.createElement(CommandList, null, filteredOptionsList.length > 0 && (filteredOptionsList == null ? void 0 : filteredOptionsList.map(({ collection, edges }) => /* @__PURE__ */ React__namespace.createElement(CommandGroup, { key: `${collection}-group`, heading: collection }, /* @__PURE__ */ React__namespace.createElement(CommandList, null, edges == null ? void 0 : edges.map(({ node }) => {
|
|
5353
|
+
const { id, _values } = node;
|
|
5354
|
+
return /* @__PURE__ */ React__namespace.createElement(
|
|
5355
|
+
OptionComponent,
|
|
5356
|
+
{
|
|
5357
|
+
id,
|
|
5358
|
+
key: id,
|
|
5359
|
+
value,
|
|
5360
|
+
field,
|
|
5361
|
+
_values,
|
|
5362
|
+
node,
|
|
5363
|
+
onSelect: (currentValue) => {
|
|
5364
|
+
setValue(currentValue);
|
|
5365
|
+
setOpen(false);
|
|
5328
5366
|
}
|
|
5329
|
-
|
|
5330
|
-
|
|
5331
|
-
))))
|
|
5332
|
-
)))
|
|
5367
|
+
}
|
|
5368
|
+
);
|
|
5369
|
+
}))))))
|
|
5370
|
+
)));
|
|
5333
5371
|
};
|
|
5334
5372
|
const useGetNode = (cms, id) => {
|
|
5335
5373
|
const [document2, setDocument] = React__namespace.useState(
|
|
@@ -5402,7 +5440,7 @@ flowchart TD
|
|
|
5402
5440
|
};
|
|
5403
5441
|
const Reference = ({ input, field }) => {
|
|
5404
5442
|
const cms = useCMS();
|
|
5405
|
-
return /* @__PURE__ */ React__namespace.createElement(
|
|
5443
|
+
return /* @__PURE__ */ React__namespace.createElement(React__namespace.Fragment, null, /* @__PURE__ */ React__namespace.createElement("div", { className: "relative group" }, /* @__PURE__ */ React__namespace.createElement(Combobox, { cms, input, field })), /* @__PURE__ */ React__namespace.createElement(ReferenceLink, { cms, input }));
|
|
5406
5444
|
};
|
|
5407
5445
|
const ButtonToggle = ({
|
|
5408
5446
|
input,
|
|
@@ -5639,7 +5677,9 @@ flowchart TD
|
|
|
5639
5677
|
onClick: () => {
|
|
5640
5678
|
const state = tinaForm.finalForm.getState();
|
|
5641
5679
|
if (state.invalid === true) {
|
|
5642
|
-
cms.alerts.error(
|
|
5680
|
+
cms.alerts.error(
|
|
5681
|
+
"Cannot navigate away from an invalid form."
|
|
5682
|
+
);
|
|
5643
5683
|
return;
|
|
5644
5684
|
}
|
|
5645
5685
|
cms.dispatch({
|
|
@@ -5710,10 +5750,11 @@ flowchart TD
|
|
|
5710
5750
|
return /* @__PURE__ */ React.createElement(
|
|
5711
5751
|
"button",
|
|
5712
5752
|
{
|
|
5713
|
-
|
|
5753
|
+
type: "button",
|
|
5754
|
+
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"}`,
|
|
5714
5755
|
onClick
|
|
5715
5756
|
},
|
|
5716
|
-
/* @__PURE__ */ React.createElement(TrashIcon, { className: "fill-current transition-colors ease-out
|
|
5757
|
+
/* @__PURE__ */ React.createElement(TrashIcon, { className: "h-5 w-auto fill-current text-red-500 transition-colors duration-150 ease-out" })
|
|
5717
5758
|
);
|
|
5718
5759
|
};
|
|
5719
5760
|
const DragHandle = ({ isDragging }) => {
|
|
@@ -5791,27 +5832,35 @@ flowchart TD
|
|
|
5791
5832
|
))))
|
|
5792
5833
|
))));
|
|
5793
5834
|
};
|
|
5794
|
-
const Group =
|
|
5795
|
-
|
|
5796
|
-
|
|
5797
|
-
|
|
5798
|
-
|
|
5799
|
-
|
|
5800
|
-
|
|
5801
|
-
|
|
5802
|
-
|
|
5803
|
-
|
|
5804
|
-
|
|
5835
|
+
const Group = wrapFieldWithNoHeader(
|
|
5836
|
+
({ tinaForm, field }) => {
|
|
5837
|
+
const cms = useCMS$1();
|
|
5838
|
+
return /* @__PURE__ */ React__namespace.createElement(React__namespace.Fragment, null, /* @__PURE__ */ React__namespace.createElement(
|
|
5839
|
+
Header,
|
|
5840
|
+
{
|
|
5841
|
+
onClick: () => {
|
|
5842
|
+
const state = tinaForm.finalForm.getState();
|
|
5843
|
+
if (state.invalid === true) {
|
|
5844
|
+
cms.alerts.error("Cannot navigate away from an invalid form.");
|
|
5845
|
+
return;
|
|
5846
|
+
}
|
|
5847
|
+
cms.dispatch({
|
|
5848
|
+
type: "forms:set-active-field-name",
|
|
5849
|
+
value: { formId: tinaForm.id, fieldName: field.name }
|
|
5850
|
+
});
|
|
5805
5851
|
}
|
|
5806
|
-
|
|
5807
|
-
|
|
5808
|
-
|
|
5809
|
-
|
|
5810
|
-
|
|
5811
|
-
|
|
5812
|
-
|
|
5813
|
-
|
|
5814
|
-
|
|
5852
|
+
},
|
|
5853
|
+
field.label || field.name,
|
|
5854
|
+
field.description && /* @__PURE__ */ React__namespace.createElement(
|
|
5855
|
+
"span",
|
|
5856
|
+
{
|
|
5857
|
+
className: `block font-sans text-xs italic font-light text-gray-400 pt-0.5 whitespace-normal m-0`,
|
|
5858
|
+
dangerouslySetInnerHTML: { __html: field.description }
|
|
5859
|
+
}
|
|
5860
|
+
)
|
|
5861
|
+
));
|
|
5862
|
+
}
|
|
5863
|
+
);
|
|
5815
5864
|
const Header = ({ onClick, children }) => {
|
|
5816
5865
|
return /* @__PURE__ */ React__namespace.createElement("div", { className: "pt-1 mb-5" }, /* @__PURE__ */ React__namespace.createElement(
|
|
5817
5866
|
"button",
|
|
@@ -6214,7 +6263,9 @@ flowchart TD
|
|
|
6214
6263
|
onClick: () => {
|
|
6215
6264
|
const state = tinaForm.finalForm.getState();
|
|
6216
6265
|
if (state.invalid === true) {
|
|
6217
|
-
cms.alerts.error(
|
|
6266
|
+
cms.alerts.error(
|
|
6267
|
+
"Cannot navigate away from an invalid form."
|
|
6268
|
+
);
|
|
6218
6269
|
return;
|
|
6219
6270
|
}
|
|
6220
6271
|
cms.dispatch({
|
|
@@ -6696,28 +6747,28 @@ flowchart TD
|
|
|
6696
6747
|
}
|
|
6697
6748
|
renderDayHeaders() {
|
|
6698
6749
|
const locale = this.props.viewDate.localeData();
|
|
6699
|
-
|
|
6750
|
+
const dayItems = getDaysOfWeek(locale).map((day, index) => /* @__PURE__ */ React.createElement("th", { key: day + index, className: "dow" }, day));
|
|
6700
6751
|
return /* @__PURE__ */ React.createElement("tr", null, dayItems);
|
|
6701
6752
|
}
|
|
6702
6753
|
renderDays() {
|
|
6703
6754
|
const date = this.props.viewDate;
|
|
6704
6755
|
const startOfMonth = date.clone().startOf("month");
|
|
6705
6756
|
const endOfMonth = date.clone().endOf("month");
|
|
6706
|
-
|
|
6707
|
-
|
|
6757
|
+
const rows = [[], [], [], [], [], []];
|
|
6758
|
+
const startDate = date.clone().subtract(1, "months");
|
|
6708
6759
|
startDate.date(startDate.daysInMonth()).startOf("week");
|
|
6709
|
-
|
|
6760
|
+
const endDate = startDate.clone().add(42, "d");
|
|
6710
6761
|
let i = 0;
|
|
6711
6762
|
while (startDate.isBefore(endDate)) {
|
|
6712
|
-
|
|
6763
|
+
const row = getRow$2(rows, i++);
|
|
6713
6764
|
row.push(this.renderDay(startDate, startOfMonth, endOfMonth));
|
|
6714
6765
|
startDate.add(1, "d");
|
|
6715
6766
|
}
|
|
6716
6767
|
return rows.map((r, i2) => /* @__PURE__ */ React.createElement("tr", { key: `${endDate.month()}_${i2}` }, r));
|
|
6717
6768
|
}
|
|
6718
6769
|
renderDay(date, startOfMonth, endOfMonth) {
|
|
6719
|
-
|
|
6720
|
-
|
|
6770
|
+
const selectedDate = this.props.selectedDate;
|
|
6771
|
+
const dayProps = {
|
|
6721
6772
|
key: date.format("M_D"),
|
|
6722
6773
|
"data-value": date.date(),
|
|
6723
6774
|
"data-month": date.month(),
|
|
@@ -6771,7 +6822,7 @@ flowchart TD
|
|
|
6771
6822
|
}
|
|
6772
6823
|
function getDaysOfWeek(locale) {
|
|
6773
6824
|
const first = locale.firstDayOfWeek();
|
|
6774
|
-
|
|
6825
|
+
const dow = [];
|
|
6775
6826
|
let i = 0;
|
|
6776
6827
|
locale._weekdaysMin.forEach(function(day) {
|
|
6777
6828
|
dow[(7 + i++ - first) % 7] = day;
|
|
@@ -6789,7 +6840,7 @@ flowchart TD
|
|
|
6789
6840
|
return /* @__PURE__ */ React.createElement("div", { className: "rdtMonths" }, /* @__PURE__ */ React.createElement("table", null, /* @__PURE__ */ React.createElement("thead", null, this.renderNavigation())), /* @__PURE__ */ React.createElement("table", null, /* @__PURE__ */ React.createElement("tbody", null, this.renderMonths())));
|
|
6790
6841
|
}
|
|
6791
6842
|
renderNavigation() {
|
|
6792
|
-
|
|
6843
|
+
const year = this.props.viewDate.year();
|
|
6793
6844
|
return /* @__PURE__ */ React.createElement(
|
|
6794
6845
|
ViewNavigation,
|
|
6795
6846
|
{
|
|
@@ -6802,9 +6853,9 @@ flowchart TD
|
|
|
6802
6853
|
);
|
|
6803
6854
|
}
|
|
6804
6855
|
renderMonths() {
|
|
6805
|
-
|
|
6856
|
+
const rows = [[], [], []];
|
|
6806
6857
|
for (let month = 0; month < 12; month++) {
|
|
6807
|
-
|
|
6858
|
+
const row = getRow$1(rows, month);
|
|
6808
6859
|
row.push(this.renderMonth(month));
|
|
6809
6860
|
}
|
|
6810
6861
|
return rows.map((months, i) => /* @__PURE__ */ React.createElement("tr", { key: i }, months));
|
|
@@ -6821,7 +6872,7 @@ flowchart TD
|
|
|
6821
6872
|
if (selectedDate && selectedDate.year() === this.props.viewDate.year() && selectedDate.month() === month) {
|
|
6822
6873
|
className += " rdtActive";
|
|
6823
6874
|
}
|
|
6824
|
-
|
|
6875
|
+
const props = { key: month, className, "data-value": month, onClick };
|
|
6825
6876
|
if (this.props.renderMonth) {
|
|
6826
6877
|
return this.props.renderMonth(
|
|
6827
6878
|
props,
|
|
@@ -6833,11 +6884,11 @@ flowchart TD
|
|
|
6833
6884
|
return /* @__PURE__ */ React.createElement("td", { ...props }, this.getMonthText(month));
|
|
6834
6885
|
}
|
|
6835
6886
|
isDisabledMonth(month) {
|
|
6836
|
-
|
|
6887
|
+
const isValidDate = this.props.isValidDate;
|
|
6837
6888
|
if (!isValidDate) {
|
|
6838
6889
|
return false;
|
|
6839
6890
|
}
|
|
6840
|
-
|
|
6891
|
+
const date = this.props.viewDate.clone().set({ month });
|
|
6841
6892
|
let day = date.endOf("month").date() + 1;
|
|
6842
6893
|
while (day-- > 1) {
|
|
6843
6894
|
if (isValidDate(date.date(day))) {
|
|
@@ -6889,9 +6940,9 @@ flowchart TD
|
|
|
6889
6940
|
}
|
|
6890
6941
|
renderYears() {
|
|
6891
6942
|
const viewYear = this.getViewYear();
|
|
6892
|
-
|
|
6943
|
+
const rows = [[], [], []];
|
|
6893
6944
|
for (let year = viewYear - 1; year < viewYear + 11; year++) {
|
|
6894
|
-
|
|
6945
|
+
const row = getRow(rows, year - viewYear);
|
|
6895
6946
|
row.push(this.renderYear(year));
|
|
6896
6947
|
}
|
|
6897
6948
|
return rows.map((years, i) => /* @__PURE__ */ React.createElement("tr", { key: i }, years));
|
|
@@ -6908,7 +6959,7 @@ flowchart TD
|
|
|
6908
6959
|
if (selectedYear === year) {
|
|
6909
6960
|
className += " rdtActive";
|
|
6910
6961
|
}
|
|
6911
|
-
|
|
6962
|
+
const props = { key: year, className, "data-value": year, onClick };
|
|
6912
6963
|
return this.props.renderYear(
|
|
6913
6964
|
props,
|
|
6914
6965
|
year,
|
|
@@ -6922,15 +6973,15 @@ flowchart TD
|
|
|
6922
6973
|
return this.props.selectedDate && this.props.selectedDate.year();
|
|
6923
6974
|
}
|
|
6924
6975
|
isDisabledYear(year) {
|
|
6925
|
-
|
|
6976
|
+
const cache = this.disabledYearsCache;
|
|
6926
6977
|
if (cache[year] !== void 0) {
|
|
6927
6978
|
return cache[year];
|
|
6928
6979
|
}
|
|
6929
|
-
|
|
6980
|
+
const isValidDate = this.props.isValidDate;
|
|
6930
6981
|
if (!isValidDate) {
|
|
6931
6982
|
return false;
|
|
6932
6983
|
}
|
|
6933
|
-
|
|
6984
|
+
const date = this.props.viewDate.clone().set({ year });
|
|
6934
6985
|
let day = date.endOf("year").dayOfYear() + 1;
|
|
6935
6986
|
while (day-- > 1) {
|
|
6936
6987
|
if (isValidDate(date.dayOfYear(day))) {
|
|
@@ -6977,7 +7028,7 @@ flowchart TD
|
|
|
6977
7028
|
}
|
|
6978
7029
|
};
|
|
6979
7030
|
function createConstraints(overrideTimeConstraints) {
|
|
6980
|
-
|
|
7031
|
+
const constraints = {};
|
|
6981
7032
|
Object.keys(timeConstraints).forEach((type) => {
|
|
6982
7033
|
constraints[type] = {
|
|
6983
7034
|
...timeConstraints[type],
|
|
@@ -6993,7 +7044,7 @@ flowchart TD
|
|
|
6993
7044
|
this.state = this.getTimeParts(props.selectedDate || props.viewDate);
|
|
6994
7045
|
}
|
|
6995
7046
|
render() {
|
|
6996
|
-
|
|
7047
|
+
const items2 = [];
|
|
6997
7048
|
const timeParts = this.state;
|
|
6998
7049
|
this.getCounters().forEach((c, i) => {
|
|
6999
7050
|
if (i && c !== "ampm") {
|
|
@@ -7055,8 +7106,8 @@ flowchart TD
|
|
|
7055
7106
|
}
|
|
7056
7107
|
if (type === "ampm")
|
|
7057
7108
|
return this.toggleDayPart();
|
|
7058
|
-
|
|
7059
|
-
|
|
7109
|
+
const update = {};
|
|
7110
|
+
const body = document.body;
|
|
7060
7111
|
update[type] = this[action](type);
|
|
7061
7112
|
this.setState(update);
|
|
7062
7113
|
this.timer = setTimeout(() => {
|
|
@@ -7099,8 +7150,8 @@ flowchart TD
|
|
|
7099
7150
|
return pad(type, value);
|
|
7100
7151
|
}
|
|
7101
7152
|
getCounters() {
|
|
7102
|
-
|
|
7103
|
-
|
|
7153
|
+
const counters = [];
|
|
7154
|
+
const format2 = this.props.timeFormat;
|
|
7104
7155
|
if (format2.toLowerCase().indexOf("h") !== -1) {
|
|
7105
7156
|
counters.push("hours");
|
|
7106
7157
|
if (format2.indexOf("m") !== -1) {
|
|
@@ -7153,244 +7204,65 @@ flowchart TD
|
|
|
7153
7204
|
str = "0" + str;
|
|
7154
7205
|
return str;
|
|
7155
7206
|
}
|
|
7156
|
-
|
|
7157
|
-
|
|
7158
|
-
|
|
7159
|
-
|
|
7160
|
-
|
|
7161
|
-
|
|
7162
|
-
|
|
7163
|
-
|
|
7164
|
-
|
|
7165
|
-
|
|
7166
|
-
|
|
7167
|
-
}
|
|
7168
|
-
function _objectWithoutPropertiesLoose(source, excluded) {
|
|
7169
|
-
if (source == null)
|
|
7170
|
-
return {};
|
|
7171
|
-
var target = {};
|
|
7172
|
-
var sourceKeys = Object.keys(source);
|
|
7173
|
-
var key, i;
|
|
7174
|
-
for (i = 0; i < sourceKeys.length; i++) {
|
|
7175
|
-
key = sourceKeys[i];
|
|
7176
|
-
if (excluded.indexOf(key) >= 0)
|
|
7177
|
-
continue;
|
|
7178
|
-
target[key] = source[key];
|
|
7179
|
-
}
|
|
7180
|
-
return target;
|
|
7181
|
-
}
|
|
7182
|
-
function _assertThisInitialized(self2) {
|
|
7183
|
-
if (self2 === void 0) {
|
|
7184
|
-
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
|
|
7185
|
-
}
|
|
7186
|
-
return self2;
|
|
7187
|
-
}
|
|
7188
|
-
function isNodeFound(current, componentNode, ignoreClass) {
|
|
7189
|
-
if (current === componentNode) {
|
|
7190
|
-
return true;
|
|
7191
|
-
}
|
|
7192
|
-
if (current.correspondingElement) {
|
|
7193
|
-
return current.correspondingElement.classList.contains(ignoreClass);
|
|
7194
|
-
}
|
|
7195
|
-
return current.classList.contains(ignoreClass);
|
|
7196
|
-
}
|
|
7197
|
-
function findHighest(current, componentNode, ignoreClass) {
|
|
7198
|
-
if (current === componentNode) {
|
|
7199
|
-
return true;
|
|
7207
|
+
var useClickAway$1 = {};
|
|
7208
|
+
var util = {};
|
|
7209
|
+
Object.defineProperty(util, "__esModule", { value: true });
|
|
7210
|
+
util.isNavigator = util.isBrowser = util.off = util.on = util.noop = void 0;
|
|
7211
|
+
var noop = function() {
|
|
7212
|
+
};
|
|
7213
|
+
util.noop = noop;
|
|
7214
|
+
function on(obj) {
|
|
7215
|
+
var args = [];
|
|
7216
|
+
for (var _i = 1; _i < arguments.length; _i++) {
|
|
7217
|
+
args[_i - 1] = arguments[_i];
|
|
7200
7218
|
}
|
|
7201
|
-
|
|
7202
|
-
|
|
7203
|
-
return true;
|
|
7204
|
-
}
|
|
7205
|
-
current = current.parentNode || current.host;
|
|
7219
|
+
if (obj && obj.addEventListener) {
|
|
7220
|
+
obj.addEventListener.apply(obj, args);
|
|
7206
7221
|
}
|
|
7207
|
-
return current;
|
|
7208
7222
|
}
|
|
7209
|
-
|
|
7210
|
-
|
|
7211
|
-
|
|
7212
|
-
|
|
7213
|
-
|
|
7214
|
-
return;
|
|
7223
|
+
util.on = on;
|
|
7224
|
+
function off(obj) {
|
|
7225
|
+
var args = [];
|
|
7226
|
+
for (var _i = 1; _i < arguments.length; _i++) {
|
|
7227
|
+
args[_i - 1] = arguments[_i];
|
|
7215
7228
|
}
|
|
7216
|
-
|
|
7217
|
-
|
|
7218
|
-
get: function get2() {
|
|
7219
|
-
passive = true;
|
|
7220
|
-
}
|
|
7221
|
-
});
|
|
7222
|
-
var noop = function noop2() {
|
|
7223
|
-
};
|
|
7224
|
-
window.addEventListener("testPassiveEventSupport", noop, options);
|
|
7225
|
-
window.removeEventListener("testPassiveEventSupport", noop, options);
|
|
7226
|
-
return passive;
|
|
7227
|
-
};
|
|
7228
|
-
function autoInc(seed) {
|
|
7229
|
-
if (seed === void 0) {
|
|
7230
|
-
seed = 0;
|
|
7229
|
+
if (obj && obj.removeEventListener) {
|
|
7230
|
+
obj.removeEventListener.apply(obj, args);
|
|
7231
7231
|
}
|
|
7232
|
-
return function() {
|
|
7233
|
-
return ++seed;
|
|
7234
|
-
};
|
|
7235
|
-
}
|
|
7236
|
-
var uid = autoInc();
|
|
7237
|
-
var passiveEventSupport;
|
|
7238
|
-
var handlersMap = {};
|
|
7239
|
-
var enabledInstances = {};
|
|
7240
|
-
var touchEvents = ["touchstart", "touchmove"];
|
|
7241
|
-
var IGNORE_CLASS_NAME = "ignore-react-onclickoutside";
|
|
7242
|
-
function getEventHandlerOptions(instance, eventName) {
|
|
7243
|
-
var handlerOptions = {};
|
|
7244
|
-
var isTouchEvent = touchEvents.indexOf(eventName) !== -1;
|
|
7245
|
-
if (isTouchEvent && passiveEventSupport) {
|
|
7246
|
-
handlerOptions.passive = !instance.props.preventDefault;
|
|
7247
|
-
}
|
|
7248
|
-
return handlerOptions;
|
|
7249
7232
|
}
|
|
7250
|
-
|
|
7251
|
-
|
|
7252
|
-
|
|
7253
|
-
|
|
7254
|
-
|
|
7255
|
-
|
|
7256
|
-
|
|
7257
|
-
|
|
7258
|
-
|
|
7259
|
-
|
|
7260
|
-
|
|
7261
|
-
|
|
7262
|
-
|
|
7263
|
-
|
|
7264
|
-
|
|
7265
|
-
|
|
7266
|
-
|
|
7267
|
-
|
|
7268
|
-
|
|
7269
|
-
instance.handleClickOutside(event);
|
|
7270
|
-
return;
|
|
7271
|
-
}
|
|
7272
|
-
throw new Error("WrappedComponent: " + componentName + " lacks a handleClickOutside(event) function for processing outside click events.");
|
|
7273
|
-
};
|
|
7274
|
-
_this.__getComponentNode = function() {
|
|
7275
|
-
var instance = _this.getInstance();
|
|
7276
|
-
if (config && typeof config.setClickOutsideRef === "function") {
|
|
7277
|
-
return config.setClickOutsideRef()(instance);
|
|
7278
|
-
}
|
|
7279
|
-
if (typeof instance.setClickOutsideRef === "function") {
|
|
7280
|
-
return instance.setClickOutsideRef();
|
|
7281
|
-
}
|
|
7282
|
-
return reactDom.findDOMNode(instance);
|
|
7283
|
-
};
|
|
7284
|
-
_this.enableOnClickOutside = function() {
|
|
7285
|
-
if (typeof document === "undefined" || enabledInstances[_this._uid]) {
|
|
7286
|
-
return;
|
|
7287
|
-
}
|
|
7288
|
-
if (typeof passiveEventSupport === "undefined") {
|
|
7289
|
-
passiveEventSupport = testPassiveEventSupport();
|
|
7290
|
-
}
|
|
7291
|
-
enabledInstances[_this._uid] = true;
|
|
7292
|
-
var events = _this.props.eventTypes;
|
|
7293
|
-
if (!events.forEach) {
|
|
7294
|
-
events = [events];
|
|
7295
|
-
}
|
|
7296
|
-
handlersMap[_this._uid] = function(event) {
|
|
7297
|
-
if (_this.componentNode === null)
|
|
7298
|
-
return;
|
|
7299
|
-
if (_this.initTimeStamp > event.timeStamp)
|
|
7300
|
-
return;
|
|
7301
|
-
if (_this.props.preventDefault) {
|
|
7302
|
-
event.preventDefault();
|
|
7303
|
-
}
|
|
7304
|
-
if (_this.props.stopPropagation) {
|
|
7305
|
-
event.stopPropagation();
|
|
7306
|
-
}
|
|
7307
|
-
if (_this.props.excludeScrollbar && clickedScrollbar(event))
|
|
7308
|
-
return;
|
|
7309
|
-
var current = event.composed && event.composedPath && event.composedPath().shift() || event.target;
|
|
7310
|
-
if (findHighest(current, _this.componentNode, _this.props.outsideClickIgnoreClass) !== document) {
|
|
7311
|
-
return;
|
|
7312
|
-
}
|
|
7313
|
-
_this.__outsideClickHandler(event);
|
|
7314
|
-
};
|
|
7315
|
-
events.forEach(function(eventName) {
|
|
7316
|
-
document.addEventListener(eventName, handlersMap[_this._uid], getEventHandlerOptions(_assertThisInitialized(_this), eventName));
|
|
7317
|
-
});
|
|
7318
|
-
};
|
|
7319
|
-
_this.disableOnClickOutside = function() {
|
|
7320
|
-
delete enabledInstances[_this._uid];
|
|
7321
|
-
var fn = handlersMap[_this._uid];
|
|
7322
|
-
if (fn && typeof document !== "undefined") {
|
|
7323
|
-
var events = _this.props.eventTypes;
|
|
7324
|
-
if (!events.forEach) {
|
|
7325
|
-
events = [events];
|
|
7326
|
-
}
|
|
7327
|
-
events.forEach(function(eventName) {
|
|
7328
|
-
return document.removeEventListener(eventName, fn, getEventHandlerOptions(_assertThisInitialized(_this), eventName));
|
|
7329
|
-
});
|
|
7330
|
-
delete handlersMap[_this._uid];
|
|
7331
|
-
}
|
|
7332
|
-
};
|
|
7333
|
-
_this.getRef = function(ref) {
|
|
7334
|
-
return _this.instanceRef = ref;
|
|
7335
|
-
};
|
|
7336
|
-
_this._uid = uid();
|
|
7337
|
-
_this.initTimeStamp = performance.now();
|
|
7338
|
-
return _this;
|
|
7339
|
-
}
|
|
7340
|
-
var _proto = onClickOutside.prototype;
|
|
7341
|
-
_proto.getInstance = function getInstance() {
|
|
7342
|
-
if (WrappedComponent.prototype && !WrappedComponent.prototype.isReactComponent) {
|
|
7343
|
-
return this;
|
|
7344
|
-
}
|
|
7345
|
-
var ref = this.instanceRef;
|
|
7346
|
-
return ref.getInstance ? ref.getInstance() : ref;
|
|
7347
|
-
};
|
|
7348
|
-
_proto.componentDidMount = function componentDidMount() {
|
|
7349
|
-
if (typeof document === "undefined" || !document.createElement) {
|
|
7350
|
-
return;
|
|
7351
|
-
}
|
|
7352
|
-
var instance = this.getInstance();
|
|
7353
|
-
if (config && typeof config.handleClickOutside === "function") {
|
|
7354
|
-
this.__clickOutsideHandlerProp = config.handleClickOutside(instance);
|
|
7355
|
-
if (typeof this.__clickOutsideHandlerProp !== "function") {
|
|
7356
|
-
throw new Error("WrappedComponent: " + componentName + " lacks a function for processing outside click events specified by the handleClickOutside config option.");
|
|
7357
|
-
}
|
|
7358
|
-
}
|
|
7359
|
-
this.componentNode = this.__getComponentNode();
|
|
7360
|
-
if (this.props.disableOnClickOutside)
|
|
7361
|
-
return;
|
|
7362
|
-
this.enableOnClickOutside();
|
|
7363
|
-
};
|
|
7364
|
-
_proto.componentDidUpdate = function componentDidUpdate() {
|
|
7365
|
-
this.componentNode = this.__getComponentNode();
|
|
7366
|
-
};
|
|
7367
|
-
_proto.componentWillUnmount = function componentWillUnmount() {
|
|
7368
|
-
this.disableOnClickOutside();
|
|
7233
|
+
util.off = off;
|
|
7234
|
+
util.isBrowser = typeof window !== "undefined";
|
|
7235
|
+
util.isNavigator = typeof navigator !== "undefined";
|
|
7236
|
+
Object.defineProperty(useClickAway$1, "__esModule", { value: true });
|
|
7237
|
+
var react_1 = React;
|
|
7238
|
+
var util_1 = util;
|
|
7239
|
+
var defaultEvents = ["mousedown", "touchstart"];
|
|
7240
|
+
var useClickAway = function(ref, onClickAway, events) {
|
|
7241
|
+
if (events === void 0) {
|
|
7242
|
+
events = defaultEvents;
|
|
7243
|
+
}
|
|
7244
|
+
var savedCallback = react_1.useRef(onClickAway);
|
|
7245
|
+
react_1.useEffect(function() {
|
|
7246
|
+
savedCallback.current = onClickAway;
|
|
7247
|
+
}, [onClickAway]);
|
|
7248
|
+
react_1.useEffect(function() {
|
|
7249
|
+
var handler = function(event) {
|
|
7250
|
+
var el = ref.current;
|
|
7251
|
+
el && !el.contains(event.target) && savedCallback.current(event);
|
|
7369
7252
|
};
|
|
7370
|
-
|
|
7371
|
-
var
|
|
7372
|
-
|
|
7373
|
-
|
|
7374
|
-
|
|
7375
|
-
|
|
7376
|
-
|
|
7377
|
-
|
|
7253
|
+
for (var _i = 0, events_1 = events; _i < events_1.length; _i++) {
|
|
7254
|
+
var eventName = events_1[_i];
|
|
7255
|
+
util_1.on(document, eventName, handler);
|
|
7256
|
+
}
|
|
7257
|
+
return function() {
|
|
7258
|
+
for (var _i2 = 0, events_2 = events; _i2 < events_2.length; _i2++) {
|
|
7259
|
+
var eventName2 = events_2[_i2];
|
|
7260
|
+
util_1.off(document, eventName2, handler);
|
|
7378
7261
|
}
|
|
7379
|
-
props.disableOnClickOutside = this.disableOnClickOutside;
|
|
7380
|
-
props.enableOnClickOutside = this.enableOnClickOutside;
|
|
7381
|
-
return React.createElement(WrappedComponent, props);
|
|
7382
7262
|
};
|
|
7383
|
-
|
|
7384
|
-
|
|
7385
|
-
|
|
7386
|
-
excludeScrollbar: config && config.excludeScrollbar || false,
|
|
7387
|
-
outsideClickIgnoreClass: IGNORE_CLASS_NAME,
|
|
7388
|
-
preventDefault: false,
|
|
7389
|
-
stopPropagation: false
|
|
7390
|
-
}, _class.getClass = function() {
|
|
7391
|
-
return WrappedComponent.getClass ? WrappedComponent.getClass() : WrappedComponent;
|
|
7392
|
-
}, _temp;
|
|
7393
|
-
}
|
|
7263
|
+
}, [events, ref]);
|
|
7264
|
+
};
|
|
7265
|
+
var _default = useClickAway$1.default = useClickAway;
|
|
7394
7266
|
const viewModes = {
|
|
7395
7267
|
YEARS: "years",
|
|
7396
7268
|
MONTHS: "months",
|
|
@@ -7411,7 +7283,7 @@ flowchart TD
|
|
|
7411
7283
|
__publicField(this, "_renderCalendar", () => {
|
|
7412
7284
|
const props = this.props;
|
|
7413
7285
|
const state = this.state;
|
|
7414
|
-
|
|
7286
|
+
const viewProps = {
|
|
7415
7287
|
viewDate: state.viewDate.clone(),
|
|
7416
7288
|
selectedDate: this.getSelectedDate(),
|
|
7417
7289
|
isValidDate: props.isValidDate,
|
|
@@ -7454,10 +7326,10 @@ flowchart TD
|
|
|
7454
7326
|
__publicField(this, "viewToMethod", { days: "date", months: "month", years: "year" });
|
|
7455
7327
|
__publicField(this, "nextView", { days: "time", months: "days", years: "months" });
|
|
7456
7328
|
__publicField(this, "_updateDate", (e) => {
|
|
7457
|
-
|
|
7458
|
-
|
|
7459
|
-
|
|
7460
|
-
|
|
7329
|
+
const state = this.state;
|
|
7330
|
+
const currentView = state.currentView;
|
|
7331
|
+
const updateOnView = this.getUpdateOn(this.getFormat("date"));
|
|
7332
|
+
const viewDate = this.state.viewDate.clone();
|
|
7461
7333
|
viewDate[this.viewToMethod[currentView]](
|
|
7462
7334
|
parseInt(e.target.getAttribute("data-value"), 10)
|
|
7463
7335
|
);
|
|
@@ -7465,7 +7337,7 @@ flowchart TD
|
|
|
7465
7337
|
viewDate.month(parseInt(e.target.getAttribute("data-month"), 10));
|
|
7466
7338
|
viewDate.year(parseInt(e.target.getAttribute("data-year"), 10));
|
|
7467
7339
|
}
|
|
7468
|
-
|
|
7340
|
+
const update = { viewDate };
|
|
7469
7341
|
if (currentView === updateOnView) {
|
|
7470
7342
|
update.selectedDate = viewDate.clone();
|
|
7471
7343
|
update.inputValue = viewDate.format(this.getFormat("datetime"));
|
|
@@ -7479,7 +7351,7 @@ flowchart TD
|
|
|
7479
7351
|
this.setState(update);
|
|
7480
7352
|
});
|
|
7481
7353
|
__publicField(this, "_viewNavigate", (modifier, unit) => {
|
|
7482
|
-
|
|
7354
|
+
const viewDate = this.state.viewDate.clone();
|
|
7483
7355
|
viewDate.add(modifier, unit);
|
|
7484
7356
|
if (modifier > 0) {
|
|
7485
7357
|
this.props.onNavigateForward(modifier, unit);
|
|
@@ -7489,7 +7361,7 @@ flowchart TD
|
|
|
7489
7361
|
this.setState({ viewDate });
|
|
7490
7362
|
});
|
|
7491
7363
|
__publicField(this, "_setTime", (type, value) => {
|
|
7492
|
-
|
|
7364
|
+
const date = (this.getSelectedDate() || this.state.viewDate).clone();
|
|
7493
7365
|
date[type](value);
|
|
7494
7366
|
if (!this.props.value) {
|
|
7495
7367
|
this.setState({
|
|
@@ -7513,7 +7385,7 @@ flowchart TD
|
|
|
7513
7385
|
});
|
|
7514
7386
|
});
|
|
7515
7387
|
__publicField(this, "_handleClickOutside", () => {
|
|
7516
|
-
|
|
7388
|
+
const props = this.props;
|
|
7517
7389
|
if (props.input && this.state.open && props.open === void 0 && props.closeOnClickOutside) {
|
|
7518
7390
|
this._closeCalendar();
|
|
7519
7391
|
}
|
|
@@ -7528,7 +7400,7 @@ flowchart TD
|
|
|
7528
7400
|
return;
|
|
7529
7401
|
const value = e.target ? e.target.value : e;
|
|
7530
7402
|
const localMoment = this.localMoment(value, this.getFormat("datetime"));
|
|
7531
|
-
|
|
7403
|
+
const update = { inputValue: value };
|
|
7532
7404
|
if (localMoment.isValid()) {
|
|
7533
7405
|
update.selectedDate = localMoment;
|
|
7534
7406
|
update.viewDate = localMoment.clone().startOf("month");
|
|
@@ -7592,9 +7464,9 @@ flowchart TD
|
|
|
7592
7464
|
return this.props.renderView(this.state.currentView, this._renderCalendar);
|
|
7593
7465
|
}
|
|
7594
7466
|
getInitialState() {
|
|
7595
|
-
|
|
7596
|
-
|
|
7597
|
-
|
|
7467
|
+
const props = this.props;
|
|
7468
|
+
const inputFormat = this.getFormat("datetime");
|
|
7469
|
+
const selectedDate = this.parseDate(
|
|
7598
7470
|
props.value || props.initialValue,
|
|
7599
7471
|
inputFormat
|
|
7600
7472
|
);
|
|
@@ -7625,7 +7497,7 @@ flowchart TD
|
|
|
7625
7497
|
return this.getInitialDate();
|
|
7626
7498
|
}
|
|
7627
7499
|
getInitialDate() {
|
|
7628
|
-
|
|
7500
|
+
const m = this.localMoment();
|
|
7629
7501
|
m.hour(0).minute(0).second(0).millisecond(0);
|
|
7630
7502
|
return m;
|
|
7631
7503
|
}
|
|
@@ -7645,8 +7517,8 @@ flowchart TD
|
|
|
7645
7517
|
}
|
|
7646
7518
|
getClassName() {
|
|
7647
7519
|
let cn2 = "rdt";
|
|
7648
|
-
|
|
7649
|
-
|
|
7520
|
+
const props = this.props;
|
|
7521
|
+
const propCn = props.className;
|
|
7650
7522
|
if (Array.isArray(propCn)) {
|
|
7651
7523
|
cn2 += " " + propCn.join(" ");
|
|
7652
7524
|
} else if (propCn) {
|
|
@@ -7679,14 +7551,14 @@ flowchart TD
|
|
|
7679
7551
|
return viewModes.DAYS;
|
|
7680
7552
|
}
|
|
7681
7553
|
getLocaleData() {
|
|
7682
|
-
|
|
7554
|
+
const p = this.props;
|
|
7683
7555
|
return this.localMoment(
|
|
7684
7556
|
p.value || p.defaultValue || /* @__PURE__ */ new Date()
|
|
7685
7557
|
).localeData();
|
|
7686
7558
|
}
|
|
7687
7559
|
getDateFormat() {
|
|
7688
7560
|
const locale = this.getLocaleData();
|
|
7689
|
-
|
|
7561
|
+
const format2 = this.props.dateFormat;
|
|
7690
7562
|
if (format2 === true)
|
|
7691
7563
|
return locale.longDateFormat("L");
|
|
7692
7564
|
if (format2)
|
|
@@ -7695,7 +7567,7 @@ flowchart TD
|
|
|
7695
7567
|
}
|
|
7696
7568
|
getTimeFormat() {
|
|
7697
7569
|
const locale = this.getLocaleData();
|
|
7698
|
-
|
|
7570
|
+
const format2 = this.props.timeFormat;
|
|
7699
7571
|
if (format2 === true) {
|
|
7700
7572
|
return locale.longDateFormat("LT");
|
|
7701
7573
|
}
|
|
@@ -7707,12 +7579,12 @@ flowchart TD
|
|
|
7707
7579
|
} else if (type === "time") {
|
|
7708
7580
|
return this.getTimeFormat();
|
|
7709
7581
|
}
|
|
7710
|
-
|
|
7711
|
-
|
|
7582
|
+
const dateFormat = this.getDateFormat();
|
|
7583
|
+
const timeFormat = this.getTimeFormat();
|
|
7712
7584
|
return dateFormat && timeFormat ? dateFormat + " " + timeFormat : dateFormat || timeFormat;
|
|
7713
7585
|
}
|
|
7714
7586
|
updateTime(op, amount, type, toSelected) {
|
|
7715
|
-
|
|
7587
|
+
const update = {};
|
|
7716
7588
|
const date = toSelected ? "selectedDate" : "viewDate";
|
|
7717
7589
|
update[date] = this.state[date].clone()[op](amount, type);
|
|
7718
7590
|
this.setState(update);
|
|
@@ -7745,7 +7617,7 @@ flowchart TD
|
|
|
7745
7617
|
if (prevProps === this.props)
|
|
7746
7618
|
return;
|
|
7747
7619
|
let needsUpdate = false;
|
|
7748
|
-
|
|
7620
|
+
const thisProps = this.props;
|
|
7749
7621
|
["locale", "utc", "displayZone", "dateFormat", "timeFormat"].forEach(
|
|
7750
7622
|
function(p) {
|
|
7751
7623
|
prevProps[p] !== thisProps[p] && (needsUpdate = true);
|
|
@@ -7761,8 +7633,8 @@ flowchart TD
|
|
|
7761
7633
|
}
|
|
7762
7634
|
regenerateDates() {
|
|
7763
7635
|
const props = this.props;
|
|
7764
|
-
|
|
7765
|
-
|
|
7636
|
+
const viewDate = this.state.viewDate.clone();
|
|
7637
|
+
const selectedDate = this.state.selectedDate && this.state.selectedDate.clone();
|
|
7766
7638
|
if (props.locale) {
|
|
7767
7639
|
viewDate.locale(props.locale);
|
|
7768
7640
|
selectedDate && selectedDate.locale(props.locale);
|
|
@@ -7777,7 +7649,7 @@ flowchart TD
|
|
|
7777
7649
|
viewDate.locale();
|
|
7778
7650
|
selectedDate && selectedDate.locale();
|
|
7779
7651
|
}
|
|
7780
|
-
|
|
7652
|
+
const update = { viewDate, selectedDate };
|
|
7781
7653
|
if (selectedDate && selectedDate.isValid()) {
|
|
7782
7654
|
update.inputValue = selectedDate.format(this.getFormat("datetime"));
|
|
7783
7655
|
}
|
|
@@ -7786,7 +7658,7 @@ flowchart TD
|
|
|
7786
7658
|
getSelectedDate() {
|
|
7787
7659
|
if (this.props.value === void 0)
|
|
7788
7660
|
return this.state.selectedDate;
|
|
7789
|
-
|
|
7661
|
+
const selectedDate = this.parseDate(
|
|
7790
7662
|
this.props.value,
|
|
7791
7663
|
this.getFormat("datetime")
|
|
7792
7664
|
);
|
|
@@ -7805,7 +7677,7 @@ flowchart TD
|
|
|
7805
7677
|
return "";
|
|
7806
7678
|
}
|
|
7807
7679
|
getInputValue() {
|
|
7808
|
-
|
|
7680
|
+
const selectedDate = this.getSelectedDate();
|
|
7809
7681
|
return selectedDate ? selectedDate.format(this.getFormat("datetime")) : this.state.inputValue;
|
|
7810
7682
|
}
|
|
7811
7683
|
/**
|
|
@@ -7815,7 +7687,7 @@ flowchart TD
|
|
|
7815
7687
|
* @public
|
|
7816
7688
|
*/
|
|
7817
7689
|
setViewDate(date) {
|
|
7818
|
-
|
|
7690
|
+
const logError = function() {
|
|
7819
7691
|
return log("Invalid date passed to the `setViewDate` method: " + date);
|
|
7820
7692
|
};
|
|
7821
7693
|
if (!date)
|
|
@@ -7911,7 +7783,7 @@ flowchart TD
|
|
|
7911
7783
|
// Make moment accessible through the Datetime class
|
|
7912
7784
|
__publicField(Datetime, "moment", moment);
|
|
7913
7785
|
function log(message, method) {
|
|
7914
|
-
|
|
7786
|
+
const con = typeof window !== "undefined" && window.console;
|
|
7915
7787
|
if (!con)
|
|
7916
7788
|
return;
|
|
7917
7789
|
if (!method) {
|
|
@@ -7919,22 +7791,13 @@ flowchart TD
|
|
|
7919
7791
|
}
|
|
7920
7792
|
con[method]("***react-datetime:" + message);
|
|
7921
7793
|
}
|
|
7922
|
-
|
|
7923
|
-
|
|
7924
|
-
|
|
7925
|
-
|
|
7926
|
-
}
|
|
7927
|
-
|
|
7928
|
-
return /* @__PURE__ */ React.createElement("div", { className: this.props.className, ref: this.container }, this.props.children);
|
|
7929
|
-
}
|
|
7930
|
-
handleClickOutside(e) {
|
|
7931
|
-
this.props.onClickOut(e);
|
|
7932
|
-
}
|
|
7933
|
-
setClickOutsideRef() {
|
|
7934
|
-
return this.container.current;
|
|
7935
|
-
}
|
|
7794
|
+
function ClickableWrapper({ className, onClickOut, children }) {
|
|
7795
|
+
const containerRef = React.useRef(null);
|
|
7796
|
+
_default(containerRef, (event) => {
|
|
7797
|
+
onClickOut(event);
|
|
7798
|
+
});
|
|
7799
|
+
return /* @__PURE__ */ React.createElement("div", { className, ref: containerRef }, children);
|
|
7936
7800
|
}
|
|
7937
|
-
const ClickableWrapper = onClickOutsideHOC(ClickOutBase);
|
|
7938
7801
|
const DEFAULT_DATE_DISPLAY_FORMAT = "MMM DD, YYYY";
|
|
7939
7802
|
const DEFAULT_TIME_DISPLAY_FORMAT = "h:mm A";
|
|
7940
7803
|
const format$1 = (val, _name, field) => {
|
|
@@ -7977,7 +7840,10 @@ flowchart TD
|
|
|
7977
7840
|
ReactDateTimeWithStyles,
|
|
7978
7841
|
{
|
|
7979
7842
|
value: input.value,
|
|
7980
|
-
onChange:
|
|
7843
|
+
onChange: (value) => {
|
|
7844
|
+
const newValue = value === "" ? void 0 : value;
|
|
7845
|
+
input.onChange(newValue);
|
|
7846
|
+
},
|
|
7981
7847
|
dateFormat: dateFormat || DEFAULT_DATE_DISPLAY_FORMAT,
|
|
7982
7848
|
timeFormat: timeFormat || false,
|
|
7983
7849
|
inputProps: { className: textFieldClasses },
|
|
@@ -8740,7 +8606,10 @@ flowchart TD
|
|
|
8740
8606
|
label: "View in GitHub",
|
|
8741
8607
|
Icon: /* @__PURE__ */ React__namespace.createElement(BiLinkExternal, { className: "w-5 h-auto text-blue-500 opacity-70" }),
|
|
8742
8608
|
onMouseDown: () => {
|
|
8743
|
-
window.open(
|
|
8609
|
+
window.open(
|
|
8610
|
+
branch.githubPullRequestUrl,
|
|
8611
|
+
"_blank"
|
|
8612
|
+
);
|
|
8744
8613
|
}
|
|
8745
8614
|
},
|
|
8746
8615
|
typeof previewFunction === "function" && ((_b2 = previewFunction({ branch: branch.name })) == null ? void 0 : _b2.url) && {
|
|
@@ -9046,7 +8915,9 @@ flowchart TD
|
|
|
9046
8915
|
} else {
|
|
9047
8916
|
events = event;
|
|
9048
8917
|
}
|
|
9049
|
-
const newListeners = events.map(
|
|
8918
|
+
const newListeners = events.map(
|
|
8919
|
+
(event2) => new Listener(event2, callback)
|
|
8920
|
+
);
|
|
9050
8921
|
newListeners.forEach((newListener) => this.listeners.add(newListener));
|
|
9051
8922
|
return () => {
|
|
9052
8923
|
newListeners.forEach((listener) => this.listeners.delete(listener));
|
|
@@ -9402,9 +9273,7 @@ flowchart TD
|
|
|
9402
9273
|
const deleteStartTime = Date.now();
|
|
9403
9274
|
while (true) {
|
|
9404
9275
|
await new Promise((resolve) => setTimeout(resolve, 1e3));
|
|
9405
|
-
const { error, message } = await this.api.getRequestStatus(
|
|
9406
|
-
requestId
|
|
9407
|
-
);
|
|
9276
|
+
const { error, message } = await this.api.getRequestStatus(requestId);
|
|
9408
9277
|
if (error !== void 0) {
|
|
9409
9278
|
if (error) {
|
|
9410
9279
|
throw new Error(message);
|
|
@@ -9429,6 +9298,17 @@ flowchart TD
|
|
|
9429
9298
|
}
|
|
9430
9299
|
}
|
|
9431
9300
|
}
|
|
9301
|
+
const encodeUrlIfNeeded = (url) => {
|
|
9302
|
+
if (url) {
|
|
9303
|
+
try {
|
|
9304
|
+
return new URL(url).toString();
|
|
9305
|
+
} catch (e) {
|
|
9306
|
+
return url;
|
|
9307
|
+
}
|
|
9308
|
+
} else {
|
|
9309
|
+
return url;
|
|
9310
|
+
}
|
|
9311
|
+
};
|
|
9432
9312
|
let MediaManager$1 = class MediaManager {
|
|
9433
9313
|
constructor(store, events) {
|
|
9434
9314
|
this.store = store;
|
|
@@ -9501,6 +9381,20 @@ flowchart TD
|
|
|
9501
9381
|
try {
|
|
9502
9382
|
this.events.dispatch({ type: "media:list:start", ...options });
|
|
9503
9383
|
const media = await this.store.list(options);
|
|
9384
|
+
media.items = media.items.map((item) => {
|
|
9385
|
+
if (item.type === "dir") {
|
|
9386
|
+
return item;
|
|
9387
|
+
}
|
|
9388
|
+
if (item.thumbnails) {
|
|
9389
|
+
for (const [size, src] of Object.entries(item.thumbnails)) {
|
|
9390
|
+
item.thumbnails[size] = encodeUrlIfNeeded(src);
|
|
9391
|
+
}
|
|
9392
|
+
}
|
|
9393
|
+
return {
|
|
9394
|
+
...item,
|
|
9395
|
+
src: encodeUrlIfNeeded(item.src)
|
|
9396
|
+
};
|
|
9397
|
+
});
|
|
9504
9398
|
this.events.dispatch({ type: "media:list:success", ...options, media });
|
|
9505
9399
|
return media;
|
|
9506
9400
|
} catch (error) {
|
|
@@ -10308,7 +10202,7 @@ flowchart TD
|
|
|
10308
10202
|
"Event Log"
|
|
10309
10203
|
));
|
|
10310
10204
|
};
|
|
10311
|
-
const version = "2.
|
|
10205
|
+
const version = "2.7.3";
|
|
10312
10206
|
const Nav = ({
|
|
10313
10207
|
isLocalMode,
|
|
10314
10208
|
className = "",
|
|
@@ -10944,7 +10838,7 @@ flowchart TD
|
|
|
10944
10838
|
className: "h-5 w-auto -mx-1 text-blue-500",
|
|
10945
10839
|
stroke: "currentColor",
|
|
10946
10840
|
fill: "currentColor",
|
|
10947
|
-
|
|
10841
|
+
strokeWidth: "0",
|
|
10948
10842
|
viewBox: "0 0 24 24",
|
|
10949
10843
|
xmlns: "http://www.w3.org/2000/svg"
|
|
10950
10844
|
},
|
|
@@ -11534,7 +11428,10 @@ flowchart TD
|
|
|
11534
11428
|
const observer = new IntersectionObserver((entries) => {
|
|
11535
11429
|
const target = entries[0];
|
|
11536
11430
|
if (target.isIntersecting && list.nextOffset) {
|
|
11537
|
-
setOffsetHistory((offsetHistory2) => [
|
|
11431
|
+
setOffsetHistory((offsetHistory2) => [
|
|
11432
|
+
...offsetHistory2,
|
|
11433
|
+
list.nextOffset
|
|
11434
|
+
]);
|
|
11538
11435
|
}
|
|
11539
11436
|
});
|
|
11540
11437
|
if (loaderRef.current) {
|
|
@@ -12498,7 +12395,9 @@ flowchart TD
|
|
|
12498
12395
|
if (activeEle) {
|
|
12499
12396
|
setDisplay(true);
|
|
12500
12397
|
setPosition(activeEle.getBoundingClientRect());
|
|
12501
|
-
const iframe = document.getElementById(
|
|
12398
|
+
const iframe = document.getElementById(
|
|
12399
|
+
"tina-iframe"
|
|
12400
|
+
);
|
|
12502
12401
|
if (iframe) {
|
|
12503
12402
|
setIframePosition(iframe.getBoundingClientRect());
|
|
12504
12403
|
}
|
|
@@ -12839,15 +12738,14 @@ flowchart TD
|
|
|
12839
12738
|
fields: fieldGroup.fields
|
|
12840
12739
|
}
|
|
12841
12740
|
) : /* @__PURE__ */ React__namespace.createElement(NoFieldsPlaceholder, null)
|
|
12842
|
-
)), !hideFooter && /* @__PURE__ */ React__namespace.createElement("div", { className: "relative flex-none w-full h-16 px-
|
|
12741
|
+
)), !hideFooter && /* @__PURE__ */ React__namespace.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__namespace.createElement("div", { className: "flex-1 w-full justify-end gap-2 flex items-center max-w-form" }, tinaForm.reset && /* @__PURE__ */ React__namespace.createElement(
|
|
12843
12742
|
ResetForm,
|
|
12844
12743
|
{
|
|
12845
12744
|
pristine,
|
|
12846
12745
|
reset: async () => {
|
|
12847
12746
|
finalForm2.reset();
|
|
12848
12747
|
await tinaForm.reset();
|
|
12849
|
-
}
|
|
12850
|
-
style: { flexGrow: 1 }
|
|
12748
|
+
}
|
|
12851
12749
|
},
|
|
12852
12750
|
tinaForm.buttons.reset
|
|
12853
12751
|
), /* @__PURE__ */ React__namespace.createElement(
|
|
@@ -12856,8 +12754,7 @@ flowchart TD
|
|
|
12856
12754
|
onClick: safeHandleSubmit,
|
|
12857
12755
|
disabled: !canSubmit,
|
|
12858
12756
|
busy: submitting,
|
|
12859
|
-
variant: "primary"
|
|
12860
|
-
style: { flexGrow: 3 }
|
|
12757
|
+
variant: "primary"
|
|
12861
12758
|
},
|
|
12862
12759
|
submitting && /* @__PURE__ */ React__namespace.createElement(LoadingDots, null),
|
|
12863
12760
|
!submitting && tinaForm.buttons.save
|
|
@@ -12942,7 +12839,6 @@ flowchart TD
|
|
|
12942
12839
|
}) => {
|
|
12943
12840
|
const cms = useCMS$1();
|
|
12944
12841
|
const tinaApi = cms.api.tina;
|
|
12945
|
-
tinaApi.branch;
|
|
12946
12842
|
const [disabled, setDisabled] = React__namespace.useState(false);
|
|
12947
12843
|
const [newBranchName, setNewBranchName] = React__namespace.useState("");
|
|
12948
12844
|
const [error, setError] = React__namespace.useState("");
|
|
@@ -12968,10 +12864,10 @@ flowchart TD
|
|
|
12968
12864
|
const newUrl = window.location.href.replace(hash, newHash);
|
|
12969
12865
|
window.location.href = newUrl;
|
|
12970
12866
|
};
|
|
12971
|
-
return /* @__PURE__ */ React__namespace.createElement(Modal, null, /* @__PURE__ */ React__namespace.createElement(PopupModal, null, /* @__PURE__ */ React__namespace.createElement(ModalHeader, { close: close2 }, /* @__PURE__ */ React__namespace.createElement(BiGitBranch, { className: "w-6 h-auto mr-1 text-blue-500 opacity-70" }), " ", "Create Branch"), /* @__PURE__ */ React__namespace.createElement(ModalBody, { padded: true }, /* @__PURE__ */ React__namespace.createElement("p", { className: "text-
|
|
12867
|
+
return /* @__PURE__ */ React__namespace.createElement(Modal, null, /* @__PURE__ */ React__namespace.createElement(PopupModal, null, /* @__PURE__ */ React__namespace.createElement(ModalHeader, { close: close2 }, /* @__PURE__ */ React__namespace.createElement(BiGitBranch, { className: "w-6 h-auto mr-1 text-blue-500 opacity-70" }), " ", "Create Branch"), /* @__PURE__ */ React__namespace.createElement(ModalBody, { padded: true }, /* @__PURE__ */ React__namespace.createElement("p", { className: "text-lg text-gray-700 font-bold mb-2" }, "This content is protected 🚧"), /* @__PURE__ */ React__namespace.createElement("p", { className: "text-sm text-gray-700 mb-4" }, "To make changes, you need to create a copy then get it approved and merged for it to go live."), /* @__PURE__ */ React__namespace.createElement(
|
|
12972
12868
|
PrefixedTextField,
|
|
12973
12869
|
{
|
|
12974
|
-
placeholder: "
|
|
12870
|
+
placeholder: "e.g. {{PAGE-NAME}}-updates",
|
|
12975
12871
|
value: newBranchName,
|
|
12976
12872
|
onChange: (e) => {
|
|
12977
12873
|
setError("");
|
|
@@ -13118,7 +13014,9 @@ flowchart TD
|
|
|
13118
13014
|
const { fieldName } = useTemplates();
|
|
13119
13015
|
const { handleClose, handleRemove, handleSelect, isExpanded } = useEmbedHandles(editor, element, fieldName);
|
|
13120
13016
|
useHotkey("enter", () => {
|
|
13121
|
-
plateCommon.insertNodes(editor, [
|
|
13017
|
+
plateCommon.insertNodes(editor, [
|
|
13018
|
+
{ type: plate.ELEMENT_PARAGRAPH, children: [{ text: "" }] }
|
|
13019
|
+
]);
|
|
13122
13020
|
});
|
|
13123
13021
|
return /* @__PURE__ */ React.createElement("span", { ...attributes, className: "" }, children, element.url ? /* @__PURE__ */ React.createElement(
|
|
13124
13022
|
"div",
|
|
@@ -13261,7 +13159,9 @@ flowchart TD
|
|
|
13261
13159
|
const { templates, fieldName } = useTemplates();
|
|
13262
13160
|
const { handleClose, handleRemove, handleSelect, isExpanded } = useEmbedHandles(editor, element, fieldName);
|
|
13263
13161
|
useHotkey("enter", () => {
|
|
13264
|
-
plateCommon.insertNodes(editor, [
|
|
13162
|
+
plateCommon.insertNodes(editor, [
|
|
13163
|
+
{ type: plate.ELEMENT_PARAGRAPH, children: [{ text: "" }] }
|
|
13164
|
+
]);
|
|
13265
13165
|
});
|
|
13266
13166
|
useHotkey("space", () => {
|
|
13267
13167
|
plateCommon.insertNodes(editor, [{ text: " " }], {
|
|
@@ -13317,7 +13217,9 @@ flowchart TD
|
|
|
13317
13217
|
const { templates, fieldName } = useTemplates();
|
|
13318
13218
|
const { handleClose, handleRemove, handleSelect, isExpanded } = useEmbedHandles(editor, element, fieldName);
|
|
13319
13219
|
useHotkey("enter", () => {
|
|
13320
|
-
plateCommon.insertNodes(editor, [
|
|
13220
|
+
plateCommon.insertNodes(editor, [
|
|
13221
|
+
{ type: plate.ELEMENT_PARAGRAPH, children: [{ text: "" }] }
|
|
13222
|
+
]);
|
|
13321
13223
|
});
|
|
13322
13224
|
const activeTemplate = templates.find(
|
|
13323
13225
|
(template) => template.name === element.name
|
|
@@ -13663,6 +13565,11 @@ flowchart TD
|
|
|
13663
13565
|
mode: "mark",
|
|
13664
13566
|
type: plate.MARK_CODE,
|
|
13665
13567
|
match: "`"
|
|
13568
|
+
},
|
|
13569
|
+
{
|
|
13570
|
+
mode: "mark",
|
|
13571
|
+
type: plate.MARK_STRIKETHROUGH,
|
|
13572
|
+
match: ["~~", "~"]
|
|
13666
13573
|
}
|
|
13667
13574
|
];
|
|
13668
13575
|
const autoformatRules = [
|
|
@@ -13804,16 +13711,14 @@ flowchart TD
|
|
|
13804
13711
|
})
|
|
13805
13712
|
];
|
|
13806
13713
|
const plugins = [
|
|
13714
|
+
plate.createBasicMarksPlugin(),
|
|
13807
13715
|
plate.createHeadingPlugin(),
|
|
13808
13716
|
plate.createParagraphPlugin(),
|
|
13809
13717
|
createCodeBlockPlugin(),
|
|
13810
13718
|
createHTMLBlockPlugin(),
|
|
13811
13719
|
createHTMLInlinePlugin(),
|
|
13812
13720
|
plate.createBlockquotePlugin(),
|
|
13813
|
-
plate.createBoldPlugin(),
|
|
13814
|
-
plate.createItalicPlugin(),
|
|
13815
13721
|
plate.createUnderlinePlugin(),
|
|
13816
|
-
plate.createCodePlugin(),
|
|
13817
13722
|
plate.createListPlugin(),
|
|
13818
13723
|
plate.createIndentListPlugin(),
|
|
13819
13724
|
plate.createHorizontalRulePlugin(),
|
|
@@ -13827,6 +13732,7 @@ flowchart TD
|
|
|
13827
13732
|
"Unordered List",
|
|
13828
13733
|
"Ordered List",
|
|
13829
13734
|
"Quote",
|
|
13735
|
+
"Mermaid",
|
|
13830
13736
|
"Heading 1",
|
|
13831
13737
|
"Heading 2",
|
|
13832
13738
|
"Heading 3",
|
|
@@ -14172,7 +14078,9 @@ flowchart TD
|
|
|
14172
14078
|
const CONTAINER_MD_BREAKPOINT = 448;
|
|
14173
14079
|
const FLOAT_BUTTON_WIDTH = 25;
|
|
14174
14080
|
const HEADING_LABEL = "Headings";
|
|
14175
|
-
const ToolbarContext = React.createContext(
|
|
14081
|
+
const ToolbarContext = React.createContext(
|
|
14082
|
+
void 0
|
|
14083
|
+
);
|
|
14176
14084
|
const ToolbarProvider = ({
|
|
14177
14085
|
tinaForm,
|
|
14178
14086
|
templates,
|
|
@@ -14322,7 +14230,7 @@ flowchart TD
|
|
|
14322
14230
|
const CodeBlockToolbarButton = cn$1.withRef(({ clear, ...rest }, ref) => {
|
|
14323
14231
|
const state = useCodeBlockToolbarButtonState();
|
|
14324
14232
|
const { props } = useCodeBlockToolbarButton(state);
|
|
14325
|
-
return /* @__PURE__ */ React.createElement(ToolbarButton, { ref, tooltip: "
|
|
14233
|
+
return /* @__PURE__ */ React.createElement(ToolbarButton, { ref, tooltip: "Code Block", ...rest, ...props }, /* @__PURE__ */ React.createElement(Icons.codeBlock, null));
|
|
14326
14234
|
});
|
|
14327
14235
|
const useImageToolbarButtonState = () => {
|
|
14328
14236
|
const editor = plateCommon.useEditorState();
|
|
@@ -14354,36 +14262,54 @@ flowchart TD
|
|
|
14354
14262
|
const ImageToolbarButton = cn$1.withRef(({ clear, ...rest }, ref) => {
|
|
14355
14263
|
const state = useImageToolbarButtonState();
|
|
14356
14264
|
const { props } = useImageToolbarButton(state);
|
|
14357
|
-
return /* @__PURE__ */ React.createElement(ToolbarButton, { ref, tooltip: "
|
|
14358
|
-
});
|
|
14359
|
-
const IndentListToolbarButton = cn$1.withRef(({ nodeType = plate.ELEMENT_UL }, ref) => {
|
|
14360
|
-
const editor = plateCommon.useEditorState();
|
|
14361
|
-
const state = plate.useListToolbarButtonState({ nodeType });
|
|
14362
|
-
const { props } = plate.useListToolbarButton(state);
|
|
14363
|
-
return /* @__PURE__ */ React.createElement(
|
|
14364
|
-
ToolbarButton,
|
|
14365
|
-
{
|
|
14366
|
-
ref,
|
|
14367
|
-
tooltip: nodeType === plate.ELEMENT_UL ? "Bulleted List" : "Numbered List",
|
|
14368
|
-
...props,
|
|
14369
|
-
onClick: (e) => {
|
|
14370
|
-
e.preventDefault();
|
|
14371
|
-
e.stopPropagation();
|
|
14372
|
-
plate.toggleList(editor, { type: nodeType });
|
|
14373
|
-
}
|
|
14374
|
-
},
|
|
14375
|
-
nodeType === plate.ELEMENT_UL ? /* @__PURE__ */ React.createElement(Icons.ul, null) : /* @__PURE__ */ React.createElement(Icons.ol, null)
|
|
14376
|
-
);
|
|
14265
|
+
return /* @__PURE__ */ React.createElement(ToolbarButton, { ref, tooltip: "Image", ...rest, ...props }, /* @__PURE__ */ React.createElement(Icons.image, null));
|
|
14377
14266
|
});
|
|
14267
|
+
const UnorderedListToolbarButton = cn$1.withRef(
|
|
14268
|
+
(props, ref) => {
|
|
14269
|
+
const editor = plateCommon.useEditorState();
|
|
14270
|
+
const state = plate.useListToolbarButtonState({ nodeType: plate.ELEMENT_UL });
|
|
14271
|
+
const { props: buttonProps } = plate.useListToolbarButton(state);
|
|
14272
|
+
return /* @__PURE__ */ React.createElement(
|
|
14273
|
+
ToolbarButton,
|
|
14274
|
+
{
|
|
14275
|
+
ref,
|
|
14276
|
+
tooltip: "Bulleted List",
|
|
14277
|
+
...buttonProps,
|
|
14278
|
+
onClick: (e) => {
|
|
14279
|
+
e.preventDefault();
|
|
14280
|
+
e.stopPropagation();
|
|
14281
|
+
plate.toggleList(editor, { type: plate.ELEMENT_UL });
|
|
14282
|
+
}
|
|
14283
|
+
},
|
|
14284
|
+
/* @__PURE__ */ React.createElement(Icons.ul, null)
|
|
14285
|
+
);
|
|
14286
|
+
}
|
|
14287
|
+
);
|
|
14288
|
+
const OrderedListToolbarButton = cn$1.withRef(
|
|
14289
|
+
(props, ref) => {
|
|
14290
|
+
const editor = plateCommon.useEditorState();
|
|
14291
|
+
const state = plate.useListToolbarButtonState({ nodeType: plate.ELEMENT_OL });
|
|
14292
|
+
const { props: buttonProps } = plate.useListToolbarButton(state);
|
|
14293
|
+
return /* @__PURE__ */ React.createElement(
|
|
14294
|
+
ToolbarButton,
|
|
14295
|
+
{
|
|
14296
|
+
ref,
|
|
14297
|
+
tooltip: "Numbered List",
|
|
14298
|
+
...buttonProps,
|
|
14299
|
+
onClick: (e) => {
|
|
14300
|
+
e.preventDefault();
|
|
14301
|
+
e.stopPropagation();
|
|
14302
|
+
plate.toggleList(editor, { type: plate.ELEMENT_OL });
|
|
14303
|
+
}
|
|
14304
|
+
},
|
|
14305
|
+
/* @__PURE__ */ React.createElement(Icons.ol, null)
|
|
14306
|
+
);
|
|
14307
|
+
}
|
|
14308
|
+
);
|
|
14378
14309
|
const LinkToolbarButton = cn$1.withRef((rest, ref) => {
|
|
14379
14310
|
const state = plateLink.useLinkToolbarButtonState();
|
|
14380
14311
|
const { props } = plateLink.useLinkToolbarButton(state);
|
|
14381
|
-
return /* @__PURE__ */ React.createElement(ToolbarButton, { ref, tooltip: "Link"
|
|
14382
|
-
});
|
|
14383
|
-
const MarkToolbarButton = cn$1.withRef(({ clear, nodeType, ...rest }, ref) => {
|
|
14384
|
-
const state = plateCommon.useMarkToolbarButtonState({ clear, nodeType });
|
|
14385
|
-
const { props } = plateCommon.useMarkToolbarButton(state);
|
|
14386
|
-
return /* @__PURE__ */ React.createElement(ToolbarButton, { ref, ...props, ...rest });
|
|
14312
|
+
return /* @__PURE__ */ React.createElement(ToolbarButton, { ref, ...props, ...rest, tooltip: "Link" }, /* @__PURE__ */ React.createElement(Icons.link, null));
|
|
14387
14313
|
});
|
|
14388
14314
|
const useMermaidToolbarButtonState = () => {
|
|
14389
14315
|
const editor = plateCommon.useEditorState();
|
|
@@ -14426,6 +14352,7 @@ flowchart TD
|
|
|
14426
14352
|
ToolbarButton,
|
|
14427
14353
|
{
|
|
14428
14354
|
showArrow: false,
|
|
14355
|
+
"data-testid": "rich-text-editor-overflow-menu-button",
|
|
14429
14356
|
className: "lg:min-w-[130px]",
|
|
14430
14357
|
isDropdown: true,
|
|
14431
14358
|
pressed: openState.open,
|
|
@@ -14463,7 +14390,7 @@ flowchart TD
|
|
|
14463
14390
|
const QuoteToolbarButton = cn$1.withRef(({ clear, ...rest }, ref) => {
|
|
14464
14391
|
const state = useBlockQuoteToolbarButtonState();
|
|
14465
14392
|
const { props } = useBlockQuoteToolbarButton(state);
|
|
14466
|
-
return /* @__PURE__ */ React.createElement(ToolbarButton, { ref, tooltip: "
|
|
14393
|
+
return /* @__PURE__ */ React.createElement(ToolbarButton, { ref, tooltip: "Quote (⌘+⇧+.)", ...rest, ...props }, /* @__PURE__ */ React.createElement(Icons.quote, null));
|
|
14467
14394
|
});
|
|
14468
14395
|
const useRawMarkdownToolbarButton = () => {
|
|
14469
14396
|
const { setRawMode } = useEditorContext();
|
|
@@ -14479,7 +14406,17 @@ flowchart TD
|
|
|
14479
14406
|
};
|
|
14480
14407
|
const RawMarkdownToolbarButton = cn$1.withRef(({ clear, ...rest }, ref) => {
|
|
14481
14408
|
const { props } = useRawMarkdownToolbarButton();
|
|
14482
|
-
return /* @__PURE__ */ React.createElement(
|
|
14409
|
+
return /* @__PURE__ */ React.createElement(
|
|
14410
|
+
ToolbarButton,
|
|
14411
|
+
{
|
|
14412
|
+
ref,
|
|
14413
|
+
tooltip: "Raw Markdown",
|
|
14414
|
+
...rest,
|
|
14415
|
+
...props,
|
|
14416
|
+
"data-testid": "markdown-button"
|
|
14417
|
+
},
|
|
14418
|
+
/* @__PURE__ */ React.createElement(Icons.raw, null)
|
|
14419
|
+
);
|
|
14483
14420
|
});
|
|
14484
14421
|
function TableDropdownMenu(props) {
|
|
14485
14422
|
const tableSelected = plateCommon.useEditorSelector(
|
|
@@ -14618,7 +14555,7 @@ flowchart TD
|
|
|
14618
14555
|
key: template.name,
|
|
14619
14556
|
onMouseDown: (e) => {
|
|
14620
14557
|
e.preventDefault();
|
|
14621
|
-
|
|
14558
|
+
setOpen(false);
|
|
14622
14559
|
insertMDX(editor, template);
|
|
14623
14560
|
},
|
|
14624
14561
|
className: ""
|
|
@@ -14626,6 +14563,15 @@ flowchart TD
|
|
|
14626
14563
|
template.label || template.name
|
|
14627
14564
|
))));
|
|
14628
14565
|
};
|
|
14566
|
+
const MarkToolbarButton = cn$1.withRef(({ clear, nodeType, ...rest }, ref) => {
|
|
14567
|
+
const state = plateCommon.useMarkToolbarButtonState({ clear, nodeType });
|
|
14568
|
+
const { props } = plateCommon.useMarkToolbarButton(state);
|
|
14569
|
+
return /* @__PURE__ */ React.createElement(ToolbarButton, { ref, ...props, ...rest });
|
|
14570
|
+
});
|
|
14571
|
+
const BoldToolbarButton = () => /* @__PURE__ */ React.createElement(MarkToolbarButton, { tooltip: "Bold (⌘+B)", nodeType: plate.MARK_BOLD }, /* @__PURE__ */ React.createElement(Icons.bold, null));
|
|
14572
|
+
const StrikethroughToolbarButton = () => /* @__PURE__ */ React.createElement(MarkToolbarButton, { tooltip: "Strikethrough", nodeType: plate.MARK_STRIKETHROUGH }, /* @__PURE__ */ React.createElement(Icons.strikethrough, null));
|
|
14573
|
+
const ItalicToolbarButton = () => /* @__PURE__ */ React.createElement(MarkToolbarButton, { tooltip: "Italic (⌘+I)", nodeType: plate.MARK_ITALIC }, /* @__PURE__ */ React.createElement(Icons.italic, null));
|
|
14574
|
+
const CodeToolbarButton = () => /* @__PURE__ */ React.createElement(MarkToolbarButton, { tooltip: "Code (⌘+E)", nodeType: plate.MARK_CODE }, /* @__PURE__ */ React.createElement(Icons.code, null));
|
|
14629
14575
|
const toolbarItems = {
|
|
14630
14576
|
heading: {
|
|
14631
14577
|
label: HEADING_LABEL,
|
|
@@ -14646,32 +14592,37 @@ flowchart TD
|
|
|
14646
14592
|
quote: {
|
|
14647
14593
|
label: "Quote",
|
|
14648
14594
|
width: () => STANDARD_ICON_WIDTH,
|
|
14649
|
-
Component: /* @__PURE__ */ React.createElement(QuoteToolbarButton,
|
|
14595
|
+
Component: /* @__PURE__ */ React.createElement(QuoteToolbarButton, null)
|
|
14650
14596
|
},
|
|
14651
14597
|
ul: {
|
|
14652
14598
|
label: "Unordered List",
|
|
14653
14599
|
width: () => STANDARD_ICON_WIDTH,
|
|
14654
|
-
Component: /* @__PURE__ */ React.createElement(
|
|
14600
|
+
Component: /* @__PURE__ */ React.createElement(UnorderedListToolbarButton, null)
|
|
14655
14601
|
},
|
|
14656
14602
|
ol: {
|
|
14657
14603
|
label: "Ordered List",
|
|
14658
14604
|
width: () => STANDARD_ICON_WIDTH,
|
|
14659
|
-
Component: /* @__PURE__ */ React.createElement(
|
|
14605
|
+
Component: /* @__PURE__ */ React.createElement(OrderedListToolbarButton, null)
|
|
14660
14606
|
},
|
|
14661
14607
|
bold: {
|
|
14662
14608
|
label: "Bold",
|
|
14663
14609
|
width: () => STANDARD_ICON_WIDTH,
|
|
14664
|
-
Component: /* @__PURE__ */ React.createElement(
|
|
14610
|
+
Component: /* @__PURE__ */ React.createElement(BoldToolbarButton, null)
|
|
14611
|
+
},
|
|
14612
|
+
strikethrough: {
|
|
14613
|
+
label: "Strikethrough",
|
|
14614
|
+
width: () => STANDARD_ICON_WIDTH,
|
|
14615
|
+
Component: /* @__PURE__ */ React.createElement(StrikethroughToolbarButton, null)
|
|
14665
14616
|
},
|
|
14666
14617
|
italic: {
|
|
14667
14618
|
label: "Italic",
|
|
14668
14619
|
width: () => STANDARD_ICON_WIDTH,
|
|
14669
|
-
Component: /* @__PURE__ */ React.createElement(
|
|
14620
|
+
Component: /* @__PURE__ */ React.createElement(ItalicToolbarButton, null)
|
|
14670
14621
|
},
|
|
14671
14622
|
code: {
|
|
14672
14623
|
label: "Code",
|
|
14673
14624
|
width: () => STANDARD_ICON_WIDTH,
|
|
14674
|
-
Component: /* @__PURE__ */ React.createElement(
|
|
14625
|
+
Component: /* @__PURE__ */ React.createElement(CodeToolbarButton, null)
|
|
14675
14626
|
},
|
|
14676
14627
|
codeBlock: {
|
|
14677
14628
|
label: "Code Block",
|
|
@@ -14704,7 +14655,12 @@ flowchart TD
|
|
|
14704
14655
|
const [itemsShown, setItemsShown] = React.useState(11);
|
|
14705
14656
|
const { overrides, templates } = useToolbarContext();
|
|
14706
14657
|
const showEmbedButton = templates.length > 0;
|
|
14707
|
-
let items2 =
|
|
14658
|
+
let items2 = [];
|
|
14659
|
+
if (Array.isArray(overrides)) {
|
|
14660
|
+
items2 = overrides === void 0 ? Object.values(toolbarItems) : overrides.map((item) => toolbarItems[item]).filter((item) => item !== void 0);
|
|
14661
|
+
} else {
|
|
14662
|
+
items2 = (overrides == null ? void 0 : overrides.toolbar) === void 0 ? Object.values(toolbarItems) : overrides.toolbar.map((item) => toolbarItems[item]).filter((item) => item !== void 0);
|
|
14663
|
+
}
|
|
14708
14664
|
if (!showEmbedButton) {
|
|
14709
14665
|
items2 = items2.filter((item) => item.label !== toolbarItems.embed.label);
|
|
14710
14666
|
}
|
|
@@ -15032,6 +14988,9 @@ flowchart TD
|
|
|
15032
14988
|
if (typeof string !== "string") {
|
|
15033
14989
|
return false;
|
|
15034
14990
|
}
|
|
14991
|
+
if (string.startsWith("#")) {
|
|
14992
|
+
return true;
|
|
14993
|
+
}
|
|
15035
14994
|
const generalMatch = string.match(protocolAndDomainRE);
|
|
15036
14995
|
const emailLinkMatch = string.match(emailLintRE);
|
|
15037
14996
|
const localUrlMatch = string.match(localUrlRE);
|
|
@@ -15053,12 +15012,12 @@ flowchart TD
|
|
|
15053
15012
|
}
|
|
15054
15013
|
return localhostDomainRE.test(everythingAfterProtocol) || nonLocalhostDomainRE.test(everythingAfterProtocol);
|
|
15055
15014
|
};
|
|
15056
|
-
const RichEditor = (
|
|
15015
|
+
const RichEditor = ({ input, tinaForm, field }) => {
|
|
15057
15016
|
var _a;
|
|
15058
15017
|
const initialValue = React.useMemo(
|
|
15059
15018
|
() => {
|
|
15060
15019
|
var _a2, _b;
|
|
15061
|
-
return ((_b = (_a2 =
|
|
15020
|
+
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: "" }] }];
|
|
15062
15021
|
},
|
|
15063
15022
|
[]
|
|
15064
15023
|
);
|
|
@@ -15086,7 +15045,7 @@ flowchart TD
|
|
|
15086
15045
|
),
|
|
15087
15046
|
[]
|
|
15088
15047
|
);
|
|
15089
|
-
const tempId = [
|
|
15048
|
+
const tempId = [tinaForm.id, input.name].join(".");
|
|
15090
15049
|
const id = React.useMemo(() => uuid() + tempId, [tempId]);
|
|
15091
15050
|
const ref = React.useRef(null);
|
|
15092
15051
|
React.useEffect(() => {
|
|
@@ -15096,13 +15055,13 @@ flowchart TD
|
|
|
15096
15055
|
const plateElement = (_a2 = ref.current) == null ? void 0 : _a2.querySelector(
|
|
15097
15056
|
'[role="textbox"]'
|
|
15098
15057
|
);
|
|
15099
|
-
if (
|
|
15058
|
+
if (field.experimental_focusIntent && plateElement) {
|
|
15100
15059
|
if (plateElement)
|
|
15101
15060
|
plateElement.focus();
|
|
15102
15061
|
}
|
|
15103
15062
|
}, 100);
|
|
15104
15063
|
}
|
|
15105
|
-
}, [
|
|
15064
|
+
}, [field.experimental_focusIntent, ref]);
|
|
15106
15065
|
return /* @__PURE__ */ React.createElement("div", { ref }, /* @__PURE__ */ React.createElement(
|
|
15107
15066
|
plateCommon.Plate,
|
|
15108
15067
|
{
|
|
@@ -15110,7 +15069,7 @@ flowchart TD
|
|
|
15110
15069
|
initialValue,
|
|
15111
15070
|
plugins: plugins$2,
|
|
15112
15071
|
onChange: (value) => {
|
|
15113
|
-
|
|
15072
|
+
input.onChange({
|
|
15114
15073
|
type: "root",
|
|
15115
15074
|
children: value
|
|
15116
15075
|
});
|
|
@@ -15119,12 +15078,12 @@ flowchart TD
|
|
|
15119
15078
|
/* @__PURE__ */ React.createElement(TooltipProvider, null, /* @__PURE__ */ React.createElement(
|
|
15120
15079
|
ToolbarProvider,
|
|
15121
15080
|
{
|
|
15122
|
-
tinaForm
|
|
15123
|
-
templates:
|
|
15124
|
-
overrides: (
|
|
15081
|
+
tinaForm,
|
|
15082
|
+
templates: field.templates,
|
|
15083
|
+
overrides: (field == null ? void 0 : field.toolbarOverride) ? field.toolbarOverride : field.overrides
|
|
15125
15084
|
},
|
|
15126
15085
|
/* @__PURE__ */ React.createElement(FixedToolbar, null, /* @__PURE__ */ React.createElement(FixedToolbarButtons, null)),
|
|
15127
|
-
/* @__PURE__ */ React.createElement(FloatingToolbar, null, /* @__PURE__ */ React.createElement(FloatingToolbarButtons, null))
|
|
15086
|
+
((_a = field == null ? void 0 : field.overrides) == null ? void 0 : _a.showFloatingToolbar) !== false ? /* @__PURE__ */ React.createElement(FloatingToolbar, null, /* @__PURE__ */ React.createElement(FloatingToolbarButtons, null)) : null
|
|
15128
15087
|
), /* @__PURE__ */ React.createElement(Editor, null))
|
|
15129
15088
|
));
|
|
15130
15089
|
};
|
|
@@ -16312,132 +16271,1209 @@ flowchart TD
|
|
|
16312
16271
|
"হয়"
|
|
16313
16272
|
];
|
|
16314
16273
|
const bre = [
|
|
16274
|
+
"'blam",
|
|
16275
|
+
"'d",
|
|
16276
|
+
"'m",
|
|
16277
|
+
"'r",
|
|
16278
|
+
"'ta",
|
|
16279
|
+
"'vat",
|
|
16280
|
+
"'z",
|
|
16281
|
+
"'zo",
|
|
16315
16282
|
"a",
|
|
16316
|
-
"
|
|
16317
|
-
"
|
|
16318
|
-
"
|
|
16319
|
-
"
|
|
16320
|
-
"
|
|
16321
|
-
"
|
|
16322
|
-
"
|
|
16323
|
-
"
|
|
16324
|
-
"
|
|
16325
|
-
"
|
|
16326
|
-
"
|
|
16327
|
-
"
|
|
16328
|
-
"
|
|
16329
|
-
"
|
|
16330
|
-
"
|
|
16331
|
-
"
|
|
16332
|
-
"
|
|
16333
|
-
"
|
|
16334
|
-
"
|
|
16335
|
-
"
|
|
16336
|
-
"
|
|
16283
|
+
"a:",
|
|
16284
|
+
"aba",
|
|
16285
|
+
"abalamour",
|
|
16286
|
+
"abaoe",
|
|
16287
|
+
"ac'hane",
|
|
16288
|
+
"ac'hanoc'h",
|
|
16289
|
+
"ac'hanomp",
|
|
16290
|
+
"ac'hanon",
|
|
16291
|
+
"ac'hanout",
|
|
16292
|
+
"adal",
|
|
16293
|
+
"adalek",
|
|
16294
|
+
"adarre",
|
|
16295
|
+
"ae",
|
|
16296
|
+
"aec'h",
|
|
16297
|
+
"aed",
|
|
16298
|
+
"aemp",
|
|
16299
|
+
"aen",
|
|
16300
|
+
"aent",
|
|
16301
|
+
"aes",
|
|
16302
|
+
"afe",
|
|
16303
|
+
"afec'h",
|
|
16304
|
+
"afed",
|
|
16305
|
+
"afemp",
|
|
16306
|
+
"afen",
|
|
16307
|
+
"afent",
|
|
16308
|
+
"afes",
|
|
16309
|
+
"ag",
|
|
16310
|
+
"ah",
|
|
16311
|
+
"aimp",
|
|
16312
|
+
"aint",
|
|
16313
|
+
"aio",
|
|
16314
|
+
"aiou",
|
|
16315
|
+
"aje",
|
|
16316
|
+
"ajec'h",
|
|
16317
|
+
"ajed",
|
|
16318
|
+
"ajemp",
|
|
16319
|
+
"ajen",
|
|
16320
|
+
"ajent",
|
|
16321
|
+
"ajes",
|
|
16322
|
+
"al",
|
|
16323
|
+
"alato",
|
|
16324
|
+
"alies",
|
|
16325
|
+
"aliesañ",
|
|
16326
|
+
"alkent",
|
|
16327
|
+
"all",
|
|
16328
|
+
"allas",
|
|
16329
|
+
"allo",
|
|
16330
|
+
"allô",
|
|
16331
|
+
"am",
|
|
16332
|
+
"amañ",
|
|
16333
|
+
"amzer",
|
|
16334
|
+
"an",
|
|
16335
|
+
"anezhañ",
|
|
16336
|
+
"anezhe",
|
|
16337
|
+
"anezhi",
|
|
16338
|
+
"anezho",
|
|
16339
|
+
"anvet",
|
|
16340
|
+
"aon",
|
|
16341
|
+
"aotren",
|
|
16342
|
+
"ar",
|
|
16343
|
+
"arall",
|
|
16344
|
+
"araok",
|
|
16345
|
+
"araoki",
|
|
16346
|
+
"araozañ",
|
|
16347
|
+
"araozo",
|
|
16348
|
+
"araozoc'h",
|
|
16349
|
+
"araozomp",
|
|
16350
|
+
"araozon",
|
|
16351
|
+
"araozor",
|
|
16352
|
+
"araozout",
|
|
16353
|
+
"arbenn",
|
|
16354
|
+
"arre",
|
|
16355
|
+
"atalek",
|
|
16356
|
+
"atav",
|
|
16357
|
+
"az",
|
|
16358
|
+
"azalek",
|
|
16359
|
+
"azirazañ",
|
|
16360
|
+
"azirazi",
|
|
16361
|
+
"azirazo",
|
|
16362
|
+
"azirazoc'h",
|
|
16363
|
+
"azirazomp",
|
|
16364
|
+
"azirazon",
|
|
16365
|
+
"azirazor",
|
|
16366
|
+
"azirazout",
|
|
16367
|
+
"b:",
|
|
16368
|
+
"ba",
|
|
16369
|
+
"ba'l",
|
|
16370
|
+
"ba'n",
|
|
16371
|
+
"ba'r",
|
|
16372
|
+
"bad",
|
|
16373
|
+
"bah",
|
|
16374
|
+
"bal",
|
|
16375
|
+
"ban",
|
|
16376
|
+
"bar",
|
|
16377
|
+
"bastañ",
|
|
16378
|
+
"befe",
|
|
16379
|
+
"bell",
|
|
16380
|
+
"benaos",
|
|
16381
|
+
"benn",
|
|
16382
|
+
"bennag",
|
|
16383
|
+
"bennak",
|
|
16384
|
+
"bennozh",
|
|
16385
|
+
"bep",
|
|
16386
|
+
"bepred",
|
|
16387
|
+
"berr",
|
|
16388
|
+
"berzh",
|
|
16389
|
+
"bet",
|
|
16390
|
+
"betek",
|
|
16391
|
+
"betra",
|
|
16392
|
+
"bev",
|
|
16393
|
+
"bevet",
|
|
16394
|
+
"bez",
|
|
16395
|
+
"bezañ",
|
|
16396
|
+
"beze",
|
|
16397
|
+
"bezent",
|
|
16398
|
+
"bezet",
|
|
16399
|
+
"bezh",
|
|
16400
|
+
"bezit",
|
|
16401
|
+
"bezomp",
|
|
16402
|
+
"bihan",
|
|
16403
|
+
"bije",
|
|
16404
|
+
"biou",
|
|
16405
|
+
"biskoazh",
|
|
16406
|
+
"blam",
|
|
16407
|
+
"bo",
|
|
16408
|
+
"boa",
|
|
16409
|
+
"bominapl",
|
|
16410
|
+
"boudoudom",
|
|
16411
|
+
"bouez",
|
|
16412
|
+
"boull",
|
|
16413
|
+
"boum",
|
|
16414
|
+
"bout",
|
|
16415
|
+
"bras",
|
|
16416
|
+
"brasañ",
|
|
16417
|
+
"brav",
|
|
16418
|
+
"bravo",
|
|
16419
|
+
"bremañ",
|
|
16420
|
+
"bres",
|
|
16421
|
+
"brokenn",
|
|
16422
|
+
"bronn",
|
|
16423
|
+
"brrr",
|
|
16424
|
+
"brutal",
|
|
16425
|
+
"buhezek",
|
|
16426
|
+
"c'h:",
|
|
16427
|
+
"c'haout",
|
|
16428
|
+
"c'he",
|
|
16429
|
+
"c'hem",
|
|
16430
|
+
"c'herz",
|
|
16431
|
+
"c'heñver",
|
|
16432
|
+
"c'hichen",
|
|
16433
|
+
"c'hiz",
|
|
16434
|
+
"c'hoazh",
|
|
16435
|
+
"c'horre",
|
|
16436
|
+
"c'houde",
|
|
16437
|
+
"c'houst",
|
|
16438
|
+
"c'hreiz",
|
|
16439
|
+
"c'hwec'h",
|
|
16440
|
+
"c'hwec'hvet",
|
|
16441
|
+
"c'hwezek",
|
|
16442
|
+
"c'hwi",
|
|
16443
|
+
"ch:",
|
|
16444
|
+
"chaous",
|
|
16445
|
+
"chik",
|
|
16446
|
+
"chit",
|
|
16447
|
+
"chom",
|
|
16448
|
+
"chut",
|
|
16449
|
+
"d'",
|
|
16450
|
+
"d'al",
|
|
16451
|
+
"d'an",
|
|
16452
|
+
"d'ar",
|
|
16453
|
+
"d'az",
|
|
16454
|
+
"d'e",
|
|
16455
|
+
"d'he",
|
|
16456
|
+
"d'ho",
|
|
16457
|
+
"d'hol",
|
|
16458
|
+
"d'hon",
|
|
16459
|
+
"d'hor",
|
|
16460
|
+
"d'o",
|
|
16461
|
+
"d'ober",
|
|
16462
|
+
"d'ul",
|
|
16463
|
+
"d'un",
|
|
16464
|
+
"d'ur",
|
|
16465
|
+
"d:",
|
|
16337
16466
|
"da",
|
|
16338
|
-
"
|
|
16339
|
-
"
|
|
16340
|
-
"
|
|
16341
|
-
"
|
|
16342
|
-
"
|
|
16343
|
-
"
|
|
16344
|
-
"
|
|
16345
|
-
"
|
|
16346
|
-
"
|
|
16347
|
-
"
|
|
16348
|
-
"
|
|
16349
|
-
"
|
|
16350
|
-
"
|
|
16351
|
-
"
|
|
16352
|
-
"
|
|
16467
|
+
"dak",
|
|
16468
|
+
"daka",
|
|
16469
|
+
"dal",
|
|
16470
|
+
"dalbezh",
|
|
16471
|
+
"dalc'hmat",
|
|
16472
|
+
"dalit",
|
|
16473
|
+
"damdost",
|
|
16474
|
+
"damheñvel",
|
|
16475
|
+
"damm",
|
|
16476
|
+
"dan",
|
|
16477
|
+
"danvez",
|
|
16478
|
+
"dao",
|
|
16479
|
+
"daol",
|
|
16480
|
+
"daonet",
|
|
16481
|
+
"daou",
|
|
16482
|
+
"daoust",
|
|
16483
|
+
"daouzek",
|
|
16484
|
+
"daouzekvet",
|
|
16485
|
+
"darn",
|
|
16486
|
+
"dastrewiñ",
|
|
16487
|
+
"dav",
|
|
16488
|
+
"davedoc'h",
|
|
16489
|
+
"davedomp",
|
|
16490
|
+
"davedon",
|
|
16491
|
+
"davedor",
|
|
16492
|
+
"davedout",
|
|
16493
|
+
"davet",
|
|
16494
|
+
"davetañ",
|
|
16495
|
+
"davete",
|
|
16496
|
+
"daveti",
|
|
16497
|
+
"daveto",
|
|
16498
|
+
"defe",
|
|
16499
|
+
"dehou",
|
|
16500
|
+
"dek",
|
|
16501
|
+
"dekvet",
|
|
16502
|
+
"den",
|
|
16503
|
+
"deoc'h",
|
|
16504
|
+
"deomp",
|
|
16505
|
+
"deor",
|
|
16506
|
+
"derc'hel",
|
|
16507
|
+
"deus",
|
|
16508
|
+
"dez",
|
|
16509
|
+
"deze",
|
|
16510
|
+
"dezhañ",
|
|
16511
|
+
"dezhe",
|
|
16512
|
+
"dezhi",
|
|
16513
|
+
"dezho",
|
|
16514
|
+
"di",
|
|
16515
|
+
"diabarzh",
|
|
16516
|
+
"diagent",
|
|
16517
|
+
"diar",
|
|
16518
|
+
"diaraok",
|
|
16519
|
+
"diavaez",
|
|
16520
|
+
"dibaoe",
|
|
16521
|
+
"dibaot",
|
|
16522
|
+
"dibar",
|
|
16523
|
+
"dic'halañ",
|
|
16524
|
+
"didiac'h",
|
|
16525
|
+
"dienn",
|
|
16526
|
+
"difer",
|
|
16527
|
+
"diganeoc'h",
|
|
16528
|
+
"diganeomp",
|
|
16529
|
+
"diganeor",
|
|
16530
|
+
"diganimp",
|
|
16531
|
+
"diganin",
|
|
16532
|
+
"diganit",
|
|
16533
|
+
"digant",
|
|
16534
|
+
"digantañ",
|
|
16535
|
+
"digante",
|
|
16536
|
+
"diganti",
|
|
16537
|
+
"diganto",
|
|
16538
|
+
"digemmesk",
|
|
16539
|
+
"diget",
|
|
16540
|
+
"digor",
|
|
16541
|
+
"digoret",
|
|
16542
|
+
"dija",
|
|
16543
|
+
"dije",
|
|
16544
|
+
"dimp",
|
|
16545
|
+
"din",
|
|
16546
|
+
"dinaou",
|
|
16547
|
+
"dindan",
|
|
16548
|
+
"dindanañ",
|
|
16549
|
+
"dindani",
|
|
16550
|
+
"dindano",
|
|
16551
|
+
"dindanoc'h",
|
|
16552
|
+
"dindanomp",
|
|
16553
|
+
"dindanon",
|
|
16554
|
+
"dindanor",
|
|
16555
|
+
"dindanout",
|
|
16556
|
+
"dioutañ",
|
|
16557
|
+
"dioute",
|
|
16558
|
+
"diouti",
|
|
16559
|
+
"diouto",
|
|
16560
|
+
"diouzh",
|
|
16561
|
+
"diouzhin",
|
|
16562
|
+
"diouzhit",
|
|
16563
|
+
"diouzhoc'h",
|
|
16564
|
+
"diouzhomp",
|
|
16565
|
+
"diouzhor",
|
|
16566
|
+
"dirak",
|
|
16567
|
+
"dirazañ",
|
|
16568
|
+
"dirazi",
|
|
16569
|
+
"dirazo",
|
|
16570
|
+
"dirazoc'h",
|
|
16571
|
+
"dirazomp",
|
|
16572
|
+
"dirazon",
|
|
16573
|
+
"dirazor",
|
|
16574
|
+
"dirazout",
|
|
16575
|
+
"disheñvel",
|
|
16576
|
+
"dispar",
|
|
16577
|
+
"distank",
|
|
16578
|
+
"dister",
|
|
16579
|
+
"disterañ",
|
|
16580
|
+
"disterig",
|
|
16581
|
+
"distro",
|
|
16582
|
+
"dit",
|
|
16583
|
+
"divaez",
|
|
16584
|
+
"diwar",
|
|
16585
|
+
"diwezhat",
|
|
16586
|
+
"diwezhañ",
|
|
16353
16587
|
"do",
|
|
16354
|
-
"
|
|
16355
|
-
"
|
|
16588
|
+
"doa",
|
|
16589
|
+
"doare",
|
|
16590
|
+
"dont",
|
|
16591
|
+
"dost",
|
|
16592
|
+
"doue",
|
|
16593
|
+
"douetus",
|
|
16594
|
+
"douez",
|
|
16595
|
+
"doug",
|
|
16596
|
+
"draou",
|
|
16597
|
+
"draoñ",
|
|
16598
|
+
"dre",
|
|
16599
|
+
"drede",
|
|
16600
|
+
"dreist",
|
|
16601
|
+
"dreistañ",
|
|
16602
|
+
"dreisti",
|
|
16603
|
+
"dreisto",
|
|
16604
|
+
"dreistoc'h",
|
|
16605
|
+
"dreistomp",
|
|
16606
|
+
"dreiston",
|
|
16607
|
+
"dreistor",
|
|
16608
|
+
"dreistout",
|
|
16609
|
+
"drek",
|
|
16610
|
+
"dreñv",
|
|
16611
|
+
"dring",
|
|
16612
|
+
"dro",
|
|
16613
|
+
"du",
|
|
16356
16614
|
"e",
|
|
16357
|
-
"
|
|
16358
|
-
"
|
|
16359
|
-
"
|
|
16360
|
-
"
|
|
16615
|
+
"e:",
|
|
16616
|
+
"eas",
|
|
16617
|
+
"ebet",
|
|
16618
|
+
"ec'h",
|
|
16619
|
+
"edo",
|
|
16620
|
+
"edoc'h",
|
|
16621
|
+
"edod",
|
|
16622
|
+
"edomp",
|
|
16623
|
+
"edon",
|
|
16624
|
+
"edont",
|
|
16625
|
+
"edos",
|
|
16626
|
+
"eer",
|
|
16627
|
+
"eeun",
|
|
16628
|
+
"efed",
|
|
16629
|
+
"egedoc'h",
|
|
16630
|
+
"egedomp",
|
|
16631
|
+
"egedon",
|
|
16632
|
+
"egedor",
|
|
16633
|
+
"egedout",
|
|
16634
|
+
"eget",
|
|
16635
|
+
"egetañ",
|
|
16636
|
+
"egete",
|
|
16637
|
+
"egeti",
|
|
16638
|
+
"egeto",
|
|
16639
|
+
"eh",
|
|
16640
|
+
"eil",
|
|
16641
|
+
"eilvet",
|
|
16642
|
+
"eizh",
|
|
16643
|
+
"eizhvet",
|
|
16644
|
+
"ejoc'h",
|
|
16645
|
+
"ejod",
|
|
16646
|
+
"ejomp",
|
|
16647
|
+
"ejont",
|
|
16648
|
+
"ejout",
|
|
16649
|
+
"el",
|
|
16361
16650
|
"em",
|
|
16362
|
-
"
|
|
16363
|
-
"
|
|
16364
|
-
"
|
|
16365
|
-
"
|
|
16366
|
-
"
|
|
16367
|
-
"
|
|
16368
|
-
"
|
|
16369
|
-
"
|
|
16370
|
-
"
|
|
16371
|
-
"
|
|
16651
|
+
"emaint",
|
|
16652
|
+
"emaoc'h",
|
|
16653
|
+
"emaomp",
|
|
16654
|
+
"emaon",
|
|
16655
|
+
"emaout",
|
|
16656
|
+
"emañ",
|
|
16657
|
+
"eme",
|
|
16658
|
+
"emeur",
|
|
16659
|
+
"emezañ",
|
|
16660
|
+
"emezi",
|
|
16661
|
+
"emezo",
|
|
16662
|
+
"emezoc'h",
|
|
16663
|
+
"emezomp",
|
|
16664
|
+
"emezon",
|
|
16665
|
+
"emezout",
|
|
16666
|
+
"emporzhiañ",
|
|
16667
|
+
"en",
|
|
16668
|
+
"end",
|
|
16669
|
+
"endan",
|
|
16670
|
+
"endra",
|
|
16671
|
+
"enep",
|
|
16672
|
+
"ennañ",
|
|
16673
|
+
"enni",
|
|
16674
|
+
"enno",
|
|
16675
|
+
"ennoc'h",
|
|
16676
|
+
"ennomp",
|
|
16677
|
+
"ennon",
|
|
16678
|
+
"ennor",
|
|
16679
|
+
"ennout",
|
|
16680
|
+
"enta",
|
|
16681
|
+
"eo",
|
|
16682
|
+
"eomp",
|
|
16683
|
+
"eont",
|
|
16684
|
+
"eor",
|
|
16685
|
+
"eot",
|
|
16686
|
+
"er",
|
|
16687
|
+
"erbet",
|
|
16688
|
+
"erfin",
|
|
16689
|
+
"esa",
|
|
16690
|
+
"esae",
|
|
16691
|
+
"espar",
|
|
16692
|
+
"estlamm",
|
|
16693
|
+
"estrañj",
|
|
16694
|
+
"eta",
|
|
16695
|
+
"etre",
|
|
16696
|
+
"etreoc'h",
|
|
16697
|
+
"etrezo",
|
|
16698
|
+
"etrezoc'h",
|
|
16699
|
+
"etrezomp",
|
|
16700
|
+
"etrezor",
|
|
16701
|
+
"euh",
|
|
16702
|
+
"eur",
|
|
16703
|
+
"eus",
|
|
16704
|
+
"evel",
|
|
16705
|
+
"evelato",
|
|
16706
|
+
"eveldoc'h",
|
|
16707
|
+
"eveldomp",
|
|
16708
|
+
"eveldon",
|
|
16709
|
+
"eveldor",
|
|
16710
|
+
"eveldout",
|
|
16711
|
+
"evelkent",
|
|
16712
|
+
"eveltañ",
|
|
16713
|
+
"evelte",
|
|
16714
|
+
"evelti",
|
|
16715
|
+
"evelto",
|
|
16716
|
+
"evidoc'h",
|
|
16717
|
+
"evidomp",
|
|
16718
|
+
"evidon",
|
|
16719
|
+
"evidor",
|
|
16720
|
+
"evidout",
|
|
16721
|
+
"evit",
|
|
16722
|
+
"evitañ",
|
|
16723
|
+
"evite",
|
|
16724
|
+
"eviti",
|
|
16725
|
+
"evito",
|
|
16726
|
+
"ez",
|
|
16727
|
+
"eñ",
|
|
16728
|
+
"f:",
|
|
16729
|
+
"fac'h",
|
|
16730
|
+
"fall",
|
|
16731
|
+
"fed",
|
|
16732
|
+
"feiz",
|
|
16733
|
+
"fenn",
|
|
16734
|
+
"fezh",
|
|
16735
|
+
"fin",
|
|
16736
|
+
"finsalvet",
|
|
16737
|
+
"foei",
|
|
16738
|
+
"fouilhezañ",
|
|
16739
|
+
"g:",
|
|
16740
|
+
"gallout",
|
|
16741
|
+
"ganeoc'h",
|
|
16742
|
+
"ganeomp",
|
|
16743
|
+
"ganin",
|
|
16744
|
+
"ganit",
|
|
16745
|
+
"gant",
|
|
16746
|
+
"gantañ",
|
|
16747
|
+
"ganti",
|
|
16748
|
+
"ganto",
|
|
16749
|
+
"gaout",
|
|
16750
|
+
"gast",
|
|
16751
|
+
"gein",
|
|
16752
|
+
"gellout",
|
|
16753
|
+
"genndost",
|
|
16754
|
+
"gentañ",
|
|
16755
|
+
"ger",
|
|
16756
|
+
"gerz",
|
|
16757
|
+
"get",
|
|
16758
|
+
"geñver",
|
|
16759
|
+
"gichen",
|
|
16760
|
+
"gin",
|
|
16761
|
+
"giz",
|
|
16762
|
+
"glan",
|
|
16763
|
+
"gloev",
|
|
16764
|
+
"goll",
|
|
16765
|
+
"gorre",
|
|
16766
|
+
"goude",
|
|
16767
|
+
"gouez",
|
|
16768
|
+
"gouezit",
|
|
16769
|
+
"gouezomp",
|
|
16770
|
+
"goulz",
|
|
16771
|
+
"gounnar",
|
|
16772
|
+
"gour",
|
|
16773
|
+
"goust",
|
|
16774
|
+
"gouze",
|
|
16775
|
+
"gouzout",
|
|
16776
|
+
"gra",
|
|
16777
|
+
"grak",
|
|
16778
|
+
"grec'h",
|
|
16779
|
+
"greiz",
|
|
16780
|
+
"grenn",
|
|
16781
|
+
"greomp",
|
|
16782
|
+
"grit",
|
|
16783
|
+
"groñs",
|
|
16784
|
+
"gutez",
|
|
16785
|
+
"gwall",
|
|
16786
|
+
"gwashoc'h",
|
|
16787
|
+
"gwazh",
|
|
16788
|
+
"gwech",
|
|
16789
|
+
"gwechall",
|
|
16790
|
+
"gwechoù",
|
|
16791
|
+
"gwell",
|
|
16792
|
+
"gwezh",
|
|
16793
|
+
"gwezhall",
|
|
16794
|
+
"gwezharall",
|
|
16795
|
+
"gwezhoù",
|
|
16796
|
+
"gwig",
|
|
16797
|
+
"gwirionez",
|
|
16798
|
+
"gwitibunan",
|
|
16799
|
+
"gêr",
|
|
16800
|
+
"h:",
|
|
16372
16801
|
"ha",
|
|
16373
|
-
"
|
|
16374
|
-
"
|
|
16375
|
-
"
|
|
16376
|
-
"
|
|
16377
|
-
"
|
|
16378
|
-
"
|
|
16379
|
-
"
|
|
16380
|
-
"
|
|
16381
|
-
"
|
|
16382
|
-
"
|
|
16383
|
-
"
|
|
16802
|
+
"hag",
|
|
16803
|
+
"han",
|
|
16804
|
+
"hanter",
|
|
16805
|
+
"hanterc'hantad",
|
|
16806
|
+
"hanterkantved",
|
|
16807
|
+
"harz",
|
|
16808
|
+
"hañ",
|
|
16809
|
+
"hañval",
|
|
16810
|
+
"he",
|
|
16811
|
+
"hebioù",
|
|
16812
|
+
"hec'h",
|
|
16813
|
+
"hei",
|
|
16814
|
+
"hein",
|
|
16815
|
+
"hem",
|
|
16816
|
+
"hemañ",
|
|
16817
|
+
"hen",
|
|
16818
|
+
"hend",
|
|
16819
|
+
"henhont",
|
|
16820
|
+
"henn",
|
|
16821
|
+
"hennezh",
|
|
16822
|
+
"hent",
|
|
16823
|
+
"hep",
|
|
16824
|
+
"hervez",
|
|
16825
|
+
"hervezañ",
|
|
16826
|
+
"hervezi",
|
|
16827
|
+
"hervezo",
|
|
16828
|
+
"hervezoc'h",
|
|
16829
|
+
"hervezomp",
|
|
16830
|
+
"hervezon",
|
|
16831
|
+
"hervezor",
|
|
16832
|
+
"hervezout",
|
|
16833
|
+
"heul",
|
|
16834
|
+
"heuliañ",
|
|
16835
|
+
"hevelep",
|
|
16836
|
+
"heverk",
|
|
16837
|
+
"heñvel",
|
|
16838
|
+
"heñvelat",
|
|
16839
|
+
"heñvelañ",
|
|
16840
|
+
"heñveliñ",
|
|
16841
|
+
"heñveloc'h",
|
|
16842
|
+
"heñvelout",
|
|
16843
|
+
"hi",
|
|
16844
|
+
"hilh",
|
|
16845
|
+
"hini",
|
|
16846
|
+
"hirie",
|
|
16847
|
+
"hirio",
|
|
16848
|
+
"hiziv",
|
|
16849
|
+
"hiziviken",
|
|
16850
|
+
"ho",
|
|
16851
|
+
"hoaliñ",
|
|
16852
|
+
"hoc'h",
|
|
16853
|
+
"hogen",
|
|
16854
|
+
"hogos",
|
|
16855
|
+
"hogozik",
|
|
16856
|
+
"hol",
|
|
16857
|
+
"holl",
|
|
16858
|
+
"holà",
|
|
16859
|
+
"homañ",
|
|
16860
|
+
"hon",
|
|
16861
|
+
"honhont",
|
|
16862
|
+
"honnezh",
|
|
16863
|
+
"hont",
|
|
16864
|
+
"hop",
|
|
16865
|
+
"hopala",
|
|
16866
|
+
"hor",
|
|
16867
|
+
"hou",
|
|
16868
|
+
"houp",
|
|
16869
|
+
"hudu",
|
|
16870
|
+
"hue",
|
|
16871
|
+
"hui",
|
|
16872
|
+
"hum",
|
|
16873
|
+
"hurrah",
|
|
16874
|
+
"i",
|
|
16875
|
+
"i:",
|
|
16876
|
+
"in",
|
|
16877
|
+
"int",
|
|
16878
|
+
"is",
|
|
16879
|
+
"ispisial",
|
|
16880
|
+
"isurzhiet",
|
|
16881
|
+
"it",
|
|
16882
|
+
"ivez",
|
|
16883
|
+
"izelañ",
|
|
16884
|
+
"j:",
|
|
16885
|
+
"just",
|
|
16886
|
+
"k:",
|
|
16887
|
+
"kae",
|
|
16888
|
+
"kaer",
|
|
16889
|
+
"kalon",
|
|
16890
|
+
"kalz",
|
|
16891
|
+
"kant",
|
|
16892
|
+
"kaout",
|
|
16893
|
+
"kar",
|
|
16894
|
+
"kazi",
|
|
16895
|
+
"keid",
|
|
16896
|
+
"kein",
|
|
16897
|
+
"keit",
|
|
16898
|
+
"kel",
|
|
16899
|
+
"kellies",
|
|
16900
|
+
"keloù",
|
|
16901
|
+
"kement",
|
|
16902
|
+
"ken",
|
|
16903
|
+
"kenkent",
|
|
16904
|
+
"kenkoulz",
|
|
16905
|
+
"kenment",
|
|
16906
|
+
"kent",
|
|
16907
|
+
"kentañ",
|
|
16908
|
+
"kentizh",
|
|
16909
|
+
"kentoc'h",
|
|
16910
|
+
"kentre",
|
|
16911
|
+
"ker",
|
|
16912
|
+
"kerkent",
|
|
16913
|
+
"kerz",
|
|
16914
|
+
"kerzh",
|
|
16915
|
+
"ket",
|
|
16916
|
+
"keta",
|
|
16917
|
+
"keñver",
|
|
16918
|
+
"keñverel",
|
|
16919
|
+
"keñverius",
|
|
16920
|
+
"kichen",
|
|
16921
|
+
"kichenik",
|
|
16922
|
+
"kit",
|
|
16923
|
+
"kiz",
|
|
16924
|
+
"klak",
|
|
16925
|
+
"klek",
|
|
16926
|
+
"klik",
|
|
16927
|
+
"komprenet",
|
|
16928
|
+
"komz",
|
|
16929
|
+
"kont",
|
|
16930
|
+
"korf",
|
|
16931
|
+
"korre",
|
|
16932
|
+
"koulskoude",
|
|
16933
|
+
"koulz",
|
|
16934
|
+
"koust",
|
|
16935
|
+
"krak",
|
|
16936
|
+
"krampouezh",
|
|
16937
|
+
"krec'h",
|
|
16938
|
+
"kreiz",
|
|
16939
|
+
"kuit",
|
|
16940
|
+
"kwir",
|
|
16941
|
+
"l:",
|
|
16942
|
+
"la",
|
|
16943
|
+
"laez",
|
|
16944
|
+
"laoskel",
|
|
16945
|
+
"laouen",
|
|
16946
|
+
"lavar",
|
|
16947
|
+
"lavaret",
|
|
16948
|
+
"lavarout",
|
|
16949
|
+
"lec'h",
|
|
16950
|
+
"lein",
|
|
16951
|
+
"leizh",
|
|
16952
|
+
"lerc'h",
|
|
16953
|
+
"leun",
|
|
16954
|
+
"leuskel",
|
|
16955
|
+
"lew",
|
|
16956
|
+
"lies",
|
|
16957
|
+
"liesañ",
|
|
16958
|
+
"lod",
|
|
16959
|
+
"lusk",
|
|
16960
|
+
"lâr",
|
|
16961
|
+
"lârout",
|
|
16962
|
+
"m:",
|
|
16963
|
+
"ma",
|
|
16964
|
+
"ma'z",
|
|
16965
|
+
"mac'h",
|
|
16966
|
+
"mac'hat",
|
|
16967
|
+
"mac'hañ",
|
|
16968
|
+
"mac'hoc'h",
|
|
16969
|
+
"mad",
|
|
16970
|
+
"maez",
|
|
16971
|
+
"maksimal",
|
|
16972
|
+
"mann",
|
|
16973
|
+
"mar",
|
|
16974
|
+
"mard",
|
|
16975
|
+
"marg",
|
|
16976
|
+
"marzh",
|
|
16977
|
+
"mat",
|
|
16978
|
+
"mañ",
|
|
16979
|
+
"me",
|
|
16980
|
+
"memes",
|
|
16981
|
+
"memestra",
|
|
16982
|
+
"merkapl",
|
|
16983
|
+
"mersi",
|
|
16984
|
+
"mes",
|
|
16985
|
+
"mesk",
|
|
16986
|
+
"met",
|
|
16987
|
+
"meur",
|
|
16988
|
+
"mil",
|
|
16989
|
+
"minimal",
|
|
16990
|
+
"moan",
|
|
16991
|
+
"moaniaat",
|
|
16992
|
+
"mod",
|
|
16993
|
+
"mont",
|
|
16994
|
+
"mout",
|
|
16995
|
+
"mui",
|
|
16996
|
+
"muiañ",
|
|
16997
|
+
"muioc'h",
|
|
16998
|
+
"n",
|
|
16999
|
+
"n'",
|
|
17000
|
+
"n:",
|
|
16384
17001
|
"na",
|
|
16385
|
-
"
|
|
16386
|
-
"
|
|
16387
|
-
"
|
|
16388
|
-
"
|
|
16389
|
-
"
|
|
16390
|
-
"
|
|
17002
|
+
"nag",
|
|
17003
|
+
"naontek",
|
|
17004
|
+
"naturel",
|
|
17005
|
+
"nav",
|
|
17006
|
+
"navet",
|
|
17007
|
+
"ne",
|
|
17008
|
+
"nebeudig",
|
|
17009
|
+
"nebeut",
|
|
17010
|
+
"nebeutañ",
|
|
17011
|
+
"nebeutoc'h",
|
|
17012
|
+
"neketa",
|
|
17013
|
+
"nemedoc'h",
|
|
17014
|
+
"nemedomp",
|
|
17015
|
+
"nemedon",
|
|
17016
|
+
"nemedor",
|
|
17017
|
+
"nemedout",
|
|
17018
|
+
"nemet",
|
|
17019
|
+
"nemetañ",
|
|
17020
|
+
"nemete",
|
|
17021
|
+
"nemeti",
|
|
17022
|
+
"nemeto",
|
|
17023
|
+
"nemeur",
|
|
17024
|
+
"neoac'h",
|
|
17025
|
+
"nepell",
|
|
17026
|
+
"nerzh",
|
|
17027
|
+
"nes",
|
|
17028
|
+
"neseser",
|
|
17029
|
+
"netra",
|
|
17030
|
+
"neubeudoù",
|
|
17031
|
+
"neuhe",
|
|
17032
|
+
"neuze",
|
|
17033
|
+
"nevez",
|
|
17034
|
+
"newazh",
|
|
17035
|
+
"nez",
|
|
17036
|
+
"ni",
|
|
17037
|
+
"nikun",
|
|
17038
|
+
"niverus",
|
|
17039
|
+
"nul",
|
|
16391
17040
|
"o",
|
|
16392
|
-
"
|
|
16393
|
-
"
|
|
16394
|
-
"
|
|
16395
|
-
"
|
|
16396
|
-
"
|
|
16397
|
-
"
|
|
16398
|
-
"
|
|
16399
|
-
"
|
|
16400
|
-
"
|
|
16401
|
-
"
|
|
16402
|
-
"
|
|
16403
|
-
"
|
|
16404
|
-
"
|
|
16405
|
-
"
|
|
16406
|
-
"
|
|
16407
|
-
"
|
|
16408
|
-
"
|
|
16409
|
-
"
|
|
16410
|
-
"
|
|
16411
|
-
"
|
|
16412
|
-
"
|
|
16413
|
-
"
|
|
16414
|
-
"
|
|
16415
|
-
"
|
|
17041
|
+
"o:",
|
|
17042
|
+
"oa",
|
|
17043
|
+
"oac'h",
|
|
17044
|
+
"oad",
|
|
17045
|
+
"oamp",
|
|
17046
|
+
"oan",
|
|
17047
|
+
"oant",
|
|
17048
|
+
"oar",
|
|
17049
|
+
"oas",
|
|
17050
|
+
"ober",
|
|
17051
|
+
"oc'h",
|
|
17052
|
+
"oc'ho",
|
|
17053
|
+
"oc'hola",
|
|
17054
|
+
"oc'hpenn",
|
|
17055
|
+
"oh",
|
|
17056
|
+
"ohe",
|
|
17057
|
+
"ollé",
|
|
17058
|
+
"olole",
|
|
17059
|
+
"olé",
|
|
17060
|
+
"omp",
|
|
17061
|
+
"on",
|
|
17062
|
+
"ordin",
|
|
17063
|
+
"ordinal",
|
|
17064
|
+
"ouejoc'h",
|
|
17065
|
+
"ouejod",
|
|
17066
|
+
"ouejomp",
|
|
17067
|
+
"ouejont",
|
|
17068
|
+
"ouejout",
|
|
17069
|
+
"ouek",
|
|
17070
|
+
"ouezas",
|
|
17071
|
+
"ouezi",
|
|
17072
|
+
"ouezimp",
|
|
17073
|
+
"ouezin",
|
|
17074
|
+
"ouezint",
|
|
17075
|
+
"ouezis",
|
|
17076
|
+
"ouezo",
|
|
17077
|
+
"ouezoc'h",
|
|
17078
|
+
"ouezor",
|
|
17079
|
+
"ouf",
|
|
17080
|
+
"oufe",
|
|
17081
|
+
"oufec'h",
|
|
17082
|
+
"oufed",
|
|
17083
|
+
"oufemp",
|
|
17084
|
+
"oufen",
|
|
17085
|
+
"oufent",
|
|
17086
|
+
"oufes",
|
|
17087
|
+
"ouie",
|
|
17088
|
+
"ouiec'h",
|
|
17089
|
+
"ouied",
|
|
17090
|
+
"ouiemp",
|
|
17091
|
+
"ouien",
|
|
17092
|
+
"ouient",
|
|
17093
|
+
"ouies",
|
|
17094
|
+
"ouije",
|
|
17095
|
+
"ouijec'h",
|
|
17096
|
+
"ouijed",
|
|
17097
|
+
"ouijemp",
|
|
17098
|
+
"ouijen",
|
|
17099
|
+
"ouijent",
|
|
17100
|
+
"ouijes",
|
|
17101
|
+
"out",
|
|
17102
|
+
"outañ",
|
|
17103
|
+
"outi",
|
|
17104
|
+
"outo",
|
|
17105
|
+
"ouzer",
|
|
17106
|
+
"ouzh",
|
|
17107
|
+
"ouzhin",
|
|
17108
|
+
"ouzhit",
|
|
17109
|
+
"ouzhoc'h",
|
|
17110
|
+
"ouzhomp",
|
|
17111
|
+
"ouzhor",
|
|
17112
|
+
"ouzhpenn",
|
|
17113
|
+
"ouzhpennik",
|
|
17114
|
+
"ouzoc'h",
|
|
17115
|
+
"ouzomp",
|
|
17116
|
+
"ouzon",
|
|
17117
|
+
"ouzont",
|
|
17118
|
+
"ouzout",
|
|
17119
|
+
"p'",
|
|
17120
|
+
"p:",
|
|
17121
|
+
"pa",
|
|
17122
|
+
"pad",
|
|
17123
|
+
"padal",
|
|
17124
|
+
"paf",
|
|
17125
|
+
"pan",
|
|
17126
|
+
"panevedeoc'h",
|
|
17127
|
+
"panevedo",
|
|
17128
|
+
"panevedomp",
|
|
17129
|
+
"panevedon",
|
|
17130
|
+
"panevedout",
|
|
17131
|
+
"panevet",
|
|
17132
|
+
"panevetañ",
|
|
17133
|
+
"paneveti",
|
|
17134
|
+
"pas",
|
|
17135
|
+
"paseet",
|
|
17136
|
+
"pe",
|
|
17137
|
+
"peadra",
|
|
17138
|
+
"peder",
|
|
17139
|
+
"pedervet",
|
|
17140
|
+
"pedervetvet",
|
|
17141
|
+
"pefe",
|
|
17142
|
+
"pegeit",
|
|
17143
|
+
"pegement",
|
|
17144
|
+
"pegen",
|
|
17145
|
+
"pegiz",
|
|
17146
|
+
"pegoulz",
|
|
17147
|
+
"pehini",
|
|
17148
|
+
"pelec'h",
|
|
17149
|
+
"pell",
|
|
17150
|
+
"pemod",
|
|
17151
|
+
"pemp",
|
|
17152
|
+
"pempved",
|
|
17153
|
+
"pemzek",
|
|
17154
|
+
"penaos",
|
|
17155
|
+
"penn",
|
|
17156
|
+
"peogwir",
|
|
17157
|
+
"peotramant",
|
|
17158
|
+
"pep",
|
|
17159
|
+
"perak",
|
|
17160
|
+
"perc'hennañ",
|
|
17161
|
+
"pergen",
|
|
17162
|
+
"permetiñ",
|
|
17163
|
+
"peseurt",
|
|
17164
|
+
"pet",
|
|
17165
|
+
"petiaoul",
|
|
17166
|
+
"petoare",
|
|
17167
|
+
"petra",
|
|
17168
|
+
"peur",
|
|
17169
|
+
"peurgetket",
|
|
17170
|
+
"peurheñvel",
|
|
17171
|
+
"peurliesañ",
|
|
17172
|
+
"peurvuiañ",
|
|
17173
|
+
"peus",
|
|
17174
|
+
"peustost",
|
|
17175
|
+
"peuz",
|
|
17176
|
+
"pevar",
|
|
17177
|
+
"pevare",
|
|
17178
|
+
"pevarevet",
|
|
17179
|
+
"pevarzek",
|
|
17180
|
+
"pez",
|
|
17181
|
+
"peze",
|
|
17182
|
+
"pezh",
|
|
17183
|
+
"pff",
|
|
17184
|
+
"pfft",
|
|
17185
|
+
"pfut",
|
|
17186
|
+
"picher",
|
|
17187
|
+
"pif",
|
|
17188
|
+
"pife",
|
|
17189
|
+
"pign",
|
|
17190
|
+
"pije",
|
|
17191
|
+
"pikol",
|
|
17192
|
+
"pitiaoul",
|
|
17193
|
+
"piv",
|
|
17194
|
+
"plaouf",
|
|
17195
|
+
"plok",
|
|
17196
|
+
"plouf",
|
|
17197
|
+
"po",
|
|
17198
|
+
"poa",
|
|
17199
|
+
"poelladus",
|
|
17200
|
+
"pof",
|
|
17201
|
+
"pok",
|
|
17202
|
+
"posupl",
|
|
17203
|
+
"pouah",
|
|
17204
|
+
"pourc'henn",
|
|
17205
|
+
"prest",
|
|
17206
|
+
"prestik",
|
|
17207
|
+
"prim",
|
|
17208
|
+
"prin",
|
|
17209
|
+
"provostapl",
|
|
17210
|
+
"pst",
|
|
17211
|
+
"pu",
|
|
17212
|
+
"pur",
|
|
17213
|
+
"r:",
|
|
17214
|
+
"ra",
|
|
17215
|
+
"rae",
|
|
17216
|
+
"raec'h",
|
|
17217
|
+
"raed",
|
|
17218
|
+
"raemp",
|
|
17219
|
+
"raen",
|
|
17220
|
+
"raent",
|
|
17221
|
+
"raes",
|
|
17222
|
+
"rafe",
|
|
17223
|
+
"rafec'h",
|
|
17224
|
+
"rafed",
|
|
17225
|
+
"rafemp",
|
|
17226
|
+
"rafen",
|
|
17227
|
+
"rafent",
|
|
17228
|
+
"rafes",
|
|
17229
|
+
"rag",
|
|
17230
|
+
"raimp",
|
|
17231
|
+
"raint",
|
|
17232
|
+
"raio",
|
|
17233
|
+
"raje",
|
|
17234
|
+
"rajec'h",
|
|
17235
|
+
"rajed",
|
|
17236
|
+
"rajemp",
|
|
17237
|
+
"rajen",
|
|
17238
|
+
"rajent",
|
|
17239
|
+
"rajes",
|
|
17240
|
+
"rak",
|
|
17241
|
+
"ral",
|
|
17242
|
+
"ran",
|
|
17243
|
+
"rankout",
|
|
17244
|
+
"raok",
|
|
17245
|
+
"razh",
|
|
17246
|
+
"re",
|
|
17247
|
+
"reas",
|
|
17248
|
+
"reer",
|
|
17249
|
+
"regennoù",
|
|
17250
|
+
"reiñ",
|
|
17251
|
+
"rejoc'h",
|
|
17252
|
+
"rejod",
|
|
17253
|
+
"rejomp",
|
|
17254
|
+
"rejont",
|
|
17255
|
+
"rejout",
|
|
17256
|
+
"rener",
|
|
17257
|
+
"rentañ",
|
|
17258
|
+
"reoc'h",
|
|
17259
|
+
"reomp",
|
|
17260
|
+
"reont",
|
|
17261
|
+
"reor",
|
|
17262
|
+
"reot",
|
|
17263
|
+
"resis",
|
|
17264
|
+
"ret",
|
|
17265
|
+
"reve",
|
|
17266
|
+
"rez",
|
|
17267
|
+
"ri",
|
|
17268
|
+
"rik",
|
|
17269
|
+
"rin",
|
|
17270
|
+
"ris",
|
|
17271
|
+
"rit",
|
|
17272
|
+
"rouez",
|
|
17273
|
+
"s:",
|
|
17274
|
+
"sac'h",
|
|
17275
|
+
"sant",
|
|
17276
|
+
"sav",
|
|
17277
|
+
"sañset",
|
|
16416
17278
|
"se",
|
|
16417
|
-
"
|
|
16418
|
-
"
|
|
16419
|
-
"
|
|
16420
|
-
"
|
|
16421
|
-
"
|
|
16422
|
-
"
|
|
16423
|
-
"
|
|
16424
|
-
"
|
|
16425
|
-
"
|
|
17279
|
+
"sed",
|
|
17280
|
+
"seitek",
|
|
17281
|
+
"seizh",
|
|
17282
|
+
"seizhvet",
|
|
17283
|
+
"sell",
|
|
17284
|
+
"sellit",
|
|
17285
|
+
"ser",
|
|
17286
|
+
"setu",
|
|
17287
|
+
"seul",
|
|
17288
|
+
"seurt",
|
|
17289
|
+
"siwazh",
|
|
17290
|
+
"skignañ",
|
|
17291
|
+
"skoaz",
|
|
17292
|
+
"skouer",
|
|
17293
|
+
"sort",
|
|
17294
|
+
"souden",
|
|
17295
|
+
"souvitañ",
|
|
17296
|
+
"soñj",
|
|
17297
|
+
"speriañ",
|
|
17298
|
+
"spririñ",
|
|
17299
|
+
"stad",
|
|
17300
|
+
"stlabezañ",
|
|
17301
|
+
"stop",
|
|
17302
|
+
"stranañ",
|
|
17303
|
+
"strewiñ",
|
|
17304
|
+
"strishaat",
|
|
17305
|
+
"stumm",
|
|
17306
|
+
"sujed",
|
|
17307
|
+
"surtoud",
|
|
17308
|
+
"t:",
|
|
17309
|
+
"ta",
|
|
17310
|
+
"taer",
|
|
17311
|
+
"tailh",
|
|
17312
|
+
"tak",
|
|
16426
17313
|
"tal",
|
|
16427
|
-
"
|
|
16428
|
-
"
|
|
17314
|
+
"talvoudegezh",
|
|
17315
|
+
"tamm",
|
|
17316
|
+
"tanav",
|
|
17317
|
+
"taol",
|
|
17318
|
+
"te",
|
|
17319
|
+
"techet",
|
|
17320
|
+
"teir",
|
|
17321
|
+
"teirvet",
|
|
17322
|
+
"telt",
|
|
17323
|
+
"teltenn",
|
|
16429
17324
|
"teus",
|
|
16430
|
-
"
|
|
16431
|
-
"
|
|
16432
|
-
"
|
|
16433
|
-
"
|
|
16434
|
-
"
|
|
16435
|
-
"
|
|
16436
|
-
"
|
|
16437
|
-
"
|
|
16438
|
-
"
|
|
16439
|
-
"
|
|
16440
|
-
"
|
|
17325
|
+
"teut",
|
|
17326
|
+
"teuteu",
|
|
17327
|
+
"ti",
|
|
17328
|
+
"tik",
|
|
17329
|
+
"toa",
|
|
17330
|
+
"tok",
|
|
17331
|
+
"tost",
|
|
17332
|
+
"tostig",
|
|
17333
|
+
"toud",
|
|
17334
|
+
"touesk",
|
|
17335
|
+
"touez",
|
|
17336
|
+
"toull",
|
|
17337
|
+
"tra",
|
|
17338
|
+
"trantenn",
|
|
17339
|
+
"traoñ",
|
|
17340
|
+
"trawalc'h",
|
|
17341
|
+
"tre",
|
|
17342
|
+
"trede",
|
|
17343
|
+
"tregont",
|
|
17344
|
+
"tremenet",
|
|
17345
|
+
"tri",
|
|
17346
|
+
"trivet",
|
|
17347
|
+
"triwec'h",
|
|
17348
|
+
"trizek",
|
|
17349
|
+
"tro",
|
|
17350
|
+
"trugarez",
|
|
17351
|
+
"trumm",
|
|
17352
|
+
"tsoin",
|
|
17353
|
+
"tsouin",
|
|
17354
|
+
"tu",
|
|
17355
|
+
"tud",
|
|
17356
|
+
"u:",
|
|
17357
|
+
"ugent",
|
|
17358
|
+
"uhel",
|
|
17359
|
+
"uhelañ",
|
|
17360
|
+
"ul",
|
|
17361
|
+
"un",
|
|
17362
|
+
"unan",
|
|
17363
|
+
"unanez",
|
|
17364
|
+
"unanig",
|
|
17365
|
+
"unnek",
|
|
17366
|
+
"unnekvet",
|
|
17367
|
+
"ur",
|
|
17368
|
+
"urzh",
|
|
17369
|
+
"us",
|
|
17370
|
+
"v:",
|
|
17371
|
+
"va",
|
|
17372
|
+
"vale",
|
|
17373
|
+
"van",
|
|
17374
|
+
"vare",
|
|
17375
|
+
"vat",
|
|
17376
|
+
"vefe",
|
|
17377
|
+
"vefec'h",
|
|
17378
|
+
"vefed",
|
|
17379
|
+
"vefemp",
|
|
17380
|
+
"vefen",
|
|
17381
|
+
"vefent",
|
|
17382
|
+
"vefes",
|
|
17383
|
+
"vesk",
|
|
17384
|
+
"vete",
|
|
17385
|
+
"vez",
|
|
17386
|
+
"vezan",
|
|
17387
|
+
"vezañ",
|
|
17388
|
+
"veze",
|
|
17389
|
+
"vezec'h",
|
|
17390
|
+
"vezed",
|
|
17391
|
+
"vezemp",
|
|
17392
|
+
"vezen",
|
|
17393
|
+
"vezent",
|
|
17394
|
+
"vezer",
|
|
17395
|
+
"vezes",
|
|
17396
|
+
"vezez",
|
|
17397
|
+
"vezit",
|
|
17398
|
+
"vezomp",
|
|
17399
|
+
"vezont",
|
|
17400
|
+
"vi",
|
|
17401
|
+
"vihan",
|
|
17402
|
+
"vihanañ",
|
|
17403
|
+
"vije",
|
|
17404
|
+
"vijec'h",
|
|
17405
|
+
"vijed",
|
|
17406
|
+
"vijemp",
|
|
17407
|
+
"vijen",
|
|
17408
|
+
"vijent",
|
|
17409
|
+
"vijes",
|
|
17410
|
+
"viken",
|
|
17411
|
+
"vimp",
|
|
17412
|
+
"vin",
|
|
17413
|
+
"vint",
|
|
17414
|
+
"vior",
|
|
17415
|
+
"viot",
|
|
17416
|
+
"virviken",
|
|
17417
|
+
"viskoazh",
|
|
17418
|
+
"vlan",
|
|
17419
|
+
"vlaou",
|
|
17420
|
+
"vo",
|
|
17421
|
+
"vod",
|
|
17422
|
+
"voe",
|
|
17423
|
+
"voec'h",
|
|
17424
|
+
"voed",
|
|
17425
|
+
"voemp",
|
|
17426
|
+
"voen",
|
|
17427
|
+
"voent",
|
|
17428
|
+
"voes",
|
|
17429
|
+
"vont",
|
|
17430
|
+
"vostapl",
|
|
17431
|
+
"vrac'h",
|
|
17432
|
+
"vrasañ",
|
|
17433
|
+
"vremañ",
|
|
17434
|
+
"w:",
|
|
17435
|
+
"walc'h",
|
|
17436
|
+
"war",
|
|
17437
|
+
"warnañ",
|
|
17438
|
+
"warni",
|
|
17439
|
+
"warno",
|
|
17440
|
+
"warnoc'h",
|
|
17441
|
+
"warnomp",
|
|
17442
|
+
"warnon",
|
|
17443
|
+
"warnor",
|
|
17444
|
+
"warnout",
|
|
17445
|
+
"wazh",
|
|
17446
|
+
"wech",
|
|
17447
|
+
"wechoù",
|
|
17448
|
+
"well",
|
|
17449
|
+
"y:",
|
|
17450
|
+
"you",
|
|
17451
|
+
"youadenn",
|
|
17452
|
+
"youc'hadenn",
|
|
17453
|
+
"youc'hou",
|
|
17454
|
+
"z:",
|
|
17455
|
+
"za",
|
|
17456
|
+
"zan",
|
|
17457
|
+
"zaw",
|
|
17458
|
+
"zeu",
|
|
17459
|
+
"zi",
|
|
17460
|
+
"ziar",
|
|
17461
|
+
"zigarez",
|
|
17462
|
+
"ziget",
|
|
17463
|
+
"zindan",
|
|
17464
|
+
"zioc'h",
|
|
17465
|
+
"ziouzh",
|
|
17466
|
+
"zirak",
|
|
17467
|
+
"zivout",
|
|
17468
|
+
"ziwar",
|
|
17469
|
+
"ziwezhañ",
|
|
17470
|
+
"zo",
|
|
17471
|
+
"zoken",
|
|
17472
|
+
"zokenoc'h",
|
|
17473
|
+
"zouesk",
|
|
17474
|
+
"zouez",
|
|
17475
|
+
"zro",
|
|
17476
|
+
"zu"
|
|
16441
17477
|
];
|
|
16442
17478
|
const bul = [
|
|
16443
17479
|
"а",
|
|
@@ -28093,22 +29129,32 @@ flowchart TD
|
|
|
28093
29129
|
"şöyle"
|
|
28094
29130
|
];
|
|
28095
29131
|
const ukr = [
|
|
29132
|
+
"а",
|
|
29133
|
+
"або",
|
|
28096
29134
|
"авжеж",
|
|
28097
29135
|
"адже",
|
|
29136
|
+
"аж",
|
|
28098
29137
|
"але",
|
|
29138
|
+
"ані",
|
|
28099
29139
|
"б",
|
|
28100
29140
|
"без",
|
|
29141
|
+
"би",
|
|
29142
|
+
"бо",
|
|
28101
29143
|
"був",
|
|
28102
29144
|
"була",
|
|
28103
29145
|
"були",
|
|
28104
29146
|
"було",
|
|
28105
29147
|
"бути",
|
|
28106
29148
|
"більш",
|
|
29149
|
+
"в",
|
|
28107
29150
|
"вам",
|
|
29151
|
+
"вами",
|
|
28108
29152
|
"вас",
|
|
28109
29153
|
"весь",
|
|
29154
|
+
"вже",
|
|
28110
29155
|
"вздовж",
|
|
28111
29156
|
"ви",
|
|
29157
|
+
"від",
|
|
28112
29158
|
"вниз",
|
|
28113
29159
|
"внизу",
|
|
28114
29160
|
"вона",
|
|
@@ -28117,55 +29163,138 @@ flowchart TD
|
|
|
28117
29163
|
"все",
|
|
28118
29164
|
"всередині",
|
|
28119
29165
|
"всіх",
|
|
29166
|
+
"вся",
|
|
28120
29167
|
"від",
|
|
28121
29168
|
"він",
|
|
28122
29169
|
"да",
|
|
28123
29170
|
"давай",
|
|
28124
29171
|
"давати",
|
|
28125
29172
|
"де",
|
|
29173
|
+
"десь",
|
|
28126
29174
|
"дещо",
|
|
28127
29175
|
"для",
|
|
28128
29176
|
"до",
|
|
29177
|
+
"є",
|
|
29178
|
+
"ж",
|
|
29179
|
+
"же",
|
|
28129
29180
|
"з",
|
|
29181
|
+
"за",
|
|
28130
29182
|
"завжди",
|
|
28131
29183
|
"замість",
|
|
29184
|
+
"зі",
|
|
29185
|
+
"і",
|
|
29186
|
+
"із",
|
|
29187
|
+
"інших",
|
|
29188
|
+
"її",
|
|
29189
|
+
"їй",
|
|
29190
|
+
"їм",
|
|
29191
|
+
"їх",
|
|
28132
29192
|
"й",
|
|
29193
|
+
"його",
|
|
29194
|
+
"йому",
|
|
28133
29195
|
"коли",
|
|
28134
29196
|
"ледве",
|
|
29197
|
+
"лиш",
|
|
28135
29198
|
"майже",
|
|
29199
|
+
"мене",
|
|
29200
|
+
"мені",
|
|
28136
29201
|
"ми",
|
|
29202
|
+
"між",
|
|
29203
|
+
"мій",
|
|
29204
|
+
"мною",
|
|
29205
|
+
"мов",
|
|
29206
|
+
"мого",
|
|
29207
|
+
"моєї",
|
|
29208
|
+
"моє",
|
|
29209
|
+
"може",
|
|
29210
|
+
"мої",
|
|
29211
|
+
"моїх",
|
|
29212
|
+
"моя",
|
|
29213
|
+
"на",
|
|
29214
|
+
"над",
|
|
28137
29215
|
"навколо",
|
|
28138
29216
|
"навіть",
|
|
28139
29217
|
"нам",
|
|
29218
|
+
"нами",
|
|
29219
|
+
"нас",
|
|
29220
|
+
"наче",
|
|
29221
|
+
"наш",
|
|
29222
|
+
"не",
|
|
29223
|
+
"нє",
|
|
29224
|
+
"неї",
|
|
29225
|
+
"нема",
|
|
29226
|
+
"немов",
|
|
29227
|
+
"неначе",
|
|
29228
|
+
"нею",
|
|
29229
|
+
"ним",
|
|
29230
|
+
"ними",
|
|
29231
|
+
"них",
|
|
29232
|
+
"ні",
|
|
29233
|
+
"ніби",
|
|
29234
|
+
"ніщо",
|
|
29235
|
+
"нього",
|
|
29236
|
+
"о",
|
|
29237
|
+
"ось",
|
|
28140
29238
|
"от",
|
|
28141
29239
|
"отже",
|
|
28142
29240
|
"отож",
|
|
29241
|
+
"під",
|
|
29242
|
+
"по",
|
|
28143
29243
|
"поза",
|
|
28144
29244
|
"про",
|
|
28145
29245
|
"під",
|
|
29246
|
+
"сам",
|
|
29247
|
+
"сама",
|
|
29248
|
+
"свій",
|
|
29249
|
+
"свої",
|
|
29250
|
+
"своя",
|
|
29251
|
+
"свою",
|
|
29252
|
+
"себе",
|
|
29253
|
+
"собі",
|
|
28146
29254
|
"та",
|
|
29255
|
+
"там",
|
|
28147
29256
|
"так",
|
|
29257
|
+
"така",
|
|
28148
29258
|
"такий",
|
|
28149
29259
|
"також",
|
|
29260
|
+
"твій",
|
|
29261
|
+
"твого",
|
|
29262
|
+
"твоєї",
|
|
29263
|
+
"твої",
|
|
29264
|
+
"твоя",
|
|
28150
29265
|
"те",
|
|
29266
|
+
"тебе",
|
|
28151
29267
|
"ти",
|
|
29268
|
+
"ті",
|
|
29269
|
+
"тільки",
|
|
29270
|
+
"то",
|
|
29271
|
+
"тобі",
|
|
29272
|
+
"тобою",
|
|
28152
29273
|
"тобто",
|
|
29274
|
+
"тоді",
|
|
28153
29275
|
"тож",
|
|
29276
|
+
"той",
|
|
28154
29277
|
"тощо",
|
|
29278
|
+
"тут",
|
|
29279
|
+
"у",
|
|
29280
|
+
"хіба",
|
|
29281
|
+
"хоч",
|
|
28155
29282
|
"хоча",
|
|
28156
29283
|
"це",
|
|
28157
29284
|
"цей",
|
|
29285
|
+
"ці",
|
|
29286
|
+
"ця",
|
|
28158
29287
|
"чи",
|
|
28159
29288
|
"чого",
|
|
29289
|
+
"ще",
|
|
28160
29290
|
"що",
|
|
29291
|
+
"щоб",
|
|
29292
|
+
"щось",
|
|
29293
|
+
"я",
|
|
28161
29294
|
"як",
|
|
29295
|
+
"яка",
|
|
28162
29296
|
"який",
|
|
28163
|
-
"якої"
|
|
28164
|
-
"є",
|
|
28165
|
-
"із",
|
|
28166
|
-
"інших",
|
|
28167
|
-
"їх",
|
|
28168
|
-
"її"
|
|
29297
|
+
"якої"
|
|
28169
29298
|
];
|
|
28170
29299
|
const urd = [
|
|
28171
29300
|
"آئی",
|
|
@@ -29163,7 +30292,14 @@ flowchart TD
|
|
|
29163
30292
|
const AUTH_TOKEN_KEY = "tinacms-auth";
|
|
29164
30293
|
const authenticate = (clientId, frontendUrl) => {
|
|
29165
30294
|
return new Promise((resolve) => {
|
|
29166
|
-
|
|
30295
|
+
const origin = `${window.location.protocol}//${window.location.host}`;
|
|
30296
|
+
const authTab = popupWindow(
|
|
30297
|
+
`${frontendUrl}/signin?clientId=${clientId}&origin=${origin}`,
|
|
30298
|
+
"_blank",
|
|
30299
|
+
window,
|
|
30300
|
+
1e3,
|
|
30301
|
+
700
|
|
30302
|
+
);
|
|
29167
30303
|
window.addEventListener("message", function(e) {
|
|
29168
30304
|
if (e.data.source === TINA_LOGIN_EVENT) {
|
|
29169
30305
|
if (authTab) {
|
|
@@ -29176,14 +30312,6 @@ flowchart TD
|
|
|
29176
30312
|
});
|
|
29177
30313
|
}
|
|
29178
30314
|
});
|
|
29179
|
-
const origin = `${window.location.protocol}//${window.location.host}`;
|
|
29180
|
-
authTab = popupWindow(
|
|
29181
|
-
`${frontendUrl}/signin?clientId=${clientId}&origin=${origin}`,
|
|
29182
|
-
"_blank",
|
|
29183
|
-
window,
|
|
29184
|
-
1e3,
|
|
29185
|
-
700
|
|
29186
|
-
);
|
|
29187
30315
|
});
|
|
29188
30316
|
};
|
|
29189
30317
|
const DefaultSessionProvider = ({
|
|
@@ -29889,56 +31017,6 @@ mutation addPendingDocumentMutation(
|
|
|
29889
31017
|
!submitting && name
|
|
29890
31018
|
);
|
|
29891
31019
|
};
|
|
29892
|
-
const TINA_AUTH_CONFIG = "tina_auth_config";
|
|
29893
|
-
const useTinaAuthRedirect = () => {
|
|
29894
|
-
React.useEffect(() => {
|
|
29895
|
-
const urlParams = new URLSearchParams(window.location.search);
|
|
29896
|
-
const config = {
|
|
29897
|
-
code: urlParams.get("code") || "",
|
|
29898
|
-
scope: urlParams.get("scope") || "email",
|
|
29899
|
-
state: urlParams.get("state")
|
|
29900
|
-
};
|
|
29901
|
-
if (!config.code) {
|
|
29902
|
-
return;
|
|
29903
|
-
}
|
|
29904
|
-
localStorage[TINA_AUTH_CONFIG] = JSON.stringify(config);
|
|
29905
|
-
}, []);
|
|
29906
|
-
};
|
|
29907
|
-
const createClient = ({
|
|
29908
|
-
clientId,
|
|
29909
|
-
isLocalClient = true,
|
|
29910
|
-
branch,
|
|
29911
|
-
tinaioConfig,
|
|
29912
|
-
schema,
|
|
29913
|
-
apiUrl,
|
|
29914
|
-
tinaGraphQLVersion
|
|
29915
|
-
}) => {
|
|
29916
|
-
return isLocalClient ? new LocalClient({ customContentApiUrl: apiUrl, schema }) : new Client({
|
|
29917
|
-
clientId: clientId || "",
|
|
29918
|
-
branch: branch || "main",
|
|
29919
|
-
tokenStorage: "LOCAL_STORAGE",
|
|
29920
|
-
tinaioConfig,
|
|
29921
|
-
schema,
|
|
29922
|
-
tinaGraphQLVersion
|
|
29923
|
-
});
|
|
29924
|
-
};
|
|
29925
|
-
function assertShape(value, yupSchema, errorMessage) {
|
|
29926
|
-
const shape = yupSchema(yup__namespace);
|
|
29927
|
-
try {
|
|
29928
|
-
shape.validateSync(value);
|
|
29929
|
-
} catch (e) {
|
|
29930
|
-
const message = errorMessage || `Failed to assertShape - ${e.message}`;
|
|
29931
|
-
throw new Error(message);
|
|
29932
|
-
}
|
|
29933
|
-
}
|
|
29934
|
-
function safeAssertShape(value, yupSchema) {
|
|
29935
|
-
try {
|
|
29936
|
-
assertShape(value, yupSchema);
|
|
29937
|
-
return true;
|
|
29938
|
-
} catch (e) {
|
|
29939
|
-
return false;
|
|
29940
|
-
}
|
|
29941
|
-
}
|
|
29942
31020
|
class TinaAdminApi {
|
|
29943
31021
|
constructor(cms) {
|
|
29944
31022
|
var _a, _b, _c, _d;
|
|
@@ -30078,6 +31156,7 @@ mutation addPendingDocumentMutation(
|
|
|
30078
31156
|
relativePath
|
|
30079
31157
|
filename
|
|
30080
31158
|
extension
|
|
31159
|
+
hasReferences
|
|
30081
31160
|
}
|
|
30082
31161
|
}
|
|
30083
31162
|
}
|
|
@@ -30169,6 +31248,9 @@ mutation addPendingDocumentMutation(
|
|
|
30169
31248
|
document(collection:$collection, relativePath:$relativePath) {
|
|
30170
31249
|
... on Document {
|
|
30171
31250
|
_values
|
|
31251
|
+
_sys {
|
|
31252
|
+
hasReferences
|
|
31253
|
+
}
|
|
30172
31254
|
}
|
|
30173
31255
|
}
|
|
30174
31256
|
}`;
|
|
@@ -30281,6 +31363,56 @@ mutation addPendingDocumentMutation(
|
|
|
30281
31363
|
);
|
|
30282
31364
|
}
|
|
30283
31365
|
}
|
|
31366
|
+
const createClient = ({
|
|
31367
|
+
clientId,
|
|
31368
|
+
isLocalClient = true,
|
|
31369
|
+
branch,
|
|
31370
|
+
tinaioConfig,
|
|
31371
|
+
schema,
|
|
31372
|
+
apiUrl,
|
|
31373
|
+
tinaGraphQLVersion
|
|
31374
|
+
}) => {
|
|
31375
|
+
return isLocalClient ? new LocalClient({ customContentApiUrl: apiUrl, schema }) : new Client({
|
|
31376
|
+
clientId: clientId || "",
|
|
31377
|
+
branch: branch || "main",
|
|
31378
|
+
tokenStorage: "LOCAL_STORAGE",
|
|
31379
|
+
tinaioConfig,
|
|
31380
|
+
schema,
|
|
31381
|
+
tinaGraphQLVersion
|
|
31382
|
+
});
|
|
31383
|
+
};
|
|
31384
|
+
function assertShape(value, yupSchema, errorMessage) {
|
|
31385
|
+
const shape = yupSchema(yup__namespace);
|
|
31386
|
+
try {
|
|
31387
|
+
shape.validateSync(value);
|
|
31388
|
+
} catch (e) {
|
|
31389
|
+
const message = errorMessage || `Failed to assertShape - ${e.message}`;
|
|
31390
|
+
throw new Error(message);
|
|
31391
|
+
}
|
|
31392
|
+
}
|
|
31393
|
+
function safeAssertShape(value, yupSchema) {
|
|
31394
|
+
try {
|
|
31395
|
+
assertShape(value, yupSchema);
|
|
31396
|
+
return true;
|
|
31397
|
+
} catch (e) {
|
|
31398
|
+
return false;
|
|
31399
|
+
}
|
|
31400
|
+
}
|
|
31401
|
+
const TINA_AUTH_CONFIG = "tina_auth_config";
|
|
31402
|
+
const useTinaAuthRedirect = () => {
|
|
31403
|
+
React.useEffect(() => {
|
|
31404
|
+
const urlParams = new URLSearchParams(window.location.search);
|
|
31405
|
+
const config = {
|
|
31406
|
+
code: urlParams.get("code") || "",
|
|
31407
|
+
scope: urlParams.get("scope") || "email",
|
|
31408
|
+
state: urlParams.get("state")
|
|
31409
|
+
};
|
|
31410
|
+
if (!config.code) {
|
|
31411
|
+
return;
|
|
31412
|
+
}
|
|
31413
|
+
localStorage[TINA_AUTH_CONFIG] = JSON.stringify(config);
|
|
31414
|
+
}, []);
|
|
31415
|
+
};
|
|
30284
31416
|
function sleep(ms) {
|
|
30285
31417
|
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
30286
31418
|
}
|
|
@@ -30617,6 +31749,9 @@ mutation addPendingDocumentMutation(
|
|
|
30617
31749
|
cms.flags.set("branch-switcher", true);
|
|
30618
31750
|
client.usingEditorialWorkflow = true;
|
|
30619
31751
|
client.protectedBranches = project.protectedBranches;
|
|
31752
|
+
if (!project.metadata[currentBranch]) {
|
|
31753
|
+
setCurrentBranch(project.defaultBranch || "main");
|
|
31754
|
+
}
|
|
30620
31755
|
}
|
|
30621
31756
|
});
|
|
30622
31757
|
};
|
|
@@ -30629,7 +31764,7 @@ mutation addPendingDocumentMutation(
|
|
|
30629
31764
|
}
|
|
30630
31765
|
});
|
|
30631
31766
|
return unsubscribe;
|
|
30632
|
-
}, [isTinaCloud, cms]);
|
|
31767
|
+
}, [currentBranch, isTinaCloud, cms]);
|
|
30633
31768
|
return /* @__PURE__ */ React.createElement(SessionProvider, { basePath: "/api/tina/auth" }, /* @__PURE__ */ React.createElement(
|
|
30634
31769
|
BranchDataProvider,
|
|
30635
31770
|
{
|
|
@@ -31482,6 +32617,35 @@ This will work when developing locally but NOT when deployed to production.
|
|
|
31482
32617
|
}) => {
|
|
31483
32618
|
return /* @__PURE__ */ React.createElement("div", { className: "flex flex-col justify-center items-center h-screen bg-gray-100" }, /* @__PURE__ */ React.createElement("div", { className: "text-red-500 text-4xl mb-6 flex items-center" }, /* @__PURE__ */ React.createElement(BiError, { className: "w-12 h-auto fill-current text-red-400 opacity-70 mr-1" }), " ", title), /* @__PURE__ */ React.createElement("p", { className: "text-gray-700 text-xl mb-8" }, errorMessage), /* @__PURE__ */ React.createElement(Button$1, { variant: "danger", onClick: () => window.location.reload() }, /* @__PURE__ */ React.createElement(BiSync, { className: "w-7 h-auto fill-current opacity-70 mr-1" }), " Reload"));
|
|
31484
32619
|
};
|
|
32620
|
+
const isValidSortKey = (sortKey, collection) => {
|
|
32621
|
+
if (collection.fields) {
|
|
32622
|
+
const sortKeys = collection.fields.map((x) => x.name);
|
|
32623
|
+
return sortKeys.includes(sortKey);
|
|
32624
|
+
} else if (collection.templates) {
|
|
32625
|
+
const collectionMap = {};
|
|
32626
|
+
const conflictedFields = /* @__PURE__ */ new Set();
|
|
32627
|
+
for (const template of collection.templates) {
|
|
32628
|
+
for (const field of template.fields) {
|
|
32629
|
+
if (collectionMap[field.name]) {
|
|
32630
|
+
if (collectionMap[field.name].type !== field.type) {
|
|
32631
|
+
conflictedFields.add(field.name);
|
|
32632
|
+
}
|
|
32633
|
+
} else {
|
|
32634
|
+
collectionMap[field.name] = field;
|
|
32635
|
+
}
|
|
32636
|
+
}
|
|
32637
|
+
}
|
|
32638
|
+
for (const key in conflictedFields) {
|
|
32639
|
+
delete collectionMap[key];
|
|
32640
|
+
}
|
|
32641
|
+
for (const key in collectionMap) {
|
|
32642
|
+
if (key === sortKey) {
|
|
32643
|
+
return true;
|
|
32644
|
+
}
|
|
32645
|
+
}
|
|
32646
|
+
return false;
|
|
32647
|
+
}
|
|
32648
|
+
};
|
|
31485
32649
|
const useGetCollection = (cms, collectionName, includeDocuments = true, folder, after = "", sortKey, filterArgs) => {
|
|
31486
32650
|
const api = new TinaAdminApi(cms);
|
|
31487
32651
|
const schema = cms.api.tina.schema;
|
|
@@ -31493,10 +32657,9 @@ This will work when developing locally but NOT when deployed to production.
|
|
|
31493
32657
|
React.useEffect(() => {
|
|
31494
32658
|
let cancelled = false;
|
|
31495
32659
|
const fetchCollection = async () => {
|
|
31496
|
-
var _a;
|
|
31497
32660
|
if (await api.isAuthenticated() && !folder.loading && !cancelled) {
|
|
31498
32661
|
const { name, order } = JSON.parse(sortKey || "{}");
|
|
31499
|
-
const validSortKey = (
|
|
32662
|
+
const validSortKey = isValidSortKey(name, collectionExtra) ? name : void 0;
|
|
31500
32663
|
try {
|
|
31501
32664
|
const collection2 = await api.fetchCollection(
|
|
31502
32665
|
collectionName,
|
|
@@ -31792,6 +32955,7 @@ This will work when developing locally but NOT when deployed to production.
|
|
|
31792
32955
|
const [vars, setVars] = React.useState({
|
|
31793
32956
|
collection: collectionName,
|
|
31794
32957
|
relativePath: "",
|
|
32958
|
+
relativePathWithoutExtension: "",
|
|
31795
32959
|
newRelativePath: "",
|
|
31796
32960
|
filterField: "",
|
|
31797
32961
|
folderName: "",
|
|
@@ -31833,6 +32997,7 @@ This will work when developing locally but NOT when deployed to production.
|
|
|
31833
32997
|
...old,
|
|
31834
32998
|
collection: collectionName,
|
|
31835
32999
|
relativePath: "",
|
|
33000
|
+
relativePathWithoutExtension: "",
|
|
31836
33001
|
newRelativePath: "",
|
|
31837
33002
|
filterField: "",
|
|
31838
33003
|
startsWith: "",
|
|
@@ -31858,6 +33023,7 @@ This will work when developing locally but NOT when deployed to production.
|
|
|
31858
33023
|
collectionName === vars.collection ? vars : {
|
|
31859
33024
|
collection: collectionName,
|
|
31860
33025
|
relativePath: "",
|
|
33026
|
+
relativePathWithoutExtension: "",
|
|
31861
33027
|
newRelativePath: "",
|
|
31862
33028
|
filterField: "",
|
|
31863
33029
|
startsWith: "",
|
|
@@ -31895,6 +33061,23 @@ This will work when developing locally but NOT when deployed to production.
|
|
|
31895
33061
|
DeleteModal,
|
|
31896
33062
|
{
|
|
31897
33063
|
filename: vars.relativePath,
|
|
33064
|
+
checkRefsFunc: async () => {
|
|
33065
|
+
var _a2, _b2;
|
|
33066
|
+
try {
|
|
33067
|
+
const doc = await admin.fetchDocument(
|
|
33068
|
+
collection.name,
|
|
33069
|
+
vars.relativePath,
|
|
33070
|
+
true
|
|
33071
|
+
);
|
|
33072
|
+
return (_b2 = (_a2 = doc == null ? void 0 : doc.document) == null ? void 0 : _a2._sys) == null ? void 0 : _b2.hasReferences;
|
|
33073
|
+
} catch (error) {
|
|
33074
|
+
cms.alerts.error(
|
|
33075
|
+
"Document was not found, ask a developer for help or check the console for an error message"
|
|
33076
|
+
);
|
|
33077
|
+
console.error(error);
|
|
33078
|
+
throw error;
|
|
33079
|
+
}
|
|
33080
|
+
},
|
|
31898
33081
|
deleteFunc: async () => {
|
|
31899
33082
|
try {
|
|
31900
33083
|
await admin.deleteDocument(vars);
|
|
@@ -31903,6 +33086,12 @@ This will work when developing locally but NOT when deployed to production.
|
|
|
31903
33086
|
);
|
|
31904
33087
|
reFetchCollection();
|
|
31905
33088
|
} catch (error) {
|
|
33089
|
+
if (error.message.indexOf("has references")) {
|
|
33090
|
+
cms.alerts.error(
|
|
33091
|
+
error.message.split("\n ").filter(Boolean)[1]
|
|
33092
|
+
);
|
|
33093
|
+
return;
|
|
33094
|
+
}
|
|
31906
33095
|
cms.alerts.warn(
|
|
31907
33096
|
"Document was not deleted, ask a developer for help or check the console for an error message"
|
|
31908
33097
|
);
|
|
@@ -31922,7 +33111,9 @@ This will work when developing locally but NOT when deployed to production.
|
|
|
31922
33111
|
safeSubmit: async () => {
|
|
31923
33112
|
try {
|
|
31924
33113
|
await admin.deleteDocument(vars);
|
|
31925
|
-
cms.alerts.info(
|
|
33114
|
+
cms.alerts.info(
|
|
33115
|
+
"Document was successfully deleted"
|
|
33116
|
+
);
|
|
31926
33117
|
reFetchCollection();
|
|
31927
33118
|
} catch (error) {
|
|
31928
33119
|
cms.alerts.warn(
|
|
@@ -31936,7 +33127,7 @@ This will work when developing locally but NOT when deployed to production.
|
|
|
31936
33127
|
), renameModalOpen && /* @__PURE__ */ React.createElement(
|
|
31937
33128
|
RenameModal,
|
|
31938
33129
|
{
|
|
31939
|
-
filename: vars.
|
|
33130
|
+
filename: vars.relativePathWithoutExtension,
|
|
31940
33131
|
newRelativePath: vars.newRelativePath,
|
|
31941
33132
|
setNewRelativePath: (newRelativePath) => {
|
|
31942
33133
|
setVars((vars2) => {
|
|
@@ -31951,9 +33142,17 @@ This will work when developing locally but NOT when deployed to production.
|
|
|
31951
33142
|
relativePath: vars.relativePath,
|
|
31952
33143
|
newRelativePath
|
|
31953
33144
|
});
|
|
31954
|
-
cms.alerts.info(
|
|
33145
|
+
cms.alerts.info(
|
|
33146
|
+
"Document was successfully renamed"
|
|
33147
|
+
);
|
|
31955
33148
|
reFetchCollection();
|
|
31956
33149
|
} catch (error) {
|
|
33150
|
+
if (error.message.indexOf("has references")) {
|
|
33151
|
+
cms.alerts.error(
|
|
33152
|
+
error.message.split("\n ").filter(Boolean)[1]
|
|
33153
|
+
);
|
|
33154
|
+
return;
|
|
33155
|
+
}
|
|
31957
33156
|
cms.alerts.warn(
|
|
31958
33157
|
"Document was not renamed, ask a developer for help or check the console for an error message"
|
|
31959
33158
|
);
|
|
@@ -32045,7 +33244,9 @@ This will work when developing locally but NOT when deployed to production.
|
|
|
32045
33244
|
name: "sort",
|
|
32046
33245
|
value: sortKey,
|
|
32047
33246
|
onChange: (e) => {
|
|
32048
|
-
const val = JSON.parse(
|
|
33247
|
+
const val = JSON.parse(
|
|
33248
|
+
e.target.value
|
|
33249
|
+
);
|
|
32049
33250
|
setEndCursor("");
|
|
32050
33251
|
setPrevCursors([]);
|
|
32051
33252
|
window == null ? void 0 : window.localStorage.setItem(
|
|
@@ -32251,6 +33452,9 @@ This will work when developing locally but NOT when deployed to production.
|
|
|
32251
33452
|
setVars((old) => ({
|
|
32252
33453
|
...old,
|
|
32253
33454
|
collection: collectionName,
|
|
33455
|
+
relativePathWithoutExtension: document2.node._sys.breadcrumbs.join(
|
|
33456
|
+
"/"
|
|
33457
|
+
),
|
|
32254
33458
|
relativePath: document2.node._sys.breadcrumbs.join(
|
|
32255
33459
|
"/"
|
|
32256
33460
|
) + document2.node._sys.extension,
|
|
@@ -32273,6 +33477,9 @@ This will work when developing locally but NOT when deployed to production.
|
|
|
32273
33477
|
setVars((old) => ({
|
|
32274
33478
|
...old,
|
|
32275
33479
|
collection: collectionName,
|
|
33480
|
+
relativePathWithoutExtension: document2.node._sys.breadcrumbs.join(
|
|
33481
|
+
"/"
|
|
33482
|
+
),
|
|
32276
33483
|
relativePath: document2.node._sys.breadcrumbs.join(
|
|
32277
33484
|
"/"
|
|
32278
33485
|
) + document2.node._sys.extension,
|
|
@@ -32427,8 +33634,19 @@ This will work when developing locally but NOT when deployed to production.
|
|
|
32427
33634
|
const NoDocumentsPlaceholder = () => {
|
|
32428
33635
|
return /* @__PURE__ */ React.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.createElement("p", { className: "text-base italic font-medium text-gray-300" }, "No documents found."));
|
|
32429
33636
|
};
|
|
32430
|
-
const DeleteModal = ({
|
|
32431
|
-
|
|
33637
|
+
const DeleteModal = ({
|
|
33638
|
+
close: close2,
|
|
33639
|
+
deleteFunc,
|
|
33640
|
+
checkRefsFunc,
|
|
33641
|
+
filename
|
|
33642
|
+
}) => {
|
|
33643
|
+
const [hasRefs, setHasRefs] = React.useState();
|
|
33644
|
+
React.useEffect(() => {
|
|
33645
|
+
checkRefsFunc().then((result) => {
|
|
33646
|
+
setHasRefs(result);
|
|
33647
|
+
});
|
|
33648
|
+
}, [filename, checkRefsFunc]);
|
|
33649
|
+
return /* @__PURE__ */ React.createElement(Modal, null, /* @__PURE__ */ React.createElement(PopupModal, null, /* @__PURE__ */ React.createElement(ModalHeader, { close: close2 }, "Delete ", filename), /* @__PURE__ */ React.createElement(ModalBody, { padded: true }, /* @__PURE__ */ React.createElement("p", null, `Are you sure you want to delete ${filename}?${hasRefs ? " References to this document will also be deleted." : ""}`)), /* @__PURE__ */ React.createElement(ModalActions, null, /* @__PURE__ */ React.createElement(Button$1, { style: { flexGrow: 2 }, onClick: close2 }, "Cancel"), /* @__PURE__ */ React.createElement(
|
|
32432
33650
|
Button$1,
|
|
32433
33651
|
{
|
|
32434
33652
|
style: { flexGrow: 3 },
|
|
@@ -32474,7 +33692,7 @@ This will work when developing locally but NOT when deployed to production.
|
|
|
32474
33692
|
newRelativePath,
|
|
32475
33693
|
setNewRelativePath
|
|
32476
33694
|
}) => {
|
|
32477
|
-
return /* @__PURE__ */ React.createElement(Modal, null, /* @__PURE__ */ React.createElement(PopupModal, null, /* @__PURE__ */ React.createElement(ModalHeader, { close: close2 }, "Rename ", filename), /* @__PURE__ */ React.createElement(ModalBody, { padded: true }, /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement("p", { className: "mb-4" }, "Are you sure you want to rename ", /* @__PURE__ */ React.createElement("strong", null, filename), "?
|
|
33695
|
+
return /* @__PURE__ */ React.createElement(Modal, null, /* @__PURE__ */ React.createElement(PopupModal, null, /* @__PURE__ */ React.createElement(ModalHeader, { close: close2 }, "Rename ", filename), /* @__PURE__ */ React.createElement(ModalBody, { padded: true }, /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement("p", { className: "mb-4" }, "Are you sure you want to rename ", /* @__PURE__ */ React.createElement("strong", null, filename), "?"), /* @__PURE__ */ React.createElement(
|
|
32478
33696
|
BaseTextField,
|
|
32479
33697
|
{
|
|
32480
33698
|
placeholder: "Enter a new name for the document's file",
|
|
@@ -32489,7 +33707,8 @@ This will work when developing locally but NOT when deployed to production.
|
|
|
32489
33707
|
onClick: async () => {
|
|
32490
33708
|
await renameFunc();
|
|
32491
33709
|
close2();
|
|
32492
|
-
}
|
|
33710
|
+
},
|
|
33711
|
+
disabled: !newRelativePath || newRelativePath === filename
|
|
32493
33712
|
},
|
|
32494
33713
|
"Rename"
|
|
32495
33714
|
))));
|
|
@@ -32816,7 +34035,10 @@ This will work when developing locally but NOT when deployed to production.
|
|
|
32816
34035
|
const fetchDocument = async () => {
|
|
32817
34036
|
if (api.isAuthenticated()) {
|
|
32818
34037
|
try {
|
|
32819
|
-
const response = await api.fetchDocument(
|
|
34038
|
+
const response = await api.fetchDocument(
|
|
34039
|
+
collectionName,
|
|
34040
|
+
relativePath2
|
|
34041
|
+
);
|
|
32820
34042
|
setDocument(response.document);
|
|
32821
34043
|
} catch (error2) {
|
|
32822
34044
|
cms.alerts.error(
|
|
@@ -33160,15 +34382,24 @@ This will work when developing locally but NOT when deployed to production.
|
|
|
33160
34382
|
}
|
|
33161
34383
|
}
|
|
33162
34384
|
if (state === "creatingPR") {
|
|
33163
|
-
|
|
33164
|
-
|
|
33165
|
-
|
|
33166
|
-
|
|
33167
|
-
|
|
33168
|
-
|
|
33169
|
-
|
|
33170
|
-
|
|
33171
|
-
|
|
34385
|
+
try {
|
|
34386
|
+
const foo = await tinaApi.createPullRequest({
|
|
34387
|
+
baseBranch,
|
|
34388
|
+
branch,
|
|
34389
|
+
title: `${branch.replace("tina/", "").replace("-", " ")} (PR from TinaCMS)`
|
|
34390
|
+
});
|
|
34391
|
+
console.log("PR created", foo);
|
|
34392
|
+
cms.alerts.success("Pull request created.");
|
|
34393
|
+
localStorage.setItem("tina.createBranchState", "done");
|
|
34394
|
+
setState("done");
|
|
34395
|
+
} catch (e) {
|
|
34396
|
+
console.error(e);
|
|
34397
|
+
cms.alerts.error("Failed to create PR");
|
|
34398
|
+
setErrorMessage(
|
|
34399
|
+
"Failed to create PR, please try again. If the problem persists please contact support."
|
|
34400
|
+
);
|
|
34401
|
+
setState("error");
|
|
34402
|
+
}
|
|
33172
34403
|
}
|
|
33173
34404
|
if (state === "done") {
|
|
33174
34405
|
window.location.href = back;
|
|
@@ -33795,6 +35026,7 @@ This will work when developing locally but NOT when deployed to production.
|
|
|
33795
35026
|
exports2.useScreenPlugin = useScreenPlugin;
|
|
33796
35027
|
exports2.useTinaAuthRedirect = useTinaAuthRedirect;
|
|
33797
35028
|
exports2.wrapFieldWithError = wrapFieldWithError;
|
|
35029
|
+
exports2.wrapFieldWithNoHeader = wrapFieldWithNoHeader;
|
|
33798
35030
|
exports2.wrapFieldsWithMeta = wrapFieldsWithMeta;
|
|
33799
35031
|
Object.defineProperties(exports2, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
|
|
33800
35032
|
});
|