@chaibuilder/sdk 3.0.14 → 3.0.16
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/core.cjs +46 -5
- package/dist/core.d.ts +4 -0
- package/dist/core.js +96 -55
- package/dist/sdk.css +1 -1
- package/dist/web-blocks.cjs +1 -1
- package/dist/web-blocks.js +103 -121
- package/package.json +1 -1
package/dist/core.d.ts
CHANGED
|
@@ -261,6 +261,10 @@ export declare interface ChaiBuilderEditorProps {
|
|
|
261
261
|
}) => Promise<{
|
|
262
262
|
[key: string]: any;
|
|
263
263
|
}>;
|
|
264
|
+
/**
|
|
265
|
+
* temporary props. Not to be used in production
|
|
266
|
+
*/
|
|
267
|
+
_tempProps?: Record<string, any>;
|
|
264
268
|
}
|
|
265
269
|
|
|
266
270
|
declare type ChaiBuilderThemeOptions = {
|
package/dist/core.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
var
|
|
2
|
-
var
|
|
3
|
-
var
|
|
1
|
+
var U = Object.defineProperty;
|
|
2
|
+
var W = (o, n, r) => n in o ? U(o, n, { enumerable: !0, configurable: !0, writable: !0, value: r }) : o[n] = r;
|
|
3
|
+
var F = (o, n, r) => W(o, typeof n != "symbol" ? n + "" : n, r);
|
|
4
4
|
import { jsx, jsxs, Fragment } from "react/jsx-runtime";
|
|
5
5
|
import { useRegisteredChaiBlocks, getRegisteredChaiBlock, getDefaultBlockProps, useRegisteredFonts, getBlockFormSchemas, syncBlocksWithDefaults } from "@chaibuilder/runtime";
|
|
6
6
|
import { get, find, filter, flatten, has, map, includes, without, compact, reverse, findIndex, isEmpty, isString, each, omit, values, pick, startsWith, isFunction, isObject as isObject$1, memoize, noop, first, keys, range, flattenDeep, set, forEach, unset, chunk, cloneDeep, isNull, isArray, split, uniq, reject, take, debounce, startCase, isNumber, parseInt as parseInt$1, isNaN as isNaN$1, toLower, nth, findLast, intersection, toUpper, capitalize, groupBy, sortBy, round } from "lodash-es";
|
|
@@ -20,19 +20,19 @@ import { isObject } from "@rjsf/utils";
|
|
|
20
20
|
import { useDebouncedCallback, useThrottledCallback, useResizeObserver, useDebouncedState, useIntervalEffect } from "@react-hookz/web";
|
|
21
21
|
import { toast, Toaster } from "sonner";
|
|
22
22
|
import { useTranslation, initReactI18next } from "react-i18next";
|
|
23
|
-
import { useTranslation as
|
|
23
|
+
import { useTranslation as We } from "react-i18next";
|
|
24
24
|
import Fuse from "fuse.js";
|
|
25
25
|
import UndoManager from "undo-manager";
|
|
26
26
|
import i18n, { t } from "i18next";
|
|
27
|
-
import { default as
|
|
27
|
+
import { default as Ge } from "i18next";
|
|
28
|
+
import Highlight from "@tiptap/extension-highlight";
|
|
28
29
|
import Link from "@tiptap/extension-link";
|
|
30
|
+
import Placeholder from "@tiptap/extension-placeholder";
|
|
29
31
|
import TextAlign from "@tiptap/extension-text-align";
|
|
32
|
+
import { TextStyle, Color as Color$1 } from "@tiptap/extension-text-style";
|
|
30
33
|
import Underline from "@tiptap/extension-underline";
|
|
31
|
-
import Placeholder from "@tiptap/extension-placeholder";
|
|
32
|
-
import Highlight from "@tiptap/extension-highlight";
|
|
33
34
|
import { useEditor, EditorContent } from "@tiptap/react";
|
|
34
35
|
import StarterKit from "@tiptap/starter-kit";
|
|
35
|
-
import { TextStyle, Color as Color$1 } from "@tiptap/extension-text-style";
|
|
36
36
|
import { HexAlphaColorPicker } from "react-colorful";
|
|
37
37
|
import RjForm from "@rjsf/core";
|
|
38
38
|
import validator from "@rjsf/validator-ajv8";
|
|
@@ -283,7 +283,7 @@ import.meta.vitest && describe("canDropBlock Function", () => {
|
|
|
283
283
|
});
|
|
284
284
|
class PubSub {
|
|
285
285
|
constructor() {
|
|
286
|
-
|
|
286
|
+
F(this, "subscribers", /* @__PURE__ */ new Map());
|
|
287
287
|
}
|
|
288
288
|
subscribe(n, r) {
|
|
289
289
|
return this.subscribers.has(n) || this.subscribers.set(n, /* @__PURE__ */ new Set()), this.subscribers.get(n).add(r), () => {
|
|
@@ -3119,8 +3119,49 @@ const INLINE_EDITABLE_BLOCKS = ["Heading", "Paragraph", "Text", "Link", "Span"],
|
|
|
3119
3119
|
height: 16px !important;
|
|
3120
3120
|
border: 1.5px solid #fff !important;
|
|
3121
3121
|
}
|
|
3122
|
-
|
|
3123
|
-
|
|
3122
|
+
</style>
|
|
3123
|
+
<style type="text/tailwindcss">
|
|
3124
|
+
@layer utilities {
|
|
3125
|
+
.rte {
|
|
3126
|
+
h1 {
|
|
3127
|
+
@apply text-2xl;
|
|
3128
|
+
}
|
|
3129
|
+
h2 {
|
|
3130
|
+
@apply text-xl;
|
|
3131
|
+
}
|
|
3132
|
+
h3 {
|
|
3133
|
+
@apply text-lg;
|
|
3134
|
+
}
|
|
3135
|
+
h4 {
|
|
3136
|
+
@apply text-base;
|
|
3137
|
+
}
|
|
3138
|
+
h5 {
|
|
3139
|
+
@apply text-sm;
|
|
3140
|
+
}
|
|
3141
|
+
h6 {
|
|
3142
|
+
@apply text-xs;
|
|
3143
|
+
}
|
|
3144
|
+
p {
|
|
3145
|
+
&:empty {
|
|
3146
|
+
@apply h-4;
|
|
3147
|
+
}
|
|
3148
|
+
}
|
|
3149
|
+
ul {
|
|
3150
|
+
@apply list-disc pl-6 text-base;
|
|
3151
|
+
}
|
|
3152
|
+
ol {
|
|
3153
|
+
@apply list-decimal pl-6 text-base;
|
|
3154
|
+
}
|
|
3155
|
+
li > p {
|
|
3156
|
+
@apply m-0;
|
|
3157
|
+
}
|
|
3158
|
+
blockquote {
|
|
3159
|
+
@apply pl-4 text-base;
|
|
3160
|
+
p {
|
|
3161
|
+
@apply pl-4 text-base;
|
|
3162
|
+
}
|
|
3163
|
+
}
|
|
3164
|
+
}
|
|
3124
3165
|
}
|
|
3125
3166
|
</style>
|
|
3126
3167
|
</head>
|
|
@@ -3142,17 +3183,17 @@ class Content extends Component {
|
|
|
3142
3183
|
class Frame extends Component {
|
|
3143
3184
|
constructor(r, a) {
|
|
3144
3185
|
super(r, a);
|
|
3145
|
-
|
|
3186
|
+
F(this, "setRef", (r) => {
|
|
3146
3187
|
this.nodeRef.current = r;
|
|
3147
3188
|
const { forwardedRef: a } = this.props;
|
|
3148
3189
|
typeof a == "function" ? a(r) : a && (a.current = r);
|
|
3149
3190
|
});
|
|
3150
|
-
|
|
3191
|
+
F(this, "handleLoad", () => {
|
|
3151
3192
|
clearInterval(this.loadCheck), this.state.iframeLoaded || this.setState({ iframeLoaded: !0 });
|
|
3152
3193
|
});
|
|
3153
3194
|
// In certain situations on a cold cache DOMContentLoaded never gets called
|
|
3154
3195
|
// fallback to an interval to check if that's the case
|
|
3155
|
-
|
|
3196
|
+
F(this, "loadCheck", () => setInterval(() => {
|
|
3156
3197
|
this.handleLoad();
|
|
3157
3198
|
}, 500));
|
|
3158
3199
|
this._isMounted = !1, this.nodeRef = React__default.createRef(), this.state = { iframeLoaded: !1 };
|
|
@@ -3189,7 +3230,7 @@ class Frame extends Component {
|
|
|
3189
3230
|
return delete r.head, delete r.initialContent, delete r.mountTarget, delete r.contentDidMount, delete r.contentDidUpdate, delete r.forwardedRef, /* @__PURE__ */ jsx("iframe", { ...r, ref: this.setRef, onLoad: this.handleLoad, children: this.state.iframeLoaded && this.renderFrameContents() });
|
|
3190
3231
|
}
|
|
3191
3232
|
}
|
|
3192
|
-
|
|
3233
|
+
F(Frame, "defaultProps", {
|
|
3193
3234
|
style: {},
|
|
3194
3235
|
head: null,
|
|
3195
3236
|
children: void 0,
|
|
@@ -3895,12 +3936,12 @@ const DataBindingSelector = ({
|
|
|
3895
3936
|
}
|
|
3896
3937
|
) });
|
|
3897
3938
|
};
|
|
3898
|
-
function cn(...o) {
|
|
3899
|
-
return twMerge(clsx(o));
|
|
3900
|
-
}
|
|
3901
3939
|
atomWithStorage("chai-builder-blocks", []);
|
|
3902
3940
|
const lsThemeAtom = atomWithStorage("chai-builder-theme", {});
|
|
3903
3941
|
atomWithStorage("chai-builder-ai-context", "");
|
|
3942
|
+
function cn(...o) {
|
|
3943
|
+
return twMerge(clsx(o));
|
|
3944
|
+
}
|
|
3904
3945
|
const getActiveClasses = (o, n, r) => {
|
|
3905
3946
|
const a = r === "settings", l = typeof n == "boolean" ? n : n.some((i) => o.isActive(i));
|
|
3906
3947
|
return {
|
|
@@ -4388,7 +4429,7 @@ const getActiveClasses = (o, n, r) => {
|
|
|
4388
4429
|
Link.configure({
|
|
4389
4430
|
openOnClick: !1,
|
|
4390
4431
|
HTMLAttributes: {
|
|
4391
|
-
class: "
|
|
4432
|
+
class: "underline"
|
|
4392
4433
|
}
|
|
4393
4434
|
}),
|
|
4394
4435
|
TextAlign.configure({
|
|
@@ -4408,7 +4449,7 @@ const getActiveClasses = (o, n, r) => {
|
|
|
4408
4449
|
editorProps: {
|
|
4409
4450
|
attributes: {
|
|
4410
4451
|
...c ? { style: c } : {},
|
|
4411
|
-
class: i
|
|
4452
|
+
class: i !== "canvas" ? "text-sm p-1 px-2 rte" : "rte"
|
|
4412
4453
|
}
|
|
4413
4454
|
}
|
|
4414
4455
|
},
|
|
@@ -6615,16 +6656,16 @@ function ManualClasses() {
|
|
|
6615
6656
|
u(g, T, !0), f("");
|
|
6616
6657
|
}, [B, _] = useState([]), w = ({ value: T }) => {
|
|
6617
6658
|
const P = T.trim().toLowerCase(), R = P.match(/.+:/g);
|
|
6618
|
-
let
|
|
6659
|
+
let D = [];
|
|
6619
6660
|
if (R && R.length > 0) {
|
|
6620
|
-
const [
|
|
6621
|
-
|
|
6661
|
+
const [N] = R, O = P.replace(N, "");
|
|
6662
|
+
D = i.search(O).map((M) => ({
|
|
6622
6663
|
...M,
|
|
6623
|
-
item: { ...M.item, name:
|
|
6664
|
+
item: { ...M.item, name: N + M.item.name }
|
|
6624
6665
|
}));
|
|
6625
6666
|
} else
|
|
6626
|
-
|
|
6627
|
-
return _(map(
|
|
6667
|
+
D = i.search(P);
|
|
6668
|
+
return _(map(D, "item"));
|
|
6628
6669
|
}, v = () => {
|
|
6629
6670
|
_([]);
|
|
6630
6671
|
}, C = (T) => T.name, I = (T) => /* @__PURE__ */ jsx("div", { className: "rounded-md p-1", children: T.name }), A = useMemo(
|
|
@@ -7591,7 +7632,7 @@ const registerChaiSaveToLibrary = (o) => {
|
|
|
7591
7632
|
return a ? /* @__PURE__ */ jsxs(DropdownMenuItem, { className: "flex items-center gap-x-4 text-xs", onClick: l, children: [
|
|
7592
7633
|
/* @__PURE__ */ jsx(CheckIcon, { className: "h-4 w-4" }),
|
|
7593
7634
|
" ",
|
|
7594
|
-
|
|
7635
|
+
o != null && o._libBlockId ? n("Update library block") : n("Save to library")
|
|
7595
7636
|
] }) : null;
|
|
7596
7637
|
}, UnlinkLibraryBlock = () => {
|
|
7597
7638
|
const { t: o } = useTranslation(), n = useSelectedBlock(), r = useUpdateBlocksProps();
|
|
@@ -7700,9 +7741,9 @@ const registerChaiSaveToLibrary = (o) => {
|
|
|
7700
7741
|
}
|
|
7701
7742
|
);
|
|
7702
7743
|
}, BlockContextMenuContent = ({ node: o }) => {
|
|
7703
|
-
const { t: n } = useTranslation(), [r] = useSelectedBlockIds(), a = useDuplicateBlocks(), l = useSelectedBlock(), { hasPermission: i } = usePermissions(), c = useCallback(() => {
|
|
7744
|
+
const { t: n } = useTranslation(), [r] = useSelectedBlockIds(), a = useDuplicateBlocks(), l = useSelectedBlock(), { hasPermission: i } = usePermissions(), { librarySite: c } = useBuilderProp("_tempProps", { librarySite: !1 }), d = useCallback(() => {
|
|
7704
7745
|
a(r);
|
|
7705
|
-
}, [r, a]),
|
|
7746
|
+
}, [r, a]), p = useMemo(() => has(l, "_libBlockId") && !isEmpty(l._libBlockId), [l == null ? void 0 : l._libBlockId]);
|
|
7706
7747
|
return /* @__PURE__ */ jsxs(DropdownMenuContent, { side: "bottom", className: "border-border text-xs", children: [
|
|
7707
7748
|
i(PERMISSIONS.ADD_BLOCK) && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
7708
7749
|
/* @__PURE__ */ jsxs(
|
|
@@ -7723,7 +7764,7 @@ const registerChaiSaveToLibrary = (o) => {
|
|
|
7723
7764
|
{
|
|
7724
7765
|
disabled: !canDuplicateBlock(l == null ? void 0 : l._type),
|
|
7725
7766
|
className: "flex items-center gap-x-4 text-xs",
|
|
7726
|
-
onClick:
|
|
7767
|
+
onClick: d,
|
|
7727
7768
|
children: [
|
|
7728
7769
|
/* @__PURE__ */ jsx(CardStackPlusIcon, {}),
|
|
7729
7770
|
" ",
|
|
@@ -7735,8 +7776,8 @@ const registerChaiSaveToLibrary = (o) => {
|
|
|
7735
7776
|
/* @__PURE__ */ jsx(RenameBlock, { node: o }),
|
|
7736
7777
|
i(PERMISSIONS.MOVE_BLOCK) && /* @__PURE__ */ jsx(CutBlocks, {}),
|
|
7737
7778
|
i(PERMISSIONS.ADD_BLOCK) && /* @__PURE__ */ jsx(CopyPasteBlocks, {}),
|
|
7738
|
-
|
|
7739
|
-
i(PERMISSIONS.CREATE_LIBRARY_BLOCK) && /* @__PURE__ */ jsx(SaveToLibrary, {}),
|
|
7779
|
+
p && /* @__PURE__ */ jsx(UnlinkLibraryBlock, {}),
|
|
7780
|
+
i(PERMISSIONS.CREATE_LIBRARY_BLOCK) && c && /* @__PURE__ */ jsx(SaveToLibrary, {}),
|
|
7740
7781
|
i(PERMISSIONS.DELETE_BLOCK) && /* @__PURE__ */ jsx(RemoveBlocks, {})
|
|
7741
7782
|
] });
|
|
7742
7783
|
}, BlockMoreOptions = ({ children: o, id: n, node: r }) => {
|
|
@@ -7792,7 +7833,7 @@ const Input = ({ node: o }) => {
|
|
|
7792
7833
|
var n;
|
|
7793
7834
|
return o != null && o._name ? o._name : (o == null ? void 0 : o._type) === "Box" && (o != null && o.tag) && (o == null ? void 0 : o.tag) !== "div" ? startCase(o.tag) : ((n = o == null ? void 0 : o._type) == null ? void 0 : n.split("/").pop()) || "";
|
|
7794
7835
|
}, truncateText = (o, n) => o.length > n ? o.substring(0, n) + "..." : o, Node = memo(({ node: o, style: n, dragHandle: r }) => {
|
|
7795
|
-
var
|
|
7836
|
+
var D;
|
|
7796
7837
|
const { t: a } = useTranslation(), l = useUpdateBlocksProps(), [i] = useAtom$1(canvasIframeAtom), { hasPermission: c } = usePermissions();
|
|
7797
7838
|
let d = null;
|
|
7798
7839
|
const p = o.children.length > 0, { highlightBlock: u, clearHighlight: m } = useBlockHighlight(), { id: g, data: h, isSelected: b, willReceiveDrop: f, isDragging: y, isEditing: x, handleClick: k } = o, S = get(h, "_show", !0), B = (N) => {
|
|
@@ -7815,15 +7856,15 @@ const Input = ({ node: o }) => {
|
|
|
7815
7856
|
}, 500);
|
|
7816
7857
|
return () => clearTimeout(N);
|
|
7817
7858
|
}, [f, o, y]);
|
|
7818
|
-
const E = (N,
|
|
7819
|
-
const
|
|
7820
|
-
|
|
7821
|
-
const
|
|
7822
|
-
|
|
7859
|
+
const E = (N, O) => {
|
|
7860
|
+
const $ = i.contentDocument || i.contentWindow.document, M = $.querySelector(`[data-block-id=${N}]`);
|
|
7861
|
+
M && M.setAttribute("data-drop", O);
|
|
7862
|
+
const V = M.getBoundingClientRect(), H = i.getBoundingClientRect();
|
|
7863
|
+
V.top >= H.top && V.left >= H.left && V.bottom <= H.bottom && V.right <= H.right || ($.documentElement.scrollTop = M.offsetTop - H.top);
|
|
7823
7864
|
}, L = (N) => {
|
|
7824
7865
|
A();
|
|
7825
|
-
const
|
|
7826
|
-
|
|
7866
|
+
const O = get(o, "parent.id");
|
|
7867
|
+
O !== "__REACT_ARBORIST_INTERNAL_ROOT__" ? pubsub.publish(CHAI_BUILDER_EVENTS.OPEN_ADD_BLOCK, { _id: O, position: N }) : pubsub.publish(CHAI_BUILDER_EVENTS.OPEN_ADD_BLOCK, { position: N });
|
|
7827
7868
|
};
|
|
7828
7869
|
if (g === ROOT_TEMP_KEY)
|
|
7829
7870
|
return /* @__PURE__ */ jsxs("div", { className: "group relative w-full cursor-pointer", children: [
|
|
@@ -7843,7 +7884,7 @@ const Input = ({ node: o }) => {
|
|
|
7843
7884
|
),
|
|
7844
7885
|
/* @__PURE__ */ jsx("br", {})
|
|
7845
7886
|
] });
|
|
7846
|
-
const T = useMemo(() => has(h, "_libBlockId") && !isEmpty(h._libBlockId) && (c(PERMISSIONS.CREATE_LIBRARY_BLOCK) || c(PERMISSIONS.EDIT_LIBRARY_BLOCK)), [h, c]),
|
|
7887
|
+
const { librarySite: T } = useBuilderProp("_tempProps", { librarySite: !1 }), P = useMemo(() => T && has(h, "_libBlockId") && !isEmpty(h._libBlockId) && (c(PERMISSIONS.CREATE_LIBRARY_BLOCK) || c(PERMISSIONS.EDIT_LIBRARY_BLOCK)), [h, c, T]), R = useMemo(() => (h == null ? void 0 : h._type) === "PartialBlock" || (h == null ? void 0 : h._type) === "GlobalBlock", [h]);
|
|
7847
7888
|
return /* @__PURE__ */ jsx("div", { className: "w-full", children: /* @__PURE__ */ jsxs(
|
|
7848
7889
|
"div",
|
|
7849
7890
|
{
|
|
@@ -7865,7 +7906,7 @@ const Input = ({ node: o }) => {
|
|
|
7865
7906
|
N.preventDefault(), E(g, "no");
|
|
7866
7907
|
},
|
|
7867
7908
|
children: [
|
|
7868
|
-
c(PERMISSIONS.ADD_BLOCK) && (o == null ? void 0 : o.rowIndex) > 0 && (o.parent.isOpen && canAddChildBlock(get(o, "parent.data._type")) || ((
|
|
7909
|
+
c(PERMISSIONS.ADD_BLOCK) && (o == null ? void 0 : o.rowIndex) > 0 && (o.parent.isOpen && canAddChildBlock(get(o, "parent.data._type")) || ((D = o == null ? void 0 : o.parent) == null ? void 0 : D.id) === "__REACT_ARBORIST_INTERNAL_ROOT__") && /* @__PURE__ */ jsx("div", { className: "group relative ml-5 h-full w-full cursor-pointer", children: /* @__PURE__ */ jsx(
|
|
7869
7910
|
"div",
|
|
7870
7911
|
{
|
|
7871
7912
|
onClick: (N) => {
|
|
@@ -7887,7 +7928,7 @@ const Input = ({ node: o }) => {
|
|
|
7887
7928
|
(o == null ? void 0 : o.id) === v ? "bg-primary/10" : "",
|
|
7888
7929
|
y && "opacity-20",
|
|
7889
7930
|
S ? "" : "line-through opacity-50",
|
|
7890
|
-
|
|
7931
|
+
P && b && "bg-primary/20 text-primary"
|
|
7891
7932
|
),
|
|
7892
7933
|
children: [
|
|
7893
7934
|
/* @__PURE__ */ jsxs("div", { className: "flex items-center", children: [
|
|
@@ -7903,10 +7944,10 @@ const Input = ({ node: o }) => {
|
|
|
7903
7944
|
{
|
|
7904
7945
|
className: cn(
|
|
7905
7946
|
"leading-1 flex items-center",
|
|
7906
|
-
|
|
7907
|
-
|
|
7908
|
-
|
|
7909
|
-
|
|
7947
|
+
P && "text-orange-600/90",
|
|
7948
|
+
P && b && "text-orange-800",
|
|
7949
|
+
R && "text-purple-600/90",
|
|
7950
|
+
R && b && "text-purple-800"
|
|
7910
7951
|
),
|
|
7911
7952
|
children: [
|
|
7912
7953
|
/* @__PURE__ */ jsx(TypeIcon, { type: h == null ? void 0 : h._type }),
|
|
@@ -9141,7 +9182,7 @@ function DarkMode() {
|
|
|
9141
9182
|
onCheckedChange: () => {
|
|
9142
9183
|
n(!o);
|
|
9143
9184
|
},
|
|
9144
|
-
className: `${o ? "bg-violet-600" : "bg-violet-300"} relative ml-2 inline-flex h-[20px] w-[
|
|
9185
|
+
className: `${o ? "bg-violet-600" : "bg-violet-300"} relative ml-2 inline-flex h-[20px] w-[32px] shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors duration-200 ease-in-out focus:outline-none focus-visible:ring-2 focus-visible:ring-white focus-visible:ring-opacity-75`,
|
|
9145
9186
|
children: /* @__PURE__ */ jsx(
|
|
9146
9187
|
"span",
|
|
9147
9188
|
{
|
|
@@ -9400,8 +9441,8 @@ const ClearCanvas = () => {
|
|
|
9400
9441
|
}, v = useCallback((C) => {
|
|
9401
9442
|
const I = (E) => /[.,!?;:]/.test(E), A = (E, L, T) => {
|
|
9402
9443
|
let P = "", R = "";
|
|
9403
|
-
const
|
|
9404
|
-
return L > 0 && (
|
|
9444
|
+
const D = L > 0 ? E[L - 1] : "", N = L < E.length ? E[L] : "";
|
|
9445
|
+
return L > 0 && (D === "." || !I(D) && D !== " ") && (P = " "), L < E.length && !I(N) && N !== " " && (R = " "), {
|
|
9405
9446
|
text: P + T + R,
|
|
9406
9447
|
prefixLength: P.length,
|
|
9407
9448
|
suffixLength: R.length
|
|
@@ -9410,12 +9451,12 @@ const ClearCanvas = () => {
|
|
|
9410
9451
|
if (j) {
|
|
9411
9452
|
const E = j.selectionStart || 0, L = j.value || "", T = j.selectionEnd || E;
|
|
9412
9453
|
if (T > E) {
|
|
9413
|
-
const
|
|
9454
|
+
const O = `{{${C}}}`, { text: $ } = A(L, E, O), M = L.slice(0, E) + $ + L.slice(T);
|
|
9414
9455
|
p(M);
|
|
9415
9456
|
return;
|
|
9416
9457
|
}
|
|
9417
|
-
const R = `{{${C}}}`, { text:
|
|
9418
|
-
p(
|
|
9458
|
+
const R = `{{${C}}}`, { text: D } = A(L, E, R), N = L.slice(0, E) + D + L.slice(E);
|
|
9459
|
+
p(N);
|
|
9419
9460
|
}
|
|
9420
9461
|
}, []);
|
|
9421
9462
|
return /* @__PURE__ */ jsxs("div", { className: "flex max-h-full flex-1 flex-col", children: [
|
|
@@ -10557,7 +10598,7 @@ export {
|
|
|
10557
10598
|
getBlocksFromHTML as convertHTMLToChaiBlocks,
|
|
10558
10599
|
generateUUID as generateBlockId,
|
|
10559
10600
|
getBlocksFromHTML,
|
|
10560
|
-
|
|
10601
|
+
Ge as i18n,
|
|
10561
10602
|
cn$1 as mergeClasses,
|
|
10562
10603
|
registerBlockSettingField,
|
|
10563
10604
|
registerBlockSettingTemplate,
|
|
@@ -10623,7 +10664,7 @@ export {
|
|
|
10623
10664
|
useTheme,
|
|
10624
10665
|
useThemeOptions,
|
|
10625
10666
|
useToggleChaiFeatureFlag,
|
|
10626
|
-
|
|
10667
|
+
We as useTranslation,
|
|
10627
10668
|
useUndoManager,
|
|
10628
10669
|
useUpdateBlocksProps,
|
|
10629
10670
|
useUpdateBlocksPropsRealtime,
|
package/dist/sdk.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
:root{--background: 0 0% 100%;--foreground: 222.2 84% 4.9%;--card: 0 0% 100%;--card-foreground: 222.2 84% 4.9%;--popover: 0 0% 100%;--popover-foreground: 222.2 84% 4.9%;--primary: 221.2 83.2% 53.3%;--primary-foreground: 210 40% 98%;--secondary: 210 40% 96.1%;--secondary-foreground: 222.2 47.4% 11.2%;--muted: 210 40% 96.1%;--muted-foreground: 215.4 16.3% 46.9%;--accent: 210 40% 96.1%;--accent-foreground: 222.2 47.4% 11.2%;--destructive: 0 84.2% 60.2%;--destructive-foreground: 210 40% 98%;--border: 214.3 31.8% 91.4%;--input: 214.3 31.8% 91.4%;--ring: 221.2 83.2% 53.3%;--radius: .5rem;--chart-1: 12 76% 61%;--chart-2: 173 58% 39%;--chart-3: 197 37% 24%;--chart-4: 43 74% 66%;--chart-5: 27 87% 67%}.dark{--background: 222.2 84% 4.9%;--foreground: 210 40% 98%;--card: 222.2 84% 4.9%;--card-foreground: 210 40% 98%;--popover: 222.2 84% 4.9%;--popover-foreground: 210 40% 98%;--primary: 217.2 91.2% 59.8%;--primary-foreground: 222.2 47.4% 11.2%;--secondary: 217.2 32.6% 17.5%;--secondary-foreground: 210 40% 98%;--muted: 217.2 32.6% 17.5%;--muted-foreground: 215 20.2% 65.1%;--accent: 217.2 32.6% 17.5%;--accent-foreground: 210 40% 98%;--destructive: 0 62.8% 30.6%;--destructive-foreground: 210 40% 98%;--border: 217.2 32.6% 17.5%;--input: 217.2 32.6% 17.5%;--ring: 224.3 76.3% 48%;--chart-1: 220 70% 50%;--chart-2: 160 60% 45%;--chart-3: 30 80% 55%;--chart-4: 280 65% 60%;--chart-5: 340 75% 55%}.sheet-hide-close-btn>button{display:none!important}.no-scrollbar{-ms-overflow-style:none!important;scrollbar-width:none!important}.no-scrollbar::-webkit-scrollbar{display:none!important}[role=treeitem]:focus-visible{outline-width:0px!important}.rjsf input[type=color]{margin-top:-.25rem!important;width:3.5rem!important;border-style:none!important;padding:0!important}.rjsf{padding-left:0;padding-right:0}.rjsf .form-group{display:flex;flex-direction:column}.rjsf .form-group label{font-size:.75rem;line-height:1rem;font-weight:400;color:hsl(var(--muted-foreground))}.rjsf .form-group select{margin-top:.25rem;display:flex;width:100%;border-radius:calc(var(--radius) - 2px);border-width:1px;border-color:hsl(var(--border));background-color:hsl(var(--background));padding:.25rem .75rem;font-size:.875rem;line-height:1.25rem;--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.rjsf .form-group select::file-selector-button{border-width:0px;background-color:transparent;font-size:.875rem;line-height:1.25rem;font-weight:500}.rjsf .form-group select::-moz-placeholder{color:hsl(var(--muted-foreground))}.rjsf .form-group select::placeholder{color:hsl(var(--muted-foreground))}.rjsf .form-group select:focus-visible{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-color: hsl(var(--ring))}.rjsf .form-group select:disabled{cursor:not-allowed;opacity:.5}.rjsf .form-group input{margin-top:.25rem;display:flex;width:100%;border-radius:calc(var(--radius) - 2px);border-width:1px;border-color:hsl(var(--border));background-color:hsl(var(--background));padding:.25rem .75rem;font-size:.875rem;line-height:1.25rem;--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.rjsf .form-group input::file-selector-button{border-width:0px;background-color:transparent;font-size:.875rem;line-height:1.25rem;font-weight:500}.rjsf .form-group input::-moz-placeholder{color:hsl(var(--muted-foreground))}.rjsf .form-group input::placeholder{color:hsl(var(--muted-foreground))}.rjsf .form-group input:focus-visible{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-color: hsl(var(--ring))}.rjsf .form-group input:disabled{cursor:not-allowed;opacity:.5}.rjsf .form-group>textarea{margin-top:.25rem;display:flex;width:100%;border-radius:calc(var(--radius) - 2px);border-width:1px;border-color:hsl(var(--border));background-color:hsl(var(--background));padding:.25rem .75rem;font-size:.875rem;line-height:1.25rem;--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;-ms-overflow-style:none;scrollbar-width:none}.rjsf .form-group>textarea::-webkit-scrollbar{display:none}.rjsf .form-group>textarea::file-selector-button{border-width:0px;background-color:transparent;font-size:.875rem;line-height:1.25rem;font-weight:500}.rjsf .form-group>textarea::-moz-placeholder{color:hsl(var(--muted-foreground))}.rjsf .form-group>textarea::placeholder{color:hsl(var(--muted-foreground))}.rjsf .form-group>textarea:focus-visible{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-color: hsl(var(--ring))}.rjsf .form-group>textarea:disabled{cursor:not-allowed;opacity:.5}.rjsf>div>button[type=submit]{display:none}.rjsf>.form-group>fieldset>*{margin-bottom:.5rem;border-style:none;border-color:hsl(var(--border));padding-bottom:.25rem;padding-top:.25rem}.rjsf .form-group>.checkbox>label>span{margin-top:.25rem}.rjsf .form-group>.checkbox>label{display:flex;align-items:center;-moz-column-gap:.5rem;column-gap:.5rem}.array-item-list .array-item{position:relative;border-radius:.25rem;border-width:1px;padding:.5rem .5rem .75rem}.field-array>legend{display:none}.field-object>fieldset>legend{display:none}.field-object>fieldset>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}[type=text]:focus,input:where(:not([type])):focus,[type=email]:focus,[type=url]:focus,[type=password]:focus,[type=number]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=month]:focus,[type=search]:focus,[type=tel]:focus,[type=time]:focus,[type=week]:focus,[multiple]:focus,textarea:focus,select:focus{border-color:hsl(var(--border))!important;outline:2px solid transparent!important;outline-offset:2px!important;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color) !important;--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color) !important;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)!important;--tw-ring-color: transparent !important}.rjsf [type=checkbox]{width:1.5rem!important;padding:0!important}.rjsf [type=checkbox]:checked{background-color:hsl(var(--primary))}.array-item-list>:not([hidden])~:not([hidden]){margin-top:15px}.array-item-toolbox>.btn-group{position:absolute;bottom:-.625rem;right:0;z-index:50;border-radius:.25rem;border-width:1px;border-color:hsl(var(--border))}.array-item-toolbox>.btn-group>:not([hidden])~:not([hidden]){--tw-divide-x-reverse: 0;--tw-divide-opacity: 1}.array-item-toolbox>.btn-group{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity));--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity));font-family:ui-serif,Georgia,Cambria,Times New Roman,Times,serif}.array-item-toolbox>.btn-group>.btn{display:flex;cursor:pointer;align-items:center;justify-content:center;font-size:.6rem;line-height:1rem}.array-item-toolbox>.btn-group>.btn:hover:hover{--tw-bg-opacity: 1;background-color:rgb(241 245 249 / var(--tw-bg-opacity, 1))}.btn.btn-danger.array-item-remove:before{font-size:.6rem;--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity));--tw-content: "✖";content:var(--tw-content)}.btn.btn-default.array-item-move-up:before{--tw-text-opacity: 1;--tw-content: "↑"}.btn.btn-default.array-item-move-down:before,.btn.btn-default.array-item-move-up:before{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));color:rgb(17 24 39 / var(--tw-text-opacity));content:var(--tw-content)}.btn.btn-default.array-item-move-down:before{--tw-text-opacity: 1;--tw-content: "↓"}.react-colorful{height:150px!important;width:180px!important}.react-colorful>div{margin-bottom:4px}.react-colorful__saturation{border-radius:4px!important}.react-colorful__hue,.react-colorful__alpha{height:12px!important;border-radius:4px!important}.react-colorful__pointer{width:16px!important;height:16px!important;border:1.5px solid #fff!important}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit!important}
|
|
1
|
+
:root{--background: 0 0% 100%;--foreground: 222.2 84% 4.9%;--card: 0 0% 100%;--card-foreground: 222.2 84% 4.9%;--popover: 0 0% 100%;--popover-foreground: 222.2 84% 4.9%;--primary: 221.2 83.2% 53.3%;--primary-foreground: 210 40% 98%;--secondary: 210 40% 96.1%;--secondary-foreground: 222.2 47.4% 11.2%;--muted: 210 40% 96.1%;--muted-foreground: 215.4 16.3% 46.9%;--accent: 210 40% 96.1%;--accent-foreground: 222.2 47.4% 11.2%;--destructive: 0 84.2% 60.2%;--destructive-foreground: 210 40% 98%;--border: 214.3 31.8% 91.4%;--input: 214.3 31.8% 91.4%;--ring: 221.2 83.2% 53.3%;--radius: .5rem;--chart-1: 12 76% 61%;--chart-2: 173 58% 39%;--chart-3: 197 37% 24%;--chart-4: 43 74% 66%;--chart-5: 27 87% 67%}.dark{--background: 222.2 84% 4.9%;--foreground: 210 40% 98%;--card: 222.2 84% 4.9%;--card-foreground: 210 40% 98%;--popover: 222.2 84% 4.9%;--popover-foreground: 210 40% 98%;--primary: 217.2 91.2% 59.8%;--primary-foreground: 222.2 47.4% 11.2%;--secondary: 217.2 32.6% 17.5%;--secondary-foreground: 210 40% 98%;--muted: 217.2 32.6% 17.5%;--muted-foreground: 215 20.2% 65.1%;--accent: 217.2 32.6% 17.5%;--accent-foreground: 210 40% 98%;--destructive: 0 62.8% 30.6%;--destructive-foreground: 210 40% 98%;--border: 217.2 32.6% 17.5%;--input: 217.2 32.6% 17.5%;--ring: 224.3 76.3% 48%;--chart-1: 220 70% 50%;--chart-2: 160 60% 45%;--chart-3: 30 80% 55%;--chart-4: 280 65% 60%;--chart-5: 340 75% 55%}.sheet-hide-close-btn>button{display:none!important}.no-scrollbar{-ms-overflow-style:none!important;scrollbar-width:none!important}.no-scrollbar::-webkit-scrollbar{display:none!important}[role=treeitem]:focus-visible{outline-width:0px!important}.rjsf input[type=color]{margin-top:-.25rem!important;width:3.5rem!important;border-style:none!important;padding:0!important}.rjsf{padding-left:0;padding-right:0}.rjsf .form-group{display:flex;flex-direction:column}.rjsf .form-group label{font-size:.75rem;line-height:1rem;font-weight:400;color:hsl(var(--muted-foreground))}.rjsf .form-group select{margin-top:.25rem;display:flex;width:100%;border-radius:calc(var(--radius) - 2px);border-width:1px;border-color:hsl(var(--border));background-color:hsl(var(--background));padding:.25rem .75rem;font-size:.875rem;line-height:1.25rem;--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.rjsf .form-group select::file-selector-button{border-width:0px;background-color:transparent;font-size:.875rem;line-height:1.25rem;font-weight:500}.rjsf .form-group select::-moz-placeholder{color:hsl(var(--muted-foreground))}.rjsf .form-group select::placeholder{color:hsl(var(--muted-foreground))}.rjsf .form-group select:focus-visible{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-color: hsl(var(--ring))}.rjsf .form-group select:disabled{cursor:not-allowed;opacity:.5}.rjsf .form-group input{margin-top:.25rem;display:flex;width:100%;border-radius:calc(var(--radius) - 2px);border-width:1px;border-color:hsl(var(--border));background-color:hsl(var(--background));padding:.25rem .75rem;font-size:.875rem;line-height:1.25rem;--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.rjsf .form-group input::file-selector-button{border-width:0px;background-color:transparent;font-size:.875rem;line-height:1.25rem;font-weight:500}.rjsf .form-group input::-moz-placeholder{color:hsl(var(--muted-foreground))}.rjsf .form-group input::placeholder{color:hsl(var(--muted-foreground))}.rjsf .form-group input:focus-visible{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-color: hsl(var(--ring))}.rjsf .form-group input:disabled{cursor:not-allowed;opacity:.5}.rjsf .form-group>textarea{margin-top:.25rem;display:flex;width:100%;border-radius:calc(var(--radius) - 2px);border-width:1px;border-color:hsl(var(--border));background-color:hsl(var(--background));padding:.25rem .75rem;font-size:.875rem;line-height:1.25rem;--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;-ms-overflow-style:none;scrollbar-width:none}.rjsf .form-group>textarea::-webkit-scrollbar{display:none}.rjsf .form-group>textarea::file-selector-button{border-width:0px;background-color:transparent;font-size:.875rem;line-height:1.25rem;font-weight:500}.rjsf .form-group>textarea::-moz-placeholder{color:hsl(var(--muted-foreground))}.rjsf .form-group>textarea::placeholder{color:hsl(var(--muted-foreground))}.rjsf .form-group>textarea:focus-visible{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-color: hsl(var(--ring))}.rjsf .form-group>textarea:disabled{cursor:not-allowed;opacity:.5}.rjsf>div>button[type=submit]{display:none}.rjsf>.form-group>fieldset>*{margin-bottom:.5rem;border-style:none;border-color:hsl(var(--border));padding-bottom:.25rem;padding-top:.25rem}.rjsf .form-group>.checkbox>label>span{margin-top:.25rem}.rjsf .form-group>.checkbox>label{display:flex;align-items:center;-moz-column-gap:.5rem;column-gap:.5rem}.array-item-list .array-item{position:relative;border-radius:.25rem;border-width:1px;padding:.5rem .5rem .75rem}.field-array>legend{display:none}.field-object>fieldset>legend{display:none}.field-object>fieldset>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}[type=text]:focus,input:where(:not([type])):focus,[type=email]:focus,[type=url]:focus,[type=password]:focus,[type=number]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=month]:focus,[type=search]:focus,[type=tel]:focus,[type=time]:focus,[type=week]:focus,[multiple]:focus,textarea:focus,select:focus{border-color:hsl(var(--border))!important;outline:2px solid transparent!important;outline-offset:2px!important;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color) !important;--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color) !important;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)!important;--tw-ring-color: transparent !important}.rjsf [type=checkbox]{width:1.5rem!important;padding:0!important}.rjsf [type=checkbox]:checked{background-color:hsl(var(--primary))}.array-item-list>:not([hidden])~:not([hidden]){margin-top:15px}.array-item-toolbox>.btn-group{position:absolute;bottom:-.625rem;right:0;z-index:50;border-radius:.25rem;border-width:1px;border-color:hsl(var(--border))}.array-item-toolbox>.btn-group>:not([hidden])~:not([hidden]){--tw-divide-x-reverse: 0;--tw-divide-opacity: 1}.array-item-toolbox>.btn-group{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity));--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity));font-family:ui-serif,Georgia,Cambria,Times New Roman,Times,serif}.array-item-toolbox>.btn-group>.btn{display:flex;cursor:pointer;align-items:center;justify-content:center;font-size:.6rem;line-height:1rem}.array-item-toolbox>.btn-group>.btn:hover:hover{--tw-bg-opacity: 1;background-color:rgb(241 245 249 / var(--tw-bg-opacity, 1))}.btn.btn-danger.array-item-remove:before{font-size:.6rem;--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity));--tw-content: "✖";content:var(--tw-content)}.btn.btn-default.array-item-move-up:before{--tw-text-opacity: 1;--tw-content: "↑"}.btn.btn-default.array-item-move-down:before,.btn.btn-default.array-item-move-up:before{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));color:rgb(17 24 39 / var(--tw-text-opacity));content:var(--tw-content)}.btn.btn-default.array-item-move-down:before{--tw-text-opacity: 1;--tw-content: "↓"}.react-colorful{height:150px!important;width:180px!important}.react-colorful>div{margin-bottom:4px}.react-colorful__saturation{border-radius:4px!important}.react-colorful__hue,.react-colorful__alpha{height:12px!important;border-radius:4px!important}.react-colorful__pointer{width:16px!important;height:16px!important;border:1.5px solid #fff!important}.rte h1{font-size:1.5rem;line-height:2rem}.rte h2{font-size:1.25rem;line-height:1.75rem}.rte h3{font-size:1.125rem;line-height:1.75rem}.rte h4{font-size:1rem;line-height:1.5rem}.rte h5{font-size:.875rem;line-height:1.25rem}.rte h6{font-size:.75rem;line-height:1rem}.rte p:empty{height:1rem}.rte ul{list-style-type:disc}.rte ul{padding-left:1rem}.rte ul{font-size:1rem;line-height:1.5rem}.rte ol{list-style-type:decimal}.rte ol{padding-left:1rem}.rte ol{font-size:1rem;line-height:1.5rem}.rte li>p{margin:0}.rte blockquote{padding-left:1rem}.rte blockquote{font-size:1rem;line-height:1.5rem}.rte blockquote p{padding-left:1rem}.rte blockquote p{font-size:1rem;line-height:1.5rem}
|