@team-monolith/cds 1.130.0-alpha.7 → 1.130.0-alpha.8
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/README.md +1 -1
- package/dist/patterns/LexicalEditor/Plugins.js +3 -3
- package/dist/patterns/LexicalEditor/nodes/FileNode/CompactFileView.js +18 -31
- package/dist/patterns/LexicalEditor/nodes/ImageNode/CompactImageView.js +36 -50
- package/dist/patterns/LexicalEditor/plugins/CompactToolbarPlugin/CompactToolbarPlugin.js +133 -74
- package/dist/patterns/LexicalEditor/plugins/FloatingLinkEditorPlugin/index.js +1 -1
- package/package.json +5 -3
package/README.md
CHANGED
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
|
|
33
33
|
`pnpm run storybook` 을 실행하면 스토리북이 실행됩니다. 이곳에서 디버깅을 진행합니다.
|
|
34
34
|
|
|
35
|
-
패키지 특성상 개발환경이 따로 존재하지 않으며 `pnpm run build` 후 `
|
|
35
|
+
패키지 특성상 개발환경이 따로 존재하지 않으며 `pnpm run build` 후 `pnpm publish` 를 사용하여 npm 에 배포합니다.
|
|
36
36
|
|
|
37
37
|
이때 npm team-monolith 에 소속되어 있어야 합니다.
|
|
38
38
|
|
|
@@ -127,9 +127,9 @@ var B = x.div`
|
|
|
127
127
|
display: block;
|
|
128
128
|
position: relative;
|
|
129
129
|
outline: 0;
|
|
130
|
-
|
|
131
|
-
//
|
|
132
|
-
${({ isEditable: e, compactEditorMode: t }) =>
|
|
130
|
+
// 들여쓰기: compact 모드는 Adder가 없어 16px만, 일반 편집 모드는 Adder 공간으로 64px.
|
|
131
|
+
// 일반 읽기 모드는 기존대로 들여쓰지 않는다(0) — 무조건 16px 적용 시 회귀.
|
|
132
|
+
${({ isEditable: e, compactEditorMode: t }) => t ? "padding-left: 16px;" : e ? "padding-left: 64px;" : ""}
|
|
133
133
|
// ScrollArea에서 스크롤이 발생해도 64px 더 아래로 내릴 수 있도록 합니다.
|
|
134
134
|
padding-bottom: 64px;
|
|
135
135
|
min-height: 150px;
|
|
@@ -1,53 +1,40 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
1
|
+
import { SquareButton as e } from "../../../../components/SquareButton.js";
|
|
2
|
+
import { stdin_default as t } from "../../../../node_modules/remixicon/icons/System/delete-bin-line.js";
|
|
3
|
+
import { OverflowTooltip as n } from "../../../../components/OverflowTooltip.js";
|
|
4
|
+
import { FileDetailContainer as r, FileInfo as i, FileName as a, FileOptionalInfo as o, FileSize as s, IconContainer as c, getFileIcon as l } from "./fileStyles.js";
|
|
5
5
|
import u from "@emotion/styled";
|
|
6
6
|
import { jsx as d, jsxs as f } from "@emotion/react/jsx-runtime";
|
|
7
7
|
import { useTranslation as p } from "react-i18next";
|
|
8
8
|
import { $getNodeByKey as m } from "lexical";
|
|
9
9
|
import { useLexicalComposerContext as h } from "@lexical/react/LexicalComposerContext";
|
|
10
10
|
//#region src/cds/patterns/LexicalEditor/nodes/FileNode/CompactFileView.tsx
|
|
11
|
-
function g({ fileName:
|
|
11
|
+
function g({ fileName: e, fileSize: i, nodeKey: u, fileUploadDate: g }) {
|
|
12
12
|
let [y] = h(), { t: b } = p();
|
|
13
|
-
return /* @__PURE__ */ d(
|
|
13
|
+
return /* @__PURE__ */ d(r, {
|
|
14
14
|
isSelected: !1,
|
|
15
15
|
children: /* @__PURE__ */ f(_, { children: [
|
|
16
|
-
/* @__PURE__ */ d(
|
|
17
|
-
/* @__PURE__ */ d(
|
|
18
|
-
/* @__PURE__ */ d(
|
|
19
|
-
/* @__PURE__ */ f(
|
|
16
|
+
/* @__PURE__ */ d(c, { children: l(e) }),
|
|
17
|
+
/* @__PURE__ */ d(a, { children: /* @__PURE__ */ d(n, { text: e }) }),
|
|
18
|
+
/* @__PURE__ */ d(o, { children: g }),
|
|
19
|
+
/* @__PURE__ */ f(s, { children: [(i / (1024 * 1024)).toFixed(1), " MB"] }),
|
|
20
20
|
/* @__PURE__ */ d(v, {
|
|
21
|
-
|
|
21
|
+
color: "icon",
|
|
22
|
+
size: "xsmall",
|
|
23
|
+
icon: /* @__PURE__ */ d(t, {}),
|
|
22
24
|
onClick: () => {
|
|
23
25
|
y.update(() => {
|
|
24
26
|
m(u)?.remove();
|
|
25
27
|
});
|
|
26
28
|
},
|
|
27
|
-
"aria-label": b("삭제", { context: "버튼, 게시글 본문 파일" })
|
|
28
|
-
children: /* @__PURE__ */ d(e, {})
|
|
29
|
+
"aria-label": b("삭제", { context: "버튼, 게시글 본문 파일" })
|
|
29
30
|
})
|
|
30
31
|
] })
|
|
31
32
|
});
|
|
32
33
|
}
|
|
33
|
-
var _ = u(
|
|
34
|
+
var _ = u(i)`
|
|
34
35
|
cursor: default;
|
|
35
|
-
`, v = u
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
align-items: center;
|
|
39
|
-
justify-content: center;
|
|
40
|
-
width: 24px;
|
|
41
|
-
height: 24px;
|
|
42
|
-
padding: 0;
|
|
43
|
-
border: 0;
|
|
44
|
-
background: transparent;
|
|
45
|
-
cursor: pointer;
|
|
46
|
-
color: ${e.color.foreground.neutralBaseDisabled};
|
|
47
|
-
|
|
48
|
-
&:hover {
|
|
49
|
-
color: ${e.color.foreground.neutralBase};
|
|
50
|
-
}
|
|
51
|
-
`);
|
|
36
|
+
`, v = u(e)`
|
|
37
|
+
flex-shrink: 0;
|
|
38
|
+
`;
|
|
52
39
|
//#endregion
|
|
53
40
|
export { g as CompactFileView };
|
|
@@ -1,78 +1,64 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import r from "
|
|
5
|
-
import
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
1
|
+
import { SquareButton as e } from "../../../../components/SquareButton.js";
|
|
2
|
+
import { stdin_default as t } from "../../../../node_modules/remixicon/icons/System/delete-bin-line.js";
|
|
3
|
+
import { css as n } from "@emotion/react";
|
|
4
|
+
import { useState as r } from "react";
|
|
5
|
+
import i from "@emotion/styled";
|
|
6
|
+
import { jsx as a, jsxs as o } from "@emotion/react/jsx-runtime";
|
|
7
|
+
import { useTranslation as s } from "react-i18next";
|
|
8
|
+
import { $getNodeByKey as c } from "lexical";
|
|
9
|
+
import { useLexicalComposerContext as l } from "@lexical/react/LexicalComposerContext";
|
|
10
|
+
import { useLexicalEditable as u } from "@lexical/react/useLexicalEditable";
|
|
10
11
|
//#region src/cds/patterns/LexicalEditor/nodes/ImageNode/CompactImageView.tsx
|
|
11
|
-
function
|
|
12
|
-
let [
|
|
13
|
-
return v ? /* @__PURE__ */
|
|
14
|
-
src:
|
|
15
|
-
alt:
|
|
12
|
+
function d({ src: e, altText: n, nodeKey: i }) {
|
|
13
|
+
let [d] = l(), _ = u(), [v, y] = r(!1), { t: b } = s();
|
|
14
|
+
return v ? /* @__PURE__ */ a(g, { children: n || b("이미지를 불러올 수 없습니다.") }) : _ ? /* @__PURE__ */ o(f, { children: [/* @__PURE__ */ a(m, {
|
|
15
|
+
src: e,
|
|
16
|
+
alt: n,
|
|
16
17
|
onError: () => y(!0)
|
|
17
|
-
}), /* @__PURE__ */
|
|
18
|
-
|
|
18
|
+
}), /* @__PURE__ */ a(h, {
|
|
19
|
+
color: "grey",
|
|
20
|
+
size: "xsmall",
|
|
21
|
+
icon: /* @__PURE__ */ a(t, {}),
|
|
19
22
|
onClick: () => {
|
|
20
|
-
|
|
21
|
-
|
|
23
|
+
d.update(() => {
|
|
24
|
+
c(i)?.remove();
|
|
22
25
|
});
|
|
23
26
|
},
|
|
24
|
-
"aria-label": b("삭제", { context: "버튼, 게시글 본문 이미지" })
|
|
25
|
-
|
|
26
|
-
})] }) : /* @__PURE__ */ i(f, {
|
|
27
|
+
"aria-label": b("삭제", { context: "버튼, 게시글 본문 이미지" })
|
|
28
|
+
})] }) : /* @__PURE__ */ a(p, {
|
|
27
29
|
type: "button",
|
|
28
|
-
onClick: () => window.open(
|
|
30
|
+
onClick: () => window.open(e, "_blank", "noopener"),
|
|
29
31
|
title: b("클릭해서 원본 이미지 보기"),
|
|
30
|
-
children: /* @__PURE__ */
|
|
31
|
-
src:
|
|
32
|
-
alt:
|
|
32
|
+
children: /* @__PURE__ */ a(m, {
|
|
33
|
+
src: e,
|
|
34
|
+
alt: n,
|
|
33
35
|
onError: () => y(!0)
|
|
34
36
|
})
|
|
35
37
|
});
|
|
36
38
|
}
|
|
37
|
-
var
|
|
39
|
+
var f = i.div`
|
|
38
40
|
position: relative;
|
|
39
41
|
display: inline-block;
|
|
40
42
|
max-width: 100%;
|
|
41
|
-
`,
|
|
43
|
+
`, p = i.button`
|
|
42
44
|
display: inline-block;
|
|
43
45
|
max-width: 100%;
|
|
44
46
|
padding: 0;
|
|
45
47
|
border: 0;
|
|
46
48
|
background: transparent;
|
|
47
49
|
cursor: pointer;
|
|
48
|
-
`,
|
|
50
|
+
`, m = i.img`
|
|
49
51
|
display: block;
|
|
50
52
|
max-width: 100%;
|
|
51
53
|
max-height: 400px;
|
|
52
54
|
height: auto;
|
|
53
55
|
object-fit: contain;
|
|
54
56
|
border-radius: 10px;
|
|
55
|
-
`,
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
align-items: center;
|
|
61
|
-
justify-content: center;
|
|
62
|
-
width: 28px;
|
|
63
|
-
height: 28px;
|
|
64
|
-
padding: 0;
|
|
65
|
-
border: 0;
|
|
66
|
-
border-radius: 6px;
|
|
67
|
-
background: ${e.color.background.neutralAlt};
|
|
68
|
-
color: ${e.color.foreground.neutralBase};
|
|
69
|
-
cursor: pointer;
|
|
70
|
-
opacity: 0.9;
|
|
71
|
-
|
|
72
|
-
&:hover {
|
|
73
|
-
opacity: 1;
|
|
74
|
-
}
|
|
75
|
-
`), h = r.div(({ theme: e }) => t`
|
|
57
|
+
`, h = i(e)`
|
|
58
|
+
position: absolute;
|
|
59
|
+
top: 8px;
|
|
60
|
+
right: 8px;
|
|
61
|
+
`, g = i.div(({ theme: e }) => n`
|
|
76
62
|
display: flex;
|
|
77
63
|
align-items: center;
|
|
78
64
|
justify-content: center;
|
|
@@ -88,4 +74,4 @@ var d = r.div`
|
|
|
88
74
|
line-height: 20px;
|
|
89
75
|
`);
|
|
90
76
|
//#endregion
|
|
91
|
-
export {
|
|
77
|
+
export { d as CompactImageView };
|
|
@@ -1,106 +1,165 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { $
|
|
5
|
-
import {
|
|
1
|
+
import { Spinner as e } from "../../../../components/Spinner.js";
|
|
2
|
+
import { stdin_default as t } from "../../../../node_modules/remixicon/icons/System/upload-line.js";
|
|
3
|
+
import { CdsContext as n } from "../../../../CdsProvider.js";
|
|
4
|
+
import { $createImageNode as r } from "../../nodes/ImageNode/ImageNode.js";
|
|
5
|
+
import { $createFileNode as i } from "../../nodes/FileNode/FileNode.js";
|
|
6
|
+
import { getTexts as a } from "../../../../texts.js";
|
|
6
7
|
import "../../uploadConstants.js";
|
|
7
|
-
import { COMPACT_ATTACHMENT_NODES as
|
|
8
|
-
import { css as
|
|
9
|
-
import { useContext as
|
|
10
|
-
import
|
|
11
|
-
import { jsx as
|
|
12
|
-
import { useTranslation as
|
|
13
|
-
import { $createParagraphNode as
|
|
14
|
-
import { mergeRegister as
|
|
15
|
-
import { useLexicalComposerContext as
|
|
16
|
-
import
|
|
8
|
+
import { COMPACT_ATTACHMENT_NODES as o } from "./compactAttachmentNodes.js";
|
|
9
|
+
import { css as s } from "@emotion/react";
|
|
10
|
+
import { useContext as c, useLayoutEffect as l, useRef as u, useState as d } from "react";
|
|
11
|
+
import f from "@emotion/styled";
|
|
12
|
+
import { jsx as p, jsxs as m } from "@emotion/react/jsx-runtime";
|
|
13
|
+
import { useTranslation as h } from "react-i18next";
|
|
14
|
+
import { $createParagraphNode as g, $getRoot as _ } from "lexical";
|
|
15
|
+
import { mergeRegister as v } from "@lexical/utils";
|
|
16
|
+
import { useLexicalComposerContext as y } from "@lexical/react/LexicalComposerContext";
|
|
17
|
+
import b from "moment";
|
|
17
18
|
//#region src/cds/patterns/LexicalEditor/plugins/CompactToolbarPlugin/CompactToolbarPlugin.tsx
|
|
18
|
-
function b() {
|
|
19
|
-
let { t } = m(), n = x(), r = S(), i = l(null);
|
|
20
|
-
return n ? null : /* @__PURE__ */ p(C, { children: [/* @__PURE__ */ p(w, {
|
|
21
|
-
type: "button",
|
|
22
|
-
onClick: () => i.current?.click(),
|
|
23
|
-
children: [/* @__PURE__ */ f(e, {}), /* @__PURE__ */ f(T, { children: t("업로드") })]
|
|
24
|
-
}), /* @__PURE__ */ f(E, {
|
|
25
|
-
ref: i,
|
|
26
|
-
type: "file",
|
|
27
|
-
onChange: (e) => {
|
|
28
|
-
let t = e.target.files?.[0];
|
|
29
|
-
t && r(t), e.target.value = "";
|
|
30
|
-
}
|
|
31
|
-
})] });
|
|
32
|
-
}
|
|
33
19
|
function x() {
|
|
34
|
-
let
|
|
35
|
-
return
|
|
20
|
+
let { t: n } = h(), r = S(), { upload: i, isUploading: a } = C(), o = u(null);
|
|
21
|
+
return r ? null : /* @__PURE__ */ m(T, { children: [
|
|
22
|
+
/* @__PURE__ */ p(E, {
|
|
23
|
+
$loading: a,
|
|
24
|
+
children: a ? /* @__PURE__ */ m(O, { children: [/* @__PURE__ */ p(e, {}), /* @__PURE__ */ p(k, { children: n("업로드 중...") })] }) : /* @__PURE__ */ m(D, {
|
|
25
|
+
type: "button",
|
|
26
|
+
onClick: () => o.current?.click(),
|
|
27
|
+
children: [/* @__PURE__ */ p(t, {}), /* @__PURE__ */ p(k, { children: n("업로드") })]
|
|
28
|
+
})
|
|
29
|
+
}),
|
|
30
|
+
/* @__PURE__ */ p(A, { children: n("업로드할 이미지 또는 파일을 추가하세요.") }),
|
|
31
|
+
/* @__PURE__ */ p(j, {
|
|
32
|
+
ref: o,
|
|
33
|
+
type: "file",
|
|
34
|
+
onChange: (e) => {
|
|
35
|
+
let t = e.target.files?.[0];
|
|
36
|
+
t && i(t), e.target.value = "";
|
|
37
|
+
}
|
|
38
|
+
})
|
|
39
|
+
] });
|
|
40
|
+
}
|
|
41
|
+
function S() {
|
|
42
|
+
let [e] = y(), [t, n] = d(!1);
|
|
43
|
+
return l(() => {
|
|
36
44
|
let t = /* @__PURE__ */ new Set();
|
|
37
|
-
return
|
|
45
|
+
return v(...o.map((r) => e.registerMutationListener(r, (e) => {
|
|
38
46
|
for (let [n, r] of e) r === "destroyed" ? t.delete(n) : t.add(n);
|
|
39
47
|
n(t.size > 0);
|
|
40
48
|
}, { skipInitialization: !1 })));
|
|
41
49
|
}, [e]), t;
|
|
42
50
|
}
|
|
43
|
-
function
|
|
44
|
-
let [e] =
|
|
45
|
-
return
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
a ? a.insertBefore(e) : i.append(e), e.getNextSibling() === null && e.insertAfter(h());
|
|
70
|
-
});
|
|
51
|
+
function C() {
|
|
52
|
+
let [e] = y(), t = c(n), { t: r } = h(), [i, o] = d(!1);
|
|
53
|
+
return {
|
|
54
|
+
upload: async (n) => {
|
|
55
|
+
let i = t.lexical?.uploadByFile, s = t.lexical?.showFileError;
|
|
56
|
+
if (i) {
|
|
57
|
+
if (n.size >= 1073741824) {
|
|
58
|
+
s?.("upload", a(r, "errorFileTooLarge"));
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
o(!0);
|
|
62
|
+
try {
|
|
63
|
+
let t;
|
|
64
|
+
try {
|
|
65
|
+
t = await i(n);
|
|
66
|
+
} catch {
|
|
67
|
+
s?.("upload", r("파일을 업로드하지 못했습니다. 다시 시도해 주세요."));
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
e.update(() => w(n, t));
|
|
71
|
+
} finally {
|
|
72
|
+
o(!1);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
},
|
|
76
|
+
isUploading: i
|
|
71
77
|
};
|
|
72
78
|
}
|
|
73
|
-
|
|
79
|
+
function w(e, t) {
|
|
80
|
+
let n = e.type.startsWith("image/") ? r({
|
|
81
|
+
src: t,
|
|
82
|
+
altText: e.name
|
|
83
|
+
}) : i({
|
|
84
|
+
fileUrl: t,
|
|
85
|
+
fileName: e.name,
|
|
86
|
+
fileSize: e.size,
|
|
87
|
+
fileUploadDate: b().format("YYYY.MM.DD HH:mm:ss")
|
|
88
|
+
}), a = _(), o = a.getFirstChild();
|
|
89
|
+
o ? o.insertBefore(n) : a.append(n), n.getNextSibling() === null && n.insertAfter(g());
|
|
90
|
+
}
|
|
91
|
+
var T = f.div`
|
|
92
|
+
display: flex;
|
|
93
|
+
flex-direction: column;
|
|
94
|
+
gap: 8px;
|
|
95
|
+
margin-bottom: 8px;
|
|
96
|
+
|
|
97
|
+
/* 툴바(첫 자식) 호버 시 다음 형제인 Description을 노출한다. component selector(\${Toolbar})는
|
|
98
|
+
@emotion/babel-plugin이 필요해 Storybook(vite)에서 깨지므로 구조적 셀렉터로 표현한다. */
|
|
99
|
+
& > :first-child:hover + * {
|
|
100
|
+
opacity: 1;
|
|
101
|
+
}
|
|
102
|
+
`, E = f.div(({ theme: e, $loading: t }) => s`
|
|
74
103
|
display: flex;
|
|
75
|
-
gap:
|
|
76
|
-
|
|
77
|
-
border: 1px dashed
|
|
104
|
+
gap: 4px;
|
|
105
|
+
min-height: 72px;
|
|
106
|
+
border: 1px dashed
|
|
107
|
+
${t ? e.color.foreground.info : e.color.foreground.neutralBaseDisabled};
|
|
78
108
|
border-radius: 10px;
|
|
79
|
-
|
|
109
|
+
transition: border-color 0.15s ease;
|
|
110
|
+
/* 업로드 중엔 호버 발화·재클릭을 막는다. 덕분에 호버 테두리/설명 노출도 자연히 억제된다. */
|
|
111
|
+
pointer-events: ${t ? "none" : "auto"};
|
|
112
|
+
|
|
113
|
+
&:hover {
|
|
114
|
+
border-color: ${e.color.foreground.info};
|
|
115
|
+
}
|
|
116
|
+
`), D = f.button(({ theme: e }) => s`
|
|
117
|
+
flex: 1;
|
|
118
|
+
align-self: stretch;
|
|
80
119
|
display: flex;
|
|
81
120
|
flex-direction: column;
|
|
82
121
|
align-items: center;
|
|
83
122
|
justify-content: center;
|
|
84
123
|
gap: 4px;
|
|
85
|
-
width: 72px;
|
|
86
|
-
height: 64px;
|
|
87
124
|
padding: 8px;
|
|
88
|
-
border:
|
|
125
|
+
border: none;
|
|
89
126
|
border-radius: 8px;
|
|
90
|
-
background:
|
|
127
|
+
background: transparent;
|
|
91
128
|
color: ${e.color.foreground.neutralBase};
|
|
92
129
|
cursor: pointer;
|
|
130
|
+
transition:
|
|
131
|
+
background-color 0.15s ease,
|
|
132
|
+
color 0.15s ease;
|
|
93
133
|
|
|
94
134
|
&:hover {
|
|
95
|
-
background: ${e.color.
|
|
135
|
+
background: ${e.color.container.tealContainer};
|
|
136
|
+
color: ${e.color.foreground.info};
|
|
96
137
|
}
|
|
97
|
-
`),
|
|
138
|
+
`), O = f.div(({ theme: e }) => s`
|
|
139
|
+
flex: 1;
|
|
140
|
+
align-self: stretch;
|
|
141
|
+
display: flex;
|
|
142
|
+
flex-direction: column;
|
|
143
|
+
align-items: center;
|
|
144
|
+
justify-content: center;
|
|
145
|
+
gap: 6px;
|
|
146
|
+
color: ${e.color.foreground.info};
|
|
147
|
+
`), k = f.span(({ theme: e }) => s`
|
|
148
|
+
font-family: ${e.fontFamily.ui};
|
|
149
|
+
font-size: 12px;
|
|
150
|
+
font-weight: 500;
|
|
151
|
+
line-height: 16px;
|
|
152
|
+
`), A = f.div(({ theme: e }) => s`
|
|
98
153
|
font-family: ${e.fontFamily.ui};
|
|
99
154
|
font-size: 12px;
|
|
100
155
|
font-weight: 500;
|
|
101
156
|
line-height: 16px;
|
|
102
|
-
|
|
157
|
+
padding: 0 4px;
|
|
158
|
+
color: ${e.color.foreground.info};
|
|
159
|
+
opacity: 0;
|
|
160
|
+
transition: opacity 0.15s ease;
|
|
161
|
+
`), j = f.input`
|
|
103
162
|
display: none;
|
|
104
163
|
`;
|
|
105
164
|
//#endregion
|
|
106
|
-
export {
|
|
165
|
+
export { x as CompactToolbarPlugin };
|
|
@@ -33,7 +33,7 @@ function v(m, v, y, b) {
|
|
|
33
33
|
let n = a();
|
|
34
34
|
if (s(n)) {
|
|
35
35
|
let r = f(e(n), g);
|
|
36
|
-
if (g(r) && (t.metaKey || t.ctrlKey)) return window.open(r.getURL(), "_blank"), !0;
|
|
36
|
+
if (g(r) && (t.metaKey || t.ctrlKey)) return window.open(r.getURL(), "_blank", "noopener"), !0;
|
|
37
37
|
}
|
|
38
38
|
return !1;
|
|
39
39
|
}, u));
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@team-monolith/cds",
|
|
3
|
-
"version": "1.130.0-alpha.
|
|
3
|
+
"version": "1.130.0-alpha.8",
|
|
4
4
|
"packageManager": "pnpm@10.33.2",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -13,7 +13,6 @@
|
|
|
13
13
|
}
|
|
14
14
|
},
|
|
15
15
|
"dependencies": {
|
|
16
|
-
"@emotion/css": "11.11.2",
|
|
17
16
|
"@lexical/code": "0.32.1",
|
|
18
17
|
"@lexical/link": "0.32.1",
|
|
19
18
|
"@lexical/list": "0.32.1",
|
|
@@ -23,7 +22,6 @@
|
|
|
23
22
|
"@lexical/selection": "0.32.1",
|
|
24
23
|
"@lexical/table": "0.32.1",
|
|
25
24
|
"@lexical/utils": "0.32.1",
|
|
26
|
-
"@mui/base": "5.0.0-beta.70",
|
|
27
25
|
"@svgr/plugin-svgo": "8.1.0",
|
|
28
26
|
"framer-motion": "11.3.19",
|
|
29
27
|
"hex-to-css-filter": "5.4.0",
|
|
@@ -45,8 +43,10 @@
|
|
|
45
43
|
"dist/**/*"
|
|
46
44
|
],
|
|
47
45
|
"peerDependencies": {
|
|
46
|
+
"@emotion/css": "^11.0.0",
|
|
48
47
|
"@emotion/react": "^11.0.0",
|
|
49
48
|
"@emotion/styled": "^11.0.0",
|
|
49
|
+
"@mui/base": "5.0.0-beta.70",
|
|
50
50
|
"@mui/material": "^5.13.6",
|
|
51
51
|
"@types/react": "^18.0.0",
|
|
52
52
|
"@types/react-dom": "^18.0.0",
|
|
@@ -97,9 +97,11 @@
|
|
|
97
97
|
"@babel/preset-env": "7.23.2",
|
|
98
98
|
"@babel/preset-react": "7.22.5",
|
|
99
99
|
"@babel/preset-typescript": "7.22.5",
|
|
100
|
+
"@emotion/css": "11.11.2",
|
|
100
101
|
"@emotion/react": "11.11.1",
|
|
101
102
|
"@emotion/styled": "11.11.0",
|
|
102
103
|
"@eslint/js": "9.7.0",
|
|
104
|
+
"@mui/base": "5.0.0-beta.70",
|
|
103
105
|
"@mui/material": "5.13.6",
|
|
104
106
|
"@storybook/addon-docs": "10.3.5",
|
|
105
107
|
"@storybook/addon-links": "10.3.5",
|