@pdfme/ui 4.2.2 → 4.2.3-dev.3
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 +27 -13
- package/dist/index.es.js +103 -92
- package/dist/index.umd.js +6 -6
- package/dist/types/class.d.ts +0 -3
- package/dist/types/components/Designer/RightSidebar/DetailView/index.d.ts +4 -3
- package/dist/types/helper.d.ts +0 -1
- package/package.json +1 -1
- package/src/components/Designer/LeftSidebar.tsx +6 -3
- package/src/components/Designer/RightSidebar/DetailView/index.tsx +61 -56
- package/src/helper.ts +6 -1
package/README.md
CHANGED
@@ -1,6 +1,16 @@
|
|
1
1
|
# PDFME
|
2
2
|
|
3
|
-
<p>
|
3
|
+
<p align="center">
|
4
|
+
<img src="https://raw.githubusercontent.com/pdfme/pdfme/main/website/static/img/logo.svg" width="300"/>
|
5
|
+
</p>
|
6
|
+
|
7
|
+
<h4 align="center">
|
8
|
+
<a href="https://pdfme.com/">Website</a> |
|
9
|
+
<a href="https://app.pdfme.com/">pdfme Cloud</a> |
|
10
|
+
<a href="https://discord.gg/xWPTJbmgNV">Discord</a>
|
11
|
+
</h4>
|
12
|
+
|
13
|
+
<p align="center">
|
4
14
|
<a href="https://github.com/pdfme/pdfme/blob/master/LICENSE.md">
|
5
15
|
<img src="https://img.shields.io/badge/license-MIT-blue.svg" alt="pdfme is released under the MIT license." />
|
6
16
|
</a>
|
@@ -13,20 +23,9 @@
|
|
13
23
|
<a href="https://npmcharts.com/compare/@pdfme/ui?minimal=true">
|
14
24
|
<img src="https://img.shields.io/npm/dm/@pdfme/ui.svg" alt="Downloads per month on npm." />
|
15
25
|
</a>
|
16
|
-
<a href="https://pdfme.com/docs/development-guide#contribution">
|
17
|
-
<img src="https://img.shields.io/badge/PRs-welcome-brightgreen.svg" alt="PRs welcome!" />
|
18
|
-
</a>
|
19
|
-
<a href="https://twitter.com/intent/tweet?text=Awesome+pdf+library%21&url=https://pdfme.com">
|
20
|
-
<img src="https://img.shields.io/twitter/url/http/shields.io.svg?style=social" alt="Tweet" />
|
21
|
-
</a>
|
22
26
|
</p>
|
23
27
|
|
24
|
-
TypeScript base PDF generator and React base UI.
|
25
|
-
Open source, developed by the community, and completely free to use under the MIT license!
|
26
|
-
|
27
|
-
<p align="center">
|
28
|
-
<img src="https://raw.githubusercontent.com/pdfme/pdfme/main/website/static/img/logo.svg" width="300"/>
|
29
|
-
</p>
|
28
|
+
<p align="center">TypeScript base PDF generator and React base UI. Open source, developed by the community, and completely free to use under the MIT license!</p>
|
30
29
|
|
31
30
|
## Features
|
32
31
|
|
@@ -302,3 +301,18 @@ const viewer = new Viewer({ domContainer, template, inputs });
|
|
302
301
|
|
303
302
|
If you want to contribute to pdfme, please check the [Development Guide](https://pdfme.com/docs/development-guide) page.
|
304
303
|
We look forward to your contribution!
|
304
|
+
|
305
|
+
## Cloud Service Option
|
306
|
+
|
307
|
+
While pdfme is a powerful open-source library, we understand that some users might prefer a managed solution. For those looking for a ready-to-use, scalable PDF generation service without the need for setup and maintenance, we offer pdfme Cloud.
|
308
|
+
|
309
|
+
**[Try pdfme Cloud - Hassle-free PDF Generation](https://app.pdfme.com/)**
|
310
|
+
|
311
|
+
pdfme Cloud provides all the features of the open-source library, plus:
|
312
|
+
|
313
|
+
- PDF generation at scale without infrastructure management
|
314
|
+
- Hosted WYSIWYG template designer
|
315
|
+
- Simple API integration
|
316
|
+
- Automatic updates and maintenance
|
317
|
+
|
318
|
+
\*pdfme is and will always remain open-source. The cloud service is an optional offering for those who prefer a managed solution.
|
package/dist/index.es.js
CHANGED
@@ -9307,7 +9307,6 @@ const ColorType = z.enum(["rgb", "cmyk"]).optional();
|
|
9307
9307
|
z.object({ height: z.number(), width: z.number() });
|
9308
9308
|
const Schema$1 = z.object({
|
9309
9309
|
type: z.string(),
|
9310
|
-
icon: z.string().optional(),
|
9311
9310
|
content: z.string().optional(),
|
9312
9311
|
position: z.object({ x: z.number(), y: z.number() }),
|
9313
9312
|
width: z.number(),
|
@@ -9355,7 +9354,8 @@ CommonProps.extend({
|
|
9355
9354
|
const UIOptions = CommonOptions.extend({
|
9356
9355
|
lang: Lang.optional(),
|
9357
9356
|
labels: z.record(z.string(), z.string()).optional(),
|
9358
|
-
theme: z.record(z.string(), z.unknown()).optional()
|
9357
|
+
theme: z.record(z.string(), z.unknown()).optional(),
|
9358
|
+
icons: z.record(z.string(), z.string()).optional()
|
9359
9359
|
}), HTMLElementSchema = z.any().refine((a) => a instanceof HTMLElement), UIProps = CommonProps.extend({
|
9360
9360
|
domContainer: HTMLElementSchema,
|
9361
9361
|
options: UIOptions.optional()
|
@@ -60275,7 +60275,9 @@ const uuid$6 = () => "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, (a)
|
|
60275
60275
|
const tt = (nt = Object.values(_).find(
|
60276
60276
|
(at) => (at == null ? void 0 : at.propPanel.defaultSchema.type) === $
|
60277
60277
|
)) == null ? void 0 : nt.propPanel;
|
60278
|
-
Object.
|
60278
|
+
Object.keys((tt == null ? void 0 : tt.defaultSchema) || {}).forEach((at) => {
|
60279
|
+
a.hasOwnProperty(at) || (a[at] = tt == null ? void 0 : tt.defaultSchema[at]);
|
60280
|
+
});
|
60279
60281
|
}, changeSchemas = (a) => {
|
60280
60282
|
const { objs: s, schemas: $, basePdf: _, pluginsRegistry: _e, pageSize: tt, commitSchemas: nt } = a, at = s.reduce((ot, { key: rt, value: st, schemaId: lt }) => {
|
60281
60283
|
const et = ot.find((it) => it.id === lt);
|
@@ -81843,7 +81845,6 @@ const UseDynamicFontSize = (a) => {
|
|
81843
81845
|
widgets: { UseDynamicFontSize },
|
81844
81846
|
defaultSchema: {
|
81845
81847
|
type: "text",
|
81846
|
-
icon: '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-text-cursor-input"><path d="M5 4h1a3 3 0 0 1 3 3 3 3 0 0 1 3-3h1"/><path d="M13 20h-1a3 3 0 0 1-3-3 3 3 0 0 1-3 3H5"/><path d="M5 16H4a2 2 0 0 1-2-2v-4a2 2 0 0 1 2-2h1"/><path d="M13 8h7a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-7"/><path d="M9 7v10"/></svg>',
|
81847
81848
|
content: "Type Something...",
|
81848
81849
|
position: { x: 0, y: 0 },
|
81849
81850
|
width: 45,
|
@@ -81968,14 +81969,19 @@ const UseDynamicFontSize = (a) => {
|
|
81968
81969
|
return "flex-end";
|
81969
81970
|
}
|
81970
81971
|
return "flex-start";
|
81971
|
-
}, getBackgroundColor = (a, s) => !a || !s.backgroundColor ? "transparent" : s.backgroundColor, textSchema = {
|
81972
|
+
}, getBackgroundColor = (a, s) => !a || !s.backgroundColor ? "transparent" : s.backgroundColor, textSchema = {
|
81973
|
+
pdf: pdfRender,
|
81974
|
+
ui: uiRender,
|
81975
|
+
propPanel,
|
81976
|
+
icon: '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-text-cursor-input"><path d="M5 4h1a3 3 0 0 1 3 3 3 3 0 0 1 3-3h1"/><path d="M13 20h-1a3 3 0 0 1-3-3 3 3 0 0 1-3 3H5"/><path d="M5 16H4a2 2 0 0 1-2-2v-4a2 2 0 0 1 2-2h1"/><path d="M13 8h7a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-7"/><path d="M9 7v10"/></svg>'
|
81977
|
+
}, text = textSchema;
|
81972
81978
|
textSchema.pdf, textSchema.ui, {
|
81973
81979
|
...textSchema.propPanel,
|
81974
81980
|
defaultSchema: {
|
81975
81981
|
...textSchema.propPanel.defaultSchema
|
81976
81982
|
}
|
81977
81983
|
};
|
81978
|
-
const getBody$1 = (a) => JSON.parse(a || "[]"), getBodyWithRange = (a, s) => {
|
81984
|
+
const getBody$1 = (a) => typeof a == "string" ? JSON.parse(a || "[]") : a || [], getBodyWithRange = (a, s) => {
|
81979
81985
|
const $ = getBody$1(a);
|
81980
81986
|
return s ? $.slice(s.start, s.end) : $;
|
81981
81987
|
};
|
@@ -82468,7 +82474,7 @@ const modifyTemplateForTable = async (a) => {
|
|
82468
82474
|
for (const [rt, st] of Object.entries(at))
|
82469
82475
|
if (st.type === "table") {
|
82470
82476
|
st.__bodyRange = void 0;
|
82471
|
-
const lt =
|
82477
|
+
const lt = getBody$1($ == null ? void 0 : $[rt]), et = await createMultiTables(lt, {
|
82472
82478
|
schema: st,
|
82473
82479
|
basePdf: tt.basePdf,
|
82474
82480
|
options: _,
|
@@ -82489,7 +82495,7 @@ const modifyTemplateForTable = async (a) => {
|
|
82489
82495
|
start: ut.slice(0, dt + 1).reduce((mt, ct) => mt + ct.length, 0),
|
82490
82496
|
end: ut.slice(0, dt + 2).reduce((mt, ct) => mt + ct.length, 0)
|
82491
82497
|
},
|
82492
|
-
content: $[rt]
|
82498
|
+
content: typeof $[rt] != "string" ? JSON.stringify($[rt] || "[]") : $[rt]
|
82493
82499
|
}
|
82494
82500
|
};
|
82495
82501
|
ot[gt] = pt;
|
@@ -151858,55 +151864,33 @@ const FormRender = withProvider(FormCore, defaultWidgets), svgBaseProp = {
|
|
151858
151864
|
);
|
151859
151865
|
}) }) });
|
151860
151866
|
}, ButtonGroupWidget$1 = ButtonGroupWidget, { Text: Text$2 } = Typography$1, DetailView = (a) => {
|
151861
|
-
const { token: s } = theme.useToken(), { size: $, changeSchemas: _, deselectSchema: _e, activeSchema: tt, activeElements: nt } = a, at = useForm(), ot = reactExports.useContext(I18nContext), rt = reactExports.useContext(PluginsRegistry), st = reactExports.useContext(OptionsContext)
|
151862
|
-
reactExports.
|
151863
|
-
|
151864
|
-
|
151865
|
-
|
151866
|
-
|
151867
|
-
|
151868
|
-
for (
|
151869
|
-
|
151870
|
-
|
151871
|
-
|
151872
|
-
|
151873
|
-
{
|
151874
|
-
...xt,
|
151875
|
-
...a,
|
151876
|
-
options: st,
|
151877
|
-
theme: s,
|
151878
|
-
i18n: ot,
|
151879
|
-
widget: At
|
151880
|
-
}
|
151881
|
-
);
|
151882
|
-
});
|
151867
|
+
const { token: s } = theme.useToken(), { size: $, changeSchemas: _, deselectSchema: _e, activeSchema: tt, activeElements: nt } = a, at = useForm(), ot = reactExports.useContext(I18nContext), rt = reactExports.useContext(PluginsRegistry), st = reactExports.useContext(OptionsContext);
|
151868
|
+
reactExports.useState({});
|
151869
|
+
const lt = { ...tt };
|
151870
|
+
lt.x = lt.position.x, lt.y = lt.position.y, delete lt.position, at.setValues(lt);
|
151871
|
+
const et = (pt) => {
|
151872
|
+
const mt = (vt, At) => typeof vt == "object" ? JSON.stringify(vt) !== JSON.stringify(At) : vt !== At;
|
151873
|
+
let ct = [];
|
151874
|
+
for (let vt in pt) {
|
151875
|
+
if (["id", "content"].includes(vt))
|
151876
|
+
continue;
|
151877
|
+
let At = pt[vt], xt = !1;
|
151878
|
+
["x", "y"].includes(vt) ? (xt = At !== tt.position[vt], vt = "position." + vt) : xt = mt(At, tt[vt]), xt && (At === null && ["rotate", "opacity"].includes(vt) && (At = void 0), ct.push({ key: vt, value: At, schemaId: tt.id }));
|
151883
151879
|
}
|
151884
|
-
|
151885
|
-
|
151886
|
-
|
151887
|
-
|
151888
|
-
}, [at, tt]);
|
151889
|
-
const it = (pt) => {
|
151890
|
-
let mt = [];
|
151891
|
-
for (let ct in pt)
|
151892
|
-
if (!["id", "content"].includes(ct) && (ct === "x" && (ct = "position.x"), ct === "y" && (ct = "position.y"), pt[ct] !== tt[ct])) {
|
151893
|
-
let vt = pt[ct];
|
151894
|
-
vt === null && ["rotate", "opacity"].includes(ct) && (vt = void 0), mt.push({ key: ct, value: vt, schemaId: tt.id });
|
151895
|
-
}
|
151896
|
-
mt.length && at.validateFields().then(() => _(mt)).catch((ct) => {
|
151897
|
-
ct.errorFields.length && (mt = mt.filter((vt) => !ct.errorFields.find(
|
151898
|
-
(At) => At.name.includes(vt.key)
|
151899
|
-
))), mt.length && _(mt);
|
151880
|
+
ct.length && at.validateFields().then(() => _(ct)).catch((vt) => {
|
151881
|
+
vt.errorFields.length && (ct = ct.filter((At) => !vt.errorFields.find(
|
151882
|
+
(xt) => xt.name.includes(At.key)
|
151883
|
+
))), ct.length && _(ct);
|
151900
151884
|
});
|
151901
|
-
},
|
151885
|
+
}, it = Object.values(rt).find(
|
151902
151886
|
(pt) => (pt == null ? void 0 : pt.propPanel.defaultSchema.type) === tt.type
|
151903
|
-
),
|
151904
|
-
|
151887
|
+
), ut = it == null ? void 0 : it.propPanel.schema;
|
151888
|
+
ut || console.error(`[@pdfme/ui] No propPanel.schema for ${tt.type}.
|
151905
151889
|
Check this document: https://pdfme.com/docs/custom-schemas`);
|
151906
|
-
const
|
151890
|
+
const ft = Object.entries(rt).map(([pt, mt]) => ({
|
151907
151891
|
label: pt,
|
151908
151892
|
value: mt == null ? void 0 : mt.propPanel.defaultSchema.type
|
151909
|
-
})),
|
151893
|
+
})), ht = it.propPanel.defaultSchema, dt = {
|
151910
151894
|
type: "object",
|
151911
151895
|
column: 2,
|
151912
151896
|
properties: {
|
@@ -151914,7 +151898,7 @@ Check this document: https://pdfme.com/docs/custom-schemas`);
|
|
151914
151898
|
title: ot("type"),
|
151915
151899
|
type: "string",
|
151916
151900
|
widget: "select",
|
151917
|
-
props: { options:
|
151901
|
+
props: { options: ft },
|
151918
151902
|
required: !0,
|
151919
151903
|
span: 12
|
151920
151904
|
},
|
@@ -151927,7 +151911,7 @@ Check this document: https://pdfme.com/docs/custom-schemas`);
|
|
151927
151911
|
title: ot("rotate"),
|
151928
151912
|
type: "number",
|
151929
151913
|
widget: "inputNumber",
|
151930
|
-
disabled: (
|
151914
|
+
disabled: (ht == null ? void 0 : ht.rotate) === void 0,
|
151931
151915
|
max: 360,
|
151932
151916
|
props: { min: 0 },
|
151933
151917
|
span: 8
|
@@ -151952,32 +151936,53 @@ Check this document: https://pdfme.com/docs/custom-schemas`);
|
|
151952
151936
|
title: ot("opacity"),
|
151953
151937
|
type: "number",
|
151954
151938
|
widget: "inputNumber",
|
151955
|
-
disabled: (
|
151939
|
+
disabled: (ht == null ? void 0 : ht.opacity) === void 0,
|
151956
151940
|
props: { step: 0.1, min: 0, max: 1 },
|
151957
151941
|
span: 8
|
151958
151942
|
}
|
151959
151943
|
}
|
151960
151944
|
};
|
151961
|
-
if (typeof
|
151962
|
-
const pt =
|
151945
|
+
if (typeof ut == "function") {
|
151946
|
+
const pt = ut({
|
151963
151947
|
...a,
|
151964
151948
|
options: st,
|
151965
151949
|
theme: s,
|
151966
151950
|
i18n: ot
|
151967
151951
|
}) || {};
|
151968
|
-
|
151969
|
-
...
|
151952
|
+
dt.properties = {
|
151953
|
+
...dt.properties,
|
151970
151954
|
...Object.keys(pt).length === 0 ? {} : { "--": { type: "void", widget: "Divider" } },
|
151971
151955
|
...pt
|
151972
151956
|
};
|
151973
151957
|
} else {
|
151974
|
-
const pt =
|
151975
|
-
|
151976
|
-
...
|
151958
|
+
const pt = ut || {};
|
151959
|
+
dt.properties = {
|
151960
|
+
...dt.properties,
|
151977
151961
|
...Object.keys(pt).length === 0 ? {} : { "--": { type: "void", widget: "Divider" } },
|
151978
151962
|
...pt
|
151979
151963
|
};
|
151980
151964
|
}
|
151965
|
+
const gt = {
|
151966
|
+
AlignWidget: (pt) => /* @__PURE__ */ jsxRuntimeExports.jsx(AlignWidget$1, { ...pt, ...a, options: st }),
|
151967
|
+
Divider: () => /* @__PURE__ */ jsxRuntimeExports.jsx(Divider$1, { style: { marginTop: s.marginXS, marginBottom: s.marginXS } }),
|
151968
|
+
ButtonGroup: (pt) => /* @__PURE__ */ jsxRuntimeExports.jsx(ButtonGroupWidget$1, { ...pt, ...a, options: st })
|
151969
|
+
};
|
151970
|
+
for (const pt of Object.values(rt)) {
|
151971
|
+
const mt = (pt == null ? void 0 : pt.propPanel.widgets) || {};
|
151972
|
+
Object.entries(mt).forEach(([ct, vt]) => {
|
151973
|
+
gt[ct] = (At) => /* @__PURE__ */ jsxRuntimeExports.jsx(
|
151974
|
+
WidgetRenderer$1,
|
151975
|
+
{
|
151976
|
+
...At,
|
151977
|
+
...a,
|
151978
|
+
options: st,
|
151979
|
+
theme: s,
|
151980
|
+
i18n: ot,
|
151981
|
+
widget: vt
|
151982
|
+
}
|
151983
|
+
);
|
151984
|
+
});
|
151985
|
+
}
|
151981
151986
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { children: [
|
151982
151987
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { style: { height: 40, display: "flex", alignItems: "center" }, children: [
|
151983
151988
|
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
@@ -152009,16 +152014,16 @@ Check this document: https://pdfme.com/docs/custom-schemas`);
|
|
152009
152014
|
FormRender,
|
152010
152015
|
{
|
152011
152016
|
form: at,
|
152012
|
-
schema:
|
152013
|
-
widgets:
|
152014
|
-
watch: { "#":
|
152017
|
+
schema: dt,
|
152018
|
+
widgets: gt,
|
152019
|
+
watch: { "#": et },
|
152015
152020
|
locale: "en-US"
|
152016
152021
|
}
|
152017
152022
|
)
|
152018
152023
|
}
|
152019
152024
|
)
|
152020
152025
|
] });
|
152021
|
-
}, DetailView$1 = DetailView, Sidebar = (a) => {
|
152026
|
+
}, propsAreUnchanged = (a, s) => JSON.stringify(a.activeSchema) == JSON.stringify(s.activeSchema), DetailView$1 = React$a.memo(DetailView, propsAreUnchanged), Sidebar = (a) => {
|
152022
152027
|
const { sidebarOpen: s, setSidebarOpen: $, activeElements: _, schemas: _e } = a, { token: tt } = theme.useToken(), nt = () => _e.filter((ot) => _.map((rt) => rt.id).includes(ot.id)), at = () => {
|
152023
152028
|
const ot = nt();
|
152024
152029
|
return ot[ot.length - 1];
|
@@ -152152,15 +152157,15 @@ Check this document: https://pdfme.com/docs/custom-schemas`), /* @__PURE__ */ js
|
|
152152
152157
|
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { style: { visibility: lt ? "hidden" : "visible" }, children: a.children })
|
152153
152158
|
] });
|
152154
152159
|
}, LeftSidebar = ({ height: a, scale: s, basePdf: $ }) => {
|
152155
|
-
const { token: _ } = theme.useToken(), _e = reactExports.useContext(PluginsRegistry),
|
152160
|
+
const { token: _ } = theme.useToken(), _e = reactExports.useContext(PluginsRegistry), tt = reactExports.useContext(OptionsContext), [nt, at] = reactExports.useState(!1);
|
152156
152161
|
return reactExports.useEffect(() => {
|
152157
|
-
const
|
152158
|
-
|
152162
|
+
const ot = () => {
|
152163
|
+
nt && at(!1);
|
152159
152164
|
};
|
152160
|
-
return document.addEventListener("mouseup",
|
152161
|
-
document.removeEventListener("mouseup",
|
152165
|
+
return document.addEventListener("mouseup", ot), () => {
|
152166
|
+
document.removeEventListener("mouseup", ot);
|
152162
152167
|
};
|
152163
|
-
}, [
|
152168
|
+
}, [nt]), /* @__PURE__ */ jsxRuntimeExports.jsx(
|
152164
152169
|
"div",
|
152165
152170
|
{
|
152166
152171
|
style: {
|
@@ -152172,28 +152177,34 @@ Check this document: https://pdfme.com/docs/custom-schemas`), /* @__PURE__ */ js
|
|
152172
152177
|
width: 45,
|
152173
152178
|
background: _.colorBgLayout,
|
152174
152179
|
textAlign: "center",
|
152175
|
-
overflow:
|
152180
|
+
overflow: nt ? "visible" : "auto"
|
152176
152181
|
},
|
152177
|
-
children: Object.entries(_e).map(([
|
152178
|
-
|
152179
|
-
|
152180
|
-
|
152181
|
-
|
152182
|
-
|
152183
|
-
|
152184
|
-
|
152185
|
-
|
152186
|
-
|
152187
|
-
|
152188
|
-
|
152189
|
-
|
152190
|
-
|
152191
|
-
|
152192
|
-
|
152193
|
-
|
152194
|
-
|
152195
|
-
|
152196
|
-
|
152182
|
+
children: Object.entries(_e).map(([ot, rt]) => {
|
152183
|
+
var lt;
|
152184
|
+
if (!(rt != null && rt.propPanel.defaultSchema))
|
152185
|
+
return null;
|
152186
|
+
const st = ((lt = tt.icons) == null ? void 0 : lt[rt.propPanel.defaultSchema.type]) ?? rt.icon;
|
152187
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(
|
152188
|
+
Draggable$1,
|
152189
|
+
{
|
152190
|
+
scale: s,
|
152191
|
+
basePdf: $,
|
152192
|
+
plugin: rt,
|
152193
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
152194
|
+
Button$2,
|
152195
|
+
{
|
152196
|
+
title: ot,
|
152197
|
+
onMouseDown: () => {
|
152198
|
+
at(!0);
|
152199
|
+
},
|
152200
|
+
style: { width: 35, height: 35, marginTop: "0.25rem", padding: "0.25rem" },
|
152201
|
+
children: st ? /* @__PURE__ */ jsxRuntimeExports.jsx("div", { dangerouslySetInnerHTML: { __html: st } }) : /* @__PURE__ */ jsxRuntimeExports.jsx("div", { style: { overflow: "hidden", textOverflow: "ellipsis" }, children: ot })
|
152202
|
+
}
|
152203
|
+
)
|
152204
|
+
},
|
152205
|
+
ot
|
152206
|
+
);
|
152207
|
+
})
|
152197
152208
|
}
|
152198
152209
|
);
|
152199
152210
|
}, LeftSidebar$1 = LeftSidebar, Paper = (a) => {
|