@jc-times/business-ui 0.3.1 → 0.4.0
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/AGENTS.md +15 -0
- package/CHANGELOG.md +23 -0
- package/README.md +2 -0
- package/THIRD_PARTY_NOTICES.md +8 -0
- package/assets/pdf-fonts/NotoSans-Bold.ttf +0 -0
- package/assets/pdf-fonts/NotoSans-BoldItalic.ttf +0 -0
- package/assets/pdf-fonts/NotoSans-Italic.ttf +0 -0
- package/assets/pdf-fonts/NotoSans-Regular.ttf +0 -0
- package/assets/pdf-fonts/NotoSansHans-Regular.otf +0 -0
- package/assets/pdf-fonts/OFL-CJK.txt +92 -0
- package/assets/pdf-fonts/OFL-Latin.txt +94 -0
- package/assets/pdf-fonts/README.md +11 -0
- package/bin/business-ui-gate.mjs +2 -2
- package/dist/AntDateWheelView.js +131 -0
- package/dist/AntOptionWheelView.js +76 -0
- package/dist/Cascader.js +56 -51
- package/dist/DateInput.js +84 -66
- package/dist/DateWheelPicker.js +58 -0
- package/dist/ModalShell.js +84 -72
- package/dist/MultiSelect.js +5 -1
- package/dist/OptionWheelDialog.js +99 -0
- package/dist/Select.js +116 -61
- package/dist/StructuredAddressInput.js +72 -70
- package/dist/TreeSelect.js +4 -1
- package/dist/WheelCascader.js +123 -0
- package/dist/WheelDateInput.js +97 -0
- package/dist/business-ui.js +42 -39
- package/dist/date-wheel-model.js +27 -0
- package/dist/document-viewer-v2/DocumentViewerV2.js +49 -48
- package/dist/document-viewer-v2/HeadlessPdfViewer.js +128 -124
- package/dist/document-viewer-v2/pdf-font-fallback.js +35 -0
- package/dist/option-wheel-model.js +49 -0
- package/dist/styles.css +1 -1
- package/dist/types/AntDateWheelView.d.ts +9 -0
- package/dist/types/AntOptionWheelView.d.ts +8 -0
- package/dist/types/Cascader.d.ts +2 -0
- package/dist/types/DateInput.d.ts +4 -0
- package/dist/types/DateWheelPicker.d.ts +13 -0
- package/dist/types/ModalShell.d.ts +3 -1
- package/dist/types/OptionWheelDialog.d.ts +18 -0
- package/dist/types/Select.d.ts +4 -1
- package/dist/types/StructuredAddressInput.d.ts +3 -1
- package/dist/types/WheelCascader.d.ts +6 -0
- package/dist/types/WheelDateInput.d.ts +11 -0
- package/dist/types/date-wheel-model.d.ts +8 -0
- package/dist/types/document-viewer-v2/pdf-font-fallback.d.ts +2 -0
- package/dist/types/index.d.ts +3 -0
- package/dist/types/option-wheel-model.d.ts +19 -0
- package/dist/types/usePhoneWheel.d.ts +2 -0
- package/dist/types/useSheetViewport.d.ts +3 -0
- package/dist/usePhoneWheel.js +16 -0
- package/dist/useSheetViewport.js +26 -0
- package/docs/agent-guide.md +15 -5
- package/docs/api.md +14 -0
- package/docs/cascader.md +2 -0
- package/docs/component-strategy.md +3 -0
- package/docs/date-wheel.md +25 -0
- package/docs/dependencies.md +2 -0
- package/docs/document-viewer-v2.md +2 -2
- package/docs/mobile-controls.md +54 -0
- package/docs/modal-shell-migration.md +25 -0
- package/docs/release.md +7 -0
- package/docs/viewport-qa.md +38 -0
- package/licenses/antd-mobile-MIT.txt +22 -0
- package/package.json +17 -4
|
@@ -1,20 +1,21 @@
|
|
|
1
1
|
import { DocumentViewer as e } from "../document-viewer/DocumentViewer.js";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { pdfFontFallback as t } from "./pdf-font-fallback.js";
|
|
3
|
+
import { Suspense as n, lazy as r, useCallback as i, useMemo as a } from "react";
|
|
4
|
+
import { jsx as o, jsxs as s } from "react/jsx-runtime";
|
|
4
5
|
//#region src/document-viewer-v2/DocumentViewerV2.tsx
|
|
5
|
-
var
|
|
6
|
+
var c = r(() => import("@embedpdf/react-pdf-viewer").then((e) => ({ default: e.PDFViewer }))), l = r(() => import("./HeadlessPdfViewer.js")), u = [
|
|
6
7
|
"annotation",
|
|
7
8
|
"redaction",
|
|
8
9
|
"insert",
|
|
9
10
|
"form"
|
|
10
|
-
],
|
|
11
|
-
function
|
|
11
|
+
], d = "data-business-ui-document-viewer-v2-toolbar", f = "\n[data-epdf-i=\"main-toolbar\"] {\n min-height: 52px;\n gap: 8px;\n padding: 7px 12px;\n border-bottom-color: var(--ui-border, #dde0eb);\n background: var(--ui-surface, #fff);\n box-shadow: 0 1px 0 color-mix(in srgb, var(--ui-text, #242837) 3%, transparent);\n}\n\n[data-epdf-i=\"main-toolbar\"] [data-epdf-i$=\"-group\"] {\n gap: 4px;\n}\n\n[data-epdf-i=\"main-toolbar\"] button:not([role=\"tab\"]) {\n width: 36px;\n min-width: 36px;\n height: 36px;\n padding: 7px;\n border: 1px solid transparent;\n border-radius: var(--ui-radius, 8px);\n color: var(--ui-muted, #70778b);\n background: transparent;\n box-shadow: none;\n transition:\n color var(--ui-motion-fast, 120ms) var(--ui-ease-standard, ease),\n background-color var(--ui-motion-fast, 120ms) var(--ui-ease-standard, ease),\n border-color var(--ui-motion-fast, 120ms) var(--ui-ease-standard, ease),\n box-shadow var(--ui-motion-fast, 120ms) var(--ui-ease-standard, ease);\n}\n\n[data-epdf-i=\"main-toolbar\"] button:not([role=\"tab\"]):hover:not(:disabled) {\n border-color: color-mix(in srgb, var(--ui-primary, #5965a8) 22%, var(--ui-border, #dde0eb));\n color: var(--ui-primary-hover, #414a78);\n background: var(--ui-primary-soft, #eef0fb);\n box-shadow: none;\n}\n\n[data-epdf-i=\"main-toolbar\"] button:not([role=\"tab\"]):focus-visible {\n border-color: var(--ui-primary, #5965a8);\n outline: 3px solid var(--ui-focus, rgb(89 101 168 / 28%));\n outline-offset: 1px;\n}\n\n[data-epdf-i=\"main-toolbar\"] button.bg-interactive-selected {\n border-color: color-mix(in srgb, var(--ui-primary, #5965a8) 42%, var(--ui-border, #dde0eb));\n color: var(--ui-primary-hover, #414a78);\n background: var(--ui-primary-soft, #eef0fb);\n box-shadow: 0 1px 3px color-mix(in srgb, var(--ui-primary, #5965a8) 16%, transparent);\n}\n\n[data-epdf-i=\"main-toolbar\"] button:disabled {\n opacity: .48;\n}\n\n[data-epdf-i=\"main-toolbar\"] button:not([role=\"tab\"]) > svg {\n width: 20px;\n height: 20px;\n}\n\n[data-epdf-i=\"zoom-toolbar\"] > .relative > .flex {\n height: 36px;\n padding-left: 8px;\n overflow: hidden;\n border: 1px solid var(--ui-border, #dde0eb);\n border-radius: var(--ui-radius, 8px);\n color: var(--ui-text, #242837);\n background: var(--ui-surface, #fff);\n}\n\n[data-epdf-i=\"zoom-toolbar\"] input[name=\"zoom\"] {\n width: 36px;\n color: var(--ui-text, #242837);\n font-weight: 700;\n}\n\n[data-epdf-i=\"zoom-toolbar\"] > .relative > .flex > button {\n width: 34px;\n min-width: 34px;\n height: 34px;\n padding: 7px;\n border: 0;\n border-radius: 6px;\n}\n\n[data-epdf-i=\"main-toolbar\"] [aria-hidden=\"true\"] > div {\n background: var(--ui-border, #dde0eb);\n}\n\n@container (max-width: 640px) {\n [data-epdf-i=\"main-toolbar\"] {\n min-height: 56px;\n padding: 7px 8px;\n }\n\n [data-epdf-i=\"main-toolbar\"] button:not([role=\"tab\"]) {\n width: 40px;\n min-width: 40px;\n height: 40px;\n }\n}\n";
|
|
12
|
+
function p(e) {
|
|
12
13
|
let { shadowRoot: t } = e;
|
|
13
14
|
if (!t || t.querySelector("[data-business-ui-document-viewer-v2-toolbar]")) return;
|
|
14
15
|
let n = t.ownerDocument.createElement("style");
|
|
15
|
-
n.setAttribute(
|
|
16
|
+
n.setAttribute(d, ""), n.textContent = f, t.append(n);
|
|
16
17
|
}
|
|
17
|
-
var
|
|
18
|
+
var m = {
|
|
18
19
|
preference: "system",
|
|
19
20
|
light: {
|
|
20
21
|
background: {
|
|
@@ -58,113 +59,113 @@ var p = {
|
|
|
58
59
|
}
|
|
59
60
|
}
|
|
60
61
|
};
|
|
61
|
-
function
|
|
62
|
+
function h(e) {
|
|
62
63
|
return {
|
|
63
|
-
...
|
|
64
|
+
...m,
|
|
64
65
|
...e,
|
|
65
66
|
light: {
|
|
66
|
-
...
|
|
67
|
+
...m.light,
|
|
67
68
|
...e?.light,
|
|
68
69
|
background: {
|
|
69
|
-
...
|
|
70
|
+
...m.light?.background,
|
|
70
71
|
...e?.light?.background
|
|
71
72
|
},
|
|
72
73
|
foreground: {
|
|
73
|
-
...
|
|
74
|
+
...m.light?.foreground,
|
|
74
75
|
...e?.light?.foreground
|
|
75
76
|
},
|
|
76
77
|
border: {
|
|
77
|
-
...
|
|
78
|
+
...m.light?.border,
|
|
78
79
|
...e?.light?.border
|
|
79
80
|
},
|
|
80
81
|
accent: {
|
|
81
|
-
...
|
|
82
|
+
...m.light?.accent,
|
|
82
83
|
...e?.light?.accent
|
|
83
84
|
},
|
|
84
85
|
interactive: {
|
|
85
|
-
...
|
|
86
|
+
...m.light?.interactive,
|
|
86
87
|
...e?.light?.interactive
|
|
87
88
|
}
|
|
88
89
|
}
|
|
89
90
|
};
|
|
90
91
|
}
|
|
91
|
-
function
|
|
92
|
-
let { documentManager:
|
|
92
|
+
function g(e, n = {}) {
|
|
93
|
+
let { documentManager: r, disabledCategories: i, fonts: a, i18n: o, theme: s, ...c } = n, { id: l, kind: d, ...f } = e;
|
|
93
94
|
return {
|
|
94
95
|
worker: !0,
|
|
95
96
|
tabBar: "never",
|
|
96
|
-
fontFallback:
|
|
97
|
-
...
|
|
98
|
-
disabledCategories:
|
|
97
|
+
fontFallback: t,
|
|
98
|
+
...c,
|
|
99
|
+
disabledCategories: i ?? [...u],
|
|
99
100
|
fonts: {
|
|
100
101
|
ui: null,
|
|
101
102
|
signature: null,
|
|
102
|
-
...
|
|
103
|
+
...a
|
|
103
104
|
},
|
|
104
105
|
i18n: {
|
|
105
106
|
defaultLocale: "zh-CN",
|
|
106
|
-
...
|
|
107
|
+
...o
|
|
107
108
|
},
|
|
108
|
-
theme:
|
|
109
|
+
theme: h(s),
|
|
109
110
|
documentManager: {
|
|
110
111
|
maxDocuments: 1,
|
|
111
|
-
...
|
|
112
|
+
...r,
|
|
112
113
|
initialDocuments: [{
|
|
113
|
-
...
|
|
114
|
-
documentId:
|
|
114
|
+
...f,
|
|
115
|
+
documentId: l,
|
|
115
116
|
autoActivate: !0
|
|
116
117
|
}]
|
|
117
118
|
}
|
|
118
119
|
};
|
|
119
120
|
}
|
|
120
|
-
function
|
|
121
|
-
return
|
|
122
|
-
fallback: /* @__PURE__ */
|
|
121
|
+
function _(t) {
|
|
122
|
+
return t.renderer === "headless" ? /* @__PURE__ */ o(n, {
|
|
123
|
+
fallback: /* @__PURE__ */ o("div", {
|
|
123
124
|
role: "status",
|
|
124
125
|
children: "正在加载 PDF 查看器…"
|
|
125
126
|
}),
|
|
126
|
-
children: /* @__PURE__ */
|
|
127
|
-
}) :
|
|
128
|
-
...
|
|
129
|
-
className: ["ui-document-viewer-v2-compat",
|
|
127
|
+
children: /* @__PURE__ */ o(l, { ...t }, `${t.source.kind}:${t.source.id}`)
|
|
128
|
+
}) : v(t) ? /* @__PURE__ */ o(y, { ...t }) : /* @__PURE__ */ o(e, {
|
|
129
|
+
...t,
|
|
130
|
+
className: ["ui-document-viewer-v2-compat", t.className].filter(Boolean).join(" ")
|
|
130
131
|
});
|
|
131
132
|
}
|
|
132
|
-
function
|
|
133
|
+
function v(e) {
|
|
133
134
|
return e.source.kind === "url" || e.source.kind === "buffer";
|
|
134
135
|
}
|
|
135
|
-
function
|
|
136
|
-
let y =
|
|
137
|
-
|
|
138
|
-
}, [
|
|
139
|
-
return /* @__PURE__ */
|
|
136
|
+
function y({ source: e, config: t, className: r, style: l, layoutMode: u = "standalone", ariaLabel: d = "PDF 文档查看器", onInit: f, onReady: m, title: h, toolbar: _, footer: v }) {
|
|
137
|
+
let y = a(() => g(e, t), [e, t]), b = i((e) => {
|
|
138
|
+
p(e), f?.(e);
|
|
139
|
+
}, [f]);
|
|
140
|
+
return /* @__PURE__ */ s("section", {
|
|
140
141
|
className: [
|
|
141
142
|
"ui-document-viewer-v2",
|
|
142
143
|
u === "fill" && "ui-viewer-fill",
|
|
143
|
-
|
|
144
|
+
r
|
|
144
145
|
].filter(Boolean).join(" "),
|
|
145
146
|
style: l,
|
|
146
147
|
"aria-label": d,
|
|
147
148
|
children: [
|
|
148
|
-
(
|
|
149
|
+
(h !== void 0 || _ !== void 0) && /* @__PURE__ */ s("div", {
|
|
149
150
|
className: "ui-viewer-toolbar",
|
|
150
|
-
children: [
|
|
151
|
+
children: [h !== void 0 && /* @__PURE__ */ o("div", {
|
|
151
152
|
className: "ui-viewer-title",
|
|
152
|
-
children:
|
|
153
|
+
children: h
|
|
153
154
|
}), _]
|
|
154
155
|
}),
|
|
155
|
-
/* @__PURE__ */
|
|
156
|
-
fallback: /* @__PURE__ */
|
|
156
|
+
/* @__PURE__ */ o(n, {
|
|
157
|
+
fallback: /* @__PURE__ */ o("div", {
|
|
157
158
|
role: "status",
|
|
158
159
|
children: "正在加载 PDF 查看器…"
|
|
159
160
|
}),
|
|
160
|
-
children: /* @__PURE__ */
|
|
161
|
+
children: /* @__PURE__ */ o(c, {
|
|
161
162
|
className: "ui-document-viewer-v2-engine",
|
|
162
163
|
config: y,
|
|
163
164
|
onInit: b,
|
|
164
165
|
onReady: m
|
|
165
166
|
}, e.id)
|
|
166
167
|
}),
|
|
167
|
-
v !== void 0 && /* @__PURE__ */
|
|
168
|
+
v !== void 0 && /* @__PURE__ */ o("div", {
|
|
168
169
|
className: "ui-viewer-footer",
|
|
169
170
|
children: v
|
|
170
171
|
})
|
|
@@ -172,4 +173,4 @@ function v({ source: e, config: n, className: c, style: l, layoutMode: u = "stan
|
|
|
172
173
|
});
|
|
173
174
|
}
|
|
174
175
|
//#endregion
|
|
175
|
-
export {
|
|
176
|
+
export { u as DOCUMENT_VIEWER_V2_DISABLED_CATEGORIES, d as DOCUMENT_VIEWER_V2_TOOLBAR_STYLE_ATTRIBUTE, _ as DocumentViewerV2, p as applyDocumentViewerV2ToolbarStyles, g as createDocumentViewerV2Config };
|