@underverse-ui/underverse 2.0.29 → 2.0.30
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/api-reference.json +1 -1
- package/dist/{EmojiPicker-NV3GQYWI.js → EmojiPicker-ISJ6RXYG.js} +4 -4
- package/dist/{chunk-LK6YWBI6.js → chunk-2P7TSXEE.js} +82 -25
- package/dist/chunk-2P7TSXEE.js.map +1 -0
- package/dist/{chunk-5QWYO527.js → chunk-37MHVJMV.js} +846 -90
- package/dist/chunk-37MHVJMV.js.map +1 -0
- package/dist/{chunk-XTZTUDRE.js → chunk-57BKIC6J.js} +711 -800
- package/dist/chunk-57BKIC6J.js.map +1 -0
- package/dist/{chunk-LRIRY4DG.js → chunk-5W63IHIN.js} +11 -3
- package/dist/chunk-5W63IHIN.js.map +1 -0
- package/dist/{chunk-F7MX3XXK.js → chunk-S4UHFRL3.js} +3 -3
- package/dist/{chunk-A4GUPKHM.js → chunk-ZP7F4ZD7.js} +63 -43
- package/dist/chunk-ZP7F4ZD7.js.map +1 -0
- package/dist/index.cjs +2225 -1311
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +55 -0
- package/dist/index.d.ts +55 -0
- package/dist/index.js +23 -10
- package/dist/index.js.map +1 -1
- package/dist/{menu-bar-AHG64PEB.js → menu-bar-DPCNNUX5.js} +193 -47
- package/dist/menu-bar-DPCNNUX5.js.map +1 -0
- package/dist/ueditor.cjs +9407 -8506
- package/dist/ueditor.cjs.map +1 -1
- package/dist/ueditor.d.cts +10 -0
- package/dist/ueditor.d.ts +10 -0
- package/dist/ueditor.js +4 -4
- package/package.json +2 -1
- package/dist/chunk-5QWYO527.js.map +0 -1
- package/dist/chunk-A4GUPKHM.js.map +0 -1
- package/dist/chunk-LK6YWBI6.js.map +0 -1
- package/dist/chunk-LRIRY4DG.js.map +0 -1
- package/dist/chunk-XTZTUDRE.js.map +0 -1
- package/dist/menu-bar-AHG64PEB.js.map +0 -1
- /package/dist/{EmojiPicker-NV3GQYWI.js.map → EmojiPicker-ISJ6RXYG.js.map} +0 -0
- /package/dist/{chunk-F7MX3XXK.js.map → chunk-S4UHFRL3.js.map} +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
cn
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-ZP7F4ZD7.js";
|
|
4
4
|
|
|
5
5
|
// src/components/emoji-ui.tsx
|
|
6
6
|
import React from "react";
|
|
@@ -32,12 +32,20 @@ function setEmojiBaseUrl(url) {
|
|
|
32
32
|
function getEmojiImageUrl(unified) {
|
|
33
33
|
return `${globalEmojiBaseUrl}/${unified}.png`;
|
|
34
34
|
}
|
|
35
|
-
var EmojiGridButton = ({
|
|
35
|
+
var EmojiGridButton = ({
|
|
36
|
+
emoji,
|
|
37
|
+
name,
|
|
38
|
+
onClick,
|
|
39
|
+
className,
|
|
40
|
+
active = false,
|
|
41
|
+
...buttonProps
|
|
42
|
+
}) => {
|
|
36
43
|
const [hasError, setHasError] = React.useState(false);
|
|
37
44
|
const unified = React.useMemo(() => getEmojiUnifiedCode(emoji), [emoji]);
|
|
38
45
|
return /* @__PURE__ */ jsx(
|
|
39
46
|
"button",
|
|
40
47
|
{
|
|
48
|
+
...buttonProps,
|
|
41
49
|
type: "button",
|
|
42
50
|
"aria-label": formatEmojiName(name),
|
|
43
51
|
title: formatEmojiName(name),
|
|
@@ -71,4 +79,4 @@ export {
|
|
|
71
79
|
getEmojiImageUrl,
|
|
72
80
|
EmojiGridButton
|
|
73
81
|
};
|
|
74
|
-
//# sourceMappingURL=chunk-
|
|
82
|
+
//# sourceMappingURL=chunk-5W63IHIN.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/emoji-ui.tsx"],"sourcesContent":["\"use client\";\n\nimport React from \"react\";\nimport { cn } from \"../utils/cn\";\n\nexport function formatEmojiName(name: string) {\n return name.replaceAll(\"_\", \" \");\n}\n\nexport function formatEmojiCountLabel(template: string, shown: number, total: number) {\n return template\n .replace(\"{shown}\", String(shown))\n .replace(\"{total}\", String(total));\n}\n\n/**\n * Converts a Unicode emoji string into a lowercase hyphenated hex code point format\n * used by emoji CDNs (e.g. \"😀\" -> \"1f600\", \"#️⃣\" -> \"0023-fe0f-20e3\").\n */\nexport function getEmojiUnifiedCode(emoji: string): string {\n const codePoints = [];\n for (let i = 0; i < emoji.length; ) {\n const codePoint = emoji.codePointAt(i);\n if (codePoint === undefined) break;\n let hex = codePoint.toString(16).toLowerCase();\n if (hex.length < 4) {\n hex = hex.padStart(4, \"0\");\n }\n codePoints.push(hex);\n i += codePoint > 0xffff ? 2 : 1;\n }\n return codePoints.join(\"-\");\n}\n\nlet globalEmojiBaseUrl = \"/emojis\";\n\n/**\n * Configure a custom base URL for loading emoji image assets (e.g. `/emojis` for local offline storage).\n * If not set, defaults to jsDelivr CDN.\n */\nexport function setEmojiBaseUrl(url: string) {\n globalEmojiBaseUrl = url.endsWith(\"/\") ? url.slice(0, -1) : url;\n}\n\n/**\n * Resolves the final image URL for a given unified emoji code.\n */\nexport function getEmojiImageUrl(unified: string): string {\n return `${globalEmojiBaseUrl}/${unified}.png`;\n}\n\nexport const EmojiGridButton: React.FC<{\n emoji: string;\n name: string;\n onClick: () => void;\n className?: string;\n active?: boolean;\n} & Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, \"children\" | \"className\" | \"onClick\">> = ({\n emoji,\n name,\n onClick,\n className,\n active = false,\n ...buttonProps\n}) => {\n const [hasError, setHasError] = React.useState(false);\n const unified = React.useMemo(() => getEmojiUnifiedCode(emoji), [emoji]);\n\n return (\n <button\n {...buttonProps}\n type=\"button\"\n aria-label={formatEmojiName(name)}\n title={formatEmojiName(name)}\n onClick={onClick}\n className={cn(\n \"group flex h-9 w-9 items-center justify-center rounded-xl transition-all duration-300\",\n \"bg-transparent hover:bg-primary/10 border border-transparent hover:border-primary/20\",\n \"focus:outline-none focus:ring-2 focus:ring-primary/20\",\n \"scale-100 hover:scale-110 active:scale-95\",\n active ? \"bg-primary/15 border-primary/30 ring-2 ring-primary/20\" : \"\",\n className,\n )}\n >\n {hasError ? (\n <span className=\"text-2xl transition-transform duration-300 group-hover:rotate-6\">{emoji}</span>\n ) : (\n <img\n src={getEmojiImageUrl(unified)}\n alt={emoji}\n onError={() => setHasError(true)}\n className=\"h-6.5 w-6.5 object-contain transition-all duration-300 group-hover:rotate-6 group-hover:drop-shadow-[0_2px_5px_rgba(0,0,0,0.15)]\"\n loading=\"lazy\"\n />\n )}\n </button>\n );\n};\n"],"mappings":";;;;;AAEA,OAAO,WAAW;AAmFV;AAhFD,SAAS,gBAAgB,MAAc;AAC5C,SAAO,KAAK,WAAW,KAAK,GAAG;AACjC;AAEO,SAAS,sBAAsB,UAAkB,OAAe,OAAe;AACpF,SAAO,SACJ,QAAQ,WAAW,OAAO,KAAK,CAAC,EAChC,QAAQ,WAAW,OAAO,KAAK,CAAC;AACrC;AAMO,SAAS,oBAAoB,OAAuB;AACzD,QAAM,aAAa,CAAC;AACpB,WAAS,IAAI,GAAG,IAAI,MAAM,UAAU;AAClC,UAAM,YAAY,MAAM,YAAY,CAAC;AACrC,QAAI,cAAc,OAAW;AAC7B,QAAI,MAAM,UAAU,SAAS,EAAE,EAAE,YAAY;AAC7C,QAAI,IAAI,SAAS,GAAG;AAClB,YAAM,IAAI,SAAS,GAAG,GAAG;AAAA,IAC3B;AACA,eAAW,KAAK,GAAG;AACnB,SAAK,YAAY,QAAS,IAAI;AAAA,EAChC;AACA,SAAO,WAAW,KAAK,GAAG;AAC5B;AAEA,IAAI,qBAAqB;AAMlB,SAAS,gBAAgB,KAAa;AAC3C,uBAAqB,IAAI,SAAS,GAAG,IAAI,IAAI,MAAM,GAAG,EAAE,IAAI;AAC9D;AAKO,SAAS,iBAAiB,SAAyB;AACxD,SAAO,GAAG,kBAAkB,IAAI,OAAO;AACzC;AAEO,IAAM,kBAMoF,CAAC;AAAA,EAChG;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,SAAS;AAAA,EACT,GAAG;AACL,MAAM;AACJ,QAAM,CAAC,UAAU,WAAW,IAAI,MAAM,SAAS,KAAK;AACpD,QAAM,UAAU,MAAM,QAAQ,MAAM,oBAAoB,KAAK,GAAG,CAAC,KAAK,CAAC;AAEvE,SACE;AAAA,IAAC;AAAA;AAAA,MACE,GAAG;AAAA,MACJ,MAAK;AAAA,MACL,cAAY,gBAAgB,IAAI;AAAA,MAChC,OAAO,gBAAgB,IAAI;AAAA,MAC3B;AAAA,MACA,WAAW;AAAA,QACT;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,SAAS,2DAA2D;AAAA,QACpE;AAAA,MACF;AAAA,MAEC,qBACC,oBAAC,UAAK,WAAU,mEAAmE,iBAAM,IAEzF;AAAA,QAAC;AAAA;AAAA,UACC,KAAK,iBAAiB,OAAO;AAAA,UAC7B,KAAK;AAAA,UACL,SAAS,MAAM,YAAY,IAAI;AAAA,UAC/B,WAAU;AAAA,UACV,SAAQ;AAAA;AAAA,MACV;AAAA;AAAA,EAEJ;AAEJ;","names":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
EmojiGridButton
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-5W63IHIN.js";
|
|
4
4
|
import {
|
|
5
5
|
EMOJI_LIST
|
|
6
6
|
} from "./chunk-4TYW5K4J.js";
|
|
@@ -9,7 +9,7 @@ import {
|
|
|
9
9
|
cn,
|
|
10
10
|
formControlOutlineClass,
|
|
11
11
|
useSmartTranslations
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-ZP7F4ZD7.js";
|
|
13
13
|
|
|
14
14
|
// src/components/EmojiPicker.tsx
|
|
15
15
|
import { useEffect, useMemo, useRef, useState } from "react";
|
|
@@ -205,4 +205,4 @@ export {
|
|
|
205
205
|
EmojiPicker,
|
|
206
206
|
EmojiPicker_default
|
|
207
207
|
};
|
|
208
|
-
//# sourceMappingURL=chunk-
|
|
208
|
+
//# sourceMappingURL=chunk-S4UHFRL3.js.map
|
|
@@ -190,6 +190,9 @@ var en_default = {
|
|
|
190
190
|
loading: "Loading editor...",
|
|
191
191
|
words: "words",
|
|
192
192
|
characters: "characters",
|
|
193
|
+
accessibility: {
|
|
194
|
+
editorLabel: "Rich text editor"
|
|
195
|
+
},
|
|
193
196
|
colors: {
|
|
194
197
|
default: "Default",
|
|
195
198
|
muted: "Muted",
|
|
@@ -314,6 +317,7 @@ var en_default = {
|
|
|
314
317
|
uploadTab: "Upload",
|
|
315
318
|
urlLabel: "Image URL",
|
|
316
319
|
urlPlaceholder: "https://example.com/image.jpg",
|
|
320
|
+
invalid: "Enter a valid image URL, such as https://example.com/image.jpg.",
|
|
317
321
|
uploadLabel: "Choose Image",
|
|
318
322
|
uploadPlaceholder: "Click to upload image",
|
|
319
323
|
uploading: "Uploading...",
|
|
@@ -441,7 +445,8 @@ var en_default = {
|
|
|
441
445
|
unnamed: "Unnamed file",
|
|
442
446
|
uploading: "(Uploading...)",
|
|
443
447
|
uploadFailed: "Upload failed",
|
|
444
|
-
retryUpload: "Retry upload"
|
|
448
|
+
retryUpload: "Retry upload",
|
|
449
|
+
download: "Download {name}"
|
|
445
450
|
},
|
|
446
451
|
menubar: {
|
|
447
452
|
file: "File",
|
|
@@ -521,7 +526,8 @@ var en_default = {
|
|
|
521
526
|
copyHtml: "Copy HTML",
|
|
522
527
|
exportDefault: "Export HTML",
|
|
523
528
|
previewEmpty: "Nothing to preview.",
|
|
524
|
-
sourceCodeHint: "Edit HTML directly and click Apply to update the editor."
|
|
529
|
+
sourceCodeHint: "Edit HTML directly and click Apply to update the editor.",
|
|
530
|
+
invalidSource: "The HTML contains content this editor cannot read. Fix it and try again."
|
|
525
531
|
}
|
|
526
532
|
}
|
|
527
533
|
};
|
|
@@ -645,6 +651,9 @@ var vi_default = {
|
|
|
645
651
|
loading: "\u0110ang t\u1EA3i tr\xECnh so\u1EA1n th\u1EA3o...",
|
|
646
652
|
words: "t\u1EEB",
|
|
647
653
|
characters: "k\xFD t\u1EF1",
|
|
654
|
+
accessibility: {
|
|
655
|
+
editorLabel: "Tr\xECnh so\u1EA1n th\u1EA3o v\u0103n b\u1EA3n"
|
|
656
|
+
},
|
|
648
657
|
colors: {
|
|
649
658
|
default: "M\u1EB7c \u0111\u1ECBnh",
|
|
650
659
|
muted: "M\u1EDD",
|
|
@@ -769,6 +778,7 @@ var vi_default = {
|
|
|
769
778
|
uploadTab: "T\u1EA3i l\xEAn",
|
|
770
779
|
urlLabel: "URL h\xECnh \u1EA3nh",
|
|
771
780
|
urlPlaceholder: "https://example.com/image.jpg",
|
|
781
|
+
invalid: "Nh\u1EADp URL \u1EA3nh h\u1EE3p l\u1EC7, v\xED d\u1EE5 https://example.com/image.jpg.",
|
|
772
782
|
uploadLabel: "Ch\u1ECDn h\xECnh \u1EA3nh",
|
|
773
783
|
uploadPlaceholder: "Nh\u1EA5n \u0111\u1EC3 t\u1EA3i \u1EA3nh l\xEAn",
|
|
774
784
|
uploading: "\u0110ang t\u1EA3i l\xEAn...",
|
|
@@ -896,7 +906,8 @@ var vi_default = {
|
|
|
896
906
|
unnamed: "T\u1EC7p kh\xF4ng t\xEAn",
|
|
897
907
|
uploading: "(\u0110ang t\u1EA3i l\xEAn...)",
|
|
898
908
|
uploadFailed: "T\u1EA3i l\xEAn th\u1EA5t b\u1EA1i",
|
|
899
|
-
retryUpload: "T\u1EA3i l\u1EA1i"
|
|
909
|
+
retryUpload: "T\u1EA3i l\u1EA1i",
|
|
910
|
+
download: "T\u1EA3i xu\u1ED1ng {name}"
|
|
900
911
|
},
|
|
901
912
|
menubar: {
|
|
902
913
|
file: "T\u1EADp tin",
|
|
@@ -976,7 +987,8 @@ var vi_default = {
|
|
|
976
987
|
copyHtml: "Sao ch\xE9p HTML",
|
|
977
988
|
exportDefault: "Xu\u1EA5t HTML",
|
|
978
989
|
previewEmpty: "Kh\xF4ng c\xF3 n\u1ED9i dung \u0111\u1EC3 xem tr\u01B0\u1EDBc.",
|
|
979
|
-
sourceCodeHint: "Ch\u1EC9nh s\u1EEDa HTML tr\u1EF1c ti\u1EBFp v\xE0 nh\u1EA5n \xC1p d\u1EE5ng \u0111\u1EC3 c\u1EADp nh\u1EADt n\u1ED9i dung."
|
|
990
|
+
sourceCodeHint: "Ch\u1EC9nh s\u1EEDa HTML tr\u1EF1c ti\u1EBFp v\xE0 nh\u1EA5n \xC1p d\u1EE5ng \u0111\u1EC3 c\u1EADp nh\u1EADt n\u1ED9i dung.",
|
|
991
|
+
invalidSource: "HTML ch\u1EE9a n\u1ED9i dung m\xE0 tr\xECnh so\u1EA1n th\u1EA3o kh\xF4ng th\u1EC3 \u0111\u1ECDc. Vui l\xF2ng s\u1EEDa r\u1ED3i th\u1EED l\u1EA1i."
|
|
980
992
|
}
|
|
981
993
|
}
|
|
982
994
|
};
|
|
@@ -1100,6 +1112,9 @@ var ko_default = {
|
|
|
1100
1112
|
loading: "\uC5D0\uB514\uD130 \uB85C\uB529 \uC911...",
|
|
1101
1113
|
words: "\uB2E8\uC5B4",
|
|
1102
1114
|
characters: "\uC790",
|
|
1115
|
+
accessibility: {
|
|
1116
|
+
editorLabel: "\uC11C\uC2DD \uC788\uB294 \uD14D\uC2A4\uD2B8 \uD3B8\uC9D1\uAE30"
|
|
1117
|
+
},
|
|
1103
1118
|
colors: {
|
|
1104
1119
|
default: "\uAE30\uBCF8",
|
|
1105
1120
|
muted: "\uD750\uB9BC",
|
|
@@ -1224,6 +1239,7 @@ var ko_default = {
|
|
|
1224
1239
|
uploadTab: "\uC5C5\uB85C\uB4DC",
|
|
1225
1240
|
urlLabel: "\uC774\uBBF8\uC9C0 URL",
|
|
1226
1241
|
urlPlaceholder: "https://example.com/image.jpg",
|
|
1242
|
+
invalid: "https://example.com/image.jpg\uC640 \uAC19\uC740 \uC62C\uBC14\uB978 \uC774\uBBF8\uC9C0 URL\uC744 \uC785\uB825\uD574 \uC8FC\uC138\uC694.",
|
|
1227
1243
|
uploadLabel: "\uC774\uBBF8\uC9C0 \uC120\uD0DD",
|
|
1228
1244
|
uploadPlaceholder: "\uD074\uB9AD\uD558\uC5EC \uC774\uBBF8\uC9C0 \uC5C5\uB85C\uB4DC",
|
|
1229
1245
|
uploading: "\uC5C5\uB85C\uB4DC \uC911...",
|
|
@@ -1351,7 +1367,8 @@ var ko_default = {
|
|
|
1351
1367
|
unnamed: "\uC774\uB984 \uC5C6\uB294 \uD30C\uC77C",
|
|
1352
1368
|
uploading: "(\uC5C5\uB85C\uB4DC \uC911...)",
|
|
1353
1369
|
uploadFailed: "\uC5C5\uB85C\uB4DC\uC5D0 \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4.",
|
|
1354
|
-
retryUpload: "\uB2E4\uC2DC \uC5C5\uB85C\uB4DC"
|
|
1370
|
+
retryUpload: "\uB2E4\uC2DC \uC5C5\uB85C\uB4DC",
|
|
1371
|
+
download: "{name} \uB2E4\uC6B4\uB85C\uB4DC"
|
|
1355
1372
|
},
|
|
1356
1373
|
menubar: {
|
|
1357
1374
|
file: "\uD30C\uC77C",
|
|
@@ -1431,7 +1448,8 @@ var ko_default = {
|
|
|
1431
1448
|
copyHtml: "HTML \uBCF5\uC0AC",
|
|
1432
1449
|
exportDefault: "HTML \uCD94\uCD9C",
|
|
1433
1450
|
previewEmpty: "\uBBF8\uB9AC\uBCFC \uB0B4\uC6A9\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.",
|
|
1434
|
-
sourceCodeHint: "HTML\uC744 \uC9C1\uC811 \uD3B8\uC9D1\uD558\uACE0 \uC801\uC6A9\uC744 \uD074\uB9AD\uD558\uC5EC \uC5D0\uB514\uD130\uB97C \uC5C5\uB370\uC774\uD2B8\uD558\uC138\uC694."
|
|
1451
|
+
sourceCodeHint: "HTML\uC744 \uC9C1\uC811 \uD3B8\uC9D1\uD558\uACE0 \uC801\uC6A9\uC744 \uD074\uB9AD\uD558\uC5EC \uC5D0\uB514\uD130\uB97C \uC5C5\uB370\uC774\uD2B8\uD558\uC138\uC694.",
|
|
1452
|
+
invalidSource: "\uD3B8\uC9D1\uAE30\uC5D0\uC11C \uC77D\uC744 \uC218 \uC5C6\uB294 \uB0B4\uC6A9\uC774 HTML\uC5D0 \uD3EC\uD568\uB418\uC5B4 \uC788\uC2B5\uB2C8\uB2E4. \uC218\uC815\uD55C \uD6C4 \uB2E4\uC2DC \uC2DC\uB3C4\uD574 \uC8FC\uC138\uC694."
|
|
1435
1453
|
}
|
|
1436
1454
|
}
|
|
1437
1455
|
};
|
|
@@ -1555,6 +1573,9 @@ var ja_default = {
|
|
|
1555
1573
|
loading: "\u30A8\u30C7\u30A3\u30BF\u3092\u8AAD\u307F\u8FBC\u307F\u4E2D...",
|
|
1556
1574
|
words: "\u5358\u8A9E",
|
|
1557
1575
|
characters: "\u6587\u5B57",
|
|
1576
|
+
accessibility: {
|
|
1577
|
+
editorLabel: "\u30EA\u30C3\u30C1\u30C6\u30AD\u30B9\u30C8\u30A8\u30C7\u30A3\u30BF\u30FC"
|
|
1578
|
+
},
|
|
1558
1579
|
colors: {
|
|
1559
1580
|
default: "\u30C7\u30D5\u30A9\u30EB\u30C8",
|
|
1560
1581
|
muted: "\u30DF\u30E5\u30FC\u30C8",
|
|
@@ -1679,6 +1700,7 @@ var ja_default = {
|
|
|
1679
1700
|
uploadTab: "\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9",
|
|
1680
1701
|
urlLabel: "\u753B\u50CF URL",
|
|
1681
1702
|
urlPlaceholder: "https://example.com/image.jpg",
|
|
1703
|
+
invalid: "https://example.com/image.jpg \u306E\u3088\u3046\u306A\u6709\u52B9\u306A\u753B\u50CF URL \u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044\u3002",
|
|
1682
1704
|
uploadLabel: "\u753B\u50CF\u3092\u9078\u629E",
|
|
1683
1705
|
uploadPlaceholder: "\u30AF\u30EA\u30C3\u30AF\u3057\u3066\u753B\u50CF\u3092\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9",
|
|
1684
1706
|
uploading: "\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\u4E2D...",
|
|
@@ -1806,7 +1828,8 @@ var ja_default = {
|
|
|
1806
1828
|
unnamed: "\u540D\u524D\u306A\u3057\u30D5\u30A1\u30A4\u30EB",
|
|
1807
1829
|
uploading: "(\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\u4E2D...)",
|
|
1808
1830
|
uploadFailed: "\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\u5931\u6557",
|
|
1809
|
-
retryUpload: "\u518D\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9"
|
|
1831
|
+
retryUpload: "\u518D\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9",
|
|
1832
|
+
download: "{name}\u3092\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9"
|
|
1810
1833
|
},
|
|
1811
1834
|
menubar: {
|
|
1812
1835
|
file: "\u30D5\u30A1\u30A4\u30EB",
|
|
@@ -1886,7 +1909,8 @@ var ja_default = {
|
|
|
1886
1909
|
copyHtml: "HTML\u3092\u30B3\u30D4\u30FC",
|
|
1887
1910
|
exportDefault: "HTML\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8",
|
|
1888
1911
|
previewEmpty: "\u30D7\u30EC\u30D3\u30E5\u30FC\u3059\u308B\u30B3\u30F3\u30C6\u30F3\u30C4\u304C\u3042\u308A\u307E\u305B\u3093\u3002",
|
|
1889
|
-
sourceCodeHint: "HTML\u3092\u76F4\u63A5\u7DE8\u96C6\u3057\u3001\u9069\u7528\u3092\u30AF\u30EA\u30C3\u30AF\u3057\u3066\u30A8\u30C7\u30A3\u30BF\u30FC\u3092\u66F4\u65B0\u3057\u307E\u3059\u3002"
|
|
1912
|
+
sourceCodeHint: "HTML\u3092\u76F4\u63A5\u7DE8\u96C6\u3057\u3001\u9069\u7528\u3092\u30AF\u30EA\u30C3\u30AF\u3057\u3066\u30A8\u30C7\u30A3\u30BF\u30FC\u3092\u66F4\u65B0\u3057\u307E\u3059\u3002",
|
|
1913
|
+
invalidSource: "\u30A8\u30C7\u30A3\u30BF\u30FC\u3067\u8AAD\u307F\u8FBC\u3081\u306A\u3044\u5185\u5BB9\u304C HTML \u306B\u542B\u307E\u308C\u3066\u3044\u307E\u3059\u3002\u4FEE\u6B63\u3057\u3066\u3082\u3046\u4E00\u5EA6\u304A\u8A66\u3057\u304F\u3060\u3055\u3044\u3002"
|
|
1890
1914
|
}
|
|
1891
1915
|
}
|
|
1892
1916
|
};
|
|
@@ -2144,6 +2168,33 @@ function useSmartLocale() {
|
|
|
2144
2168
|
return nextIntlBridge?.locale ?? environmentLocale ?? internalLocale;
|
|
2145
2169
|
}
|
|
2146
2170
|
|
|
2171
|
+
// src/components/UEditor/portal-context.tsx
|
|
2172
|
+
import * as React5 from "react";
|
|
2173
|
+
import { jsx as jsx5 } from "react/jsx-runtime";
|
|
2174
|
+
var UEditorPortalContext = React5.createContext(void 0);
|
|
2175
|
+
function UEditorPortalProvider({
|
|
2176
|
+
children,
|
|
2177
|
+
getPortalContainer
|
|
2178
|
+
}) {
|
|
2179
|
+
return /* @__PURE__ */ jsx5(UEditorPortalContext.Provider, { value: getPortalContainer, children });
|
|
2180
|
+
}
|
|
2181
|
+
function useUEditorPortalContainerGetter() {
|
|
2182
|
+
return React5.useContext(UEditorPortalContext);
|
|
2183
|
+
}
|
|
2184
|
+
function resolveUEditorPortalContainer(getPortalContainer, fallbackGetPortalContainer, fallbackDocument) {
|
|
2185
|
+
const getters = [getPortalContainer, fallbackGetPortalContainer];
|
|
2186
|
+
for (const getter of getters) {
|
|
2187
|
+
if (!getter) continue;
|
|
2188
|
+
try {
|
|
2189
|
+
const container = getter();
|
|
2190
|
+
if (container) return container;
|
|
2191
|
+
} catch {
|
|
2192
|
+
}
|
|
2193
|
+
}
|
|
2194
|
+
if (fallbackDocument) return fallbackDocument.body;
|
|
2195
|
+
return typeof document !== "undefined" ? document.body : null;
|
|
2196
|
+
}
|
|
2197
|
+
|
|
2147
2198
|
// src/components/Tooltip.tsx
|
|
2148
2199
|
import * as React6 from "react";
|
|
2149
2200
|
import { createPortal } from "react-dom";
|
|
@@ -2178,33 +2229,6 @@ function mergeRefs(...refs) {
|
|
|
2178
2229
|
};
|
|
2179
2230
|
}
|
|
2180
2231
|
|
|
2181
|
-
// src/components/UEditor/portal-context.tsx
|
|
2182
|
-
import * as React5 from "react";
|
|
2183
|
-
import { jsx as jsx5 } from "react/jsx-runtime";
|
|
2184
|
-
var UEditorPortalContext = React5.createContext(void 0);
|
|
2185
|
-
function UEditorPortalProvider({
|
|
2186
|
-
children,
|
|
2187
|
-
getPortalContainer
|
|
2188
|
-
}) {
|
|
2189
|
-
return /* @__PURE__ */ jsx5(UEditorPortalContext.Provider, { value: getPortalContainer, children });
|
|
2190
|
-
}
|
|
2191
|
-
function useUEditorPortalContainerGetter() {
|
|
2192
|
-
return React5.useContext(UEditorPortalContext);
|
|
2193
|
-
}
|
|
2194
|
-
function resolveUEditorPortalContainer(getPortalContainer, fallbackGetPortalContainer, fallbackDocument) {
|
|
2195
|
-
const getters = [getPortalContainer, fallbackGetPortalContainer];
|
|
2196
|
-
for (const getter of getters) {
|
|
2197
|
-
if (!getter) continue;
|
|
2198
|
-
try {
|
|
2199
|
-
const container = getter();
|
|
2200
|
-
if (container) return container;
|
|
2201
|
-
} catch {
|
|
2202
|
-
}
|
|
2203
|
-
}
|
|
2204
|
-
if (fallbackDocument) return fallbackDocument.body;
|
|
2205
|
-
return typeof document !== "undefined" ? document.body : null;
|
|
2206
|
-
}
|
|
2207
|
-
|
|
2208
2232
|
// src/components/Tooltip.tsx
|
|
2209
2233
|
import { Fragment as Fragment2, jsx as jsx6, jsxs } from "react/jsx-runtime";
|
|
2210
2234
|
var variantStyles = {
|
|
@@ -2279,6 +2303,7 @@ var Tooltip = React6.forwardRef(({
|
|
|
2279
2303
|
const lastAppliedRef = React6.useRef(null);
|
|
2280
2304
|
const openedByPointerRef = React6.useRef(false);
|
|
2281
2305
|
const triggerSelector = React6.useId();
|
|
2306
|
+
const tooltipId = React6.useId();
|
|
2282
2307
|
const getPortalContainer = useUEditorPortalContainerGetter();
|
|
2283
2308
|
const portalContainer = isOpen ? resolveUEditorPortalContainer(getPortalContainer) : null;
|
|
2284
2309
|
const portalDocument = portalContainer?.ownerDocument ?? null;
|
|
@@ -2287,13 +2312,6 @@ var Tooltip = React6.forwardRef(({
|
|
|
2287
2312
|
const delayClose = typeof delay === "object" ? delay.close || 300 : delay;
|
|
2288
2313
|
const offset = 8;
|
|
2289
2314
|
const padding = 8;
|
|
2290
|
-
React6.useLayoutEffect(() => {
|
|
2291
|
-
if (typeof document === "undefined") return;
|
|
2292
|
-
const triggerEl = document.querySelector(`[data-underverse-tooltip-trigger="${triggerSelector}"]`);
|
|
2293
|
-
if (triggerEl) {
|
|
2294
|
-
triggerRef.current = triggerEl;
|
|
2295
|
-
}
|
|
2296
|
-
}, [children, triggerSelector]);
|
|
2297
2315
|
const updatePosition = React6.useCallback(() => {
|
|
2298
2316
|
const triggerEl = triggerRef.current;
|
|
2299
2317
|
const positionerEl = positionerRef.current;
|
|
@@ -2447,6 +2465,7 @@ var Tooltip = React6.forwardRef(({
|
|
|
2447
2465
|
...triggerPassthroughProps,
|
|
2448
2466
|
ref: passthroughRef,
|
|
2449
2467
|
"data-underverse-tooltip-trigger": triggerSelector,
|
|
2468
|
+
"aria-describedby": isOpen ? [childProps["aria-describedby"], triggerPassthroughProps["aria-describedby"], tooltipId].filter(Boolean).join(" ") : childProps["aria-describedby"] ?? triggerPassthroughProps["aria-describedby"],
|
|
2450
2469
|
onMouseEnter: chainEventHandlers(
|
|
2451
2470
|
triggerPassthroughProps.onMouseEnter,
|
|
2452
2471
|
childProps.onMouseEnter,
|
|
@@ -2517,6 +2536,7 @@ var Tooltip = React6.forwardRef(({
|
|
|
2517
2536
|
"div",
|
|
2518
2537
|
{
|
|
2519
2538
|
ref: panelRef,
|
|
2539
|
+
id: tooltipId,
|
|
2520
2540
|
role: "tooltip",
|
|
2521
2541
|
style: {
|
|
2522
2542
|
opacity: 1,
|
|
@@ -2572,4 +2592,4 @@ export {
|
|
|
2572
2592
|
resolveUEditorPortalContainer,
|
|
2573
2593
|
Tooltip
|
|
2574
2594
|
};
|
|
2575
|
-
//# sourceMappingURL=chunk-
|
|
2595
|
+
//# sourceMappingURL=chunk-ZP7F4ZD7.js.map
|