@univerjs/sheets-hyper-link-ui 1.0.0-alpha.1 → 1.0.0-alpha.2
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/lib/cjs/index.js +13 -10
- package/lib/es/index.js +14 -11
- package/lib/index.css +6 -10
- package/lib/index.js +14 -11
- package/lib/umd/index.js +1 -1
- package/package.json +16 -16
package/lib/cjs/index.js
CHANGED
|
@@ -779,7 +779,7 @@ CellLinkEdit.componentKey = "univer.sheet.cell-link-edit";
|
|
|
779
779
|
//#region src/views/CellLinkPopup.tsx
|
|
780
780
|
const iconsMap = {
|
|
781
781
|
[_univerjs_sheets_hyper_link.SheetHyperLinkType.URL]: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_univerjs_icons.LinkIcon, {}),
|
|
782
|
-
[_univerjs_sheets_hyper_link.SheetHyperLinkType.SHEET]: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_univerjs_icons.
|
|
782
|
+
[_univerjs_sheets_hyper_link.SheetHyperLinkType.SHEET]: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_univerjs_icons.SheetsMultiIcon, { className: "univer-text-green-500" }),
|
|
783
783
|
[_univerjs_sheets_hyper_link.SheetHyperLinkType.RANGE]: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_univerjs_icons.AllBorderIcon, {}),
|
|
784
784
|
[_univerjs_sheets_hyper_link.SheetHyperLinkType.DEFINE_NAME]: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_univerjs_icons.AllBorderIcon, {}),
|
|
785
785
|
[_univerjs_sheets_hyper_link.SheetHyperLinkType.INVALID]: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_univerjs_icons.AllBorderIcon, {})
|
|
@@ -798,16 +798,16 @@ const CellLinkPopupPure = (props) => {
|
|
|
798
798
|
const linkObj = parserHyperLinkService.parseHyperLink((_customRange$properti2 = customRange.properties.url) !== null && _customRange$properti2 !== void 0 ? _customRange$properti2 : "");
|
|
799
799
|
const isError = linkObj.type === _univerjs_sheets_hyper_link.SheetHyperLinkType.INVALID;
|
|
800
800
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
801
|
-
className: (0, _univerjs_design.clsx)("univer-mb-1 univer-flex univer-max-w-80 univer-flex-row univer-items-center univer-justify-between univer-overflow-hidden univer-rounded-lg univer-bg-white univer-p-
|
|
801
|
+
className: (0, _univerjs_design.clsx)("univer-mb-1 univer-flex univer-max-w-80 univer-flex-row univer-items-center univer-justify-between univer-gap-2 univer-overflow-hidden univer-rounded-lg univer-bg-white univer-p-2 univer-shadow-md dark:!univer-bg-gray-900", _univerjs_design.borderClassName),
|
|
802
802
|
onClick: () => popupService.hideCurrentPopup(),
|
|
803
803
|
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
804
|
-
className: (0, _univerjs_design.clsx)("univer-flex univer-h-6 univer-flex-1 univer-cursor-pointer univer-flex-row univer-items-center univer-truncate univer-text-sm univer-leading-5 univer-text-primary-600", { "univer-text-red-500": isError }),
|
|
804
|
+
className: (0, _univerjs_design.clsx)("univer-flex univer-h-6 univer-flex-1 univer-cursor-pointer univer-flex-row univer-items-center univer-gap-1 univer-truncate univer-text-sm univer-leading-5 univer-text-primary-600", { "univer-text-red-500": isError }),
|
|
805
805
|
onClick: () => {
|
|
806
806
|
if (isError) return;
|
|
807
807
|
resolverService.navigate(linkObj);
|
|
808
808
|
},
|
|
809
809
|
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
810
|
-
className: "univer-
|
|
810
|
+
className: "univer-flex univer-size-5 univer-flex-none univer-items-center univer-justify-center univer-text-base univer-text-gray-900 dark:!univer-text-white",
|
|
811
811
|
children: iconsMap[linkObj.type]
|
|
812
812
|
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_univerjs_design.Tooltip, {
|
|
813
813
|
showIfEllipsis: true,
|
|
@@ -819,9 +819,9 @@ const CellLinkPopupPure = (props) => {
|
|
|
819
819
|
})
|
|
820
820
|
})]
|
|
821
821
|
}), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
822
|
-
className: "univer-flex univer-h-6 univer-flex-none univer-flex-row univer-items-center univer-justify-center",
|
|
822
|
+
className: "univer-flex univer-h-6 univer-flex-none univer-flex-row univer-items-center univer-justify-center univer-gap-2",
|
|
823
823
|
children: [copyPermission && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
824
|
-
className: (0, _univerjs_design.clsx)("univer-
|
|
824
|
+
className: (0, _univerjs_design.clsx)("univer-flex univer-size-6 univer-cursor-pointer univer-flex-row univer-items-center univer-justify-center univer-rounded univer-text-base hover:univer-bg-gray-100 dark:hover:!univer-bg-gray-700", { "univer-text-red-500": isError }),
|
|
825
825
|
onClick: () => {
|
|
826
826
|
if (isError) return;
|
|
827
827
|
if (linkObj.type !== _univerjs_sheets_hyper_link.SheetHyperLinkType.URL) {
|
|
@@ -840,7 +840,8 @@ const CellLinkPopupPure = (props) => {
|
|
|
840
840
|
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_univerjs_icons.CopyIcon, { className: "dark:!univer-text-white" })
|
|
841
841
|
})
|
|
842
842
|
}), editPermission && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
843
|
-
|
|
843
|
+
"data-u-comp": "cell-link-popup-edit",
|
|
844
|
+
className: "univer-flex univer-size-6 univer-cursor-pointer univer-flex-row univer-items-center univer-justify-center univer-rounded univer-text-base hover:univer-bg-gray-100 dark:hover:!univer-bg-gray-700",
|
|
844
845
|
onClick: () => {
|
|
845
846
|
commandService.executeCommand(OpenHyperLinkEditPanelOperation.id, {
|
|
846
847
|
unitId,
|
|
@@ -857,7 +858,8 @@ const CellLinkPopupPure = (props) => {
|
|
|
857
858
|
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_univerjs_icons.WriteIcon, { className: "dark:!univer-text-white" })
|
|
858
859
|
})
|
|
859
860
|
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
860
|
-
|
|
861
|
+
"data-u-comp": "cell-link-popup-remove",
|
|
862
|
+
className: "univer-flex univer-size-6 univer-cursor-pointer univer-flex-row univer-items-center univer-justify-center univer-rounded univer-text-base hover:univer-bg-gray-100 dark:hover:!univer-bg-gray-700",
|
|
861
863
|
onClick: () => {
|
|
862
864
|
const commandId = type === "editing" ? _univerjs_sheets_hyper_link.CancelRichHyperLinkCommand.id : _univerjs_sheets_hyper_link.CancelHyperLinkCommand.id;
|
|
863
865
|
if (commandService.syncExecuteCommand(commandId, {
|
|
@@ -1174,13 +1176,14 @@ const getShouldDisableCurrentCellLink = (accessor) => {
|
|
|
1174
1176
|
return getShouldDisableCellLink(accessor, worksheet, row, col) === 1;
|
|
1175
1177
|
};
|
|
1176
1178
|
const shouldDisableAddLink = (accessor) => {
|
|
1179
|
+
var _doc$getSelfOrHeaderF;
|
|
1177
1180
|
const textSelectionService = accessor.get(_univerjs_docs.DocSelectionManagerService);
|
|
1178
1181
|
const univerInstanceService = accessor.get(_univerjs_core.IUniverInstanceService);
|
|
1179
1182
|
const textRanges = textSelectionService.getTextRanges();
|
|
1180
1183
|
if (!(textRanges === null || textRanges === void 0 ? void 0 : textRanges.length)) return true;
|
|
1181
1184
|
const doc = univerInstanceService.getCurrentUnitOfType(_univerjs_core.UniverInstanceType.UNIVER_DOC);
|
|
1182
1185
|
if (!doc || textRanges.every((range) => range.collapsed)) return true;
|
|
1183
|
-
if (!doc.getSelfOrHeaderFooterModel(textRanges[0].segmentId).getBody()) return true;
|
|
1186
|
+
if (!((_doc$getSelfOrHeaderF = doc.getSelfOrHeaderFooterModel(textRanges[0].segmentId)) === null || _doc$getSelfOrHeaderF === void 0 ? void 0 : _doc$getSelfOrHeaderF.getBody())) return true;
|
|
1184
1187
|
return false;
|
|
1185
1188
|
};
|
|
1186
1189
|
|
|
@@ -1527,7 +1530,7 @@ const InsertLinkShortcut = {
|
|
|
1527
1530
|
//#endregion
|
|
1528
1531
|
//#region package.json
|
|
1529
1532
|
var name = "@univerjs/sheets-hyper-link-ui";
|
|
1530
|
-
var version = "1.0.0-alpha.
|
|
1533
|
+
var version = "1.0.0-alpha.2";
|
|
1531
1534
|
|
|
1532
1535
|
//#endregion
|
|
1533
1536
|
//#region src/controllers/auto-fill.controller.ts
|
package/lib/es/index.js
CHANGED
|
@@ -12,7 +12,7 @@ import { AddHyperLinkCommand, AddHyperLinkMutation, AddRichHyperLinkCommand, Can
|
|
|
12
12
|
import { ComponentManager, ContextMenuGroup, ContextMenuPosition, IMenuManagerService, IMessageService, IShortcutService, IconManager, KeyCode, MenuItemType, MetaKeys, RibbonInsertGroup, getMenuHiddenObservable, useDependency, useEvent, useObservable } from "@univerjs/ui";
|
|
13
13
|
import { useCallback, useEffect, useMemo, useRef, useState } from "react";
|
|
14
14
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
15
|
-
import { AllBorderIcon, CopyIcon, LinkIcon, UnlinkIcon, WriteIcon
|
|
15
|
+
import { AllBorderIcon, CopyIcon, LinkIcon, SheetsMultiIcon, UnlinkIcon, WriteIcon } from "@univerjs/icons";
|
|
16
16
|
import { SheetDataValidationModel } from "@univerjs/sheets-data-validation";
|
|
17
17
|
|
|
18
18
|
//#region src/common/util.ts
|
|
@@ -778,7 +778,7 @@ CellLinkEdit.componentKey = "univer.sheet.cell-link-edit";
|
|
|
778
778
|
//#region src/views/CellLinkPopup.tsx
|
|
779
779
|
const iconsMap = {
|
|
780
780
|
[SheetHyperLinkType.URL]: /* @__PURE__ */ jsx(LinkIcon, {}),
|
|
781
|
-
[SheetHyperLinkType.SHEET]: /* @__PURE__ */ jsx(
|
|
781
|
+
[SheetHyperLinkType.SHEET]: /* @__PURE__ */ jsx(SheetsMultiIcon, { className: "univer-text-green-500" }),
|
|
782
782
|
[SheetHyperLinkType.RANGE]: /* @__PURE__ */ jsx(AllBorderIcon, {}),
|
|
783
783
|
[SheetHyperLinkType.DEFINE_NAME]: /* @__PURE__ */ jsx(AllBorderIcon, {}),
|
|
784
784
|
[SheetHyperLinkType.INVALID]: /* @__PURE__ */ jsx(AllBorderIcon, {})
|
|
@@ -797,16 +797,16 @@ const CellLinkPopupPure = (props) => {
|
|
|
797
797
|
const linkObj = parserHyperLinkService.parseHyperLink((_customRange$properti2 = customRange.properties.url) !== null && _customRange$properti2 !== void 0 ? _customRange$properti2 : "");
|
|
798
798
|
const isError = linkObj.type === SheetHyperLinkType.INVALID;
|
|
799
799
|
return /* @__PURE__ */ jsxs("div", {
|
|
800
|
-
className: clsx("univer-mb-1 univer-flex univer-max-w-80 univer-flex-row univer-items-center univer-justify-between univer-overflow-hidden univer-rounded-lg univer-bg-white univer-p-
|
|
800
|
+
className: clsx("univer-mb-1 univer-flex univer-max-w-80 univer-flex-row univer-items-center univer-justify-between univer-gap-2 univer-overflow-hidden univer-rounded-lg univer-bg-white univer-p-2 univer-shadow-md dark:!univer-bg-gray-900", borderClassName),
|
|
801
801
|
onClick: () => popupService.hideCurrentPopup(),
|
|
802
802
|
children: [/* @__PURE__ */ jsxs("div", {
|
|
803
|
-
className: clsx("univer-flex univer-h-6 univer-flex-1 univer-cursor-pointer univer-flex-row univer-items-center univer-truncate univer-text-sm univer-leading-5 univer-text-primary-600", { "univer-text-red-500": isError }),
|
|
803
|
+
className: clsx("univer-flex univer-h-6 univer-flex-1 univer-cursor-pointer univer-flex-row univer-items-center univer-gap-1 univer-truncate univer-text-sm univer-leading-5 univer-text-primary-600", { "univer-text-red-500": isError }),
|
|
804
804
|
onClick: () => {
|
|
805
805
|
if (isError) return;
|
|
806
806
|
resolverService.navigate(linkObj);
|
|
807
807
|
},
|
|
808
808
|
children: [/* @__PURE__ */ jsx("div", {
|
|
809
|
-
className: "univer-
|
|
809
|
+
className: "univer-flex univer-size-5 univer-flex-none univer-items-center univer-justify-center univer-text-base univer-text-gray-900 dark:!univer-text-white",
|
|
810
810
|
children: iconsMap[linkObj.type]
|
|
811
811
|
}), /* @__PURE__ */ jsx(Tooltip, {
|
|
812
812
|
showIfEllipsis: true,
|
|
@@ -818,9 +818,9 @@ const CellLinkPopupPure = (props) => {
|
|
|
818
818
|
})
|
|
819
819
|
})]
|
|
820
820
|
}), /* @__PURE__ */ jsxs("div", {
|
|
821
|
-
className: "univer-flex univer-h-6 univer-flex-none univer-flex-row univer-items-center univer-justify-center",
|
|
821
|
+
className: "univer-flex univer-h-6 univer-flex-none univer-flex-row univer-items-center univer-justify-center univer-gap-2",
|
|
822
822
|
children: [copyPermission && /* @__PURE__ */ jsx("div", {
|
|
823
|
-
className: clsx("univer-
|
|
823
|
+
className: clsx("univer-flex univer-size-6 univer-cursor-pointer univer-flex-row univer-items-center univer-justify-center univer-rounded univer-text-base hover:univer-bg-gray-100 dark:hover:!univer-bg-gray-700", { "univer-text-red-500": isError }),
|
|
824
824
|
onClick: () => {
|
|
825
825
|
if (isError) return;
|
|
826
826
|
if (linkObj.type !== SheetHyperLinkType.URL) {
|
|
@@ -839,7 +839,8 @@ const CellLinkPopupPure = (props) => {
|
|
|
839
839
|
children: /* @__PURE__ */ jsx(CopyIcon, { className: "dark:!univer-text-white" })
|
|
840
840
|
})
|
|
841
841
|
}), editPermission && /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx("div", {
|
|
842
|
-
|
|
842
|
+
"data-u-comp": "cell-link-popup-edit",
|
|
843
|
+
className: "univer-flex univer-size-6 univer-cursor-pointer univer-flex-row univer-items-center univer-justify-center univer-rounded univer-text-base hover:univer-bg-gray-100 dark:hover:!univer-bg-gray-700",
|
|
843
844
|
onClick: () => {
|
|
844
845
|
commandService.executeCommand(OpenHyperLinkEditPanelOperation.id, {
|
|
845
846
|
unitId,
|
|
@@ -856,7 +857,8 @@ const CellLinkPopupPure = (props) => {
|
|
|
856
857
|
children: /* @__PURE__ */ jsx(WriteIcon, { className: "dark:!univer-text-white" })
|
|
857
858
|
})
|
|
858
859
|
}), /* @__PURE__ */ jsx("div", {
|
|
859
|
-
|
|
860
|
+
"data-u-comp": "cell-link-popup-remove",
|
|
861
|
+
className: "univer-flex univer-size-6 univer-cursor-pointer univer-flex-row univer-items-center univer-justify-center univer-rounded univer-text-base hover:univer-bg-gray-100 dark:hover:!univer-bg-gray-700",
|
|
860
862
|
onClick: () => {
|
|
861
863
|
const commandId = type === "editing" ? CancelRichHyperLinkCommand.id : CancelHyperLinkCommand.id;
|
|
862
864
|
if (commandService.syncExecuteCommand(commandId, {
|
|
@@ -1173,13 +1175,14 @@ const getShouldDisableCurrentCellLink = (accessor) => {
|
|
|
1173
1175
|
return getShouldDisableCellLink(accessor, worksheet, row, col) === 1;
|
|
1174
1176
|
};
|
|
1175
1177
|
const shouldDisableAddLink = (accessor) => {
|
|
1178
|
+
var _doc$getSelfOrHeaderF;
|
|
1176
1179
|
const textSelectionService = accessor.get(DocSelectionManagerService);
|
|
1177
1180
|
const univerInstanceService = accessor.get(IUniverInstanceService);
|
|
1178
1181
|
const textRanges = textSelectionService.getTextRanges();
|
|
1179
1182
|
if (!(textRanges === null || textRanges === void 0 ? void 0 : textRanges.length)) return true;
|
|
1180
1183
|
const doc = univerInstanceService.getCurrentUnitOfType(UniverInstanceType.UNIVER_DOC);
|
|
1181
1184
|
if (!doc || textRanges.every((range) => range.collapsed)) return true;
|
|
1182
|
-
if (!doc.getSelfOrHeaderFooterModel(textRanges[0].segmentId).getBody()) return true;
|
|
1185
|
+
if (!((_doc$getSelfOrHeaderF = doc.getSelfOrHeaderFooterModel(textRanges[0].segmentId)) === null || _doc$getSelfOrHeaderF === void 0 ? void 0 : _doc$getSelfOrHeaderF.getBody())) return true;
|
|
1183
1186
|
return false;
|
|
1184
1187
|
};
|
|
1185
1188
|
|
|
@@ -1526,7 +1529,7 @@ const InsertLinkShortcut = {
|
|
|
1526
1529
|
//#endregion
|
|
1527
1530
|
//#region package.json
|
|
1528
1531
|
var name = "@univerjs/sheets-hyper-link-ui";
|
|
1529
|
-
var version = "1.0.0-alpha.
|
|
1532
|
+
var version = "1.0.0-alpha.2";
|
|
1530
1533
|
|
|
1531
1534
|
//#endregion
|
|
1532
1535
|
//#region src/controllers/auto-fill.controller.ts
|
package/lib/index.css
CHANGED
|
@@ -2,14 +2,6 @@
|
|
|
2
2
|
margin-bottom: .25rem;
|
|
3
3
|
}
|
|
4
4
|
|
|
5
|
-
.univer-ml-2 {
|
|
6
|
-
margin-left: .5rem;
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
.univer-mr-2 {
|
|
10
|
-
margin-right: .5rem;
|
|
11
|
-
}
|
|
12
|
-
|
|
13
5
|
.univer-box-border {
|
|
14
6
|
box-sizing: border-box;
|
|
15
7
|
}
|
|
@@ -76,6 +68,10 @@
|
|
|
76
68
|
justify-content: space-between;
|
|
77
69
|
}
|
|
78
70
|
|
|
71
|
+
.univer-gap-1 {
|
|
72
|
+
gap: .25rem;
|
|
73
|
+
}
|
|
74
|
+
|
|
79
75
|
.univer-gap-2 {
|
|
80
76
|
gap: .5rem;
|
|
81
77
|
}
|
|
@@ -106,8 +102,8 @@
|
|
|
106
102
|
background-color: var(--univer-white);
|
|
107
103
|
}
|
|
108
104
|
|
|
109
|
-
.univer-p-
|
|
110
|
-
padding: .
|
|
105
|
+
.univer-p-2 {
|
|
106
|
+
padding: .5rem;
|
|
111
107
|
}
|
|
112
108
|
|
|
113
109
|
.univer-p-4 {
|
package/lib/index.js
CHANGED
|
@@ -12,7 +12,7 @@ import { AddHyperLinkCommand, AddHyperLinkMutation, AddRichHyperLinkCommand, Can
|
|
|
12
12
|
import { ComponentManager, ContextMenuGroup, ContextMenuPosition, IMenuManagerService, IMessageService, IShortcutService, IconManager, KeyCode, MenuItemType, MetaKeys, RibbonInsertGroup, getMenuHiddenObservable, useDependency, useEvent, useObservable } from "@univerjs/ui";
|
|
13
13
|
import { useCallback, useEffect, useMemo, useRef, useState } from "react";
|
|
14
14
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
15
|
-
import { AllBorderIcon, CopyIcon, LinkIcon, UnlinkIcon, WriteIcon
|
|
15
|
+
import { AllBorderIcon, CopyIcon, LinkIcon, SheetsMultiIcon, UnlinkIcon, WriteIcon } from "@univerjs/icons";
|
|
16
16
|
import { SheetDataValidationModel } from "@univerjs/sheets-data-validation";
|
|
17
17
|
|
|
18
18
|
//#region src/common/util.ts
|
|
@@ -778,7 +778,7 @@ CellLinkEdit.componentKey = "univer.sheet.cell-link-edit";
|
|
|
778
778
|
//#region src/views/CellLinkPopup.tsx
|
|
779
779
|
const iconsMap = {
|
|
780
780
|
[SheetHyperLinkType.URL]: /* @__PURE__ */ jsx(LinkIcon, {}),
|
|
781
|
-
[SheetHyperLinkType.SHEET]: /* @__PURE__ */ jsx(
|
|
781
|
+
[SheetHyperLinkType.SHEET]: /* @__PURE__ */ jsx(SheetsMultiIcon, { className: "univer-text-green-500" }),
|
|
782
782
|
[SheetHyperLinkType.RANGE]: /* @__PURE__ */ jsx(AllBorderIcon, {}),
|
|
783
783
|
[SheetHyperLinkType.DEFINE_NAME]: /* @__PURE__ */ jsx(AllBorderIcon, {}),
|
|
784
784
|
[SheetHyperLinkType.INVALID]: /* @__PURE__ */ jsx(AllBorderIcon, {})
|
|
@@ -797,16 +797,16 @@ const CellLinkPopupPure = (props) => {
|
|
|
797
797
|
const linkObj = parserHyperLinkService.parseHyperLink((_customRange$properti2 = customRange.properties.url) !== null && _customRange$properti2 !== void 0 ? _customRange$properti2 : "");
|
|
798
798
|
const isError = linkObj.type === SheetHyperLinkType.INVALID;
|
|
799
799
|
return /* @__PURE__ */ jsxs("div", {
|
|
800
|
-
className: clsx("univer-mb-1 univer-flex univer-max-w-80 univer-flex-row univer-items-center univer-justify-between univer-overflow-hidden univer-rounded-lg univer-bg-white univer-p-
|
|
800
|
+
className: clsx("univer-mb-1 univer-flex univer-max-w-80 univer-flex-row univer-items-center univer-justify-between univer-gap-2 univer-overflow-hidden univer-rounded-lg univer-bg-white univer-p-2 univer-shadow-md dark:!univer-bg-gray-900", borderClassName),
|
|
801
801
|
onClick: () => popupService.hideCurrentPopup(),
|
|
802
802
|
children: [/* @__PURE__ */ jsxs("div", {
|
|
803
|
-
className: clsx("univer-flex univer-h-6 univer-flex-1 univer-cursor-pointer univer-flex-row univer-items-center univer-truncate univer-text-sm univer-leading-5 univer-text-primary-600", { "univer-text-red-500": isError }),
|
|
803
|
+
className: clsx("univer-flex univer-h-6 univer-flex-1 univer-cursor-pointer univer-flex-row univer-items-center univer-gap-1 univer-truncate univer-text-sm univer-leading-5 univer-text-primary-600", { "univer-text-red-500": isError }),
|
|
804
804
|
onClick: () => {
|
|
805
805
|
if (isError) return;
|
|
806
806
|
resolverService.navigate(linkObj);
|
|
807
807
|
},
|
|
808
808
|
children: [/* @__PURE__ */ jsx("div", {
|
|
809
|
-
className: "univer-
|
|
809
|
+
className: "univer-flex univer-size-5 univer-flex-none univer-items-center univer-justify-center univer-text-base univer-text-gray-900 dark:!univer-text-white",
|
|
810
810
|
children: iconsMap[linkObj.type]
|
|
811
811
|
}), /* @__PURE__ */ jsx(Tooltip, {
|
|
812
812
|
showIfEllipsis: true,
|
|
@@ -818,9 +818,9 @@ const CellLinkPopupPure = (props) => {
|
|
|
818
818
|
})
|
|
819
819
|
})]
|
|
820
820
|
}), /* @__PURE__ */ jsxs("div", {
|
|
821
|
-
className: "univer-flex univer-h-6 univer-flex-none univer-flex-row univer-items-center univer-justify-center",
|
|
821
|
+
className: "univer-flex univer-h-6 univer-flex-none univer-flex-row univer-items-center univer-justify-center univer-gap-2",
|
|
822
822
|
children: [copyPermission && /* @__PURE__ */ jsx("div", {
|
|
823
|
-
className: clsx("univer-
|
|
823
|
+
className: clsx("univer-flex univer-size-6 univer-cursor-pointer univer-flex-row univer-items-center univer-justify-center univer-rounded univer-text-base hover:univer-bg-gray-100 dark:hover:!univer-bg-gray-700", { "univer-text-red-500": isError }),
|
|
824
824
|
onClick: () => {
|
|
825
825
|
if (isError) return;
|
|
826
826
|
if (linkObj.type !== SheetHyperLinkType.URL) {
|
|
@@ -839,7 +839,8 @@ const CellLinkPopupPure = (props) => {
|
|
|
839
839
|
children: /* @__PURE__ */ jsx(CopyIcon, { className: "dark:!univer-text-white" })
|
|
840
840
|
})
|
|
841
841
|
}), editPermission && /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx("div", {
|
|
842
|
-
|
|
842
|
+
"data-u-comp": "cell-link-popup-edit",
|
|
843
|
+
className: "univer-flex univer-size-6 univer-cursor-pointer univer-flex-row univer-items-center univer-justify-center univer-rounded univer-text-base hover:univer-bg-gray-100 dark:hover:!univer-bg-gray-700",
|
|
843
844
|
onClick: () => {
|
|
844
845
|
commandService.executeCommand(OpenHyperLinkEditPanelOperation.id, {
|
|
845
846
|
unitId,
|
|
@@ -856,7 +857,8 @@ const CellLinkPopupPure = (props) => {
|
|
|
856
857
|
children: /* @__PURE__ */ jsx(WriteIcon, { className: "dark:!univer-text-white" })
|
|
857
858
|
})
|
|
858
859
|
}), /* @__PURE__ */ jsx("div", {
|
|
859
|
-
|
|
860
|
+
"data-u-comp": "cell-link-popup-remove",
|
|
861
|
+
className: "univer-flex univer-size-6 univer-cursor-pointer univer-flex-row univer-items-center univer-justify-center univer-rounded univer-text-base hover:univer-bg-gray-100 dark:hover:!univer-bg-gray-700",
|
|
860
862
|
onClick: () => {
|
|
861
863
|
const commandId = type === "editing" ? CancelRichHyperLinkCommand.id : CancelHyperLinkCommand.id;
|
|
862
864
|
if (commandService.syncExecuteCommand(commandId, {
|
|
@@ -1173,13 +1175,14 @@ const getShouldDisableCurrentCellLink = (accessor) => {
|
|
|
1173
1175
|
return getShouldDisableCellLink(accessor, worksheet, row, col) === 1;
|
|
1174
1176
|
};
|
|
1175
1177
|
const shouldDisableAddLink = (accessor) => {
|
|
1178
|
+
var _doc$getSelfOrHeaderF;
|
|
1176
1179
|
const textSelectionService = accessor.get(DocSelectionManagerService);
|
|
1177
1180
|
const univerInstanceService = accessor.get(IUniverInstanceService);
|
|
1178
1181
|
const textRanges = textSelectionService.getTextRanges();
|
|
1179
1182
|
if (!(textRanges === null || textRanges === void 0 ? void 0 : textRanges.length)) return true;
|
|
1180
1183
|
const doc = univerInstanceService.getCurrentUnitOfType(UniverInstanceType.UNIVER_DOC);
|
|
1181
1184
|
if (!doc || textRanges.every((range) => range.collapsed)) return true;
|
|
1182
|
-
if (!doc.getSelfOrHeaderFooterModel(textRanges[0].segmentId).getBody()) return true;
|
|
1185
|
+
if (!((_doc$getSelfOrHeaderF = doc.getSelfOrHeaderFooterModel(textRanges[0].segmentId)) === null || _doc$getSelfOrHeaderF === void 0 ? void 0 : _doc$getSelfOrHeaderF.getBody())) return true;
|
|
1183
1186
|
return false;
|
|
1184
1187
|
};
|
|
1185
1188
|
|
|
@@ -1526,7 +1529,7 @@ const InsertLinkShortcut = {
|
|
|
1526
1529
|
//#endregion
|
|
1527
1530
|
//#region package.json
|
|
1528
1531
|
var name = "@univerjs/sheets-hyper-link-ui";
|
|
1529
|
-
var version = "1.0.0-alpha.
|
|
1532
|
+
var version = "1.0.0-alpha.2";
|
|
1530
1533
|
|
|
1531
1534
|
//#endregion
|
|
1532
1535
|
//#region src/controllers/auto-fill.controller.ts
|
package/lib/umd/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require("@univerjs/core"),require("@univerjs/sheets"),require("@univerjs/sheets-ui"),require("@univerjs/docs"),require("@univerjs/docs-ui"),require("@univerjs/engine-render"),require("rxjs"),require("@univerjs/design"),require("@univerjs/engine-formula"),require("@univerjs/sheets-formula-ui"),require("@univerjs/sheets-hyper-link"),require("@univerjs/ui"),require("react"),require("react/jsx-runtime"),require("@univerjs/sheets-data-validation")):typeof define==`function`&&define.amd?define([`exports`,`@univerjs/core`,`@univerjs/sheets`,`@univerjs/sheets-ui`,`@univerjs/docs`,`@univerjs/docs-ui`,`@univerjs/engine-render`,`rxjs`,`@univerjs/design`,`@univerjs/engine-formula`,`@univerjs/sheets-formula-ui`,`@univerjs/sheets-hyper-link`,`@univerjs/ui`,`react`,`react/jsx-runtime`,`@univerjs/sheets-data-validation`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.UniverSheetsHyperLinkUi={},e.UniverCore,e.UniverSheets,e.UniverSheetsUi,e.UniverDocs,e.UniverDocsUi,e.UniverEngineRender,e.rxjs,e.UniverDesign,e.UniverEngineFormula,e.UniverSheetsFormulaUi,e.UniverSheetsHyperLink,e.UniverUi,e.React,e.React,e.UniverSheetsDataValidation))})(this,function(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});function g(e){return t.Tools.isLegalUrl(e)}function _(e){return/^[a-zA-Z]+:\/\//.test(e)}function v(e){return/^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/.test(e)}function y(e){if(g(e)){let t=_(e)?e:v(e)?`mailto://${e}`:`http://${e}`,n;try{n=new URL(t)}catch{return e}return n.hostname===location.hostname&&n.port===location.port&&n.protocol===location.protocol&&n.pathname===location.pathname&&n.hash&&!n.search?n.hash:t}return e}let b=`sheets-hyper-link-ui.config`,x={};function S(e,t){return function(n,r){t(n,r,e)}}function C(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a}function w(e,n){let r=n.getMergeData(),i=n.getMaxColumns()-1,a=n.getMaxRows()-1;if(i<e.endColumn&&(e.endColumn=i),a<e.endRow&&(e.endRow=a),e.rangeType===t.RANGE_TYPE.COLUMN||t.RANGE_TYPE.ROW)return e;let o=[];return r.forEach(n=>{t.Rectangle.intersects(e,n)&&o.push(n)}),t.Rectangle.realUnion(e,...o)}let T=class{constructor(e,t,n,r,i,a){this._univerInstanceService=e,this._commandService=t,this._definedNamesService=n,this._messageService=r,this._localeService=i,this._configService=a}navigate(e){switch(e.type){case d.SheetHyperLinkType.URL:this.navigateToOtherWebsite(e.url);break;default:this._navigateToUniver(e.searchObj)}}_navigateToUniver(e){let{gid:n,range:r,rangeid:i}=e,a=this._univerInstanceService.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_SHEET);if(!a)return;let o=a.getUnitId();if(i){let e=this._definedNamesService.getValueById(o,i);if(!e)return;let{formulaOrRefString:t}=e,n=this._definedNamesService.getWorksheetByRef(o,t);if(!n){this._messageService.show({content:this._localeService.t(`sheets-hyper-link-ui.message.refError`),type:c.MessageType.Error});return}if(n.isSheetHidden()){this._messageService.show({content:this._localeService.t(`sheets-hyper-link-ui.message.hiddenSheet`),type:c.MessageType.Error});return}this.navigateToDefineName(o,i)}if(n){if(r){let e=(0,l.deserializeRangeWithSheet)(r);(0,t.isValidRange)(e.range)&&r!==d.ERROR_RANGE&&this.navigateToRange(o,n,e.range);return}this.navigateToSheetById(o,n)}}async navigateToRange(e,t,i,a){let o=await this.navigateToSheetById(e,t);if(o){let s=w(i,o);await this._commandService.executeCommand(n.SetSelectionsOperation.id,{unitId:e,subUnitId:t,selections:[{range:s,primary:null}]}),await this._commandService.executeCommand(r.ScrollToRangeOperation.id,{range:s,forceTop:a})}}async navigateToSheetById(e,r){let i=this._univerInstanceService.getUnit(e,t.UniverInstanceType.UNIVER_SHEET);if(!i)return!1;let a=i.getActiveSheet();if(!a)return!1;if(a.getSheetId()===r)return a;let o=i.getSheetBySheetId(r);return o?i.getHiddenWorksheets().indexOf(r)>-1?(this._messageService.show({content:this._localeService.t(`sheets-hyper-link-ui.message.hiddenSheet`),type:c.MessageType.Error}),!1):await this._commandService.executeCommand(n.SetWorksheetActiveOperation.id,{unitId:e,subUnitId:r})?o:!1:(this._messageService.show({content:this._localeService.t(`sheets-hyper-link-ui.message.noSheet`),type:c.MessageType.Error}),!1)}async navigateToDefineName(e,t){return this._definedNamesService.focusRange(e,t),!0}async navigateToOtherWebsite(e){var n;if(!(0,t.isSafeUrl)(e))return;let r=this._configService.getConfig(b);if(!(r==null||(n=r.urlHandler)==null)&&n.navigateToOtherWebsite)return r.urlHandler.navigateToOtherWebsite(e);window.open(e,`_blank`,`noopener noreferrer`)}};T=C([S(0,t.IUniverInstanceService),S(1,t.ICommandService),S(2,l.IDefinedNamesService),S(3,f.IMessageService),S(4,(0,t.Inject)(t.LocaleService)),S(5,t.IConfigService)],T);function E(e){"@babel/helpers - typeof";return E=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},E(e)}function D(e,t){if(E(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(E(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function O(e){var t=D(e,`string`);return E(t)==`symbol`?t:t+``}function k(e,t,n){return(t=O(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var ee=class extends t.Disposable{constructor(...e){super(...e),k(this,`_customHyperLinks`,new Map)}isBuiltInLinkType(e){return e!==d.SheetHyperLinkType.URL}getOptions(){return Array.from(this._customHyperLinks.values()).map(({option:e})=>e)}findCustomHyperLink(e){return Array.from(this._customHyperLinks.values()).find(t=>t.match(e))}registerCustomHyperLink(e){this._customHyperLinks.set(e.type,e)}getCustomHyperLink(e){return this._customHyperLinks.get(e)}removeCustomHyperLink(e){let{_customHyperLinks:t}=this;t.delete(e)}dispose(){super.dispose(),this._customHyperLinks.clear()}};function te(e){return e.trim().length===0}function ne(e,n){let[r]=e.split(`,`).map(l.deserializeRangeWithSheet);return!r||!(0,t.isValidRange)(r.range)?``:(r.sheetName||(r.sheetName=n),(0,l.serializeRangeToRefString)(r))}let A=()=>{var e;let[s,h]=(0,p.useState)(``),[_,v]=(0,p.useState)(!1),[b,x]=(0,p.useState)(``),[S,C]=(0,p.useState)(!0),[w,E]=(0,p.useState)(d.SheetHyperLinkType.URL),[D,O]=(0,p.useState)(``),k=(0,f.useDependency)(t.LocaleService),A=(0,f.useDependency)(l.IDefinedNamesService),j=(0,f.useDependency)(r.IEditorBridgeService),M=(0,f.useDependency)(t.IUniverInstanceService),N=(0,f.useDependency)(V),P=(0,f.useObservable)(N.currentEditing$),re=(0,f.useDependency)(d.SheetsHyperLinkParserService),ie=(0,f.useDependency)(T),F=(0,f.useDependency)(t.ICommandService),I=(0,f.useDependency)(ee),ae=(0,p.useMemo)(()=>I.getOptions(),[I]),oe=(0,f.useDependency)(o.IRenderManagerService),L=(0,f.useDependency)(r.IMarkSelectionService),se=(0,f.useDependency)(i.DocSelectionManagerService),ce=(0,f.useDependency)(t.ThemeService),[le,ue]=(0,p.useState)(!1),de=(0,f.useDependency)(n.SheetsSelectionsService),fe=(0,p.useMemo)(()=>de.getCurrentSelections(),[]),pe=(0,p.useMemo)(()=>{if(!I.isBuiltInLinkType(w))return I.getCustomHyperLink(w)},[I,w]),[R,z]=(0,p.useState)(!1),[B,me]=(0,p.useState)(!1),H=(0,p.useRef)(!1),U=(0,f.useEvent)(()=>H.current),W=(0,f.useEvent)(e=>{H.current=e}),G=M.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_SHEET),q=(G==null?void 0:G.getActiveSheet().getSheetId())||``,J=(0,p.useCallback)(e=>{x(e.replaceAll(t.DataStreamTreeTokenType.CUSTOM_RANGE_START,``).replaceAll(t.DataStreamTreeTokenType.CUSTOM_RANGE_END,``))},[x]);(0,p.useEffect)(()=>{if((P==null?void 0:P.row)!==void 0&&P.col!==void 0){let{customRange:y,row:b,col:x}=P,{label:S}=P;typeof S==`number`&&(S=`${S}`);let w;if(y){var e,n,r,i;w={id:(e=y==null?void 0:y.rangeId)==null?``:e,display:(n=S)==null?``:n,payload:(r=y==null||(i=y.properties)==null?void 0:i.url)==null?``:r,row:b,column:x}}else if(P.type===`viewing`){var a,o,s,c;let e=M.getUnit(P.unitId),n=e==null?void 0:e.getSheetBySheetId(P.subUnitId),r=n==null?void 0:n.getCellRaw(P.row,P.col),i=r==null||(a=r.p)==null||(a=a.body)==null||(a=a.customRanges)==null?void 0:a.find(e=>{var n;return e.rangeType===t.CustomRangeType.HYPERLINK&&((n=e.properties)==null?void 0:n.url)}),l=r==null?void 0:r.v;r&&(!t.BuildTextUtils.transform.isEmptyDocument((o=r.p)==null||(o=o.body)==null?void 0:o.dataStream)||t.Tools.isDefine(l))&&C(!1),w={id:``,display:``,payload:(s=i==null||(c=i.properties)==null?void 0:c.url)==null?``:s,row:b,column:x}}else{var u,f,p,m,g;let e=M.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_DOC),n=se.getActiveTextRange(),r=e==null?void 0:e.getBody(),i=n&&r?n:null,a=i&&((u=t.BuildTextUtils.customRange.getCustomRangesInterestsWithSelection(i,(f=r==null?void 0:r.customRanges)==null?[]:f))==null?void 0:u[0]);C(!1),w={id:``,display:(p=S)==null?``:p,payload:(m=a==null||(g=a.properties)==null?void 0:g.url)==null?``:m,row:b,column:x}}h(w.id);let T=I.findCustomHyperLink(w);if(T){let e=T.convert(w);E(e.type),O(e.payload),J(e.display);return}J(w.display);let D=re.parseHyperLink(w.payload);switch(E(D.type===d.SheetHyperLinkType.INVALID?d.SheetHyperLinkType.RANGE:D.type),D.type){case d.SheetHyperLinkType.URL:O(D.url),D.url===w.display&&W(!0);break;case d.SheetHyperLinkType.RANGE:{var _,v;let e=D.searchObj,t=(0,l.serializeRangeWithSheet)(e.gid?(_=(v=M.getUnit(P.unitId))==null||(v=v.getSheetBySheetId(e.gid))==null?void 0:v.getName())==null?``:_:``,(0,l.deserializeRangeWithSheet)(e.range).range);O(t),t===w.display&&W(!0);break}case d.SheetHyperLinkType.SHEET:{let e=D.searchObj;O(e.gid);break}case d.SheetHyperLinkType.DEFINE_NAME:{let e=D.searchObj;O(e.rangeid);break}default:O(``);break}}},[P,ie,I,se,M]),(0,p.useEffect)(()=>{let e=null;if(P&&!P.customRangeId&&P.type===`viewing`&&t.Tools.isDefine(P.row)&&t.Tools.isDefine(P.col)){let n=M.getUnit(P.unitId,t.UniverInstanceType.UNIVER_SHEET),r=n==null?void 0:n.getSheetBySheetId(P.subUnitId),i=r==null?void 0:r.getMergedCell(P.row,P.col),a=new t.ColorKit(ce.getColorFromTheme(`primary.600`)).toRgb();e=L.addShape({range:i==null?{startColumn:P.col,endColumn:P.col,startRow:P.row,endRow:P.row}:i,style:{fill:`rgb(${a.r}, ${a.g}, ${a.b}, 0.12)`,strokeWidth:1,stroke:`#FFBD37`,widgets:{}},primary:null},[],-1)}return()=>{e&&L.removeShape(e)}},[P,L,ce,M]),(0,p.useEffect)(()=>{me(w===d.SheetHyperLinkType.RANGE)},[w]),(0,p.useEffect)(()=>{let e=oe.getRenderById(j.getCurrentEditorId()),n=new t.DisposableCollection;if(e){let t=e.with(a.DocSelectionRenderService);t.setReserveRangesStatus(!0),n.add(()=>{t.setReserveRangesStatus(!1)})}return()=>{j.disableForceKeepVisible(),n.dispose()}},[j,oe]),(0,p.useEffect)(()=>(B&&N.setIsKeepVisible(B),N.setIsKeepVisible(le),()=>{N.setIsKeepVisible(!1)}),[B,le,N]),(0,p.useEffect)(()=>{if(B)return j.enableForceKeepVisible(),()=>{j.disableForceKeepVisible()}},[B,j]);let he=[{label:k.t(`sheets-hyper-link-ui.form.link`),value:d.SheetHyperLinkType.URL},{label:k.t(`sheets-hyper-link-ui.form.range`),value:d.SheetHyperLinkType.RANGE},{label:k.t(`sheets-hyper-link-ui.form.worksheet`),value:d.SheetHyperLinkType.SHEET},{label:k.t(`sheets-hyper-link-ui.form.definedName`),value:d.SheetHyperLinkType.DEFINE_NAME},...ae];if(!G)return;let Y=G.getHiddenWorksheets(),ge=G.getSheets().map(e=>({label:e.getName(),value:e.getSheetId()})).filter(e=>Y.indexOf(e.value)===-1),X=Object.values((e=A.getDefinedNameMap(G.getUnitId()))==null?{}:e).map(e=>({label:e.name,value:e.id})),_e=(e,t)=>{if(e===d.SheetHyperLinkType.URL)return y(t);if(e===d.SheetHyperLinkType.RANGE){let e=(0,l.deserializeRangeWithSheet)(t),n=G.getSheetBySheetName(e.sheetName);if(n)return`#gid=${n.getSheetId()}&range=${(0,l.serializeRange)(e.range)}`}return`#${e}=${t}`},ve=(0,f.useEvent)(e=>{var t;let n=ne(e,((t=G.getActiveSheet())==null?void 0:t.getName())||``);if(!n){O(``);return}O(n),n&&(U()||!b)&&(J(n),W(!0))}),Z=async()=>{if(S&&te(b)||!D||w===d.SheetHyperLinkType.URL&&!g(D)){z(!0);return}if(P)if(s){let e=P.type===`editing`?d.UpdateRichHyperLinkCommand.id:d.UpdateHyperLinkCommand.id;await F.executeCommand(e,{id:s,unitId:P.unitId,subUnitId:P.subUnitId,payload:{display:S?b:``,payload:_e(w,D)},row:P.row,column:P.col,documentId:j.getCurrentEditorId()})}else{let e=P.type===`editing`?d.AddRichHyperLinkCommand.id:d.AddHyperLinkCommand.id;await F.executeCommand(e,{unitId:P.unitId,subUnitId:P.subUnitId,link:{id:(0,t.generateRandomId)(),row:P.row,column:P.col,payload:_e(w,D),display:S?b:``},documentId:j.getCurrentEditorId()})}(P==null?void 0:P.type)===`viewing`&&(await F.executeCommand(n.SetWorksheetActiveOperation.id,{unitId:P.unitId,subUnitId:P.subUnitId}),await F.executeCommand(r.ScrollToRangeOperation.id,{range:{startRow:Math.max(P.row-1,0),endRow:P.row+1,startColumn:Math.max(P.col-1,0),endColumn:P.col+1}})),F.executeCommand(K.id)};return P?(0,m.jsxs)(`div`,{className:(0,c.clsx)(`univer-box-border univer-w-[296px] univer-rounded-xl univer-bg-white univer-p-4 univer-shadow-md dark:!univer-bg-gray-900`,c.borderClassName),children:[S?(0,m.jsx)(c.FormLayout,{label:k.t(`sheets-hyper-link-ui.form.label`),error:R&&te(b)?k.t(`sheets-hyper-link-ui.form.inputError`):``,children:(0,m.jsx)(c.Input,{value:b,onChange:e=>{J(e),W(!1)},placeholder:k.t(`sheets-hyper-link-ui.form.labelPlaceholder`),autoFocus:!0,onKeyDown:e=>{e.keyCode===f.KeyCode.ENTER&&Z()}})}):null,(0,m.jsx)(c.FormLayout,{label:k.t(`sheets-hyper-link-ui.form.type`),children:(0,m.jsx)(c.Select,{className:`univer-w-full`,options:he,value:w,onChange:e=>{E(e),O(``)}})}),w===d.SheetHyperLinkType.URL&&(0,m.jsx)(c.FormLayout,{error:R?D?g(D)?``:k.t(`sheets-hyper-link-ui.form.linkError`):k.t(`sheets-hyper-link-ui.form.inputError`):``,children:(0,m.jsx)(c.Input,{value:D,onChange:e=>{O(e),e&&(U()||!b||b===e)&&(J(e),W(!0))},placeholder:k.t(`sheets-hyper-link-ui.form.linkPlaceholder`),autoFocus:!0,onKeyDown:e=>{e.keyCode===f.KeyCode.ENTER&&Z()}})}),w===d.SheetHyperLinkType.RANGE&&(0,m.jsx)(c.FormLayout,{error:R&&!D?k.t(`sheets-hyper-link-ui.form.inputError`):``,children:(0,m.jsx)(u.RangeSelector,{unitId:G.getUnitId(),subUnitId:q,maxRangeCount:1,supportAcrossSheet:!0,initialValue:D,resetRange:fe,onChange:(e,t)=>ve(t),onRangeSelectorDialogVisibleChange:async e=>{ue(e),e?(P.type!==`viewing`&&j.enableForceKeepVisible(),v(!0)):(await ie.navigateToRange(P.unitId,P.subUnitId,{startRow:P.row,endRow:P.row,startColumn:P.col,endColumn:P.col},!0),j.disableForceKeepVisible(),v(!1))},onFocusChange:e=>me(e)})}),w===d.SheetHyperLinkType.SHEET&&(0,m.jsx)(c.FormLayout,{error:R&&!D?k.t(`sheets-hyper-link-ui.form.selectError`):``,children:(0,m.jsx)(c.Select,{className:`univer-w-full`,options:ge,value:D,onChange:e=>{var t,n;O(e);let r=(t=ge.find(t=>t.value===e))==null?void 0:t.label,i=(n=ge.find(e=>e.value===D))==null?void 0:n.label;r&&(U()||!b||b===i)&&(J(r),W(!0))}})}),w===d.SheetHyperLinkType.DEFINE_NAME&&(0,m.jsx)(c.FormLayout,{error:R&&!D?k.t(`sheets-hyper-link-ui.form.selectError`):``,children:(0,m.jsx)(c.Select,{className:`univer-w-full`,options:X,value:D,onChange:e=>{var t,n;O(e);let r=(t=X.find(t=>t.value===e))==null?void 0:t.label,i=(n=X.find(e=>e.value===D))==null?void 0:n.label;r&&(U()||!b||b===i)&&(J(r),W(!0))}})}),(pe==null?void 0:pe.Form)&&(0,m.jsx)(pe.Form,{linkId:s,payload:D,display:b,showError:R,getIsDisplaySyncedWithPayload:U,setDisplaySyncedWithPayload:W,setDisplay:e=>{J(e),W(!0)},setPayload:O}),(0,m.jsxs)(`div`,{className:`univer-flex univer-flex-row univer-justify-end univer-gap-2`,children:[(0,m.jsx)(c.Button,{onClick:()=>{P&&ie.navigateToRange(P.unitId,P.subUnitId,{startRow:P.row,endRow:P.row,startColumn:P.col,endColumn:P.col},!0),F.executeCommand(K.id)},children:k.t(`sheets-hyper-link-ui.form.cancel`)}),(0,m.jsx)(c.Button,{variant:`primary`,onClick:async()=>{Z()},children:k.t(`sheets-hyper-link-ui.form.ok`)})]})]}):null};A.componentKey=`univer.sheet.cell-link-edit`;function j({ref:e,...t}){let{icon:n,id:r,className:i,extend:a,...o}=t,s=`univerjs-icon univerjs-icon-${r} ${i||``}`.trim(),c=(0,p.useRef)(`_${re()}`);return M(n,`${r}`,{defIds:n.defIds,idSuffix:c.current},{ref:e,className:s,...o},a)}function M(e,t,n,r,i){return(0,p.createElement)(e.tag,{key:t,...N(e,n,i),...r},(P(e,n).children||[]).map((r,a)=>M(r,`${t}-${e.tag}-${a}`,n,void 0,i)))}function N(e,t,n){let r={...e.attrs};n!=null&&n.colorChannel1&&r.fill===`colorChannel1`&&(r.fill=n.colorChannel1),n!=null&&n.colorChannel1&&r.stroke===`colorChannel1`&&(r.stroke=n.colorChannel1),e.tag===`mask`&&r.id&&(r.id+=t.idSuffix),Object.entries(r).forEach(([e,n])=>{e===`mask`&&typeof n==`string`&&(r[e]=n.replace(/url\(#(.*)\)/,`url(#$1${t.idSuffix})`))});let{defIds:i}=t;return!i||i.length===0?r:(e.tag===`use`&&r[`xlink:href`]&&(r[`xlink:href`]+=t.idSuffix),Object.entries(r).forEach(([e,n])=>{typeof n==`string`&&(r[e]=n.replace(/url\(#(.*)\)/,`url(#$1${t.idSuffix})`))}),r)}function P(e,t){var n;let{defIds:r}=t;return!r||r.length===0?e:e.tag===`defs`&&(n=e.children)!=null&&n.length?{...e,children:e.children.map(e=>typeof e.attrs.id==`string`&&r&&r.includes(e.attrs.id)?{...e,attrs:{...e.attrs,id:e.attrs.id+t.idSuffix}}:e)}:e}function re(){return Math.random().toString(36).substring(2,8)}j.displayName=`UniverIcon`;let ie={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M7.9999 1.12915C8.03875 1.12915 8.07673 1.13284 8.11352 1.13989H12.2599C13.6958 1.13989 14.8599 2.30395 14.8599 3.73989V7.88619C14.867 7.92301 14.8707 7.96102 14.8707 7.9999C14.8707 8.03878 14.867 8.0768 14.8599 8.11362V12.2599C14.8599 13.6958 13.6958 14.8599 12.2599 14.8599H8.11362C8.0768 14.867 8.03878 14.8707 7.9999 14.8707C7.96102 14.8707 7.92301 14.867 7.88619 14.8599H3.73989C2.30396 14.8599 1.13989 13.6958 1.13989 12.2599V8.11352C1.13284 8.07673 1.12915 8.03875 1.12915 7.9999C1.12915 7.96106 1.13284 7.92308 1.13989 7.88629V3.73989C1.13989 2.30396 2.30395 1.13989 3.73989 1.13989H7.88629C7.92308 1.13284 7.96106 1.12915 7.9999 1.12915ZM2.33989 8.5999V12.2599C2.33989 13.0331 2.9667 13.6599 3.73989 13.6599H7.3999V8.5999H2.33989ZM7.3999 7.3999H2.33989V3.73989C2.33989 2.9667 2.96669 2.33989 3.73989 2.33989H7.3999V7.3999ZM8.5999 8.5999V13.6599H12.2599C13.0331 13.6599 13.6599 13.0331 13.6599 12.2599V8.5999H8.5999ZM13.6599 7.3999H8.5999V2.33989H12.2599C13.0331 2.33989 13.6599 2.96669 13.6599 3.73989V7.3999Z`,fillRule:`evenodd`,clipRule:`evenodd`}}]},F=(0,p.forwardRef)(function(e,t){return(0,p.createElement)(j,Object.assign({},e,{id:`all-border-icon`,ref:t,icon:ie}))});F.displayName=`AllBorderIcon`;let I={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M4.1302 12.4251C4.25802 13.7417 5.36779 14.7708 6.71792 14.7708H11.7179C13.1539 14.7708 14.3179 13.6067 14.3179 12.1708V6.1708C14.3179 4.78586 13.2351 3.65383 11.8698 3.57517C11.742 2.25858 10.6323 1.22949 9.28213 1.22949H4.28213C2.84619 1.22949 1.68213 2.39355 1.68213 3.82949V9.82949C1.68213 11.2144 2.76497 12.3465 4.1302 12.4251ZM10.6583 3.5708H6.71792C5.28198 3.5708 4.11792 4.73486 4.11792 6.1708V11.22C3.4221 11.1387 2.88213 10.5471 2.88213 9.82949V3.82949C2.88213 3.05629 3.50893 2.42949 4.28213 2.42949H9.28213C9.96695 2.42949 10.5369 2.92119 10.6583 3.5708ZM13.1179 6.1708C13.1179 5.3976 12.4911 4.7708 11.7179 4.7708H6.71792C5.94472 4.7708 5.31792 5.3976 5.31792 6.1708V12.1708C5.31792 12.944 5.94472 13.5708 6.71792 13.5708H11.7179C12.4911 13.5708 13.1179 12.944 13.1179 12.1708V6.1708Z`,fillRule:`evenodd`,clipRule:`evenodd`}}]},ae=(0,p.forwardRef)(function(e,t){return(0,p.createElement)(j,Object.assign({},e,{id:`copy-icon`,ref:t,icon:I}))});ae.displayName=`CopyIcon`;let oe={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M9.8816 1.97978C11.0177 0.843607 12.862 0.884962 14.0004 2.02342C15.1389 3.16188 15.1803 5.00612 14.0441 6.14228L11.399 8.78737C11.1608 9.02559 10.7746 9.02559 10.5363 8.78737C10.2981 8.54915 10.2981 8.16292 10.5363 7.9247L13.1814 5.2796C13.8195 4.64155 13.8217 3.57006 13.1378 2.8861C12.4538 2.20211 11.3823 2.20438 10.7443 2.84245L7.6976 5.88911L7.69317 5.89349C7.05959 6.53211 7.05894 7.60014 7.74132 8.28252C7.97954 8.52074 7.97954 8.90697 7.74132 9.14519C7.5031 9.38341 7.11687 9.38341 6.87865 9.14519C5.74016 8.00671 5.69884 6.16251 6.83497 5.02633L6.84021 5.02116L9.8816 1.97978Z`}},{tag:`path`,attrs:{fill:`currentColor`,d:`M4.61426 7.2364C4.85248 6.99818 5.23871 6.99818 5.47693 7.2364C5.71515 7.47462 5.71515 7.86085 5.47693 8.09907L2.83183 10.7442C2.19375 11.3823 2.1915 12.4537 2.87547 13.1377C3.55945 13.8217 4.6309 13.8194 5.26899 13.1813L8.31566 10.1347C8.32262 10.1277 8.32971 10.121 8.33691 10.1144C8.34408 10.1064 8.3515 10.0986 8.35916 10.091C8.99721 9.45291 8.99949 8.38145 8.3155 7.69746C8.07728 7.45924 8.07728 7.07301 8.3155 6.83479C8.55372 6.59657 8.93995 6.59657 9.17817 6.83479C10.3166 7.97327 10.358 9.81748 9.22183 10.9536C9.21487 10.9606 9.20779 10.9673 9.20058 10.9739C9.19341 10.9819 9.18599 10.9897 9.17833 10.9973L6.13166 14.044C4.99548 15.1802 3.15127 15.1389 2.01279 14.0004C0.874362 12.8619 0.83297 11.0177 1.96916 9.8815L4.61426 7.2364Z`}}]},L=(0,p.forwardRef)(function(e,t){return(0,p.createElement)(j,Object.assign({},e,{id:`link-icon`,ref:t,icon:oe}))});L.displayName=`LinkIcon`;let se={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 17`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M12.5935 3.47302C11.6354 2.51492 10.082 2.51492 9.12388 3.47302L7.83534 4.76157C7.60102 4.99588 7.22112 4.99588 6.98681 4.76157C6.75249 4.52725 6.75249 4.14735 6.98681 3.91304L8.27535 2.62449C9.70209 1.19776 12.0153 1.19776 13.442 2.62449C14.8688 4.05123 14.8688 6.36442 13.442 7.79116L12.1535 9.0797C11.9192 9.31402 11.5393 9.31402 11.3049 9.0797C11.0706 8.84539 11.0706 8.46549 11.3049 8.23117L12.5935 6.94263C13.5516 5.98452 13.5516 4.43113 12.5935 3.47302Z`}},{tag:`path`,attrs:{fill:`currentColor`,d:`M3.40637 12.6606C2.44827 11.7025 2.44827 10.1491 3.40637 9.19102L4.69492 7.90248C4.92923 7.66816 4.92923 7.28826 4.69492 7.05395C4.4606 6.81963 4.0807 6.81963 3.84639 7.05395L2.55784 8.34249C1.13111 9.76923 1.13111 12.0824 2.55784 13.5092C3.98458 14.9359 6.29777 14.9359 7.72451 13.5092L9.01305 12.2206C9.24737 11.9863 9.24737 11.6064 9.01305 11.3721C8.77874 11.1378 8.39884 11.1378 8.16452 11.3721L6.87598 12.6606C5.91787 13.6187 4.36448 13.6187 3.40637 12.6606Z`}},{tag:`path`,attrs:{fill:`currentColor`,d:`M3.5852 2.80332C3.35088 2.569 2.97098 2.569 2.73667 2.80332C2.50235 3.03763 2.50235 3.41753 2.73667 3.65185L12.4151 13.3302C12.6494 13.5646 13.0293 13.5646 13.2636 13.3302C13.4979 13.0959 13.4979 12.716 13.2636 12.4817L3.5852 2.80332Z`}}]},ce=(0,p.forwardRef)(function(e,t){return(0,p.createElement)(j,Object.assign({},e,{id:`unlink-icon`,ref:t,icon:se}))});ce.displayName=`UnlinkIcon`;let le={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 17 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M12.6551 1.98906C11.7476 1.08113 10.2757 1.08149 9.3686 1.98987L4.82542 6.53955C4.75087 6.61421 4.69336 6.70411 4.65682 6.80309L3.2461 10.625C3.16506 10.8446 3.21909 11.0912 3.3845 11.2568C3.54991 11.4224 3.79651 11.4767 4.01616 11.3959L7.85031 9.98517C7.94979 9.94856 8.04014 9.89077 8.11508 9.81579L12.6552 5.27327C13.5618 4.36621 13.5618 2.89607 12.6551 1.98906ZM10.2177 2.83779C10.6562 2.39869 11.3677 2.39851 11.8064 2.8374C12.2447 3.27584 12.2447 3.9865 11.8065 4.42497L7.3392 8.89457L4.82213 9.82068L5.74706 7.31487L10.2177 2.83779Z`,fillRule:`evenodd`,clipRule:`evenodd`}},{tag:`path`,attrs:{fill:`currentColor`,d:`M1.79238 13.2999C1.46101 13.2999 1.19238 13.5685 1.19238 13.8999C1.19238 14.2313 1.46101 14.4999 1.79238 14.4999H14.4924C14.8238 14.4999 15.0924 14.2313 15.0924 13.8999C15.0924 13.5685 14.8238 13.2999 14.4924 13.2999H1.79238Z`}}]},ue=(0,p.forwardRef)(function(e,t){return(0,p.createElement)(j,Object.assign({},e,{id:`write-icon`,ref:t,icon:le}))});ue.displayName=`WriteIcon`;let de={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`#35BD4B`,d:`M3.4535 1.12549C2.7002 1.12549 2.08954 1.73615 2.08954 2.48945V13.5104C2.08954 14.2637 2.7002 14.8744 3.4535 14.8744H12.5465C13.2998 14.8744 13.9105 14.2637 13.9105 13.5104V5.0992L10.0091 1.12549H3.4535Z`}},{tag:`path`,attrs:{fill:`#32A846`,d:`M10.0075 1.12549L13.9104 5.09842H10.6742C10.306 5.09842 10.0075 4.79994 10.0075 4.43175V1.12549Z`}},{tag:`path`,attrs:{fill:`white`,d:`M7.8088 10.2949L6.3764 12.403C6.26259 12.5705 6.03455 12.614 5.86705 12.5002C5.69955 12.3864 5.65603 12.1584 5.76984 11.9909L7.3655 9.64252L5.94042 7.54519C5.82661 7.37769 5.87013 7.14964 6.03763 7.03583C6.20512 6.92202 6.43317 6.96555 6.54698 7.13304L7.8088 8.9901L9.07062 7.13304C9.18443 6.96555 9.41248 6.92202 9.57997 7.03583C9.74747 7.14964 9.79099 7.37769 9.67718 7.54519L8.2521 9.64252L9.84776 11.9909C9.96157 12.1584 9.91805 12.3864 9.75055 12.5002C9.58305 12.614 9.35501 12.5705 9.2412 12.403L7.8088 10.2949Z`,fillRule:`evenodd`,clipRule:`evenodd`}}]},fe=(0,p.forwardRef)(function(e,t){return(0,p.createElement)(j,Object.assign({},e,{id:`xlsx-multi-icon`,ref:t,icon:de}))});fe.displayName=`XlsxMultiIcon`;let pe={[d.SheetHyperLinkType.URL]:(0,m.jsx)(L,{}),[d.SheetHyperLinkType.SHEET]:(0,m.jsx)(fe,{className:`univer-text-green-500`}),[d.SheetHyperLinkType.RANGE]:(0,m.jsx)(F,{}),[d.SheetHyperLinkType.DEFINE_NAME]:(0,m.jsx)(F,{}),[d.SheetHyperLinkType.INVALID]:(0,m.jsx)(F,{})},R=e=>{var n,i;let a=(0,f.useDependency)(V),o=(0,f.useDependency)(t.ICommandService),s=(0,f.useDependency)(f.IMessageService),l=(0,f.useDependency)(t.LocaleService),u=(0,f.useDependency)(T),p=(0,f.useDependency)(r.IEditorBridgeService),h=(0,f.useDependency)(d.SheetsHyperLinkParserService),{customRange:g,row:_,col:v,unitId:y,subUnitId:b,editPermission:x,copyPermission:S,type:C}=e;if(!(!(g==null||(n=g.properties)==null)&&n.url))return null;let w=h.parseHyperLink((i=g.properties.url)==null?``:i),E=w.type===d.SheetHyperLinkType.INVALID;return(0,m.jsxs)(`div`,{className:(0,c.clsx)(`univer-mb-1 univer-flex univer-max-w-80 univer-flex-row univer-items-center univer-justify-between univer-overflow-hidden univer-rounded-lg univer-bg-white univer-p-3 univer-shadow-md dark:!univer-bg-gray-900`,c.borderClassName),onClick:()=>a.hideCurrentPopup(),children:[(0,m.jsxs)(`div`,{className:(0,c.clsx)(`univer-flex univer-h-6 univer-flex-1 univer-cursor-pointer univer-flex-row univer-items-center univer-truncate univer-text-sm univer-leading-5 univer-text-primary-600`,{"univer-text-red-500":E}),onClick:()=>{E||u.navigate(w)},children:[(0,m.jsx)(`div`,{className:`univer-mr-2 univer-flex univer-size-5 univer-flex-none univer-items-center univer-justify-center univer-text-base univer-text-gray-900 dark:!univer-text-white`,children:pe[w.type]}),(0,m.jsx)(c.Tooltip,{showIfEllipsis:!0,title:w.name,asChild:!0,children:(0,m.jsx)(`span`,{className:`univer-flex-1 univer-truncate`,children:w.name})})]}),(0,m.jsxs)(`div`,{className:`univer-flex univer-h-6 univer-flex-none univer-flex-row univer-items-center univer-justify-center`,children:[S&&(0,m.jsx)(`div`,{className:(0,c.clsx)(`univer-ml-2 univer-flex univer-size-6 univer-cursor-pointer univer-flex-row univer-items-center univer-justify-center univer-rounded univer-text-base hover:univer-bg-gray-100 dark:hover:!univer-bg-gray-700`,{"univer-text-red-500":E}),onClick:()=>{if(!E){if(w.type!==d.SheetHyperLinkType.URL){let e=new URL(window.location.href);e.hash=w.url.slice(1),navigator.clipboard.writeText(e.href)}else navigator.clipboard.writeText(w.url);s.show({content:l.t(`sheets-hyper-link-ui.message.coped`),type:c.MessageType.Info})}},children:(0,m.jsx)(c.Tooltip,{placement:`bottom`,title:l.t(`sheets-hyper-link-ui.popup.copy`),children:(0,m.jsx)(ae,{className:`dark:!univer-text-white`})})}),x&&(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(`div`,{className:`univer-ml-2 univer-flex univer-size-6 univer-cursor-pointer univer-flex-row univer-items-center univer-justify-center univer-rounded univer-text-base hover:univer-bg-gray-100 dark:hover:!univer-bg-gray-700`,onClick:()=>{o.executeCommand(G.id,{unitId:y,subUnitId:b,row:_,col:v,customRangeId:g.rangeId,type:C})},children:(0,m.jsx)(c.Tooltip,{placement:`bottom`,title:l.t(`sheets-hyper-link-ui.popup.edit`),children:(0,m.jsx)(ue,{className:`dark:!univer-text-white`})})}),(0,m.jsx)(`div`,{className:`univer-ml-2 univer-flex univer-size-6 univer-cursor-pointer univer-flex-row univer-items-center univer-justify-center univer-rounded univer-text-base hover:univer-bg-gray-100 dark:hover:!univer-bg-gray-700`,onClick:()=>{let e=C===`editing`?d.CancelRichHyperLinkCommand.id:d.CancelHyperLinkCommand.id;o.syncExecuteCommand(e,{unitId:y,subUnitId:b,id:g.rangeId,row:_,column:v,documentId:p.getCurrentEditorId()})&&a.hideCurrentPopup(void 0,!0)},children:(0,m.jsx)(c.Tooltip,{placement:`bottom`,title:l.t(`sheets-hyper-link-ui.popup.cancel`),children:(0,m.jsx)(ce,{className:`dark:!univer-text-white`})})})]})]})]})},z=()=>{let e=(0,f.useDependency)(V),[n,r]=(0,p.useState)(null),i=(0,f.useDependency)(t.IUniverInstanceService);if((0,p.useEffect)(()=>{r(e.currentPopup);let t=e.currentPopup$.subscribe(e=>{r(e)});return()=>{t.unsubscribe()}},[e.currentPopup,e.currentPopup$]),!n)return null;if(n.showAll){var a;let e=i.getUnit(n.unitId,t.UniverInstanceType.UNIVER_SHEET),r=e==null?void 0:e.getSheetBySheetId(n.subUnitId),o=r==null?void 0:r.getCell(n.row,n.col),s=o==null||(a=o.p)==null||(a=a.body)==null?void 0:a.customRanges;return s!=null&&s.length?(0,m.jsx)(`div`,{children:s.map(e=>(0,m.jsx)(R,{...n,customRange:e},e.rangeId))}):null}return(0,m.jsx)(R,{...n})};z.componentKey=`univer.sheet.cell-link-popup`;let B=(e,t)=>{var n,r;return e.unitId===t.unitId&&e.subUnitId===t.subUnitId&&e.row===t.row&&e.col===t.col&&((n=e.customRange)==null?void 0:n.rangeId)===((r=t.customRange)==null?void 0:r.rangeId)&&e.type===t.type},V=class extends t.Disposable{get currentPopup(){return this._currentPopup}get currentEditing(){return this._currentEditing$.getValue()}constructor(e,t,n,r,i){super(),this._sheetCanvasPopManagerService=e,this._injector=t,this._univerInstanceService=n,this._editorBridgeService=r,this._textSelectionManagerService=i,k(this,`_currentPopup`,null),k(this,`_currentPopup$`,new s.Subject),k(this,`currentPopup$`,this._currentPopup$.asObservable()),k(this,`_currentEditingPopup`,null),k(this,`_currentEditing$`,new s.BehaviorSubject(null)),k(this,`currentEditing$`,this._currentEditing$.asObservable()),k(this,`_isKeepVisible`,!1),this.disposeWithMe(()=>{this.hideCurrentPopup(),this.endEditing(),this._currentEditing$.complete(),this._currentPopup$.complete()})}setIsKeepVisible(e){this._isKeepVisible=e}getIsKeepVisible(){return this._isKeepVisible}showPopup(e){if(this._currentPopup&&B(e,this._currentPopup))return;this.hideCurrentPopup(void 0,!0);let t=this._currentEditing$.getValue();if(t&&B(e,t))return;let{unitId:n,subUnitId:r,row:i,col:a,customRangeRect:o,customRange:s}=e,c,l={componentKey:z.componentKey,direction:`bottom`,onClickOutside:()=>{this.hideCurrentPopup()},onClick:()=>{this.hideCurrentPopup(e.type,!0)}};if(e.type===`editing`){if(!s)return;c=o&&this._sheetCanvasPopManagerService.attachPopupToAbsolutePosition(o,l)}else if(e.showAll)c=this._sheetCanvasPopManagerService.attachPopupToCell(e.row,e.col,l,n,r);else{if(!s)return;c=o&&this._sheetCanvasPopManagerService.attachPopupByPosition(o,l,e)}if(c){if(this._currentPopup){var u;(u=this._currentPopup.disposable)==null||u.dispose()}this._currentPopup={unitId:n,subUnitId:r,disposable:c,row:i,col:a,editPermission:!!e.editPermission,copyPermission:!!e.copyPermission,customRange:s,type:e.type,showAll:e.showAll},this._currentPopup$.next(this._currentPopup)}}hideCurrentPopup(e,t){if(this._currentPopup&&((!e||e===this._currentPopup.type)&&this._currentPopup.disposable.canDispose()||t)){var n;(n=this._currentPopup)==null||(n=n.disposable)==null||n.dispose(),this._currentPopup=null,this._currentPopup$.next(null)}}dispose(){super.dispose(),this.hideCurrentPopup(),this.endEditing(),this._currentPopup$.complete(),this._currentEditing$.complete()}_getEditingRange(){let e=this._editorBridgeService.isVisible().visible,n=this._editorBridgeService.getEditCellState();if(e&&n){var r,i,a;let e=this._textSelectionManagerService.getActiveTextRange(),o=(r=n.documentLayoutObject.documentModel)==null?void 0:r.getBody();if(!o)return null;if(!e||e.collapsed)return{startOffset:0,endOffset:o.dataStream.length-2,collapsed:o.dataStream.length-2==0,label:t.BuildTextUtils.transform.getPlainText(o.dataStream)};let s=t.BuildTextUtils.customRange.getCustomRangesInterestsWithSelection(e,(i=(a=o.customRanges)==null?void 0:a.filter(e=>e.rangeType===t.CustomRangeType.HYPERLINK))==null?[]:i),c=e.startOffset,l=e.endOffset;return s.forEach(e=>{c=Math.min(c,e.startIndex),l=Math.max(l,e.endIndex+1)}),{startOffset:c,endOffset:l,collapsed:c===l,label:t.BuildTextUtils.transform.getPlainText(o.dataStream.slice(c,l))}}return null}get _editPopup(){return{componentKey:A.componentKey,direction:`vertical`,onClickOutside:()=>{this.endEditing()},onContextMenu:()=>{this.endEditing()},hiddenType:`hide`}}startAddEditing(e){let{unitId:n,subUnitId:r,type:i}=e;if(i===`editing`){var s;let i=this._getEditingRange();if(!i)return;this._textSelectionManagerService.replaceDocRanges([{...i}],{unitId:t.DOCS_NORMAL_EDITOR_UNIT_ID_KEY,subUnitId:t.DOCS_NORMAL_EDITOR_UNIT_ID_KEY});let c=this._injector.get(o.IRenderManagerService).getRenderById(t.DOCS_NORMAL_EDITOR_UNIT_ID_KEY);if(!c)return;let l=(0,a.calcDocRangePositions)(i,c);if(!(l!=null&&l.length))return;this._currentEditingPopup=this._sheetCanvasPopManagerService.attachPopupToAbsolutePosition(l.pop(),this._editPopup,n,r),this._currentEditing$.next({...e,label:(s=i==null?void 0:i.label)==null?``:s})}else{var c,l,u;this._currentEditingPopup=this._sheetCanvasPopManagerService.attachPopupToCell(e.row,e.col,this._editPopup,n,r);let i=this._univerInstanceService.getUnit(n,t.UniverInstanceType.UNIVER_SHEET),a=i==null?void 0:i.getSheetBySheetId(r),o=a==null?void 0:a.getCellRaw(e.row,e.col);this._currentEditing$.next({...e,label:o!=null&&o.p?t.BuildTextUtils.transform.getPlainText((c=(l=o.p.body)==null?void 0:l.dataStream)==null?``:c):((u=o==null?void 0:o.v)==null?``:u).toString()})}}startEditing(e){var n;(n=this._currentEditingPopup)==null||n.dispose(),this.hideCurrentPopup(void 0,!0);let{unitId:i,subUnitId:a}=e,o,s;if(e.type===`editing`){var c;let t=(0,r.getEditingCustomRangePosition)(this._injector,e.unitId,e.subUnitId,e.row,e.col,e.customRangeId);if(!t||!((c=t.rects)!=null&&c.length))return;o=t.customRange,s=t.label,this._textSelectionManagerService.replaceTextRanges([{startOffset:o.startIndex,endOffset:o.endIndex+1}]),this._currentEditingPopup=this._sheetCanvasPopManagerService.attachPopupToAbsolutePosition(t.rects.pop(),this._editPopup,i,a)}else{var l;let n=this._univerInstanceService.getUnit(i,t.UniverInstanceType.UNIVER_SHEET),c=n==null?void 0:n.getSheetBySheetId(a),u=c==null?void 0:c.getCellRaw(e.row,e.col),d=n==null?void 0:n.getStyles().getStyleByCell(u),f=d==null?void 0:d.tr,p=(0,r.getCustomRangePosition)(this._injector,e.unitId,e.subUnitId,e.row,e.col,e.customRangeId);if(!p||!((l=p.rects)!=null&&l.length))return;o=p.customRange,s=p.label,f?this._currentEditingPopup=this._sheetCanvasPopManagerService.attachPopupToCell(e.row,e.col,this._editPopup,i,a):this._currentEditingPopup=this._sheetCanvasPopManagerService.attachPopupByPosition(p.rects.pop(),this._editPopup,{unitId:i,subUnitId:a,row:e.row,col:e.col})}this._currentEditing$.next({...e,customRange:o,label:s})}endEditing(e){if(this.getIsKeepVisible())return;let t=this._currentEditing$.getValue();if(t&&(!e||e===t.type)){var n;(n=this._currentEditingPopup)==null||n.dispose(),this._currentEditing$.next(null)}}};V=C([S(0,(0,t.Inject)(r.SheetCanvasPopManagerService)),S(1,(0,t.Inject)(t.Injector)),S(2,t.IUniverInstanceService),S(3,r.IEditorBridgeService),S(4,(0,t.Inject)(i.DocSelectionManagerService))],V);let me=new Set([t.DataValidationType.CHECKBOX,t.DataValidationType.LIST,t.DataValidationType.LIST_MULTIPLE]),H=(e,t,n,r)=>{var i,a;let o=t.getCell(n,r);if(o!=null&&o.f||o!=null&&o.si||!(o==null||(i=o.p)==null||(i=i.body)==null||(i=i.customBlocks)==null)&&i.length)return 1;let s=e.has(h.SheetDataValidationModel)?e.get(h.SheetDataValidationModel):null,c=s==null?void 0:s.getRuleByLocation(t.getUnitId(),t.getSheetId(),n,r);return c&&me.has(c.type)?!0:!(o==null||(a=o.p)==null||(a=a.drawingsOrder)==null)&&a.length?2:0},U=e=>{let r=e.get(t.IUniverInstanceService).getCurrentUnitOfType(t.UniverInstanceType.UNIVER_SHEET);if(!r)return!0;let i=r.getActiveSheet(),a=e.get(n.SheetsSelectionsService).getCurrentSelections();if(!a.length)return!0;let o=a[0].range.startRow,s=a[0].range.startColumn;return H(e,i,o,s)===1},W=e=>{let n=e.get(i.DocSelectionManagerService),r=e.get(t.IUniverInstanceService),a=n.getTextRanges();if(!(a!=null&&a.length))return!0;let o=r.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_DOC);return!!(!o||a.every(e=>e.collapsed)||!o.getSelfOrHeaderFooterModel(a[0].segmentId).getBody())},G={type:t.CommandType.OPERATION,id:`sheet.operation.open-hyper-link-edit-panel`,handler(e,t){if(!t)return!1;let n=e.get(V);return t.customRangeId?n.startEditing(t):n.startAddEditing(t),!0}},K={type:t.CommandType.OPERATION,id:`sheet.operation.close-hyper-link-popup`,handler(e){return e.get(V).endEditing(),!0}},q={type:t.CommandType.OPERATION,id:`sheet.operation.insert-hyper-link`,handler(e){let i=(0,n.getSheetCommandTarget)(e.get(t.IUniverInstanceService)),a=e.get(r.IEditorBridgeService);if(!i)return!1;let o=e.get(t.ICommandService),s=e.get(n.SheetsSelectionsService).getCurrentLastSelection();if(!s)return!1;let c=s.range.startRow,l=s.range.startColumn,u=a.isVisible();return o.executeCommand(G.id,{unitId:i.unitId,subUnitId:i.subUnitId,row:c,col:l,type:u.visible?`editing`:`viewing`})}},J={type:t.CommandType.OPERATION,id:`sheet.operation.insert-hyper-link-toolbar`,handler(e){if(U(e))return!1;let n=e.get(t.ICommandService);return e.get(V).currentEditing?n.executeCommand(K.id):n.executeCommand(q.id)}},he=`SHEET_HYPER_LINK_UI_PLUGIN`,Y=class extends t.Disposable{registerPlainTextFilter(e){this._plainTextFilter.add(e)}removePlainTextFilter(e){this._plainTextFilter.delete(e)}_filterPlainText(e){return Array.from(this._plainTextFilter).every(t=>t(e))}constructor(e,t,n,r){super(),this._sheetClipboardService=e,this._hyperLinkModel=t,this._injector=n,this._resolverService=r,k(this,`_plainTextFilter`,new Set),k(this,`_copyInfo`,void 0),this._initCopyPaste(),this.disposeWithMe(()=>{this._plainTextFilter.clear()})}_initCopyPaste(){this._sheetClipboardService.addClipboardHook({id:he,onBeforeCopy:(e,t,n)=>this._collect(e,t,n),onPasteCells:(e,t,n,i)=>{let{copyType:a=r.COPY_TYPE.COPY,pasteType:o}=i,{range:s}=e||{},{range:c,unitId:l,subUnitId:u}=t;return this._generateMutations(c,{copyType:a,pasteType:o,copyRange:s,unitId:l,subUnitId:u})},onPastePlainText:(e,n)=>{let i=this._filterPlainText(n);if(g(n)&&i){let{range:n,unitId:i,subUnitId:a}=e,{ranges:[o],mapFunc:s}=(0,r.virtualizeDiscreteRanges)([n]),c=[],l=[];return t.Range.foreach(o,(e,t)=>{let{row:n,col:r}=s(e,t),o=this._hyperLinkModel.getHyperLinkByLocation(i,a,n,r);o&&c.push({id:d.RemoveHyperLinkMutation.id,params:{unitId:i,subUnitId:a,id:o.id}}),o&&l.push({id:d.AddHyperLinkMutation.id,params:{unitId:i,subUnitId:a,link:o}})}),{redos:c,undos:l}}return{undos:[],redos:[]}},priority:99})}_collect(e,r,i){let a=new t.ObjectMatrix;this._copyInfo={unitId:e,subUnitId:r,matrix:a};let o=this._injector.invoke(t=>(0,n.rangeToDiscreteRange)(i,t,e,r));if(!o)return;let{rows:s,cols:c}=o;s.forEach((t,n)=>{c.forEach((i,o)=>{var s;let c=this._hyperLinkModel.getHyperLinkByLocation(e,r,t,i);a.setValue(n,o,(s=c==null?void 0:c.id)==null?``:s)})})}_generateMutations(e,n){if(!this._copyInfo||!this._copyInfo||!this._copyInfo.matrix.getSizeOf()||!n.copyRange||[r.PREDEFINED_HOOK_NAME_PASTE.SPECIAL_PASTE_COL_WIDTH,r.PREDEFINED_HOOK_NAME_PASTE.SPECIAL_PASTE_VALUE,r.PREDEFINED_HOOK_NAME_PASTE.SPECIAL_PASTE_FORMAT,r.PREDEFINED_HOOK_NAME_PASTE.SPECIAL_PASTE_FORMULA].includes(n.pasteType))return{redos:[],undos:[]};let{unitId:i,subUnitId:a}=this._copyInfo,o=[],s=[],{ranges:[c,l],mapFunc:u}=(0,r.virtualizeDiscreteRanges)([n.copyRange,e]);return(0,r.getRepeatRange)(c,l,!0).forEach(({startRange:e})=>{var r;(r=this._copyInfo)==null||r.matrix.forValue((r,c,l)=>{let f=t.Rectangle.getPositionRange({startRow:r,endRow:r,startColumn:c,endColumn:c},e),p=this._hyperLinkModel.getHyperLink(i,a,l),{row:m,col:h}=u(f.startRow,f.startColumn),g=this._hyperLinkModel.getHyperLinkByLocation(n.unitId,n.subUnitId,m,h),_=(0,t.generateRandomId)();g&&o.push({id:d.RemoveHyperLinkMutation.id,params:{unitId:n.unitId,subUnitId:n.subUnitId,id:g.id}}),p&&(o.push({id:d.AddHyperLinkMutation.id,params:{unitId:n.unitId,subUnitId:n.subUnitId,link:{...p,id:_,row:m,column:h}}}),s.push({id:d.RemoveHyperLinkMutation.id,params:{unitId:n.unitId,subUnitId:n.subUnitId,id:_}})),g&&s.push({id:d.AddHyperLinkMutation.id,params:{unitId:n.unitId,subUnitId:n.subUnitId,link:g}})})}),{redos:o,undos:s}}};Y=C([S(0,r.ISheetClipboardService),S(1,(0,t.Inject)(d.HyperLinkModel)),S(2,(0,t.Inject)(t.Injector)),S(3,(0,t.Inject)(T))],Y);let ge=(e,i=t.DOCS_NORMAL_EDITOR_UNIT_ID_KEY)=>{var c;let l=e.get(t.IUniverInstanceService),u=(c=e.get(o.IRenderManagerService).getRenderById(i))==null?void 0:c.with(a.DocSelectionRenderService);return u?u.textSelectionInner$.pipe((0,s.map)(()=>{let t=e.get(r.IEditorBridgeService).getEditCellState();if(!t)return!0;let i=(0,n.getSheetCommandTarget)(l,{unitId:t.unitId,subUnitId:t.sheetId});return!(i!=null&&i.worksheet)||H(e,i.worksheet,t.row,t.column)===1?!0:W(e)})):(0,s.of)(!0)},X=e=>{var i;let a=e.get(t.IUniverInstanceService),o=e.has(r.IEditorBridgeService)?e.get(r.IEditorBridgeService):null;return((i=o==null?void 0:o.currentEditCellState$.pipe((0,s.map)(t=>{if(!t)return 1;let r=(0,n.getSheetCommandTarget)(a,{unitId:t.unitId,subUnitId:t.sheetId});return r?H(e,r.worksheet,t.row,t.column):1}),(0,s.switchMap)(n=>n===1?(0,s.of)(!0):(0,s.combineLatest)([o?o.visible$:(0,s.of)(null),a.getCurrentTypeOfUnit$(t.UniverInstanceType.UNIVER_DOC)]).pipe((0,s.switchMap)(([r,i])=>r!=null&&r.visible?(i==null?void 0:i.getUnitId())===t.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY?(0,s.of)(!0):ge(e,t.DOCS_NORMAL_EDITOR_UNIT_ID_KEY):(0,s.of)(n!==0))))))==null?(0,s.of)(!0):i).pipe((0,s.switchMap)(t=>t?(0,s.of)(!0):(0,r.getCurrentRangeDisable$)(e,{workbookTypes:[n.WorkbookEditablePermission],worksheetTypes:[n.WorksheetEditPermission,n.WorksheetSetCellValuePermission,n.WorksheetInsertHyperlinkPermission],rangeTypes:[n.RangeProtectionPermissionEditPoint]},!0)))},_e=e=>({commandId:q.id,type:f.MenuItemType.BUTTON,title:`sheets-hyper-link-ui.menu.add`,icon:`LinkIcon`,id:q.id,hidden$:(0,f.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_SHEET),disabled$:X(e)}),ve=e=>({tooltip:`sheets-hyper-link-ui.form.addTitle`,commandId:J.id,type:f.MenuItemType.BUTTON,icon:`LinkIcon`,id:J.id,hidden$:(0,f.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_SHEET),disabled$:X(e)}),Z={id:J.id,binding:f.KeyCode.K|f.MetaKeys.CTRL_COMMAND,preconditions:r.whenSheetEditorFocused};var ye=`@univerjs/sheets-hyper-link-ui`,be=`1.0.0-alpha.1`;let xe=class extends t.Disposable{constructor(e,t){super(),this._autoFillService=e,this._hyperLinkModel=t,this._initAutoFill()}_initAutoFill(){let e=()=>({redos:[],undos:[]}),i=(e,i)=>{let{source:a,target:o,unitId:s,subUnitId:c}=e,l=(0,r.virtualizeDiscreteRanges)([a,o]),[u,f]=l.ranges,{mapFunc:p}=l,m={row:u.startRow,col:u.startColumn},h=n.AutoFillTools.getAutoFillRepeatRange(u,f),g=[],_=[];return h.forEach(e=>{let r=e.repeatStartCell,a=e.relativeRange,o={startRow:m.row,startColumn:m.col,endColumn:m.col,endRow:m.row},l={startRow:r.row,startColumn:r.col,endColumn:r.col,endRow:r.row};t.Range.foreach(a,(e,r)=>{let a=t.Rectangle.getPositionRange({startRow:e,startColumn:r,endColumn:r,endRow:e},o),{row:u,col:f}=p(a.startRow,a.startColumn),m=this._hyperLinkModel.getHyperLinkByLocation(s,c,u,f),h=t.Rectangle.getPositionRange({startRow:e,startColumn:r,endColumn:r,endRow:e},l),{row:v,col:y}=p(h.startRow,h.startColumn),b=(0,t.generateRandomId)(),x=this._hyperLinkModel.getHyperLinkByLocation(s,c,v,y);x&&g.push({id:d.RemoveHyperLinkMutation.id,params:{unitId:s,subUnitId:c,id:x.id}}),(n.AUTO_FILL_APPLY_TYPE.COPY===i||n.AUTO_FILL_APPLY_TYPE.SERIES===i)&&m&&(g.push({id:d.AddHyperLinkMutation.id,params:{unitId:s,subUnitId:c,link:{...m,id:b,row:v,column:y}}}),_.push({id:d.RemoveHyperLinkMutation.id,params:{unitId:s,subUnitId:c,id:b}})),x&&_.push({id:d.AddHyperLinkMutation.id,params:{unitId:s,subUnitId:c,link:x}})})}),{undos:_,redos:g}},a={id:he,onFillData:(t,r,a)=>a===n.AUTO_FILL_APPLY_TYPE.COPY||a===n.AUTO_FILL_APPLY_TYPE.ONLY_FORMAT||a===n.AUTO_FILL_APPLY_TYPE.SERIES?i(t,a):e()};this.disposeWithMe(this._autoFillService.addHook(a))}};xe=C([S(0,n.IAutoFillService),S(1,(0,t.Inject)(d.HyperLinkModel))],xe);let Se=class extends t.Disposable{constructor(e,t){super(),this._componentManager=e,this._iconManager=t,this._registerComponents(),this._registerIcons()}_registerComponents(){[[z.componentKey,z],[A.componentKey,A]].forEach(([e,t])=>{this._componentManager.register(e,t)})}_registerIcons(){this.disposeWithMe(this._iconManager.register({LinkIcon:L}))}};Se=C([S(0,(0,t.Inject)(f.ComponentManager)),S(1,(0,t.Inject)(f.IconManager))],Se);let Ce=class extends t.Disposable{constructor(e,t,n){super(),this._localeService=e,this._commandService=t,this._sheetPermissionCheckController=n,this._commandExecutedListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.beforeCommandExecuted(e=>{e.id===Z.id&&(this._sheetPermissionCheckController.permissionCheckWithRanges({workbookTypes:[n.WorkbookEditablePermission],rangeTypes:[n.RangeProtectionPermissionEditPoint],worksheetTypes:[n.WorksheetEditPermission,n.WorksheetSetCellValuePermission,n.WorksheetInsertHyperlinkPermission]})||this._sheetPermissionCheckController.blockExecuteWithoutPermission(this._localeService.t(`sheets-hyper-link-ui.permission.hyperLinkErr`)))}))}};Ce=C([S(0,(0,t.Inject)(t.LocaleService)),S(1,t.ICommandService),S(2,(0,t.Inject)(n.SheetPermissionCheckController))],Ce);let we=class extends t.Disposable{constructor(e,t,n,r,i,a,o,s,c){super(),this._hoverManagerService=e,this._sheetsHyperLinkPopupService=t,this._renderManagerService=n,this._permissionService=r,this._sheetPermissionCheckController=i,this._commandService=a,this._editorBridgeService=o,this._textSelectionManagerService=s,this._univerInstanceService=c,this._initHoverListener(),this._initCommandListener(),this._initHoverEditingListener(),this._initTextSelectionListener()}_getLinkPermission(e){let{unitId:r,subUnitId:i,row:a,col:o}=e,s=this._univerInstanceService.getUnit(r,t.UniverInstanceType.UNIVER_SHEET),c=s==null?void 0:s.getSheetBySheetId(i);if(!c)return{viewPermission:!1,editPermission:!1,copyPermission:!1};let l=this._sheetPermissionCheckController.permissionCheckWithRanges({workbookTypes:[n.WorkbookViewPermission],worksheetTypes:[n.WorksheetViewPermission],rangeTypes:[n.RangeProtectionPermissionViewPoint]},[{startRow:a,startColumn:o,endRow:a,endColumn:o}],r,i),u=this._sheetPermissionCheckController.permissionCheckWithRanges({workbookTypes:[n.WorkbookEditablePermission],worksheetTypes:[n.WorksheetEditPermission,n.WorksheetInsertHyperlinkPermission],rangeTypes:[n.RangeProtectionPermissionEditPoint]},[{startRow:a,startColumn:o,endRow:a,endColumn:o}],r,i),d=c.getCellRaw(a,o);d!=null&&d.f&&d.f.startsWith(`=HYPERLINK(`)&&(u=!1);let f=this._permissionService.composePermission([new n.WorkbookCopyPermission(r).id,new n.WorksheetCopyPermission(r,i).id]).every(e=>e.value);return{viewPermission:l,editPermission:u,copyPermission:f}}_initHoverListener(){this.disposeWithMe(this._hoverManagerService.currentRichText$.pipe((0,s.debounceTime)(200)).subscribe(e=>{var n,i,a;if(!e||((n=e.customRange)==null?void 0:n.rangeType)!==t.CustomRangeType.HYPERLINK){this._sheetsHyperLinkPopupService.hideCurrentPopup();return}let{unitId:o,subUnitId:s,row:c,col:l}=e,u=this._renderManagerService.getRenderById(o);if(!u)return;let d=this._univerInstanceService.getUnit(o,t.UniverInstanceType.UNIVER_SHEET),f=d==null?void 0:d.getSheetBySheetId(s);if(!f)return;if(!u.with(r.HoverRenderController).active){this._sheetsHyperLinkPopupService.hideCurrentPopup(`viewing`);return}let p=u==null||(i=u.with(r.SheetSkeletonManagerService).getSkeletonParam(s))==null?void 0:i.skeleton,m=l,h=c,g=h,_=m;p&&p.overflowCache.forValue((e,n,r)=>{t.Rectangle.contains(r,{startColumn:m,endColumn:m,startRow:h,endRow:h})&&(g=e,_=n)});let{viewPermission:v,editPermission:y,copyPermission:b}=this._getLinkPermission(e);if(!v){this._sheetsHyperLinkPopupService.hideCurrentPopup();return}let x=f.getCellStyleOnly(g,_),S=d.getStyles().getStyleByCell(x),C=S==null||(a=S.tr)==null?void 0:a.a;if(!C&&!e.customRange){this._sheetsHyperLinkPopupService.hideCurrentPopup();return}this._sheetsHyperLinkPopupService.showPopup({row:g,col:_,editPermission:y,copyPermission:b,customRange:e.customRange,customRangeRect:e.rect,type:`viewing`,unitId:o,subUnitId:s,showAll:!!C})}))}_initHoverEditingListener(){let e=null;this.disposeWithMe(this._editorBridgeService.currentEditCellState$.pipe((0,s.switchMap)(e=>this._editorBridgeService.visible$.pipe((0,s.map)(t=>({visible:t,state:e}))))).subscribe(({visible:n,state:i})=>{if(!i||i.editorUnitId!==t.DOCS_NORMAL_EDITOR_UNIT_ID_KEY)return;if(!n.visible){e==null||e.unsubscribe(),this._sheetsHyperLinkPopupService.hideCurrentPopup(`editing`),this._sheetsHyperLinkPopupService.endEditing(`editing`);return}let{editorUnitId:o,unitId:c,sheetId:l,row:u,column:d}=i,f=this._renderManagerService.getRenderById(o);if(!f)return;let{editPermission:p,viewPermission:m,copyPermission:h}=this._getLinkPermission({unitId:c,subUnitId:l,row:u,col:d}),g=f.with(a.DocEventManagerService);m&&(e==null||e.unsubscribe(),e=g.hoverCustomRanges$.pipe((0,s.debounceTime)(200)).subscribe(e=>{var n;let i=e.find(e=>e.range.rangeType===t.CustomRangeType.HYPERLINK);if(!i){this._sheetsHyperLinkPopupService.hideCurrentPopup();return}let a=i.rects[i.rects.length-1];if(!(!((n=this._renderManagerService.getRenderById(c))==null||(n=n.with(r.SheetSkeletonManagerService).getSkeletonParam(l))==null)&&n.skeleton)||!a)return;let o=f.engine.getCanvasElement().getBoundingClientRect();this._sheetsHyperLinkPopupService.showPopup({unitId:c,subUnitId:l,row:u,col:d,customRange:i.range,customRangeRect:{left:a.left+o.left,top:a.top+o.top,bottom:a.bottom+o.top,right:a.right+o.left},editPermission:p,copyPermission:h,type:`editing`})}))})),this.disposeWithMe(()=>{e==null||e.unsubscribe()})}_initTextSelectionListener(){this.disposeWithMe(this._textSelectionManagerService.textSelection$.subscribe(e=>{e&&e.unitId===t.DOCS_NORMAL_EDITOR_UNIT_ID_KEY&&this._sheetsHyperLinkPopupService.endEditing(`editing`)}))}_initCommandListener(){let e=[n.ClearSelectionContentCommand.id,n.ClearSelectionAllCommand.id,n.ClearSelectionFormatCommand.id];this.disposeWithMe(this._commandService.onCommandExecuted(t=>{e.includes(t.id)&&this._sheetsHyperLinkPopupService.hideCurrentPopup()}))}};we=C([S(0,(0,t.Inject)(r.HoverManagerService)),S(1,(0,t.Inject)(V)),S(2,(0,t.Inject)(o.IRenderManagerService)),S(3,(0,t.Inject)(t.IPermissionService)),S(4,(0,t.Inject)(n.SheetPermissionCheckController)),S(5,t.ICommandService),S(6,r.IEditorBridgeService),S(7,(0,t.Inject)(i.DocSelectionManagerService)),S(8,t.IUniverInstanceService)],we);let Te=class extends t.Disposable{constructor(e,t){super(),this._context=e,this._hyperLinkModel=t,this._initSkeletonChange()}_initSkeletonChange(){let e=()=>{var e;(e=this._context.mainComponent)==null||e.makeForceDirty()};this.disposeWithMe(this._hyperLinkModel.linkUpdate$.pipe((0,s.debounceTime)(16)).subscribe(()=>{e()}))}};Te=C([S(1,(0,t.Inject)(d.HyperLinkModel))],Te);let Ee={[f.RibbonInsertGroup.MEDIA]:{[J.id]:{order:1,menuItemFactory:ve}},[f.ContextMenuPosition.MAIN_AREA]:{[f.ContextMenuGroup.OTHERS]:{order:1,[J.id]:{order:0,menuItemFactory:_e}}}},De=class extends t.Disposable{constructor(e,t,n,r,i,a){super(),this._componentManager=e,this._iconManager=t,this._commandService=n,this._menuManagerService=r,this._injector=i,this._shortcutService=a,this._initCommands(),this._initMenus(),this._initShortCut()}_initCommands(){[G,K,q,J].forEach(e=>{this._commandService.registerCommand(e)})}_initMenus(){this._menuManagerService.mergeMenu(Ee)}_initShortCut(){this._shortcutService.registerShortcut(Z)}};De=C([S(0,(0,t.Inject)(f.ComponentManager)),S(1,(0,t.Inject)(f.IconManager)),S(2,t.ICommandService),S(3,f.IMenuManagerService),S(4,(0,t.Inject)(t.Injector)),S(5,(0,t.Inject)(f.IShortcutService))],De);let Q=class extends t.Disposable{constructor(e,t){super(),this._parserService=e,this._resolverService=t,this._handleInitUrl()}_handleInitUrl(){let e=location.hash;if(e){let t=this._parserService.parseHyperLink(e);this._resolverService.navigate(t)}}};Q=C([S(0,(0,t.Inject)(d.SheetsHyperLinkParserService)),S(1,(0,t.Inject)(T))],Q);let $=class extends t.Plugin{constructor(e=x,n,r){super(),this._config=e,this._injector=n,this._configService=r;let{menu:i,...a}=(0,t.merge)({},x,this._config);i&&this._configService.setConfig(`menu`,i,{merge:!0}),this._configService.setConfig(b,a)}onStarting(){this._injector.add([Se]),this._injector.get(Se),[[T],[V],[ee],[we],[De],[xe],[Y],[Ce],[Q]].forEach(e=>this._injector.add(e))}onReady(){this._injector.get(o.IRenderManagerService).registerRenderModule(t.UniverInstanceType.UNIVER_SHEET,[Te]),this._injector.get(xe),this._injector.get(Y),this._injector.get(De)}onRendered(){this._injector.get(Ce),this._injector.get(Q),this._injector.get(we)}};k($,`pluginName`,he),k($,`packageName`,ye),k($,`version`,be),k($,`type`,t.UniverInstanceType.UNIVER_SHEET),$=C([(0,t.DependentOn)(d.UniverSheetsHyperLinkPlugin,a.UniverDocsUIPlugin),S(1,(0,t.Inject)(t.Injector)),S(2,t.IConfigService)],$),e.CloseHyperLinkPopupOperation=K,e.InsertHyperLinkOperation=q,e.InsertLinkShortcut=Z,e.OpenHyperLinkEditPanelOperation=G,Object.defineProperty(e,"SheetsHyperLinkCopyPasteController",{enumerable:!0,get:function(){return Y}}),Object.defineProperty(e,"SheetsHyperLinkPopupService",{enumerable:!0,get:function(){return V}}),Object.defineProperty(e,"SheetsHyperLinkResolverService",{enumerable:!0,get:function(){return T}}),e.SheetsHyperLinkSidePanelService=ee,Object.defineProperty(e,"UniverSheetsHyperLinkUIPlugin",{enumerable:!0,get:function(){return $}})});
|
|
1
|
+
(function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require("@univerjs/core"),require("@univerjs/sheets"),require("@univerjs/sheets-ui"),require("@univerjs/docs"),require("@univerjs/docs-ui"),require("@univerjs/engine-render"),require("rxjs"),require("@univerjs/design"),require("@univerjs/engine-formula"),require("@univerjs/sheets-formula-ui"),require("@univerjs/sheets-hyper-link"),require("@univerjs/ui"),require("react"),require("react/jsx-runtime"),require("@univerjs/sheets-data-validation")):typeof define==`function`&&define.amd?define([`exports`,`@univerjs/core`,`@univerjs/sheets`,`@univerjs/sheets-ui`,`@univerjs/docs`,`@univerjs/docs-ui`,`@univerjs/engine-render`,`rxjs`,`@univerjs/design`,`@univerjs/engine-formula`,`@univerjs/sheets-formula-ui`,`@univerjs/sheets-hyper-link`,`@univerjs/ui`,`react`,`react/jsx-runtime`,`@univerjs/sheets-data-validation`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.UniverSheetsHyperLinkUi={},e.UniverCore,e.UniverSheets,e.UniverSheetsUi,e.UniverDocs,e.UniverDocsUi,e.UniverEngineRender,e.rxjs,e.UniverDesign,e.UniverEngineFormula,e.UniverSheetsFormulaUi,e.UniverSheetsHyperLink,e.UniverUi,e.React,e.React,e.UniverSheetsDataValidation))})(this,function(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});function g(e){return t.Tools.isLegalUrl(e)}function _(e){return/^[a-zA-Z]+:\/\//.test(e)}function v(e){return/^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/.test(e)}function y(e){if(g(e)){let t=_(e)?e:v(e)?`mailto://${e}`:`http://${e}`,n;try{n=new URL(t)}catch{return e}return n.hostname===location.hostname&&n.port===location.port&&n.protocol===location.protocol&&n.pathname===location.pathname&&n.hash&&!n.search?n.hash:t}return e}let b=`sheets-hyper-link-ui.config`,x={};function S(e,t){return function(n,r){t(n,r,e)}}function C(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a}function w(e,n){let r=n.getMergeData(),i=n.getMaxColumns()-1,a=n.getMaxRows()-1;if(i<e.endColumn&&(e.endColumn=i),a<e.endRow&&(e.endRow=a),e.rangeType===t.RANGE_TYPE.COLUMN||t.RANGE_TYPE.ROW)return e;let o=[];return r.forEach(n=>{t.Rectangle.intersects(e,n)&&o.push(n)}),t.Rectangle.realUnion(e,...o)}let T=class{constructor(e,t,n,r,i,a){this._univerInstanceService=e,this._commandService=t,this._definedNamesService=n,this._messageService=r,this._localeService=i,this._configService=a}navigate(e){switch(e.type){case d.SheetHyperLinkType.URL:this.navigateToOtherWebsite(e.url);break;default:this._navigateToUniver(e.searchObj)}}_navigateToUniver(e){let{gid:n,range:r,rangeid:i}=e,a=this._univerInstanceService.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_SHEET);if(!a)return;let o=a.getUnitId();if(i){let e=this._definedNamesService.getValueById(o,i);if(!e)return;let{formulaOrRefString:t}=e,n=this._definedNamesService.getWorksheetByRef(o,t);if(!n){this._messageService.show({content:this._localeService.t(`sheets-hyper-link-ui.message.refError`),type:c.MessageType.Error});return}if(n.isSheetHidden()){this._messageService.show({content:this._localeService.t(`sheets-hyper-link-ui.message.hiddenSheet`),type:c.MessageType.Error});return}this.navigateToDefineName(o,i)}if(n){if(r){let e=(0,l.deserializeRangeWithSheet)(r);(0,t.isValidRange)(e.range)&&r!==d.ERROR_RANGE&&this.navigateToRange(o,n,e.range);return}this.navigateToSheetById(o,n)}}async navigateToRange(e,t,i,a){let o=await this.navigateToSheetById(e,t);if(o){let s=w(i,o);await this._commandService.executeCommand(n.SetSelectionsOperation.id,{unitId:e,subUnitId:t,selections:[{range:s,primary:null}]}),await this._commandService.executeCommand(r.ScrollToRangeOperation.id,{range:s,forceTop:a})}}async navigateToSheetById(e,r){let i=this._univerInstanceService.getUnit(e,t.UniverInstanceType.UNIVER_SHEET);if(!i)return!1;let a=i.getActiveSheet();if(!a)return!1;if(a.getSheetId()===r)return a;let o=i.getSheetBySheetId(r);return o?i.getHiddenWorksheets().indexOf(r)>-1?(this._messageService.show({content:this._localeService.t(`sheets-hyper-link-ui.message.hiddenSheet`),type:c.MessageType.Error}),!1):await this._commandService.executeCommand(n.SetWorksheetActiveOperation.id,{unitId:e,subUnitId:r})?o:!1:(this._messageService.show({content:this._localeService.t(`sheets-hyper-link-ui.message.noSheet`),type:c.MessageType.Error}),!1)}async navigateToDefineName(e,t){return this._definedNamesService.focusRange(e,t),!0}async navigateToOtherWebsite(e){var n;if(!(0,t.isSafeUrl)(e))return;let r=this._configService.getConfig(b);if(!(r==null||(n=r.urlHandler)==null)&&n.navigateToOtherWebsite)return r.urlHandler.navigateToOtherWebsite(e);window.open(e,`_blank`,`noopener noreferrer`)}};T=C([S(0,t.IUniverInstanceService),S(1,t.ICommandService),S(2,l.IDefinedNamesService),S(3,f.IMessageService),S(4,(0,t.Inject)(t.LocaleService)),S(5,t.IConfigService)],T);function E(e){"@babel/helpers - typeof";return E=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},E(e)}function D(e,t){if(E(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(E(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function O(e){var t=D(e,`string`);return E(t)==`symbol`?t:t+``}function k(e,t,n){return(t=O(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var ee=class extends t.Disposable{constructor(...e){super(...e),k(this,`_customHyperLinks`,new Map)}isBuiltInLinkType(e){return e!==d.SheetHyperLinkType.URL}getOptions(){return Array.from(this._customHyperLinks.values()).map(({option:e})=>e)}findCustomHyperLink(e){return Array.from(this._customHyperLinks.values()).find(t=>t.match(e))}registerCustomHyperLink(e){this._customHyperLinks.set(e.type,e)}getCustomHyperLink(e){return this._customHyperLinks.get(e)}removeCustomHyperLink(e){let{_customHyperLinks:t}=this;t.delete(e)}dispose(){super.dispose(),this._customHyperLinks.clear()}};function te(e){return e.trim().length===0}function ne(e,n){let[r]=e.split(`,`).map(l.deserializeRangeWithSheet);return!r||!(0,t.isValidRange)(r.range)?``:(r.sheetName||(r.sheetName=n),(0,l.serializeRangeToRefString)(r))}let A=()=>{var e;let[s,h]=(0,p.useState)(``),[_,v]=(0,p.useState)(!1),[b,x]=(0,p.useState)(``),[S,C]=(0,p.useState)(!0),[w,E]=(0,p.useState)(d.SheetHyperLinkType.URL),[D,O]=(0,p.useState)(``),k=(0,f.useDependency)(t.LocaleService),A=(0,f.useDependency)(l.IDefinedNamesService),j=(0,f.useDependency)(r.IEditorBridgeService),M=(0,f.useDependency)(t.IUniverInstanceService),N=(0,f.useDependency)(V),P=(0,f.useObservable)(N.currentEditing$),re=(0,f.useDependency)(d.SheetsHyperLinkParserService),ie=(0,f.useDependency)(T),F=(0,f.useDependency)(t.ICommandService),I=(0,f.useDependency)(ee),ae=(0,p.useMemo)(()=>I.getOptions(),[I]),oe=(0,f.useDependency)(o.IRenderManagerService),L=(0,f.useDependency)(r.IMarkSelectionService),se=(0,f.useDependency)(i.DocSelectionManagerService),ce=(0,f.useDependency)(t.ThemeService),[le,ue]=(0,p.useState)(!1),de=(0,f.useDependency)(n.SheetsSelectionsService),fe=(0,p.useMemo)(()=>de.getCurrentSelections(),[]),pe=(0,p.useMemo)(()=>{if(!I.isBuiltInLinkType(w))return I.getCustomHyperLink(w)},[I,w]),[R,z]=(0,p.useState)(!1),[B,me]=(0,p.useState)(!1),H=(0,p.useRef)(!1),U=(0,f.useEvent)(()=>H.current),W=(0,f.useEvent)(e=>{H.current=e}),G=M.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_SHEET),q=(G==null?void 0:G.getActiveSheet().getSheetId())||``,J=(0,p.useCallback)(e=>{x(e.replaceAll(t.DataStreamTreeTokenType.CUSTOM_RANGE_START,``).replaceAll(t.DataStreamTreeTokenType.CUSTOM_RANGE_END,``))},[x]);(0,p.useEffect)(()=>{if((P==null?void 0:P.row)!==void 0&&P.col!==void 0){let{customRange:y,row:b,col:x}=P,{label:S}=P;typeof S==`number`&&(S=`${S}`);let w;if(y){var e,n,r,i;w={id:(e=y==null?void 0:y.rangeId)==null?``:e,display:(n=S)==null?``:n,payload:(r=y==null||(i=y.properties)==null?void 0:i.url)==null?``:r,row:b,column:x}}else if(P.type===`viewing`){var a,o,s,c;let e=M.getUnit(P.unitId),n=e==null?void 0:e.getSheetBySheetId(P.subUnitId),r=n==null?void 0:n.getCellRaw(P.row,P.col),i=r==null||(a=r.p)==null||(a=a.body)==null||(a=a.customRanges)==null?void 0:a.find(e=>{var n;return e.rangeType===t.CustomRangeType.HYPERLINK&&((n=e.properties)==null?void 0:n.url)}),l=r==null?void 0:r.v;r&&(!t.BuildTextUtils.transform.isEmptyDocument((o=r.p)==null||(o=o.body)==null?void 0:o.dataStream)||t.Tools.isDefine(l))&&C(!1),w={id:``,display:``,payload:(s=i==null||(c=i.properties)==null?void 0:c.url)==null?``:s,row:b,column:x}}else{var u,f,p,m,g;let e=M.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_DOC),n=se.getActiveTextRange(),r=e==null?void 0:e.getBody(),i=n&&r?n:null,a=i&&((u=t.BuildTextUtils.customRange.getCustomRangesInterestsWithSelection(i,(f=r==null?void 0:r.customRanges)==null?[]:f))==null?void 0:u[0]);C(!1),w={id:``,display:(p=S)==null?``:p,payload:(m=a==null||(g=a.properties)==null?void 0:g.url)==null?``:m,row:b,column:x}}h(w.id);let T=I.findCustomHyperLink(w);if(T){let e=T.convert(w);E(e.type),O(e.payload),J(e.display);return}J(w.display);let D=re.parseHyperLink(w.payload);switch(E(D.type===d.SheetHyperLinkType.INVALID?d.SheetHyperLinkType.RANGE:D.type),D.type){case d.SheetHyperLinkType.URL:O(D.url),D.url===w.display&&W(!0);break;case d.SheetHyperLinkType.RANGE:{var _,v;let e=D.searchObj,t=(0,l.serializeRangeWithSheet)(e.gid?(_=(v=M.getUnit(P.unitId))==null||(v=v.getSheetBySheetId(e.gid))==null?void 0:v.getName())==null?``:_:``,(0,l.deserializeRangeWithSheet)(e.range).range);O(t),t===w.display&&W(!0);break}case d.SheetHyperLinkType.SHEET:{let e=D.searchObj;O(e.gid);break}case d.SheetHyperLinkType.DEFINE_NAME:{let e=D.searchObj;O(e.rangeid);break}default:O(``);break}}},[P,ie,I,se,M]),(0,p.useEffect)(()=>{let e=null;if(P&&!P.customRangeId&&P.type===`viewing`&&t.Tools.isDefine(P.row)&&t.Tools.isDefine(P.col)){let n=M.getUnit(P.unitId,t.UniverInstanceType.UNIVER_SHEET),r=n==null?void 0:n.getSheetBySheetId(P.subUnitId),i=r==null?void 0:r.getMergedCell(P.row,P.col),a=new t.ColorKit(ce.getColorFromTheme(`primary.600`)).toRgb();e=L.addShape({range:i==null?{startColumn:P.col,endColumn:P.col,startRow:P.row,endRow:P.row}:i,style:{fill:`rgb(${a.r}, ${a.g}, ${a.b}, 0.12)`,strokeWidth:1,stroke:`#FFBD37`,widgets:{}},primary:null},[],-1)}return()=>{e&&L.removeShape(e)}},[P,L,ce,M]),(0,p.useEffect)(()=>{me(w===d.SheetHyperLinkType.RANGE)},[w]),(0,p.useEffect)(()=>{let e=oe.getRenderById(j.getCurrentEditorId()),n=new t.DisposableCollection;if(e){let t=e.with(a.DocSelectionRenderService);t.setReserveRangesStatus(!0),n.add(()=>{t.setReserveRangesStatus(!1)})}return()=>{j.disableForceKeepVisible(),n.dispose()}},[j,oe]),(0,p.useEffect)(()=>(B&&N.setIsKeepVisible(B),N.setIsKeepVisible(le),()=>{N.setIsKeepVisible(!1)}),[B,le,N]),(0,p.useEffect)(()=>{if(B)return j.enableForceKeepVisible(),()=>{j.disableForceKeepVisible()}},[B,j]);let he=[{label:k.t(`sheets-hyper-link-ui.form.link`),value:d.SheetHyperLinkType.URL},{label:k.t(`sheets-hyper-link-ui.form.range`),value:d.SheetHyperLinkType.RANGE},{label:k.t(`sheets-hyper-link-ui.form.worksheet`),value:d.SheetHyperLinkType.SHEET},{label:k.t(`sheets-hyper-link-ui.form.definedName`),value:d.SheetHyperLinkType.DEFINE_NAME},...ae];if(!G)return;let Y=G.getHiddenWorksheets(),ge=G.getSheets().map(e=>({label:e.getName(),value:e.getSheetId()})).filter(e=>Y.indexOf(e.value)===-1),X=Object.values((e=A.getDefinedNameMap(G.getUnitId()))==null?{}:e).map(e=>({label:e.name,value:e.id})),_e=(e,t)=>{if(e===d.SheetHyperLinkType.URL)return y(t);if(e===d.SheetHyperLinkType.RANGE){let e=(0,l.deserializeRangeWithSheet)(t),n=G.getSheetBySheetName(e.sheetName);if(n)return`#gid=${n.getSheetId()}&range=${(0,l.serializeRange)(e.range)}`}return`#${e}=${t}`},ve=(0,f.useEvent)(e=>{var t;let n=ne(e,((t=G.getActiveSheet())==null?void 0:t.getName())||``);if(!n){O(``);return}O(n),n&&(U()||!b)&&(J(n),W(!0))}),Z=async()=>{if(S&&te(b)||!D||w===d.SheetHyperLinkType.URL&&!g(D)){z(!0);return}if(P)if(s){let e=P.type===`editing`?d.UpdateRichHyperLinkCommand.id:d.UpdateHyperLinkCommand.id;await F.executeCommand(e,{id:s,unitId:P.unitId,subUnitId:P.subUnitId,payload:{display:S?b:``,payload:_e(w,D)},row:P.row,column:P.col,documentId:j.getCurrentEditorId()})}else{let e=P.type===`editing`?d.AddRichHyperLinkCommand.id:d.AddHyperLinkCommand.id;await F.executeCommand(e,{unitId:P.unitId,subUnitId:P.subUnitId,link:{id:(0,t.generateRandomId)(),row:P.row,column:P.col,payload:_e(w,D),display:S?b:``},documentId:j.getCurrentEditorId()})}(P==null?void 0:P.type)===`viewing`&&(await F.executeCommand(n.SetWorksheetActiveOperation.id,{unitId:P.unitId,subUnitId:P.subUnitId}),await F.executeCommand(r.ScrollToRangeOperation.id,{range:{startRow:Math.max(P.row-1,0),endRow:P.row+1,startColumn:Math.max(P.col-1,0),endColumn:P.col+1}})),F.executeCommand(K.id)};return P?(0,m.jsxs)(`div`,{className:(0,c.clsx)(`univer-box-border univer-w-[296px] univer-rounded-xl univer-bg-white univer-p-4 univer-shadow-md dark:!univer-bg-gray-900`,c.borderClassName),children:[S?(0,m.jsx)(c.FormLayout,{label:k.t(`sheets-hyper-link-ui.form.label`),error:R&&te(b)?k.t(`sheets-hyper-link-ui.form.inputError`):``,children:(0,m.jsx)(c.Input,{value:b,onChange:e=>{J(e),W(!1)},placeholder:k.t(`sheets-hyper-link-ui.form.labelPlaceholder`),autoFocus:!0,onKeyDown:e=>{e.keyCode===f.KeyCode.ENTER&&Z()}})}):null,(0,m.jsx)(c.FormLayout,{label:k.t(`sheets-hyper-link-ui.form.type`),children:(0,m.jsx)(c.Select,{className:`univer-w-full`,options:he,value:w,onChange:e=>{E(e),O(``)}})}),w===d.SheetHyperLinkType.URL&&(0,m.jsx)(c.FormLayout,{error:R?D?g(D)?``:k.t(`sheets-hyper-link-ui.form.linkError`):k.t(`sheets-hyper-link-ui.form.inputError`):``,children:(0,m.jsx)(c.Input,{value:D,onChange:e=>{O(e),e&&(U()||!b||b===e)&&(J(e),W(!0))},placeholder:k.t(`sheets-hyper-link-ui.form.linkPlaceholder`),autoFocus:!0,onKeyDown:e=>{e.keyCode===f.KeyCode.ENTER&&Z()}})}),w===d.SheetHyperLinkType.RANGE&&(0,m.jsx)(c.FormLayout,{error:R&&!D?k.t(`sheets-hyper-link-ui.form.inputError`):``,children:(0,m.jsx)(u.RangeSelector,{unitId:G.getUnitId(),subUnitId:q,maxRangeCount:1,supportAcrossSheet:!0,initialValue:D,resetRange:fe,onChange:(e,t)=>ve(t),onRangeSelectorDialogVisibleChange:async e=>{ue(e),e?(P.type!==`viewing`&&j.enableForceKeepVisible(),v(!0)):(await ie.navigateToRange(P.unitId,P.subUnitId,{startRow:P.row,endRow:P.row,startColumn:P.col,endColumn:P.col},!0),j.disableForceKeepVisible(),v(!1))},onFocusChange:e=>me(e)})}),w===d.SheetHyperLinkType.SHEET&&(0,m.jsx)(c.FormLayout,{error:R&&!D?k.t(`sheets-hyper-link-ui.form.selectError`):``,children:(0,m.jsx)(c.Select,{className:`univer-w-full`,options:ge,value:D,onChange:e=>{var t,n;O(e);let r=(t=ge.find(t=>t.value===e))==null?void 0:t.label,i=(n=ge.find(e=>e.value===D))==null?void 0:n.label;r&&(U()||!b||b===i)&&(J(r),W(!0))}})}),w===d.SheetHyperLinkType.DEFINE_NAME&&(0,m.jsx)(c.FormLayout,{error:R&&!D?k.t(`sheets-hyper-link-ui.form.selectError`):``,children:(0,m.jsx)(c.Select,{className:`univer-w-full`,options:X,value:D,onChange:e=>{var t,n;O(e);let r=(t=X.find(t=>t.value===e))==null?void 0:t.label,i=(n=X.find(e=>e.value===D))==null?void 0:n.label;r&&(U()||!b||b===i)&&(J(r),W(!0))}})}),(pe==null?void 0:pe.Form)&&(0,m.jsx)(pe.Form,{linkId:s,payload:D,display:b,showError:R,getIsDisplaySyncedWithPayload:U,setDisplaySyncedWithPayload:W,setDisplay:e=>{J(e),W(!0)},setPayload:O}),(0,m.jsxs)(`div`,{className:`univer-flex univer-flex-row univer-justify-end univer-gap-2`,children:[(0,m.jsx)(c.Button,{onClick:()=>{P&&ie.navigateToRange(P.unitId,P.subUnitId,{startRow:P.row,endRow:P.row,startColumn:P.col,endColumn:P.col},!0),F.executeCommand(K.id)},children:k.t(`sheets-hyper-link-ui.form.cancel`)}),(0,m.jsx)(c.Button,{variant:`primary`,onClick:async()=>{Z()},children:k.t(`sheets-hyper-link-ui.form.ok`)})]})]}):null};A.componentKey=`univer.sheet.cell-link-edit`;function j({ref:e,...t}){let{icon:n,id:r,className:i,extend:a,...o}=t,s=`univerjs-icon univerjs-icon-${r} ${i||``}`.trim(),c=(0,p.useRef)(`_${re()}`);return M(n,`${r}`,{defIds:n.defIds,idSuffix:c.current},{ref:e,className:s,...o},a)}function M(e,t,n,r,i){return(0,p.createElement)(e.tag,{key:t,...N(e,n,i),...r},(P(e,n).children||[]).map((r,a)=>M(r,`${t}-${e.tag}-${a}`,n,void 0,i)))}function N(e,t,n){let r={...e.attrs};n!=null&&n.colorChannel1&&r.fill===`colorChannel1`&&(r.fill=n.colorChannel1),n!=null&&n.colorChannel1&&r.stroke===`colorChannel1`&&(r.stroke=n.colorChannel1),e.tag===`mask`&&r.id&&(r.id+=t.idSuffix),Object.entries(r).forEach(([e,n])=>{e===`mask`&&typeof n==`string`&&(r[e]=n.replace(/url\(#(.*)\)/,`url(#$1${t.idSuffix})`))});let{defIds:i}=t;return!i||i.length===0?r:(e.tag===`use`&&r[`xlink:href`]&&(r[`xlink:href`]+=t.idSuffix),Object.entries(r).forEach(([e,n])=>{typeof n==`string`&&(r[e]=n.replace(/url\(#(.*)\)/,`url(#$1${t.idSuffix})`))}),r)}function P(e,t){var n;let{defIds:r}=t;return!r||r.length===0?e:e.tag===`defs`&&(n=e.children)!=null&&n.length?{...e,children:e.children.map(e=>typeof e.attrs.id==`string`&&r&&r.includes(e.attrs.id)?{...e,attrs:{...e.attrs,id:e.attrs.id+t.idSuffix}}:e)}:e}function re(){return Math.random().toString(36).substring(2,8)}j.displayName=`UniverIcon`;let ie={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M7.9999 1.12915C8.03875 1.12915 8.07673 1.13284 8.11352 1.13989H12.2599C13.6958 1.13989 14.8599 2.30395 14.8599 3.73989V7.88619C14.867 7.92301 14.8707 7.96102 14.8707 7.9999C14.8707 8.03878 14.867 8.0768 14.8599 8.11362V12.2599C14.8599 13.6958 13.6958 14.8599 12.2599 14.8599H8.11362C8.0768 14.867 8.03878 14.8707 7.9999 14.8707C7.96102 14.8707 7.92301 14.867 7.88619 14.8599H3.73989C2.30396 14.8599 1.13989 13.6958 1.13989 12.2599V8.11352C1.13284 8.07673 1.12915 8.03875 1.12915 7.9999C1.12915 7.96106 1.13284 7.92308 1.13989 7.88629V3.73989C1.13989 2.30396 2.30395 1.13989 3.73989 1.13989H7.88629C7.92308 1.13284 7.96106 1.12915 7.9999 1.12915ZM2.33989 8.5999V12.2599C2.33989 13.0331 2.9667 13.6599 3.73989 13.6599H7.3999V8.5999H2.33989ZM7.3999 7.3999H2.33989V3.73989C2.33989 2.9667 2.96669 2.33989 3.73989 2.33989H7.3999V7.3999ZM8.5999 8.5999V13.6599H12.2599C13.0331 13.6599 13.6599 13.0331 13.6599 12.2599V8.5999H8.5999ZM13.6599 7.3999H8.5999V2.33989H12.2599C13.0331 2.33989 13.6599 2.96669 13.6599 3.73989V7.3999Z`,fillRule:`evenodd`,clipRule:`evenodd`}}]},F=(0,p.forwardRef)(function(e,t){return(0,p.createElement)(j,Object.assign({},e,{id:`all-border-icon`,ref:t,icon:ie}))});F.displayName=`AllBorderIcon`;let I={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M4.1302 12.4251C4.25802 13.7417 5.36779 14.7708 6.71792 14.7708H11.7179C13.1539 14.7708 14.3179 13.6067 14.3179 12.1708V6.1708C14.3179 4.78586 13.2351 3.65383 11.8698 3.57517C11.742 2.25858 10.6323 1.22949 9.28213 1.22949H4.28213C2.84619 1.22949 1.68213 2.39355 1.68213 3.82949V9.82949C1.68213 11.2144 2.76497 12.3465 4.1302 12.4251ZM10.6583 3.5708H6.71792C5.28198 3.5708 4.11792 4.73486 4.11792 6.1708V11.22C3.4221 11.1387 2.88213 10.5471 2.88213 9.82949V3.82949C2.88213 3.05629 3.50893 2.42949 4.28213 2.42949H9.28213C9.96695 2.42949 10.5369 2.92119 10.6583 3.5708ZM13.1179 6.1708C13.1179 5.3976 12.4911 4.7708 11.7179 4.7708H6.71792C5.94472 4.7708 5.31792 5.3976 5.31792 6.1708V12.1708C5.31792 12.944 5.94472 13.5708 6.71792 13.5708H11.7179C12.4911 13.5708 13.1179 12.944 13.1179 12.1708V6.1708Z`,fillRule:`evenodd`,clipRule:`evenodd`}}]},ae=(0,p.forwardRef)(function(e,t){return(0,p.createElement)(j,Object.assign({},e,{id:`copy-icon`,ref:t,icon:I}))});ae.displayName=`CopyIcon`;let oe={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M9.8816 1.97978C11.0177 0.843607 12.862 0.884962 14.0004 2.02342C15.1389 3.16188 15.1803 5.00612 14.0441 6.14228L11.399 8.78737C11.1608 9.02559 10.7746 9.02559 10.5363 8.78737C10.2981 8.54915 10.2981 8.16292 10.5363 7.9247L13.1814 5.2796C13.8195 4.64155 13.8217 3.57006 13.1378 2.8861C12.4538 2.20211 11.3823 2.20438 10.7443 2.84245L7.6976 5.88911L7.69317 5.89349C7.05959 6.53211 7.05894 7.60014 7.74132 8.28252C7.97954 8.52074 7.97954 8.90697 7.74132 9.14519C7.5031 9.38341 7.11687 9.38341 6.87865 9.14519C5.74016 8.00671 5.69884 6.16251 6.83497 5.02633L6.84021 5.02116L9.8816 1.97978Z`}},{tag:`path`,attrs:{fill:`currentColor`,d:`M4.61426 7.2364C4.85248 6.99818 5.23871 6.99818 5.47693 7.2364C5.71515 7.47462 5.71515 7.86085 5.47693 8.09907L2.83183 10.7442C2.19375 11.3823 2.1915 12.4537 2.87547 13.1377C3.55945 13.8217 4.6309 13.8194 5.26899 13.1813L8.31566 10.1347C8.32262 10.1277 8.32971 10.121 8.33691 10.1144C8.34408 10.1064 8.3515 10.0986 8.35916 10.091C8.99721 9.45291 8.99949 8.38145 8.3155 7.69746C8.07728 7.45924 8.07728 7.07301 8.3155 6.83479C8.55372 6.59657 8.93995 6.59657 9.17817 6.83479C10.3166 7.97327 10.358 9.81748 9.22183 10.9536C9.21487 10.9606 9.20779 10.9673 9.20058 10.9739C9.19341 10.9819 9.18599 10.9897 9.17833 10.9973L6.13166 14.044C4.99548 15.1802 3.15127 15.1389 2.01279 14.0004C0.874362 12.8619 0.83297 11.0177 1.96916 9.8815L4.61426 7.2364Z`}}]},L=(0,p.forwardRef)(function(e,t){return(0,p.createElement)(j,Object.assign({},e,{id:`link-icon`,ref:t,icon:oe}))});L.displayName=`LinkIcon`;let se={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 17`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M12.5935 3.47302C11.6354 2.51492 10.082 2.51492 9.12388 3.47302L7.83534 4.76157C7.60102 4.99588 7.22112 4.99588 6.98681 4.76157C6.75249 4.52725 6.75249 4.14735 6.98681 3.91304L8.27535 2.62449C9.70209 1.19776 12.0153 1.19776 13.442 2.62449C14.8688 4.05123 14.8688 6.36442 13.442 7.79116L12.1535 9.0797C11.9192 9.31402 11.5393 9.31402 11.3049 9.0797C11.0706 8.84539 11.0706 8.46549 11.3049 8.23117L12.5935 6.94263C13.5516 5.98452 13.5516 4.43113 12.5935 3.47302Z`}},{tag:`path`,attrs:{fill:`currentColor`,d:`M3.40637 12.6606C2.44827 11.7025 2.44827 10.1491 3.40637 9.19102L4.69492 7.90248C4.92923 7.66816 4.92923 7.28826 4.69492 7.05395C4.4606 6.81963 4.0807 6.81963 3.84639 7.05395L2.55784 8.34249C1.13111 9.76923 1.13111 12.0824 2.55784 13.5092C3.98458 14.9359 6.29777 14.9359 7.72451 13.5092L9.01305 12.2206C9.24737 11.9863 9.24737 11.6064 9.01305 11.3721C8.77874 11.1378 8.39884 11.1378 8.16452 11.3721L6.87598 12.6606C5.91787 13.6187 4.36448 13.6187 3.40637 12.6606Z`}},{tag:`path`,attrs:{fill:`currentColor`,d:`M3.5852 2.80332C3.35088 2.569 2.97098 2.569 2.73667 2.80332C2.50235 3.03763 2.50235 3.41753 2.73667 3.65185L12.4151 13.3302C12.6494 13.5646 13.0293 13.5646 13.2636 13.3302C13.4979 13.0959 13.4979 12.716 13.2636 12.4817L3.5852 2.80332Z`}}]},ce=(0,p.forwardRef)(function(e,t){return(0,p.createElement)(j,Object.assign({},e,{id:`unlink-icon`,ref:t,icon:se}))});ce.displayName=`UnlinkIcon`;let le={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 17 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M12.6551 1.98906C11.7476 1.08113 10.2757 1.08149 9.3686 1.98987L4.82542 6.53955C4.75087 6.61421 4.69336 6.70411 4.65682 6.80309L3.2461 10.625C3.16506 10.8446 3.21909 11.0912 3.3845 11.2568C3.54991 11.4224 3.79651 11.4767 4.01616 11.3959L7.85031 9.98517C7.94979 9.94856 8.04014 9.89077 8.11508 9.81579L12.6552 5.27327C13.5618 4.36621 13.5618 2.89607 12.6551 1.98906ZM10.2177 2.83779C10.6562 2.39869 11.3677 2.39851 11.8064 2.8374C12.2447 3.27584 12.2447 3.9865 11.8065 4.42497L7.3392 8.89457L4.82213 9.82068L5.74706 7.31487L10.2177 2.83779Z`,fillRule:`evenodd`,clipRule:`evenodd`}},{tag:`path`,attrs:{fill:`currentColor`,d:`M1.79238 13.2999C1.46101 13.2999 1.19238 13.5685 1.19238 13.8999C1.19238 14.2313 1.46101 14.4999 1.79238 14.4999H14.4924C14.8238 14.4999 15.0924 14.2313 15.0924 13.8999C15.0924 13.5685 14.8238 13.2999 14.4924 13.2999H1.79238Z`}}]},ue=(0,p.forwardRef)(function(e,t){return(0,p.createElement)(j,Object.assign({},e,{id:`write-icon`,ref:t,icon:le}))});ue.displayName=`WriteIcon`;let de={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`#35BD4B`,d:`M3.4535 1.12549C2.7002 1.12549 2.08954 1.73615 2.08954 2.48945V13.5104C2.08954 14.2637 2.7002 14.8744 3.4535 14.8744H12.5465C13.2998 14.8744 13.9105 14.2637 13.9105 13.5104V5.0992L10.0091 1.12549H3.4535Z`}},{tag:`path`,attrs:{fill:`#32A846`,d:`M10.0075 1.12549L13.9104 5.09842H10.6742C10.306 5.09842 10.0075 4.79994 10.0075 4.43175V1.12549Z`}},{tag:`path`,attrs:{fill:`white`,d:`M4.7 7.05H11.1V12.05H4.7V7.05ZM5.5 7.85V9.2H7.35V7.85H5.5ZM8.15 7.85V9.2H10.3V7.85H8.15ZM5.5 10V11.25H7.35V10H5.5ZM8.15 10V11.25H10.3V10H8.15Z`,fillRule:`evenodd`,clipRule:`evenodd`}}]},fe=(0,p.forwardRef)(function(e,t){return(0,p.createElement)(j,Object.assign({},e,{id:`sheets-multi-icon`,ref:t,icon:de}))});fe.displayName=`SheetsMultiIcon`;let pe={[d.SheetHyperLinkType.URL]:(0,m.jsx)(L,{}),[d.SheetHyperLinkType.SHEET]:(0,m.jsx)(fe,{className:`univer-text-green-500`}),[d.SheetHyperLinkType.RANGE]:(0,m.jsx)(F,{}),[d.SheetHyperLinkType.DEFINE_NAME]:(0,m.jsx)(F,{}),[d.SheetHyperLinkType.INVALID]:(0,m.jsx)(F,{})},R=e=>{var n,i;let a=(0,f.useDependency)(V),o=(0,f.useDependency)(t.ICommandService),s=(0,f.useDependency)(f.IMessageService),l=(0,f.useDependency)(t.LocaleService),u=(0,f.useDependency)(T),p=(0,f.useDependency)(r.IEditorBridgeService),h=(0,f.useDependency)(d.SheetsHyperLinkParserService),{customRange:g,row:_,col:v,unitId:y,subUnitId:b,editPermission:x,copyPermission:S,type:C}=e;if(!(!(g==null||(n=g.properties)==null)&&n.url))return null;let w=h.parseHyperLink((i=g.properties.url)==null?``:i),E=w.type===d.SheetHyperLinkType.INVALID;return(0,m.jsxs)(`div`,{className:(0,c.clsx)(`univer-mb-1 univer-flex univer-max-w-80 univer-flex-row univer-items-center univer-justify-between univer-gap-2 univer-overflow-hidden univer-rounded-lg univer-bg-white univer-p-2 univer-shadow-md dark:!univer-bg-gray-900`,c.borderClassName),onClick:()=>a.hideCurrentPopup(),children:[(0,m.jsxs)(`div`,{className:(0,c.clsx)(`univer-flex univer-h-6 univer-flex-1 univer-cursor-pointer univer-flex-row univer-items-center univer-gap-1 univer-truncate univer-text-sm univer-leading-5 univer-text-primary-600`,{"univer-text-red-500":E}),onClick:()=>{E||u.navigate(w)},children:[(0,m.jsx)(`div`,{className:`univer-flex univer-size-5 univer-flex-none univer-items-center univer-justify-center univer-text-base univer-text-gray-900 dark:!univer-text-white`,children:pe[w.type]}),(0,m.jsx)(c.Tooltip,{showIfEllipsis:!0,title:w.name,asChild:!0,children:(0,m.jsx)(`span`,{className:`univer-flex-1 univer-truncate`,children:w.name})})]}),(0,m.jsxs)(`div`,{className:`univer-flex univer-h-6 univer-flex-none univer-flex-row univer-items-center univer-justify-center univer-gap-2`,children:[S&&(0,m.jsx)(`div`,{className:(0,c.clsx)(`univer-flex univer-size-6 univer-cursor-pointer univer-flex-row univer-items-center univer-justify-center univer-rounded univer-text-base hover:univer-bg-gray-100 dark:hover:!univer-bg-gray-700`,{"univer-text-red-500":E}),onClick:()=>{if(!E){if(w.type!==d.SheetHyperLinkType.URL){let e=new URL(window.location.href);e.hash=w.url.slice(1),navigator.clipboard.writeText(e.href)}else navigator.clipboard.writeText(w.url);s.show({content:l.t(`sheets-hyper-link-ui.message.coped`),type:c.MessageType.Info})}},children:(0,m.jsx)(c.Tooltip,{placement:`bottom`,title:l.t(`sheets-hyper-link-ui.popup.copy`),children:(0,m.jsx)(ae,{className:`dark:!univer-text-white`})})}),x&&(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(`div`,{"data-u-comp":`cell-link-popup-edit`,className:`univer-flex univer-size-6 univer-cursor-pointer univer-flex-row univer-items-center univer-justify-center univer-rounded univer-text-base hover:univer-bg-gray-100 dark:hover:!univer-bg-gray-700`,onClick:()=>{o.executeCommand(G.id,{unitId:y,subUnitId:b,row:_,col:v,customRangeId:g.rangeId,type:C})},children:(0,m.jsx)(c.Tooltip,{placement:`bottom`,title:l.t(`sheets-hyper-link-ui.popup.edit`),children:(0,m.jsx)(ue,{className:`dark:!univer-text-white`})})}),(0,m.jsx)(`div`,{"data-u-comp":`cell-link-popup-remove`,className:`univer-flex univer-size-6 univer-cursor-pointer univer-flex-row univer-items-center univer-justify-center univer-rounded univer-text-base hover:univer-bg-gray-100 dark:hover:!univer-bg-gray-700`,onClick:()=>{let e=C===`editing`?d.CancelRichHyperLinkCommand.id:d.CancelHyperLinkCommand.id;o.syncExecuteCommand(e,{unitId:y,subUnitId:b,id:g.rangeId,row:_,column:v,documentId:p.getCurrentEditorId()})&&a.hideCurrentPopup(void 0,!0)},children:(0,m.jsx)(c.Tooltip,{placement:`bottom`,title:l.t(`sheets-hyper-link-ui.popup.cancel`),children:(0,m.jsx)(ce,{className:`dark:!univer-text-white`})})})]})]})]})},z=()=>{let e=(0,f.useDependency)(V),[n,r]=(0,p.useState)(null),i=(0,f.useDependency)(t.IUniverInstanceService);if((0,p.useEffect)(()=>{r(e.currentPopup);let t=e.currentPopup$.subscribe(e=>{r(e)});return()=>{t.unsubscribe()}},[e.currentPopup,e.currentPopup$]),!n)return null;if(n.showAll){var a;let e=i.getUnit(n.unitId,t.UniverInstanceType.UNIVER_SHEET),r=e==null?void 0:e.getSheetBySheetId(n.subUnitId),o=r==null?void 0:r.getCell(n.row,n.col),s=o==null||(a=o.p)==null||(a=a.body)==null?void 0:a.customRanges;return s!=null&&s.length?(0,m.jsx)(`div`,{children:s.map(e=>(0,m.jsx)(R,{...n,customRange:e},e.rangeId))}):null}return(0,m.jsx)(R,{...n})};z.componentKey=`univer.sheet.cell-link-popup`;let B=(e,t)=>{var n,r;return e.unitId===t.unitId&&e.subUnitId===t.subUnitId&&e.row===t.row&&e.col===t.col&&((n=e.customRange)==null?void 0:n.rangeId)===((r=t.customRange)==null?void 0:r.rangeId)&&e.type===t.type},V=class extends t.Disposable{get currentPopup(){return this._currentPopup}get currentEditing(){return this._currentEditing$.getValue()}constructor(e,t,n,r,i){super(),this._sheetCanvasPopManagerService=e,this._injector=t,this._univerInstanceService=n,this._editorBridgeService=r,this._textSelectionManagerService=i,k(this,`_currentPopup`,null),k(this,`_currentPopup$`,new s.Subject),k(this,`currentPopup$`,this._currentPopup$.asObservable()),k(this,`_currentEditingPopup`,null),k(this,`_currentEditing$`,new s.BehaviorSubject(null)),k(this,`currentEditing$`,this._currentEditing$.asObservable()),k(this,`_isKeepVisible`,!1),this.disposeWithMe(()=>{this.hideCurrentPopup(),this.endEditing(),this._currentEditing$.complete(),this._currentPopup$.complete()})}setIsKeepVisible(e){this._isKeepVisible=e}getIsKeepVisible(){return this._isKeepVisible}showPopup(e){if(this._currentPopup&&B(e,this._currentPopup))return;this.hideCurrentPopup(void 0,!0);let t=this._currentEditing$.getValue();if(t&&B(e,t))return;let{unitId:n,subUnitId:r,row:i,col:a,customRangeRect:o,customRange:s}=e,c,l={componentKey:z.componentKey,direction:`bottom`,onClickOutside:()=>{this.hideCurrentPopup()},onClick:()=>{this.hideCurrentPopup(e.type,!0)}};if(e.type===`editing`){if(!s)return;c=o&&this._sheetCanvasPopManagerService.attachPopupToAbsolutePosition(o,l)}else if(e.showAll)c=this._sheetCanvasPopManagerService.attachPopupToCell(e.row,e.col,l,n,r);else{if(!s)return;c=o&&this._sheetCanvasPopManagerService.attachPopupByPosition(o,l,e)}if(c){if(this._currentPopup){var u;(u=this._currentPopup.disposable)==null||u.dispose()}this._currentPopup={unitId:n,subUnitId:r,disposable:c,row:i,col:a,editPermission:!!e.editPermission,copyPermission:!!e.copyPermission,customRange:s,type:e.type,showAll:e.showAll},this._currentPopup$.next(this._currentPopup)}}hideCurrentPopup(e,t){if(this._currentPopup&&((!e||e===this._currentPopup.type)&&this._currentPopup.disposable.canDispose()||t)){var n;(n=this._currentPopup)==null||(n=n.disposable)==null||n.dispose(),this._currentPopup=null,this._currentPopup$.next(null)}}dispose(){super.dispose(),this.hideCurrentPopup(),this.endEditing(),this._currentPopup$.complete(),this._currentEditing$.complete()}_getEditingRange(){let e=this._editorBridgeService.isVisible().visible,n=this._editorBridgeService.getEditCellState();if(e&&n){var r,i,a;let e=this._textSelectionManagerService.getActiveTextRange(),o=(r=n.documentLayoutObject.documentModel)==null?void 0:r.getBody();if(!o)return null;if(!e||e.collapsed)return{startOffset:0,endOffset:o.dataStream.length-2,collapsed:o.dataStream.length-2==0,label:t.BuildTextUtils.transform.getPlainText(o.dataStream)};let s=t.BuildTextUtils.customRange.getCustomRangesInterestsWithSelection(e,(i=(a=o.customRanges)==null?void 0:a.filter(e=>e.rangeType===t.CustomRangeType.HYPERLINK))==null?[]:i),c=e.startOffset,l=e.endOffset;return s.forEach(e=>{c=Math.min(c,e.startIndex),l=Math.max(l,e.endIndex+1)}),{startOffset:c,endOffset:l,collapsed:c===l,label:t.BuildTextUtils.transform.getPlainText(o.dataStream.slice(c,l))}}return null}get _editPopup(){return{componentKey:A.componentKey,direction:`vertical`,onClickOutside:()=>{this.endEditing()},onContextMenu:()=>{this.endEditing()},hiddenType:`hide`}}startAddEditing(e){let{unitId:n,subUnitId:r,type:i}=e;if(i===`editing`){var s;let i=this._getEditingRange();if(!i)return;this._textSelectionManagerService.replaceDocRanges([{...i}],{unitId:t.DOCS_NORMAL_EDITOR_UNIT_ID_KEY,subUnitId:t.DOCS_NORMAL_EDITOR_UNIT_ID_KEY});let c=this._injector.get(o.IRenderManagerService).getRenderById(t.DOCS_NORMAL_EDITOR_UNIT_ID_KEY);if(!c)return;let l=(0,a.calcDocRangePositions)(i,c);if(!(l!=null&&l.length))return;this._currentEditingPopup=this._sheetCanvasPopManagerService.attachPopupToAbsolutePosition(l.pop(),this._editPopup,n,r),this._currentEditing$.next({...e,label:(s=i==null?void 0:i.label)==null?``:s})}else{var c,l,u;this._currentEditingPopup=this._sheetCanvasPopManagerService.attachPopupToCell(e.row,e.col,this._editPopup,n,r);let i=this._univerInstanceService.getUnit(n,t.UniverInstanceType.UNIVER_SHEET),a=i==null?void 0:i.getSheetBySheetId(r),o=a==null?void 0:a.getCellRaw(e.row,e.col);this._currentEditing$.next({...e,label:o!=null&&o.p?t.BuildTextUtils.transform.getPlainText((c=(l=o.p.body)==null?void 0:l.dataStream)==null?``:c):((u=o==null?void 0:o.v)==null?``:u).toString()})}}startEditing(e){var n;(n=this._currentEditingPopup)==null||n.dispose(),this.hideCurrentPopup(void 0,!0);let{unitId:i,subUnitId:a}=e,o,s;if(e.type===`editing`){var c;let t=(0,r.getEditingCustomRangePosition)(this._injector,e.unitId,e.subUnitId,e.row,e.col,e.customRangeId);if(!t||!((c=t.rects)!=null&&c.length))return;o=t.customRange,s=t.label,this._textSelectionManagerService.replaceTextRanges([{startOffset:o.startIndex,endOffset:o.endIndex+1}]),this._currentEditingPopup=this._sheetCanvasPopManagerService.attachPopupToAbsolutePosition(t.rects.pop(),this._editPopup,i,a)}else{var l;let n=this._univerInstanceService.getUnit(i,t.UniverInstanceType.UNIVER_SHEET),c=n==null?void 0:n.getSheetBySheetId(a),u=c==null?void 0:c.getCellRaw(e.row,e.col),d=n==null?void 0:n.getStyles().getStyleByCell(u),f=d==null?void 0:d.tr,p=(0,r.getCustomRangePosition)(this._injector,e.unitId,e.subUnitId,e.row,e.col,e.customRangeId);if(!p||!((l=p.rects)!=null&&l.length))return;o=p.customRange,s=p.label,f?this._currentEditingPopup=this._sheetCanvasPopManagerService.attachPopupToCell(e.row,e.col,this._editPopup,i,a):this._currentEditingPopup=this._sheetCanvasPopManagerService.attachPopupByPosition(p.rects.pop(),this._editPopup,{unitId:i,subUnitId:a,row:e.row,col:e.col})}this._currentEditing$.next({...e,customRange:o,label:s})}endEditing(e){if(this.getIsKeepVisible())return;let t=this._currentEditing$.getValue();if(t&&(!e||e===t.type)){var n;(n=this._currentEditingPopup)==null||n.dispose(),this._currentEditing$.next(null)}}};V=C([S(0,(0,t.Inject)(r.SheetCanvasPopManagerService)),S(1,(0,t.Inject)(t.Injector)),S(2,t.IUniverInstanceService),S(3,r.IEditorBridgeService),S(4,(0,t.Inject)(i.DocSelectionManagerService))],V);let me=new Set([t.DataValidationType.CHECKBOX,t.DataValidationType.LIST,t.DataValidationType.LIST_MULTIPLE]),H=(e,t,n,r)=>{var i,a;let o=t.getCell(n,r);if(o!=null&&o.f||o!=null&&o.si||!(o==null||(i=o.p)==null||(i=i.body)==null||(i=i.customBlocks)==null)&&i.length)return 1;let s=e.has(h.SheetDataValidationModel)?e.get(h.SheetDataValidationModel):null,c=s==null?void 0:s.getRuleByLocation(t.getUnitId(),t.getSheetId(),n,r);return c&&me.has(c.type)?!0:!(o==null||(a=o.p)==null||(a=a.drawingsOrder)==null)&&a.length?2:0},U=e=>{let r=e.get(t.IUniverInstanceService).getCurrentUnitOfType(t.UniverInstanceType.UNIVER_SHEET);if(!r)return!0;let i=r.getActiveSheet(),a=e.get(n.SheetsSelectionsService).getCurrentSelections();if(!a.length)return!0;let o=a[0].range.startRow,s=a[0].range.startColumn;return H(e,i,o,s)===1},W=e=>{var n;let r=e.get(i.DocSelectionManagerService),a=e.get(t.IUniverInstanceService),o=r.getTextRanges();if(!(o!=null&&o.length))return!0;let s=a.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_DOC);return!!(!s||o.every(e=>e.collapsed)||!((n=s.getSelfOrHeaderFooterModel(o[0].segmentId))!=null&&n.getBody()))},G={type:t.CommandType.OPERATION,id:`sheet.operation.open-hyper-link-edit-panel`,handler(e,t){if(!t)return!1;let n=e.get(V);return t.customRangeId?n.startEditing(t):n.startAddEditing(t),!0}},K={type:t.CommandType.OPERATION,id:`sheet.operation.close-hyper-link-popup`,handler(e){return e.get(V).endEditing(),!0}},q={type:t.CommandType.OPERATION,id:`sheet.operation.insert-hyper-link`,handler(e){let i=(0,n.getSheetCommandTarget)(e.get(t.IUniverInstanceService)),a=e.get(r.IEditorBridgeService);if(!i)return!1;let o=e.get(t.ICommandService),s=e.get(n.SheetsSelectionsService).getCurrentLastSelection();if(!s)return!1;let c=s.range.startRow,l=s.range.startColumn,u=a.isVisible();return o.executeCommand(G.id,{unitId:i.unitId,subUnitId:i.subUnitId,row:c,col:l,type:u.visible?`editing`:`viewing`})}},J={type:t.CommandType.OPERATION,id:`sheet.operation.insert-hyper-link-toolbar`,handler(e){if(U(e))return!1;let n=e.get(t.ICommandService);return e.get(V).currentEditing?n.executeCommand(K.id):n.executeCommand(q.id)}},he=`SHEET_HYPER_LINK_UI_PLUGIN`,Y=class extends t.Disposable{registerPlainTextFilter(e){this._plainTextFilter.add(e)}removePlainTextFilter(e){this._plainTextFilter.delete(e)}_filterPlainText(e){return Array.from(this._plainTextFilter).every(t=>t(e))}constructor(e,t,n,r){super(),this._sheetClipboardService=e,this._hyperLinkModel=t,this._injector=n,this._resolverService=r,k(this,`_plainTextFilter`,new Set),k(this,`_copyInfo`,void 0),this._initCopyPaste(),this.disposeWithMe(()=>{this._plainTextFilter.clear()})}_initCopyPaste(){this._sheetClipboardService.addClipboardHook({id:he,onBeforeCopy:(e,t,n)=>this._collect(e,t,n),onPasteCells:(e,t,n,i)=>{let{copyType:a=r.COPY_TYPE.COPY,pasteType:o}=i,{range:s}=e||{},{range:c,unitId:l,subUnitId:u}=t;return this._generateMutations(c,{copyType:a,pasteType:o,copyRange:s,unitId:l,subUnitId:u})},onPastePlainText:(e,n)=>{let i=this._filterPlainText(n);if(g(n)&&i){let{range:n,unitId:i,subUnitId:a}=e,{ranges:[o],mapFunc:s}=(0,r.virtualizeDiscreteRanges)([n]),c=[],l=[];return t.Range.foreach(o,(e,t)=>{let{row:n,col:r}=s(e,t),o=this._hyperLinkModel.getHyperLinkByLocation(i,a,n,r);o&&c.push({id:d.RemoveHyperLinkMutation.id,params:{unitId:i,subUnitId:a,id:o.id}}),o&&l.push({id:d.AddHyperLinkMutation.id,params:{unitId:i,subUnitId:a,link:o}})}),{redos:c,undos:l}}return{undos:[],redos:[]}},priority:99})}_collect(e,r,i){let a=new t.ObjectMatrix;this._copyInfo={unitId:e,subUnitId:r,matrix:a};let o=this._injector.invoke(t=>(0,n.rangeToDiscreteRange)(i,t,e,r));if(!o)return;let{rows:s,cols:c}=o;s.forEach((t,n)=>{c.forEach((i,o)=>{var s;let c=this._hyperLinkModel.getHyperLinkByLocation(e,r,t,i);a.setValue(n,o,(s=c==null?void 0:c.id)==null?``:s)})})}_generateMutations(e,n){if(!this._copyInfo||!this._copyInfo||!this._copyInfo.matrix.getSizeOf()||!n.copyRange||[r.PREDEFINED_HOOK_NAME_PASTE.SPECIAL_PASTE_COL_WIDTH,r.PREDEFINED_HOOK_NAME_PASTE.SPECIAL_PASTE_VALUE,r.PREDEFINED_HOOK_NAME_PASTE.SPECIAL_PASTE_FORMAT,r.PREDEFINED_HOOK_NAME_PASTE.SPECIAL_PASTE_FORMULA].includes(n.pasteType))return{redos:[],undos:[]};let{unitId:i,subUnitId:a}=this._copyInfo,o=[],s=[],{ranges:[c,l],mapFunc:u}=(0,r.virtualizeDiscreteRanges)([n.copyRange,e]);return(0,r.getRepeatRange)(c,l,!0).forEach(({startRange:e})=>{var r;(r=this._copyInfo)==null||r.matrix.forValue((r,c,l)=>{let f=t.Rectangle.getPositionRange({startRow:r,endRow:r,startColumn:c,endColumn:c},e),p=this._hyperLinkModel.getHyperLink(i,a,l),{row:m,col:h}=u(f.startRow,f.startColumn),g=this._hyperLinkModel.getHyperLinkByLocation(n.unitId,n.subUnitId,m,h),_=(0,t.generateRandomId)();g&&o.push({id:d.RemoveHyperLinkMutation.id,params:{unitId:n.unitId,subUnitId:n.subUnitId,id:g.id}}),p&&(o.push({id:d.AddHyperLinkMutation.id,params:{unitId:n.unitId,subUnitId:n.subUnitId,link:{...p,id:_,row:m,column:h}}}),s.push({id:d.RemoveHyperLinkMutation.id,params:{unitId:n.unitId,subUnitId:n.subUnitId,id:_}})),g&&s.push({id:d.AddHyperLinkMutation.id,params:{unitId:n.unitId,subUnitId:n.subUnitId,link:g}})})}),{redos:o,undos:s}}};Y=C([S(0,r.ISheetClipboardService),S(1,(0,t.Inject)(d.HyperLinkModel)),S(2,(0,t.Inject)(t.Injector)),S(3,(0,t.Inject)(T))],Y);let ge=(e,i=t.DOCS_NORMAL_EDITOR_UNIT_ID_KEY)=>{var c;let l=e.get(t.IUniverInstanceService),u=(c=e.get(o.IRenderManagerService).getRenderById(i))==null?void 0:c.with(a.DocSelectionRenderService);return u?u.textSelectionInner$.pipe((0,s.map)(()=>{let t=e.get(r.IEditorBridgeService).getEditCellState();if(!t)return!0;let i=(0,n.getSheetCommandTarget)(l,{unitId:t.unitId,subUnitId:t.sheetId});return!(i!=null&&i.worksheet)||H(e,i.worksheet,t.row,t.column)===1?!0:W(e)})):(0,s.of)(!0)},X=e=>{var i;let a=e.get(t.IUniverInstanceService),o=e.has(r.IEditorBridgeService)?e.get(r.IEditorBridgeService):null;return((i=o==null?void 0:o.currentEditCellState$.pipe((0,s.map)(t=>{if(!t)return 1;let r=(0,n.getSheetCommandTarget)(a,{unitId:t.unitId,subUnitId:t.sheetId});return r?H(e,r.worksheet,t.row,t.column):1}),(0,s.switchMap)(n=>n===1?(0,s.of)(!0):(0,s.combineLatest)([o?o.visible$:(0,s.of)(null),a.getCurrentTypeOfUnit$(t.UniverInstanceType.UNIVER_DOC)]).pipe((0,s.switchMap)(([r,i])=>r!=null&&r.visible?(i==null?void 0:i.getUnitId())===t.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY?(0,s.of)(!0):ge(e,t.DOCS_NORMAL_EDITOR_UNIT_ID_KEY):(0,s.of)(n!==0))))))==null?(0,s.of)(!0):i).pipe((0,s.switchMap)(t=>t?(0,s.of)(!0):(0,r.getCurrentRangeDisable$)(e,{workbookTypes:[n.WorkbookEditablePermission],worksheetTypes:[n.WorksheetEditPermission,n.WorksheetSetCellValuePermission,n.WorksheetInsertHyperlinkPermission],rangeTypes:[n.RangeProtectionPermissionEditPoint]},!0)))},_e=e=>({commandId:q.id,type:f.MenuItemType.BUTTON,title:`sheets-hyper-link-ui.menu.add`,icon:`LinkIcon`,id:q.id,hidden$:(0,f.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_SHEET),disabled$:X(e)}),ve=e=>({tooltip:`sheets-hyper-link-ui.form.addTitle`,commandId:J.id,type:f.MenuItemType.BUTTON,icon:`LinkIcon`,id:J.id,hidden$:(0,f.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_SHEET),disabled$:X(e)}),Z={id:J.id,binding:f.KeyCode.K|f.MetaKeys.CTRL_COMMAND,preconditions:r.whenSheetEditorFocused};var ye=`@univerjs/sheets-hyper-link-ui`,be=`1.0.0-alpha.2`;let xe=class extends t.Disposable{constructor(e,t){super(),this._autoFillService=e,this._hyperLinkModel=t,this._initAutoFill()}_initAutoFill(){let e=()=>({redos:[],undos:[]}),i=(e,i)=>{let{source:a,target:o,unitId:s,subUnitId:c}=e,l=(0,r.virtualizeDiscreteRanges)([a,o]),[u,f]=l.ranges,{mapFunc:p}=l,m={row:u.startRow,col:u.startColumn},h=n.AutoFillTools.getAutoFillRepeatRange(u,f),g=[],_=[];return h.forEach(e=>{let r=e.repeatStartCell,a=e.relativeRange,o={startRow:m.row,startColumn:m.col,endColumn:m.col,endRow:m.row},l={startRow:r.row,startColumn:r.col,endColumn:r.col,endRow:r.row};t.Range.foreach(a,(e,r)=>{let a=t.Rectangle.getPositionRange({startRow:e,startColumn:r,endColumn:r,endRow:e},o),{row:u,col:f}=p(a.startRow,a.startColumn),m=this._hyperLinkModel.getHyperLinkByLocation(s,c,u,f),h=t.Rectangle.getPositionRange({startRow:e,startColumn:r,endColumn:r,endRow:e},l),{row:v,col:y}=p(h.startRow,h.startColumn),b=(0,t.generateRandomId)(),x=this._hyperLinkModel.getHyperLinkByLocation(s,c,v,y);x&&g.push({id:d.RemoveHyperLinkMutation.id,params:{unitId:s,subUnitId:c,id:x.id}}),(n.AUTO_FILL_APPLY_TYPE.COPY===i||n.AUTO_FILL_APPLY_TYPE.SERIES===i)&&m&&(g.push({id:d.AddHyperLinkMutation.id,params:{unitId:s,subUnitId:c,link:{...m,id:b,row:v,column:y}}}),_.push({id:d.RemoveHyperLinkMutation.id,params:{unitId:s,subUnitId:c,id:b}})),x&&_.push({id:d.AddHyperLinkMutation.id,params:{unitId:s,subUnitId:c,link:x}})})}),{undos:_,redos:g}},a={id:he,onFillData:(t,r,a)=>a===n.AUTO_FILL_APPLY_TYPE.COPY||a===n.AUTO_FILL_APPLY_TYPE.ONLY_FORMAT||a===n.AUTO_FILL_APPLY_TYPE.SERIES?i(t,a):e()};this.disposeWithMe(this._autoFillService.addHook(a))}};xe=C([S(0,n.IAutoFillService),S(1,(0,t.Inject)(d.HyperLinkModel))],xe);let Se=class extends t.Disposable{constructor(e,t){super(),this._componentManager=e,this._iconManager=t,this._registerComponents(),this._registerIcons()}_registerComponents(){[[z.componentKey,z],[A.componentKey,A]].forEach(([e,t])=>{this._componentManager.register(e,t)})}_registerIcons(){this.disposeWithMe(this._iconManager.register({LinkIcon:L}))}};Se=C([S(0,(0,t.Inject)(f.ComponentManager)),S(1,(0,t.Inject)(f.IconManager))],Se);let Ce=class extends t.Disposable{constructor(e,t,n){super(),this._localeService=e,this._commandService=t,this._sheetPermissionCheckController=n,this._commandExecutedListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.beforeCommandExecuted(e=>{e.id===Z.id&&(this._sheetPermissionCheckController.permissionCheckWithRanges({workbookTypes:[n.WorkbookEditablePermission],rangeTypes:[n.RangeProtectionPermissionEditPoint],worksheetTypes:[n.WorksheetEditPermission,n.WorksheetSetCellValuePermission,n.WorksheetInsertHyperlinkPermission]})||this._sheetPermissionCheckController.blockExecuteWithoutPermission(this._localeService.t(`sheets-hyper-link-ui.permission.hyperLinkErr`)))}))}};Ce=C([S(0,(0,t.Inject)(t.LocaleService)),S(1,t.ICommandService),S(2,(0,t.Inject)(n.SheetPermissionCheckController))],Ce);let we=class extends t.Disposable{constructor(e,t,n,r,i,a,o,s,c){super(),this._hoverManagerService=e,this._sheetsHyperLinkPopupService=t,this._renderManagerService=n,this._permissionService=r,this._sheetPermissionCheckController=i,this._commandService=a,this._editorBridgeService=o,this._textSelectionManagerService=s,this._univerInstanceService=c,this._initHoverListener(),this._initCommandListener(),this._initHoverEditingListener(),this._initTextSelectionListener()}_getLinkPermission(e){let{unitId:r,subUnitId:i,row:a,col:o}=e,s=this._univerInstanceService.getUnit(r,t.UniverInstanceType.UNIVER_SHEET),c=s==null?void 0:s.getSheetBySheetId(i);if(!c)return{viewPermission:!1,editPermission:!1,copyPermission:!1};let l=this._sheetPermissionCheckController.permissionCheckWithRanges({workbookTypes:[n.WorkbookViewPermission],worksheetTypes:[n.WorksheetViewPermission],rangeTypes:[n.RangeProtectionPermissionViewPoint]},[{startRow:a,startColumn:o,endRow:a,endColumn:o}],r,i),u=this._sheetPermissionCheckController.permissionCheckWithRanges({workbookTypes:[n.WorkbookEditablePermission],worksheetTypes:[n.WorksheetEditPermission,n.WorksheetInsertHyperlinkPermission],rangeTypes:[n.RangeProtectionPermissionEditPoint]},[{startRow:a,startColumn:o,endRow:a,endColumn:o}],r,i),d=c.getCellRaw(a,o);d!=null&&d.f&&d.f.startsWith(`=HYPERLINK(`)&&(u=!1);let f=this._permissionService.composePermission([new n.WorkbookCopyPermission(r).id,new n.WorksheetCopyPermission(r,i).id]).every(e=>e.value);return{viewPermission:l,editPermission:u,copyPermission:f}}_initHoverListener(){this.disposeWithMe(this._hoverManagerService.currentRichText$.pipe((0,s.debounceTime)(200)).subscribe(e=>{var n,i,a;if(!e||((n=e.customRange)==null?void 0:n.rangeType)!==t.CustomRangeType.HYPERLINK){this._sheetsHyperLinkPopupService.hideCurrentPopup();return}let{unitId:o,subUnitId:s,row:c,col:l}=e,u=this._renderManagerService.getRenderById(o);if(!u)return;let d=this._univerInstanceService.getUnit(o,t.UniverInstanceType.UNIVER_SHEET),f=d==null?void 0:d.getSheetBySheetId(s);if(!f)return;if(!u.with(r.HoverRenderController).active){this._sheetsHyperLinkPopupService.hideCurrentPopup(`viewing`);return}let p=u==null||(i=u.with(r.SheetSkeletonManagerService).getSkeletonParam(s))==null?void 0:i.skeleton,m=l,h=c,g=h,_=m;p&&p.overflowCache.forValue((e,n,r)=>{t.Rectangle.contains(r,{startColumn:m,endColumn:m,startRow:h,endRow:h})&&(g=e,_=n)});let{viewPermission:v,editPermission:y,copyPermission:b}=this._getLinkPermission(e);if(!v){this._sheetsHyperLinkPopupService.hideCurrentPopup();return}let x=f.getCellStyleOnly(g,_),S=d.getStyles().getStyleByCell(x),C=S==null||(a=S.tr)==null?void 0:a.a;if(!C&&!e.customRange){this._sheetsHyperLinkPopupService.hideCurrentPopup();return}this._sheetsHyperLinkPopupService.showPopup({row:g,col:_,editPermission:y,copyPermission:b,customRange:e.customRange,customRangeRect:e.rect,type:`viewing`,unitId:o,subUnitId:s,showAll:!!C})}))}_initHoverEditingListener(){let e=null;this.disposeWithMe(this._editorBridgeService.currentEditCellState$.pipe((0,s.switchMap)(e=>this._editorBridgeService.visible$.pipe((0,s.map)(t=>({visible:t,state:e}))))).subscribe(({visible:n,state:i})=>{if(!i||i.editorUnitId!==t.DOCS_NORMAL_EDITOR_UNIT_ID_KEY)return;if(!n.visible){e==null||e.unsubscribe(),this._sheetsHyperLinkPopupService.hideCurrentPopup(`editing`),this._sheetsHyperLinkPopupService.endEditing(`editing`);return}let{editorUnitId:o,unitId:c,sheetId:l,row:u,column:d}=i,f=this._renderManagerService.getRenderById(o);if(!f)return;let{editPermission:p,viewPermission:m,copyPermission:h}=this._getLinkPermission({unitId:c,subUnitId:l,row:u,col:d}),g=f.with(a.DocEventManagerService);m&&(e==null||e.unsubscribe(),e=g.hoverCustomRanges$.pipe((0,s.debounceTime)(200)).subscribe(e=>{var n;let i=e.find(e=>e.range.rangeType===t.CustomRangeType.HYPERLINK);if(!i){this._sheetsHyperLinkPopupService.hideCurrentPopup();return}let a=i.rects[i.rects.length-1];if(!(!((n=this._renderManagerService.getRenderById(c))==null||(n=n.with(r.SheetSkeletonManagerService).getSkeletonParam(l))==null)&&n.skeleton)||!a)return;let o=f.engine.getCanvasElement().getBoundingClientRect();this._sheetsHyperLinkPopupService.showPopup({unitId:c,subUnitId:l,row:u,col:d,customRange:i.range,customRangeRect:{left:a.left+o.left,top:a.top+o.top,bottom:a.bottom+o.top,right:a.right+o.left},editPermission:p,copyPermission:h,type:`editing`})}))})),this.disposeWithMe(()=>{e==null||e.unsubscribe()})}_initTextSelectionListener(){this.disposeWithMe(this._textSelectionManagerService.textSelection$.subscribe(e=>{e&&e.unitId===t.DOCS_NORMAL_EDITOR_UNIT_ID_KEY&&this._sheetsHyperLinkPopupService.endEditing(`editing`)}))}_initCommandListener(){let e=[n.ClearSelectionContentCommand.id,n.ClearSelectionAllCommand.id,n.ClearSelectionFormatCommand.id];this.disposeWithMe(this._commandService.onCommandExecuted(t=>{e.includes(t.id)&&this._sheetsHyperLinkPopupService.hideCurrentPopup()}))}};we=C([S(0,(0,t.Inject)(r.HoverManagerService)),S(1,(0,t.Inject)(V)),S(2,(0,t.Inject)(o.IRenderManagerService)),S(3,(0,t.Inject)(t.IPermissionService)),S(4,(0,t.Inject)(n.SheetPermissionCheckController)),S(5,t.ICommandService),S(6,r.IEditorBridgeService),S(7,(0,t.Inject)(i.DocSelectionManagerService)),S(8,t.IUniverInstanceService)],we);let Te=class extends t.Disposable{constructor(e,t){super(),this._context=e,this._hyperLinkModel=t,this._initSkeletonChange()}_initSkeletonChange(){let e=()=>{var e;(e=this._context.mainComponent)==null||e.makeForceDirty()};this.disposeWithMe(this._hyperLinkModel.linkUpdate$.pipe((0,s.debounceTime)(16)).subscribe(()=>{e()}))}};Te=C([S(1,(0,t.Inject)(d.HyperLinkModel))],Te);let Ee={[f.RibbonInsertGroup.MEDIA]:{[J.id]:{order:1,menuItemFactory:ve}},[f.ContextMenuPosition.MAIN_AREA]:{[f.ContextMenuGroup.OTHERS]:{order:1,[J.id]:{order:0,menuItemFactory:_e}}}},De=class extends t.Disposable{constructor(e,t,n,r,i,a){super(),this._componentManager=e,this._iconManager=t,this._commandService=n,this._menuManagerService=r,this._injector=i,this._shortcutService=a,this._initCommands(),this._initMenus(),this._initShortCut()}_initCommands(){[G,K,q,J].forEach(e=>{this._commandService.registerCommand(e)})}_initMenus(){this._menuManagerService.mergeMenu(Ee)}_initShortCut(){this._shortcutService.registerShortcut(Z)}};De=C([S(0,(0,t.Inject)(f.ComponentManager)),S(1,(0,t.Inject)(f.IconManager)),S(2,t.ICommandService),S(3,f.IMenuManagerService),S(4,(0,t.Inject)(t.Injector)),S(5,(0,t.Inject)(f.IShortcutService))],De);let Q=class extends t.Disposable{constructor(e,t){super(),this._parserService=e,this._resolverService=t,this._handleInitUrl()}_handleInitUrl(){let e=location.hash;if(e){let t=this._parserService.parseHyperLink(e);this._resolverService.navigate(t)}}};Q=C([S(0,(0,t.Inject)(d.SheetsHyperLinkParserService)),S(1,(0,t.Inject)(T))],Q);let $=class extends t.Plugin{constructor(e=x,n,r){super(),this._config=e,this._injector=n,this._configService=r;let{menu:i,...a}=(0,t.merge)({},x,this._config);i&&this._configService.setConfig(`menu`,i,{merge:!0}),this._configService.setConfig(b,a)}onStarting(){this._injector.add([Se]),this._injector.get(Se),[[T],[V],[ee],[we],[De],[xe],[Y],[Ce],[Q]].forEach(e=>this._injector.add(e))}onReady(){this._injector.get(o.IRenderManagerService).registerRenderModule(t.UniverInstanceType.UNIVER_SHEET,[Te]),this._injector.get(xe),this._injector.get(Y),this._injector.get(De)}onRendered(){this._injector.get(Ce),this._injector.get(Q),this._injector.get(we)}};k($,`pluginName`,he),k($,`packageName`,ye),k($,`version`,be),k($,`type`,t.UniverInstanceType.UNIVER_SHEET),$=C([(0,t.DependentOn)(d.UniverSheetsHyperLinkPlugin,a.UniverDocsUIPlugin),S(1,(0,t.Inject)(t.Injector)),S(2,t.IConfigService)],$),e.CloseHyperLinkPopupOperation=K,e.InsertHyperLinkOperation=q,e.InsertLinkShortcut=Z,e.OpenHyperLinkEditPanelOperation=G,Object.defineProperty(e,"SheetsHyperLinkCopyPasteController",{enumerable:!0,get:function(){return Y}}),Object.defineProperty(e,"SheetsHyperLinkPopupService",{enumerable:!0,get:function(){return V}}),Object.defineProperty(e,"SheetsHyperLinkResolverService",{enumerable:!0,get:function(){return T}}),e.SheetsHyperLinkSidePanelService=ee,Object.defineProperty(e,"UniverSheetsHyperLinkUIPlugin",{enumerable:!0,get:function(){return $}})});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@univerjs/sheets-hyper-link-ui",
|
|
3
|
-
"version": "1.0.0-alpha.
|
|
3
|
+
"version": "1.0.0-alpha.2",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "Hyperlink editing UI for Univer Sheets.",
|
|
6
6
|
"author": "DreamNum Co., Ltd. <developer@univer.ai>",
|
|
@@ -68,28 +68,28 @@
|
|
|
68
68
|
"rxjs": ">=7.0.0"
|
|
69
69
|
},
|
|
70
70
|
"dependencies": {
|
|
71
|
-
"@univerjs/icons": "1.
|
|
72
|
-
"@univerjs/
|
|
73
|
-
"@univerjs/
|
|
74
|
-
"@univerjs/
|
|
75
|
-
"@univerjs/docs-ui": "1.0.0-alpha.
|
|
76
|
-
"@univerjs/engine-formula": "1.0.0-alpha.
|
|
77
|
-
"@univerjs/sheets": "1.0.0-alpha.
|
|
78
|
-
"@univerjs/sheets-
|
|
79
|
-
"@univerjs/
|
|
80
|
-
"@univerjs/sheets-
|
|
81
|
-
"@univerjs/sheets-ui": "1.0.0-alpha.
|
|
82
|
-
"@univerjs/
|
|
83
|
-
"@univerjs/
|
|
71
|
+
"@univerjs/icons": "1.16.0",
|
|
72
|
+
"@univerjs/core": "1.0.0-alpha.2",
|
|
73
|
+
"@univerjs/design": "1.0.0-alpha.2",
|
|
74
|
+
"@univerjs/docs": "1.0.0-alpha.2",
|
|
75
|
+
"@univerjs/docs-ui": "1.0.0-alpha.2",
|
|
76
|
+
"@univerjs/engine-formula": "1.0.0-alpha.2",
|
|
77
|
+
"@univerjs/sheets": "1.0.0-alpha.2",
|
|
78
|
+
"@univerjs/sheets-formula-ui": "1.0.0-alpha.2",
|
|
79
|
+
"@univerjs/sheets-hyper-link": "1.0.0-alpha.2",
|
|
80
|
+
"@univerjs/sheets-data-validation": "1.0.0-alpha.2",
|
|
81
|
+
"@univerjs/sheets-ui": "1.0.0-alpha.2",
|
|
82
|
+
"@univerjs/engine-render": "1.0.0-alpha.2",
|
|
83
|
+
"@univerjs/ui": "1.0.0-alpha.2"
|
|
84
84
|
},
|
|
85
85
|
"devDependencies": {
|
|
86
|
-
"postcss": "^8.5.
|
|
86
|
+
"postcss": "^8.5.16",
|
|
87
87
|
"react": "18.3.1",
|
|
88
88
|
"rxjs": "^7.8.2",
|
|
89
89
|
"tailwindcss": "3.4.18",
|
|
90
90
|
"typescript": "^6.0.3",
|
|
91
91
|
"vitest": "^4.1.9",
|
|
92
|
-
"@univerjs-infra/shared": "1.0.0-alpha.
|
|
92
|
+
"@univerjs-infra/shared": "1.0.0-alpha.2"
|
|
93
93
|
},
|
|
94
94
|
"scripts": {
|
|
95
95
|
"test": "vitest run",
|