@jc-times/business-ui 0.2.53 → 0.2.54

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/docs/release.md CHANGED
@@ -1,32 +1,32 @@
1
- # 内部发布流程
2
-
3
- ## 发布位置与权限
4
-
5
- - Git 仓库:`https://github.com/jc-times/business-ui`
6
- - npm registry:GitHub Packages,`https://npm.pkg.github.com`
7
- - npm 包:`@jc-times/business-ui`
8
- - Release workflow 仅授予 `contents: read` 和 `packages: write`。
9
- - 发布使用 GitHub Actions 自动提供的仓库级 `GITHUB_TOKEN`,无需创建或保存长期 `NPM_TOKEN`。
10
-
11
- 仓库不会保存令牌或带令牌的 `.npmrc`。发布脚本只在执行期间创建临时配置,并在成功或失败后删除。消费私有包所需的 `read:packages` 凭据由各消费仓库或开发者环境分别管理。
12
-
13
- ## 发布规则
14
-
15
- 1. 更新 `package.json` 版本和 `CHANGELOG.md`。
16
- 2. 合并到 `main`,等待 CI 的类型检查、测试、构建和打包全部通过。
17
- 3. 在已验证的提交上创建并推送注释标签 `v<package.version>`。
18
- 4. Release workflow 再次执行完整验证,校验标签与包版本完全一致后发布。
19
- 5. 消费项目以精确版本安装,并在各自仓库提交 lockfile;不使用 `latest`、范围版本或源码路径。
20
-
21
- `workflow_dispatch` 只用于重试同一标签的失败任务;普通分支或无匹配标签的提交会被发布脚本拒绝。
22
-
23
- ## 本地安全演练
24
-
25
- 不设置真实令牌时,可验证拒绝路径:
26
-
27
- ```powershell
28
- $env:NPM_REGISTRY_URL = "https://npm.pkg.github.com"
29
- pnpm publish:release
30
- ```
31
-
32
- 脚本应在发布前因缺少 `NPM_TOKEN` 或标签不匹配而退出。不要把真实令牌写入命令历史、仓库文件或文档。
1
+ # 内部发布流程
2
+
3
+ ## 发布位置与权限
4
+
5
+ - Git 仓库:`https://github.com/jc-times/business-ui`
6
+ - npm registry:GitHub Packages,`https://npm.pkg.github.com`
7
+ - npm 包:`@jc-times/business-ui`
8
+ - Release workflow 仅授予 `contents: read` 和 `packages: write`。
9
+ - 发布使用 GitHub Actions 自动提供的仓库级 `GITHUB_TOKEN`,无需创建或保存长期 `NPM_TOKEN`。
10
+
11
+ 仓库不会保存令牌或带令牌的 `.npmrc`。发布脚本只在执行期间创建临时配置,并在成功或失败后删除。消费私有包所需的 `read:packages` 凭据由各消费仓库或开发者环境分别管理。
12
+
13
+ ## 发布规则
14
+
15
+ 1. 更新 `package.json` 版本和 `CHANGELOG.md`。
16
+ 2. 合并到 `main`,等待 CI 的类型检查、测试、构建和打包全部通过。
17
+ 3. 在已验证的提交上创建并推送注释标签 `v<package.version>`。
18
+ 4. Release workflow 再次执行完整验证,校验标签与包版本完全一致后发布。
19
+ 5. 消费项目以精确版本安装,并在各自仓库提交 lockfile;不使用 `latest`、范围版本或源码路径。
20
+
21
+ `workflow_dispatch` 只用于重试同一标签的失败任务;普通分支或无匹配标签的提交会被发布脚本拒绝。
22
+
23
+ ## 本地安全演练
24
+
25
+ 不设置真实令牌时,可验证拒绝路径:
26
+
27
+ ```powershell
28
+ $env:NPM_REGISTRY_URL = "https://npm.pkg.github.com"
29
+ pnpm publish:release
30
+ ```
31
+
32
+ 脚本应在发布前因缺少 `NPM_TOKEN` 或标签不匹配而退出。不要把真实令牌写入命令历史、仓库文件或文档。
@@ -0,0 +1,43 @@
1
+ # 拖动排序与跨区块移动
2
+
3
+ 本页新增接口为本地未发布能力;消费方先核对安装版本的类型声明。
4
+
5
+ ## 场景与接口
6
+
7
+ - 同列表排序沿用 `onReorder(items)`。
8
+ - 同一编辑范围共享 `useSortableTransferScope<T>(ownerKey)`;不同范围不接收彼此的拖动。ownerKey 使用稳定的业务身份。
9
+ - 各列表可传稳定的 `listId: string | number`。它用于回调上下文,不代替 scope 隔离;省略时对应上下文字段为 undefined。
10
+ - `onDropOnItem(moving, target, context)`:放到目标项上。
11
+ - `onDropBetweenItems(moving, target, position, context)`:跨列表插入,position 为 before/after。
12
+ - `onDropOnList(moving, context)`:放到集合本身,包括空列表;配合 `canDropOnList(moving)` 限制接收。
13
+ - `context: SortableMoveContext` 包含 `sourceListId`、`targetListId`。原有少参数回调无需修改。
14
+ - `renderEmptyState()` 自定义空状态;默认根据是否可接收显示提示。插入位置、来源占位和目标高亮沿用公共主题。
15
+
16
+ 根区域落点不承诺插入位置,由消费方选择追加或其他规则。需要精确位置时用 before/after。未配置回调的落点不接收拖动。
17
+
18
+ ```tsx
19
+ const scope = useSortableTransferScope<Row>(documentId);
20
+ // 来源列表也传同一 scope,以及自己的 listId。
21
+ <SortableList
22
+ aria-label="待办区" listId="todo" transferScope={scope}
23
+ items={rows} getKey={row => row.id} getTextValue={row => row.title}
24
+ renderItem={row => <Card row={row} />} onReorder={setRows}
25
+ onDropOnList={(moving, { sourceListId, targetListId }) => {
26
+ // 通过一次状态更新同时移除来源并添加到目标,持久化由应用处理。
27
+ moveRows(moving, sourceListId, targetListId);
28
+ }}
29
+ />
30
+ ```
31
+
32
+ ## 状态与约束
33
+
34
+ - `disabled` 仅禁用拖放,不卸载列表和卡片,也不禁用卡片中的业务表单。手柄隐藏,但保持拖放 hooks 结构稳定,避免 hook 数量变化和草稿丢失。
35
+ - 同一 scope 内 key 必须唯一,items 更新必须提供新数组;移动项沿来源顺序返回。
36
+ - 拖动过程中保留来源数据;来源删除、禁用、卸载或 ownerKey 改变后不提交旧拖动。目标卸载、目标禁用、键歧义和取消均不提交;一次跨列表拖动只消费一次。
37
+ - 卡片在跨列表移动时的局部状态保留不在本组件承诺内;需跨容器保留的草稿由消费方受控保存。
38
+ - 建立每列表 key 索引供拖动判定使用,避免每次 hover 遍历全部行;scope 歧义检查仍随列表数量增长,不等于已支持虚拟化。
39
+
40
+ ## 验证
41
+
42
+ `src/SortableList.transfer.test.tsx` 覆盖失效来源/目标、重复键、scope 更换、取消、上下文与 2000 行/500 次 hover 的 key 访问计数。
43
+ `e2e/sortable-drop.spec.ts` 覆盖真实浏览器键盘/鼠标投放、空列表、禁用切换时输入节点/草稿/焦点保留及五档视口;手机项目为模拟视口,不替代实机触屏。
@@ -1,21 +1,21 @@
1
- MIT License
2
-
3
- Copyright (c) 2025 CloudPDF
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
1
+ MIT License
2
+
3
+ Copyright (c) 2025 CloudPDF
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/package.json CHANGED
@@ -1,166 +1,168 @@
1
- {
2
- "name": "@jc-times/business-ui",
3
- "version": "0.2.53",
4
- "packageManager": "pnpm@11.19.0",
5
- "description": "Shared accessible business UI components for JC Times applications",
6
- "repository": {
7
- "type": "git",
8
- "url": "git+https://github.com/jc-times/business-ui.git"
9
- },
10
- "homepage": "https://github.com/jc-times/business-ui#readme",
11
- "type": "module",
12
- "sideEffects": [
13
- "**/*.css"
14
- ],
15
- "files": [
16
- "dist",
17
- "bin/business-ui-gate.mjs",
18
- "AGENTS.md",
19
- "docs/agent-guide.md",
20
- "docs/api.md",
21
- "docs/user-profile.md",
22
- "docs/mrt-poc.md",
23
- "docs/cascader.md",
24
- "licenses/rc-cascader-MIT.txt",
25
- "docs/component-strategy.md",
26
- "docs/release.md",
27
- "docs/viewport-qa.md",
28
- "docs/modal-shell-migration.md",
29
- "docs/maturity-migration.md",
30
- "README.md",
31
- "CHANGELOG.md",
32
- "THIRD_PARTY_NOTICES.md",
33
- "docs/document-viewer.md",
34
- "docs/document-viewer-v2.md",
35
- "docs/file-preparation.md",
36
- "docs/data-table.md",
37
- "docs/dependencies.md",
38
- "patches",
39
- "licenses/embedpdf-MIT.txt"
40
- ],
41
- "main": "./dist/business-ui.js",
42
- "module": "./dist/business-ui.js",
43
- "types": "./dist/types/index.d.ts",
44
- "exports": {
45
- "./amount-format": {
46
- "types": "./dist/types/AmountFormat.d.ts",
47
- "import": "./dist/amount-format.js"
48
- },
49
- ".": {
50
- "types": "./dist/types/index.d.ts",
51
- "import": "./dist/business-ui.js"
52
- },
53
- "./chinese-address-regions": {
54
- "types": "./dist/types/ChineseAddressRegions.d.ts",
55
- "import": "./dist/chinese-address-regions.js"
56
- },
57
- "./styles.css": "./dist/styles.css",
58
- "./document-viewer": {
59
- "types": "./dist/types/DocumentViewer.d.ts",
60
- "import": "./dist/document-viewer.js"
61
- },
62
- "./document-viewer-v2": {
63
- "types": "./dist/types/DocumentViewerV2.d.ts",
64
- "import": "./dist/document-viewer-v2.js"
65
- },
66
- "./document-render-budget": {
67
- "types": "./dist/types/DocumentRenderBudget.d.ts",
68
- "import": "./dist/document-render-budget.js"
69
- },
70
- "./data-table": {
71
- "import": "./dist/data-table.js",
72
- "types": "./dist/types/DataTable.d.ts"
73
- },
74
- "./pdfium-viewer": {
75
- "types": "./dist/types/PdfiumViewer.d.ts",
76
- "import": "./dist/pdfium-viewer.js"
77
- }
78
- },
79
- "bin": {
80
- "business-ui-gate": "./bin/business-ui-gate.mjs"
81
- },
82
- "scripts": {
83
- "dev:cascader": "vite --host 127.0.0.1 --port 4187 --strictPort",
84
- "dev:mrt": "vite --config examples/mrt-poc/vite.config.ts",
85
- "build:mrt": "vite build --config examples/mrt-poc/vite.config.ts",
86
- "test:mrt": "playwright test --config examples/mrt-poc/playwright.config.ts",
87
- "build": "vite build && tsc -p tsconfig.build.json --emitDeclarationOnly",
88
- "build:matrix": "vite build --config examples/visual-matrix/vite.config.ts",
89
- "dev:matrix": "vite examples/visual-matrix",
90
- "test": "vitest run",
91
- "test:browser": "playwright test",
92
- "typecheck": "tsc --noEmit",
93
- "verify": "pnpm typecheck && pnpm test && pnpm build && pnpm test:tree-shaking && pnpm build:matrix",
94
- "pack:release": "pnpm verify && pnpm pack",
95
- "publish:release": "node scripts/publish-release.mjs",
96
- "test:tree-shaking": "node scripts/check-tree-shaking.mjs"
97
- },
98
- "peerDependencies": {
99
- "@embedpdf/react-pdf-viewer": "2.15.0",
100
- "lucide-react": ">=0.468.0 <2",
101
- "pdfjs-dist": "6.3.289",
102
- "react": ">=18 <20",
103
- "react-dom": ">=18 <20"
104
- },
105
- "dependencies": {
106
- "@embedpdf/core": "2.15.0",
107
- "@embedpdf/engines": "2.15.0",
108
- "@embedpdf/plugin-document-manager": "2.15.0",
109
- "@embedpdf/plugin-interaction-manager": "2.15.0",
110
- "@embedpdf/plugin-render": "2.15.0",
111
- "@embedpdf/plugin-rotate": "2.15.0",
112
- "@embedpdf/plugin-scroll": "2.15.0",
113
- "@embedpdf/plugin-search": "2.15.0",
114
- "@embedpdf/plugin-selection": "2.15.0",
115
- "@embedpdf/plugin-thumbnail": "2.15.0",
116
- "@embedpdf/plugin-viewport": "2.15.0",
117
- "@embedpdf/plugin-zoom": "2.15.0",
118
- "@emotion/react": "11.14.0",
119
- "@emotion/styled": "11.14.1",
120
- "@internationalized/date": "3.12.4",
121
- "@mui/icons-material": "7.3.11",
122
- "@mui/material": "7.3.11",
123
- "@mui/x-date-pickers": "9.13.0",
124
- "@radix-ui/react-dialog": "1.1.23",
125
- "@radix-ui/react-popover": "1.1.23",
126
- "@radix-ui/react-select": "2.3.7",
127
- "@radix-ui/react-toast": "1.2.23",
128
- "@radix-ui/react-tooltip": "1.2.16",
129
- "@rc-component/cascader": "1.25.0",
130
- "cn-division": "2026.0.1",
131
- "material-react-table": "3.2.1",
132
- "react-aria-components": "1.21.1"
133
- },
134
- "devDependencies": {
135
- "@embedpdf/react-pdf-viewer": "2.15.0",
136
- "@playwright/test": "1.63.0",
137
- "@testing-library/jest-dom": "7.0.1",
138
- "@testing-library/react": "16.3.3",
139
- "@types/react": "19.3.0",
140
- "@types/react-dom": "19.3.0",
141
- "dayjs": "1.11.23",
142
- "jsdom": "30.0.1",
143
- "lucide-react": "1.45.0",
144
- "pdfjs-dist": "6.3.289",
145
- "react": "19.3.0",
146
- "react-dom": "19.3.0",
147
- "typescript": "6.0.3",
148
- "vite": "8.3.0",
149
- "vitest": "5.0.0"
150
- },
151
- "engines": {
152
- "node": ">=24.15.0"
153
- },
154
- "publishConfig": {
155
- "access": "public",
156
- "registry": "https://registry.npmjs.org/"
157
- },
158
- "peerDependenciesMeta": {
159
- "@embedpdf/react-pdf-viewer": {
160
- "optional": true
161
- },
162
- "pdfjs-dist": {
163
- "optional": true
164
- }
165
- }
166
- }
1
+ {
2
+ "name": "@jc-times/business-ui",
3
+ "version": "0.2.54",
4
+ "packageManager": "pnpm@11.19.0",
5
+ "description": "Shared accessible business UI components for JC Times applications",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "git+https://github.com/jc-times/business-ui.git"
9
+ },
10
+ "homepage": "https://github.com/jc-times/business-ui#readme",
11
+ "type": "module",
12
+ "sideEffects": [
13
+ "**/*.css"
14
+ ],
15
+ "files": [
16
+ "dist",
17
+ "bin/business-ui-gate.mjs",
18
+ "AGENTS.md",
19
+ "docs/agent-guide.md",
20
+ "docs/api.md",
21
+ "docs/user-profile.md",
22
+ "docs/mrt-poc.md",
23
+ "docs/cascader.md",
24
+ "licenses/rc-cascader-MIT.txt",
25
+ "docs/component-strategy.md",
26
+ "docs/release.md",
27
+ "docs/viewport-qa.md",
28
+ "docs/modal-shell-migration.md",
29
+ "docs/maturity-migration.md",
30
+ "README.md",
31
+ "CHANGELOG.md",
32
+ "THIRD_PARTY_NOTICES.md",
33
+ "docs/document-viewer.md",
34
+ "docs/document-viewer-v2.md",
35
+ "docs/file-preparation.md",
36
+ "docs/data-table.md",
37
+ "docs/dependencies.md",
38
+ "patches",
39
+ "licenses/embedpdf-MIT.txt",
40
+ "docs/sortable-list.md"
41
+ ],
42
+ "main": "./dist/business-ui.js",
43
+ "module": "./dist/business-ui.js",
44
+ "types": "./dist/types/index.d.ts",
45
+ "exports": {
46
+ "./amount-format": {
47
+ "types": "./dist/types/AmountFormat.d.ts",
48
+ "import": "./dist/amount-format.js"
49
+ },
50
+ ".": {
51
+ "types": "./dist/types/index.d.ts",
52
+ "import": "./dist/business-ui.js"
53
+ },
54
+ "./chinese-address-regions": {
55
+ "types": "./dist/types/ChineseAddressRegions.d.ts",
56
+ "import": "./dist/chinese-address-regions.js"
57
+ },
58
+ "./styles.css": "./dist/styles.css",
59
+ "./document-viewer": {
60
+ "types": "./dist/types/DocumentViewer.d.ts",
61
+ "import": "./dist/document-viewer.js"
62
+ },
63
+ "./document-viewer-v2": {
64
+ "types": "./dist/types/DocumentViewerV2.d.ts",
65
+ "import": "./dist/document-viewer-v2.js"
66
+ },
67
+ "./document-render-budget": {
68
+ "types": "./dist/types/DocumentRenderBudget.d.ts",
69
+ "import": "./dist/document-render-budget.js"
70
+ },
71
+ "./data-table": {
72
+ "import": "./dist/data-table.js",
73
+ "types": "./dist/types/DataTable.d.ts"
74
+ },
75
+ "./pdfium-viewer": {
76
+ "types": "./dist/types/PdfiumViewer.d.ts",
77
+ "import": "./dist/pdfium-viewer.js"
78
+ }
79
+ },
80
+ "bin": {
81
+ "business-ui-gate": "./bin/business-ui-gate.mjs"
82
+ },
83
+ "scripts": {
84
+ "dev:cascader": "vite --host 127.0.0.1 --port 4187 --strictPort",
85
+ "dev:mrt": "vite --config examples/mrt-poc/vite.config.ts",
86
+ "build:mrt": "vite build --config examples/mrt-poc/vite.config.ts",
87
+ "test:mrt": "playwright test --config examples/mrt-poc/playwright.config.ts",
88
+ "build": "vite build && tsc -p tsconfig.build.json --emitDeclarationOnly",
89
+ "build:matrix": "vite build --config examples/visual-matrix/vite.config.ts",
90
+ "dev:matrix": "vite examples/visual-matrix",
91
+ "test": "vitest run",
92
+ "test:browser": "playwright test",
93
+ "typecheck": "tsc --noEmit",
94
+ "verify": "pnpm typecheck && pnpm test && pnpm build && pnpm test:tree-shaking && pnpm build:matrix",
95
+ "pack:release": "pnpm verify && pnpm pack",
96
+ "publish:release": "node scripts/publish-release.mjs",
97
+ "test:tree-shaking": "node scripts/check-tree-shaking.mjs"
98
+ },
99
+ "peerDependencies": {
100
+ "@embedpdf/react-pdf-viewer": "2.15.0",
101
+ "lucide-react": ">=0.468.0 <2",
102
+ "pdfjs-dist": "6.3.289",
103
+ "react": ">=18 <20",
104
+ "react-dom": ">=18 <20"
105
+ },
106
+ "dependencies": {
107
+ "@embedpdf/core": "2.15.0",
108
+ "@embedpdf/engines": "2.15.0",
109
+ "@embedpdf/plugin-document-manager": "2.15.0",
110
+ "@embedpdf/plugin-interaction-manager": "2.15.0",
111
+ "@embedpdf/plugin-render": "2.15.0",
112
+ "@embedpdf/plugin-rotate": "2.15.0",
113
+ "@embedpdf/plugin-scroll": "2.15.0",
114
+ "@embedpdf/plugin-search": "2.15.0",
115
+ "@embedpdf/plugin-selection": "2.15.0",
116
+ "@embedpdf/plugin-thumbnail": "2.15.0",
117
+ "@embedpdf/plugin-viewport": "2.15.0",
118
+ "@embedpdf/plugin-zoom": "2.15.0",
119
+ "@emotion/react": "11.14.0",
120
+ "@emotion/styled": "11.14.1",
121
+ "@internationalized/date": "3.12.4",
122
+ "@mui/icons-material": "7.3.11",
123
+ "@mui/material": "7.3.11",
124
+ "@mui/x-date-pickers": "9.13.0",
125
+ "@radix-ui/react-dialog": "1.1.23",
126
+ "@radix-ui/react-popover": "1.1.23",
127
+ "@radix-ui/react-select": "2.3.7",
128
+ "@radix-ui/react-toast": "1.2.23",
129
+ "@radix-ui/react-tooltip": "1.2.16",
130
+ "@rc-component/cascader": "1.25.0",
131
+ "cn-division": "2026.0.1",
132
+ "material-react-table": "3.2.1",
133
+ "react-aria-components": "1.21.1"
134
+ },
135
+ "devDependencies": {
136
+ "@embedpdf/pdfium": "2.15.0",
137
+ "@embedpdf/react-pdf-viewer": "2.15.0",
138
+ "@playwright/test": "1.63.0",
139
+ "@testing-library/jest-dom": "7.0.1",
140
+ "@testing-library/react": "16.3.3",
141
+ "@types/react": "19.3.0",
142
+ "@types/react-dom": "19.3.0",
143
+ "dayjs": "1.11.23",
144
+ "jsdom": "30.0.1",
145
+ "lucide-react": "1.45.0",
146
+ "pdfjs-dist": "6.3.289",
147
+ "react": "19.3.0",
148
+ "react-dom": "19.3.0",
149
+ "typescript": "6.0.3",
150
+ "vite": "8.3.0",
151
+ "vitest": "5.0.0"
152
+ },
153
+ "engines": {
154
+ "node": ">=24.15.0"
155
+ },
156
+ "publishConfig": {
157
+ "access": "public",
158
+ "registry": "https://registry.npmjs.org/"
159
+ },
160
+ "peerDependenciesMeta": {
161
+ "@embedpdf/react-pdf-viewer": {
162
+ "optional": true
163
+ },
164
+ "pdfjs-dist": {
165
+ "optional": true
166
+ }
167
+ }
168
+ }