@qin-ui/antd-vue-pro 2.2.3 → 2.3.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/AI-CONTEXT.md +89 -251
- package/README.md +27 -26
- package/api.json +7 -1
- package/bin/init-ai.mjs +133 -41
- package/es/antd-vue-pro.css +13 -13
- package/es/components/component-provider/components/index.vue.d.ts +8 -0
- package/es/components/component-provider/components/index.vue.d.ts.map +1 -1
- package/es/components/component-provider/constants/index.d.ts.map +1 -1
- package/es/components/form/components/BaseField/index.vue.d.ts.map +1 -1
- package/es/components/form/components/BaseField/utils/index.d.ts +3 -1
- package/es/components/form/components/BaseField/utils/index.d.ts.map +1 -1
- package/es/components/table/components/ColumnControl.vue.d.ts +2 -1
- package/es/components/table/components/ColumnControl.vue.d.ts.map +1 -1
- package/es/components/table/components/ProTable.vue.d.ts +3 -2
- package/es/components/table/components/ProTable.vue.d.ts.map +1 -1
- package/es/components/table/components/SearchForm.vue.d.ts.map +1 -1
- package/es/components/table/components/SizeControl.vue.d.ts.map +1 -1
- package/es/components/table/types/index.d.ts +25 -0
- package/es/components/table/types/index.d.ts.map +1 -1
- package/es/index.d.ts +1 -0
- package/es/index.d.ts.map +1 -1
- package/es/index.js +200 -103
- package/es/index.js.map +1 -1
- package/es/locale/index.d.ts +28 -0
- package/es/locale/index.d.ts.map +1 -0
- package/package.json +3 -3
- package/src/components/component-provider/components/index.vue +16 -1
- package/src/components/component-provider/constants/index.ts +4 -7
- package/src/components/form/components/BaseField/index.vue +10 -4
- package/src/components/form/components/BaseField/utils/index.ts +33 -3
- package/src/components/table/components/ColumnControl.vue +91 -38
- package/src/components/table/components/ProTable.vue +47 -13
- package/src/components/table/components/SearchForm.vue +6 -3
- package/src/components/table/components/SizeControl.vue +9 -5
- package/src/components/table/types/index.ts +26 -0
- package/src/index.ts +1 -0
- package/src/locale/index.ts +71 -0
package/bin/init-ai.mjs
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
+
/* global process -- Node.js CLI 脚本 */
|
|
2
3
|
|
|
3
4
|
/**
|
|
4
5
|
* @qin-ui/antd-vue-pro AI 上下文初始化 CLI 工具
|
|
5
6
|
*
|
|
6
7
|
* 在消费方项目中生成双载体 AI 上下文:
|
|
7
|
-
* 1. 根目录 AGENTS.md
|
|
8
|
-
* 2. .agents/skills/{pkg}.md
|
|
8
|
+
* 1. 根目录 AGENTS.md -- 核心使用规则,跨工具自动注入(主载体)
|
|
9
|
+
* 2. .agents/skills/{pkg}/SKILL.md + references/ -- 分层参考文档,支持 skills 发现的工具按需逐层调取(参考载体)
|
|
9
10
|
*
|
|
10
11
|
* 用法:
|
|
11
12
|
* npx @qin-ui/antd-vue-pro init-ai
|
|
@@ -50,7 +51,10 @@ function readPackageFile(filename) {
|
|
|
50
51
|
}
|
|
51
52
|
|
|
52
53
|
function getAiContextContent() {
|
|
53
|
-
return
|
|
54
|
+
return (
|
|
55
|
+
readPackageFile('AI-CONTEXT.md') ||
|
|
56
|
+
`# ${PKG_NAME}\n\n> 基于 Vue 3 的配置驱动组件库。`
|
|
57
|
+
);
|
|
54
58
|
}
|
|
55
59
|
|
|
56
60
|
function getReadmeContent() {
|
|
@@ -142,46 +146,82 @@ function writeAgentsMd(cwd) {
|
|
|
142
146
|
// ==================== Skills(参考载体,按需调取)====================
|
|
143
147
|
|
|
144
148
|
/**
|
|
145
|
-
* 生成
|
|
146
|
-
*
|
|
149
|
+
* 生成 SKILL.md 内容
|
|
150
|
+
* = skill frontmatter + AI-CONTEXT.md 速查内容 + references 导航
|
|
151
|
+
* 供支持 skills 发现的工具按需调取,精准定位后查阅 references
|
|
147
152
|
*/
|
|
148
|
-
function
|
|
149
|
-
const
|
|
150
|
-
const apiJson = getApiJsonContent();
|
|
151
|
-
|
|
153
|
+
function getSkillMainContent() {
|
|
154
|
+
const aiContext = getAiContextContent();
|
|
152
155
|
const sections = [];
|
|
153
156
|
|
|
154
157
|
// skill frontmatter
|
|
155
158
|
sections.push('---');
|
|
156
159
|
sections.push(`name: ${PKG_SHORT}`);
|
|
157
160
|
sections.push(
|
|
158
|
-
`description: ${PKG_NAME}
|
|
161
|
+
`description: ${PKG_NAME} 使用指南 - 组件、Hooks、类型、Field/Column 配置。Schema 驱动的配置式组件库。当需要组件映射、默认预设、属性透传规则或完整用法时按需调取。`
|
|
159
162
|
);
|
|
160
163
|
sections.push('---');
|
|
161
164
|
sections.push('');
|
|
162
165
|
|
|
163
|
-
|
|
164
|
-
sections.push(
|
|
166
|
+
// AI-CONTEXT.md 速查内容(与 AGENTS.md 主载体同源,确保一致)
|
|
167
|
+
sections.push(aiContext);
|
|
168
|
+
sections.push('');
|
|
165
169
|
|
|
166
|
-
//
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
170
|
+
// references 导航
|
|
171
|
+
sections.push('---');
|
|
172
|
+
sections.push('');
|
|
173
|
+
sections.push('## 参考文档');
|
|
174
|
+
sections.push('');
|
|
175
|
+
sections.push(
|
|
176
|
+
`以下文件位于 \`.agents/skills/${PKG_SHORT}/references/\`,可在需要精确细节时进一步查阅:`
|
|
177
|
+
);
|
|
178
|
+
sections.push('');
|
|
179
|
+
sections.push(
|
|
180
|
+
`- [references/README.md](references/README.md) — 完整使用文档与进阶示例`
|
|
181
|
+
);
|
|
182
|
+
sections.push(
|
|
183
|
+
`- [references/api.md](references/api.md) — 结构化 API 元数据(函数签名、参数类型、返回值,提取自源码 JSDoc)`
|
|
184
|
+
);
|
|
185
|
+
sections.push(`- 底层组件属性查阅 ant-design-vue 官方文档:https://antdv.com`);
|
|
186
|
+
sections.push('');
|
|
187
|
+
|
|
188
|
+
return sections.join('\n');
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
/**
|
|
192
|
+
* 生成 references/api.md 内容(结构化 API 元数据 + skill frontmatter)
|
|
193
|
+
* 从 api.json 提取 @public 标记的 JSDoc,含签名、参数、返回值、示例
|
|
194
|
+
*/
|
|
195
|
+
function getSkillApiContent() {
|
|
196
|
+
const apiJson = getApiJsonContent();
|
|
197
|
+
const sections = [];
|
|
198
|
+
|
|
199
|
+
// skill frontmatter
|
|
200
|
+
sections.push('---');
|
|
201
|
+
sections.push(`name: ${PKG_SHORT}-api`);
|
|
202
|
+
sections.push(
|
|
203
|
+
`description: ${PKG_NAME} 结构化 API 元数据 - 函数签名、参数类型、返回值、示例。从源码 JSDoc(@public 标记)自动提取。`
|
|
204
|
+
);
|
|
205
|
+
sections.push('---');
|
|
206
|
+
sections.push('');
|
|
207
|
+
|
|
208
|
+
sections.push(`# ${PKG_NAME} - 结构化 API 元数据`, '');
|
|
209
|
+
sections.push(
|
|
210
|
+
`> 自动提取自源码 JSDoc(\`@public\` 标记)。版本: ${PKG_JSON.version}`,
|
|
211
|
+
''
|
|
212
|
+
);
|
|
171
213
|
|
|
172
214
|
// 结构化 API 元数据
|
|
173
215
|
if (apiJson && apiJson.api && apiJson.api.length > 0) {
|
|
174
|
-
sections.push('---', '');
|
|
175
|
-
sections.push('## 结构化 API 元数据(自动提取自源码 JSDoc)', '');
|
|
176
|
-
|
|
177
216
|
for (const item of apiJson.api) {
|
|
178
|
-
const typeLabel =
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
217
|
+
const typeLabel =
|
|
218
|
+
{
|
|
219
|
+
component: '组件',
|
|
220
|
+
function: '函数/Hook',
|
|
221
|
+
type: '类型',
|
|
222
|
+
interface: '接口',
|
|
223
|
+
constant: '常量',
|
|
224
|
+
}[item.type] || '';
|
|
185
225
|
|
|
186
226
|
sections.push(`### ${typeLabel} \`${item.name}\``);
|
|
187
227
|
sections.push('');
|
|
@@ -216,7 +256,9 @@ function getSkillContent() {
|
|
|
216
256
|
sections.push('| 参数名 | 类型 | 可选 | 描述 |');
|
|
217
257
|
sections.push('| :--- | :--- | :--- | :--- |');
|
|
218
258
|
for (const p of item.params) {
|
|
219
|
-
sections.push(
|
|
259
|
+
sections.push(
|
|
260
|
+
`| \`${p.name}\` | \`${p.type}\` | ${p.optional ? '是' : '否'} | ${p.description} |`
|
|
261
|
+
);
|
|
220
262
|
}
|
|
221
263
|
}
|
|
222
264
|
|
|
@@ -259,10 +301,14 @@ ${bold('说明:')}
|
|
|
259
301
|
AGENTS.md 核心使用规则(跨工具自动注入)
|
|
260
302
|
.agents/
|
|
261
303
|
skills/
|
|
262
|
-
${PKG_SHORT}
|
|
304
|
+
${PKG_SHORT}/
|
|
305
|
+
SKILL.md skills 入口(速查 + 导航)
|
|
306
|
+
references/
|
|
307
|
+
README.md 完整使用文档
|
|
308
|
+
api.md 结构化 API 元数据
|
|
263
309
|
|
|
264
310
|
${dim('AGENTS.md 是跨工具开放约定,Codex / Claude Code / Cursor 等会话时自动注入。')}
|
|
265
|
-
${dim('.agents/skills/ 供支持 skills
|
|
311
|
+
${dim('.agents/skills/ 供支持 skills 发现的工具按需逐层调取。')}
|
|
266
312
|
|
|
267
313
|
${bold('选项:')}
|
|
268
314
|
--help 显示帮助信息
|
|
@@ -293,30 +339,76 @@ function main() {
|
|
|
293
339
|
// 1. 生成 AGENTS.md(主载体)
|
|
294
340
|
console.log(bold('📋 主载体:AGENTS.md(自动注入)'));
|
|
295
341
|
writeAgentsMd(process.cwd());
|
|
296
|
-
console.log(
|
|
342
|
+
console.log(
|
|
343
|
+
dim(' -> 核心使用规则,Codex/Claude Code/Cursor 等会话自动加载')
|
|
344
|
+
);
|
|
297
345
|
console.log('');
|
|
298
346
|
|
|
299
|
-
// 2. 生成 Skills
|
|
347
|
+
// 2. 生成 Skills(标准结构:SKILL.md + references/)
|
|
300
348
|
console.log(bold('📖 参考载体:.agents/skills/(按需调取)'));
|
|
349
|
+
const skillDir = path.join(process.cwd(), '.agents/skills', PKG_SHORT);
|
|
350
|
+
const skillRefsDir = path.join(skillDir, 'references');
|
|
351
|
+
|
|
352
|
+
// SKILL.md(入口:frontmatter + 速查内容 + 参考导航)
|
|
301
353
|
writeFileWithLog(
|
|
302
|
-
path.join(
|
|
303
|
-
|
|
304
|
-
`.agents/skills/${PKG_SHORT}.md`
|
|
354
|
+
path.join(skillDir, 'SKILL.md'),
|
|
355
|
+
getSkillMainContent(),
|
|
356
|
+
`.agents/skills/${PKG_SHORT}/SKILL.md`
|
|
357
|
+
);
|
|
358
|
+
|
|
359
|
+
// references/README.md(完整使用文档)
|
|
360
|
+
const readme = getReadmeContent();
|
|
361
|
+
if (readme) {
|
|
362
|
+
writeFileWithLog(
|
|
363
|
+
path.join(skillRefsDir, 'README.md'),
|
|
364
|
+
readme,
|
|
365
|
+
`.agents/skills/${PKG_SHORT}/references/README.md`
|
|
366
|
+
);
|
|
367
|
+
}
|
|
368
|
+
|
|
369
|
+
// references/api.md(结构化 API 元数据)
|
|
370
|
+
const apiJson = getApiJsonContent();
|
|
371
|
+
if (apiJson && apiJson.api && apiJson.api.length > 0) {
|
|
372
|
+
writeFileWithLog(
|
|
373
|
+
path.join(skillRefsDir, 'api.md'),
|
|
374
|
+
getSkillApiContent(),
|
|
375
|
+
`.agents/skills/${PKG_SHORT}/references/api.md`
|
|
376
|
+
);
|
|
377
|
+
}
|
|
378
|
+
|
|
379
|
+
console.log(
|
|
380
|
+
dim(' -> SKILL.md 入口 + references/ 完整文档,skills 工具按需逐层调取')
|
|
305
381
|
);
|
|
306
|
-
console.log(dim(' -> 完整 README + 结构化 API 元数据,skills 工具按需调取'));
|
|
307
382
|
console.log('');
|
|
308
383
|
|
|
309
384
|
// 3. 完成提示
|
|
310
385
|
console.log(green('✅ 完成!已生成双载体 AI 上下文文件。'));
|
|
311
386
|
console.log('');
|
|
312
387
|
console.log(`${bold('📂 生成的文件:')}`);
|
|
313
|
-
console.log(
|
|
314
|
-
|
|
315
|
-
|
|
388
|
+
console.log(
|
|
389
|
+
` ${cyan('AGENTS.md')} ${dim('← 核心规则(AI 自动读取)')}`
|
|
390
|
+
);
|
|
391
|
+
console.log(` ${cyan('.agents/skills/' + PKG_SHORT + '/')}`);
|
|
392
|
+
console.log(
|
|
393
|
+
` ├── ${cyan('SKILL.md')} ${dim('← skills 入口(速查 + 导航)')}`
|
|
394
|
+
);
|
|
395
|
+
console.log(` └── ${cyan('references/')}`);
|
|
396
|
+
console.log(
|
|
397
|
+
` ├── ${cyan('README.md')} ${dim('← 完整使用文档')}`
|
|
398
|
+
);
|
|
399
|
+
if (apiJson && apiJson.api && apiJson.api.length > 0) {
|
|
400
|
+
console.log(
|
|
401
|
+
` └── ${cyan('api.md')} ${dim('← 结构化 API 元数据')}`
|
|
402
|
+
);
|
|
403
|
+
}
|
|
316
404
|
console.log('');
|
|
317
405
|
console.log(`${bold('🔄 说明:')}`);
|
|
318
|
-
console.log(
|
|
319
|
-
|
|
406
|
+
console.log(
|
|
407
|
+
` - AGENTS.md 已用标记区块写入,重复执行 init-ai 可安全更新(不破坏其他库的指令)`
|
|
408
|
+
);
|
|
409
|
+
console.log(
|
|
410
|
+
` - 编写 Field 中输入控件属性前,查阅 ant-design-vue 官方文档:${cyan('https://antdv.com')}`
|
|
411
|
+
);
|
|
320
412
|
console.log('');
|
|
321
413
|
}
|
|
322
414
|
|
package/es/antd-vue-pro.css
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
.pro-table_search-form[data-v-
|
|
1
|
+
.pro-table_search-form[data-v-5b71a5b1] [class*='-form-item'] {
|
|
2
2
|
margin: 0;
|
|
3
3
|
}
|
|
4
|
-
.pro-table_search-form_expand-toggle-button[data-v-
|
|
4
|
+
.pro-table_search-form_expand-toggle-button[data-v-5b71a5b1] {
|
|
5
5
|
display: flex;
|
|
6
6
|
align-items: center;
|
|
7
7
|
padding: 0;
|
|
8
8
|
padding-left: 4px;
|
|
9
9
|
}
|
|
10
|
-
.pro-table_search-form .transition[data-v-
|
|
10
|
+
.pro-table_search-form .transition[data-v-5b71a5b1] {
|
|
11
11
|
transition: all 0.25s;
|
|
12
12
|
}
|
|
13
13
|
.pro-table_search-form-container[data-v-c385cd54] {
|
|
@@ -18,41 +18,41 @@
|
|
|
18
18
|
flex: 1;
|
|
19
19
|
padding: 24px 24px 0;
|
|
20
20
|
}
|
|
21
|
-
.pro-table_size-control_button[data-v-
|
|
21
|
+
.pro-table_size-control_button[data-v-a718ce24] {
|
|
22
22
|
display: flex;
|
|
23
23
|
align-items: center;
|
|
24
24
|
padding-right: 12px;
|
|
25
25
|
padding-left: 12px;
|
|
26
26
|
}
|
|
27
|
-
.pro-table_size-control_button[data-v-
|
|
27
|
+
.pro-table_size-control_button[data-v-a718ce24] svg {
|
|
28
28
|
transform: scale(1.3);
|
|
29
29
|
}
|
|
30
|
-
.pro-table_column-control_button[data-v-
|
|
30
|
+
.pro-table_column-control_button[data-v-f5bd6ecc] {
|
|
31
31
|
display: flex;
|
|
32
32
|
align-items: center;
|
|
33
33
|
padding-right: 12px;
|
|
34
34
|
padding-left: 12px;
|
|
35
35
|
}
|
|
36
|
-
.pro-table_column-control_button[data-v-
|
|
36
|
+
.pro-table_column-control_button[data-v-f5bd6ecc] svg {
|
|
37
37
|
transform: scale(1.2, 1.4);
|
|
38
38
|
}
|
|
39
|
-
.pro-table_header[data-v-
|
|
39
|
+
.pro-table_header[data-v-58aab322] {
|
|
40
40
|
display: flex;
|
|
41
41
|
align-items: center;
|
|
42
42
|
justify-content: flex-end;
|
|
43
43
|
}
|
|
44
|
-
.pro-table_header[data-v-
|
|
44
|
+
.pro-table_header[data-v-58aab322]:empty {
|
|
45
45
|
display: none;
|
|
46
46
|
}
|
|
47
|
-
.pro-table_header + .pro-table_header_content[data-v-
|
|
47
|
+
.pro-table_header + .pro-table_header_content[data-v-58aab322] {
|
|
48
48
|
margin-top: 16px;
|
|
49
49
|
}
|
|
50
|
-
.pro-table_header_button-bar[data-v-
|
|
50
|
+
.pro-table_header_button-bar[data-v-58aab322] {
|
|
51
51
|
flex: 1;
|
|
52
52
|
}
|
|
53
|
-
.pro-table_header_toolbar[data-v-
|
|
53
|
+
.pro-table_header_toolbar[data-v-58aab322] {
|
|
54
54
|
margin-left: 12px;
|
|
55
55
|
}
|
|
56
|
-
.pro-table[data-v-
|
|
56
|
+
.pro-table[data-v-58aab322] [class*='-pagination'] [class*='-pagination-total-text'] {
|
|
57
57
|
flex: 1;
|
|
58
58
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { ComponentVars } from '../types';
|
|
2
2
|
import { ComponentName } from '../../form/constants';
|
|
3
|
+
import { ProLocale } from '../../../locale';
|
|
3
4
|
type ComponentMap = Partial<Record<ComponentName, any>>;
|
|
4
5
|
type Props = {
|
|
5
6
|
/**
|
|
@@ -14,6 +15,13 @@ type Props = {
|
|
|
14
15
|
* @example { 'input': MyCustomInput, 'select': MyCustomSelect }
|
|
15
16
|
*/
|
|
16
17
|
componentMap?: ComponentMap;
|
|
18
|
+
/**
|
|
19
|
+
* @description 内置文案覆盖
|
|
20
|
+
* 可覆盖任意 locale 文案(如查询/重置/序号/占位符等),
|
|
21
|
+
* 未覆盖的文案默认跟随宿主组件库语言自动切换
|
|
22
|
+
* @example { 'table.query': '搜索' }
|
|
23
|
+
*/
|
|
24
|
+
locale?: Partial<ProLocale>;
|
|
17
25
|
};
|
|
18
26
|
declare function __VLS_template(): {
|
|
19
27
|
attrs: Partial<{}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/component-provider/components/index.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/component-provider/components/index.vue"],"names":[],"mappings":"AAkGA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAIzC,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAqB,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEpE,KAAK,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,CAAC;AAOxD,KAAK,KAAK,GAAG;IACX;;;;OAIG;IACH,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B;;;;OAIG;IACH,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B;;;;;OAKG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;CAC7B,CAAC;AA+BF,iBAAS,cAAc;WAoBT,OAAO,IAA6B;;yBAVrB,GAAG;;;;EAe/B;AAQD,KAAK,oBAAoB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAC9D,QAAA,MAAM,eAAe,sRAMnB,CAAC;wBACkB,uBAAuB,CAAC,OAAO,eAAe,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAAnG,wBAAoG;AAQpG,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IACxC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/component-provider/constants/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,KAAK,CAAC;AAK9C,eAAO,MAAM,iBAAiB,EAAE,YAAY,CAC1C,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CACL,CAAC;AAEhC,MAAM,MAAM,iBAAiB,CAAC,CAAC,GAAG,GAAG,IAAI;IACvC,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;IAC9B,OAAO,EAAE,CAAC,CAAC;CACZ,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE;KACzB,GAAG,IAAI,MAAM,qBAAqB,GAAG;QACpC,YAAY,EAAE,YAAY,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC;QACvD,OAAO,EAAE,qBAAqB,CAAC,GAAG,CAAC,CAAC;KACrC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/component-provider/constants/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,KAAK,CAAC;AAK9C,eAAO,MAAM,iBAAiB,EAAE,YAAY,CAC1C,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CACL,CAAC;AAEhC,MAAM,MAAM,iBAAiB,CAAC,CAAC,GAAG,GAAG,IAAI;IACvC,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;IAC9B,OAAO,EAAE,CAAC,CAAC;CACZ,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE;KACzB,GAAG,IAAI,MAAM,qBAAqB,GAAG;QACpC,YAAY,EAAE,YAAY,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC;QACvD,OAAO,EAAE,qBAAqB,CAAC,GAAG,CAAC,CAAC;KACrC;CAyHF,CAAC;AAKF,eAAO,MAAM,eAAe,GAAI,KAAK,MAAM,KAAG,iBAAiB,GAAG,SAKjE,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,KAAK,MAAM,KAAG,iBAShD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.vue.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/components/BaseField/index.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.vue.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/components/BaseField/index.vue"],"names":[],"mappings":"AAoMA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,OAAO,EACL,KAAK,SAAS,EAMf,MAAM,KAAK,CAAC;AAgBb,KAAK,KAAK,GAAG;IACX,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;;;qCAqH6D,GAAG;;;;AAsGlE,wBAQG"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
1
|
import { Field } from '../../../types';
|
|
2
|
-
|
|
2
|
+
type LocaleT = (key: string, params?: Record<string, string | number>) => string;
|
|
3
|
+
export declare const getInitProps: (field: Field, t: LocaleT) => Record<string, any>;
|
|
4
|
+
export {};
|
|
3
5
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/components/form/components/BaseField/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAIvC,eAAO,MAAM,YAAY,GAAI,OAAO,KAAK,KAAG,MAAM,CAAC,MAAM,EAAE,GAAG,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/components/form/components/BaseField/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAIvC,KAAK,OAAO,GAAG,CACb,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,KACrC,MAAM,CAAC;AA2BZ,eAAO,MAAM,YAAY,GAAI,OAAO,KAAK,EAAE,GAAG,OAAO,KAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAWzE,CAAC"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { Columns } from '../types';
|
|
1
|
+
import { Columns, ColumnControlConfig } from '../types';
|
|
2
2
|
import { Table } from '../hooks/useTable';
|
|
3
3
|
type Props = {
|
|
4
4
|
columns: Columns;
|
|
5
5
|
table?: Table;
|
|
6
|
+
columnControl?: ColumnControlConfig;
|
|
6
7
|
};
|
|
7
8
|
declare const _default: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
8
9
|
export default _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ColumnControl.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/table/components/ColumnControl.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ColumnControl.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/table/components/ColumnControl.vue"],"names":[],"mappings":"AAoMA,OAAO,KAAK,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAC7D,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAI/C,KAAK,KAAK,GAAG;IACX,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,aAAa,CAAC,EAAE,mBAAmB,CAAC;CACrC,CAAC;;AAgTF,wBAOG"}
|
|
@@ -3,7 +3,8 @@ import { Slot } from 'vue';
|
|
|
3
3
|
import { ContainerComponent } from '../../form/types';
|
|
4
4
|
import { SearchFormProps } from './SearchForm.vue';
|
|
5
5
|
import { Table } from '../hooks/useTable';
|
|
6
|
-
import {
|
|
6
|
+
import { Path } from '../../../shared/core';
|
|
7
|
+
import { Column, ColumnControlConfig } from '../types';
|
|
7
8
|
declare const _default: <T extends Table<any> = Table>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
|
|
8
9
|
props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{
|
|
9
10
|
readonly "onUpdate:size"?: ((value: import('ant-design-vue/es/button').ButtonSize) => any) | undefined;
|
|
@@ -18,7 +19,7 @@ declare const _default: <T extends Table<any> = Table>(__VLS_props: NonNullable<
|
|
|
18
19
|
immediateSearch?: boolean;
|
|
19
20
|
control?: boolean | Partial<{
|
|
20
21
|
sizeControl: boolean;
|
|
21
|
-
columnControl: boolean
|
|
22
|
+
columnControl: boolean | ColumnControlConfig<Path<T extends Table<any, infer R extends import('@qin-ui/pro-components-core').Data> ? R : never>>;
|
|
22
23
|
}>;
|
|
23
24
|
searchFormConfig?: Omit<SearchFormProps, "form"> & {
|
|
24
25
|
hidden?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProTable.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/table/components/ProTable.vue"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"ProTable.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/table/components/ProTable.vue"],"names":[],"mappings":"AAAA,OAmbO,EAGL,UAAU,EACV,UAAU,EAEX,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAML,KAAK,IAAI,EACV,MAAM,KAAK,CAAC;AAGb,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAE3D,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE/C,OAAO,EAIL,IAAI,EACL,MAAM,sBAAsB,CAAC;AAQ9B,OAAO,EAAE,MAAM,EAAW,mBAAmB,EAAE,MAAM,UAAU,CAAC;yBAE/C,CAAC,SAAS,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,EAC5C,aAAa,WAAW,CAAC,OAAO,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,EAC9D,YAAY,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,WAAW,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC,EAC3G,eAAe,WAAW,CAAC,OAAO,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,EACjE;WA2cO,mBAAmB,CAAC;;;;eAzNnB,UAAU,CAAC,MAAM,CAAC;kBACf,OAAO;;gBAlOT,CAAC;iBAEA,MAAM,OAAO,CAAC,OAAO,CAAC;yBAEd,OAAO;0BAEN,OAAO;kBAEf,OAAO,GAAG,OAAO;yBArBd,OAAO;2BACL,OAAO,GAAG,mBAAmB,CAAC,IAAI,4BAsIc,CAAC,iEAtIH,CAAC;UAoB1B;;qBAf3B,OAAO;wBAEJ,kBAAkB,GAAG,KAAK;;yBAiBrB,kBAAkB,GAAG,KAAK;sCA8aiD,CAAC,4BAA2B;oBACzG,OAAO,KAAK,EAAE,gBAAgB,CAAC,EAAE,CAAC,GAAG,IAAI;WAClD,GAAG;;;;;;;;;;;;;;;;;;;;;;;;mBA1WI,CAAC,KAAK,EAAE;YACjB,IAAI,EAAE,GAAG,CAAC;YACV,KAAK,EAAE,GAAG,CAAC;YACX,MAAM,6BAqCqD,CAAC,iEArCzC;YACnB,KAAK,EAAE,MAAM,CAAC;YACd,MAAM,EAAE,MAAM,4BAmC6C,CAAC,iEAnClC,CAAC;SAC5B,KAAK,IAAI;;;;;;;;;;;;;;;;;;;;;;;;mBANC,CAAC,KAAK,EAAE;YACjB,IAAI,EAAE,GAAG,CAAC;YACV,KAAK,EAAE,GAAG,CAAC;YACX,MAAM,6BAqCqD,CAAC,iEArCzC;YACnB,KAAK,EAAE,MAAM,CAAC;YACd,MAAM,EAAE,MAAM,4BAmC6C,CAAC,iEAnClC,CAAC;SAC5B,KAAK,IAAI;;;EAwWV,KACQ,OAAO,KAAK,EAAE,KAAK,GAAG;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC,OAAO,WAAW,CAAC,CAAA;CAAE;AAtdzE,wBAsd4E;AAC5E,KAAK,mBAAmB,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAG,GAAG,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SearchForm.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/table/components/SearchForm.vue"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"SearchForm.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/table/components/SearchForm.vue"],"names":[],"mappings":"AAAA,OA8TO,EAAiB,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EACL,qBAAqB,EAKrB,KAAK,SAAS,EACd,KAAK,eAAe,EACrB,MAAM,KAAK,CAAC;AAEb,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,YAAY,CAAC;AAKvC,KAAK,MAAM,GAAG;IAEZ,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF,KAAK,UAAU,GAAG,IAAI,CACpB,OAAO,CAAC,SAAS,CAAC,EAChB,OAAO,GACP,UAAU,GACV,kBAAkB,GAClB,YAAY,GACZ,UAAU,GACV,WAAW,GACX,MAAM,GACN,YAAY,CACf,CAAC;AAEF,KAAK,WAAW,GAAG;IAAE,OAAO,EAAE,MAAM,IAAI,CAAA;CAAE,CAAC;AAC3C,KAAK,iBAAiB,GAAG,WAAW,GAAG;IAAE,YAAY,EAAE,OAAO,CAAA;CAAE,CAAC;AAEjE,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,IAAI,CAAC;IACX,MAAM,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;IAC3B,MAAM,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,SAAS,CAAC,WAAW,CAAC,GAAG,eAAe,CAAC,WAAW,CAAC,GAAG,KAAK,CAAC;IAC7E,WAAW,CAAC,EAAE,SAAS,CAAC,WAAW,CAAC,GAAG,eAAe,CAAC,WAAW,CAAC,GAAG,KAAK,CAAC;IAC5E,YAAY,CAAC,EACT,SAAS,CAAC,iBAAiB,CAAC,GAC5B,eAAe,CAAC,iBAAiB,CAAC,GAClC,KAAK,CAAC;IACV,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,iBAAiB,CAAC,UAAU,GAC9B,qBAAqB,CAAC;;;;;;;;;;QA2Va,GAAG;;;QACF,GAAG;;;QACH,GAAG;;AA3VzC,wBAyYK;AAQL,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IACxC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SizeControl.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/table/components/SizeControl.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SizeControl.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/table/components/SizeControl.vue"],"names":[],"mappings":"AAiEA,OAAO,EAIL,KAAK,UAAU,EAGhB,MAAM,oBAAoB,CAAC;AAK5B,KAAK,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;AAuB/B,KAAK,iBAAiB,GAAG;IACzB,MAAM,CAAC,EAAE,IAAI,CAAC;CACb,CAAC;;;;;;AA2GF,wBAQG"}
|
|
@@ -67,4 +67,29 @@ export type Column<D extends Data = Data> = Omit<ColumnType, 'dataIndex' | 'key'
|
|
|
67
67
|
* ```
|
|
68
68
|
*/
|
|
69
69
|
export type Columns<D extends Data = Data> = Array<Column<D>>;
|
|
70
|
+
/**
|
|
71
|
+
* 列控制配置(用于 control.columnControl)
|
|
72
|
+
*
|
|
73
|
+
* @template K - 列 key 类型,ProTable 中传入 Path<RecordType> 获得自动补全
|
|
74
|
+
*
|
|
75
|
+
* @example
|
|
76
|
+
* ```ts
|
|
77
|
+
* const config: ColumnControlConfig<'name' | 'age'> = {
|
|
78
|
+
* labels: { name: '姓名', age: '年龄' },
|
|
79
|
+
* excludedKeys: [],
|
|
80
|
+
* disabledKeys: ['name'],
|
|
81
|
+
* disableCheckAll: false,
|
|
82
|
+
* }
|
|
83
|
+
* ```
|
|
84
|
+
*/
|
|
85
|
+
export type ColumnControlConfig<K extends string | number = string | number> = {
|
|
86
|
+
/** 列在下拉中的显示名称映射,key 为列 key/dataIndex,用于 title 为 vnode 时无法正常渲染 */
|
|
87
|
+
labels?: Partial<Record<K, string>>;
|
|
88
|
+
/** 不在下拉中出现的列 keys(始终展示,不参与勾选) */
|
|
89
|
+
excludedKeys?: K[];
|
|
90
|
+
/** 在下拉中显示但不可取消勾选的列 keys(始终展示,始终勾选) */
|
|
91
|
+
disabledKeys?: K[];
|
|
92
|
+
/** 禁用全选/取消全选 */
|
|
93
|
+
disableCheckAll?: boolean;
|
|
94
|
+
};
|
|
70
95
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/table/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAE1E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,MAAM,MAAM,CAAC,CAAC,SAAS,IAAI,GAAG,IAAI,IAAI,IAAI,CAC9C,UAAU,EACV,WAAW,GAAG,KAAK,CACpB,GAAG;IACF;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACjE;;;;OAIG;IACH,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IACd;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,IAAI,GAAG,IAAI,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/table/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAE1E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,MAAM,MAAM,CAAC,CAAC,SAAS,IAAI,GAAG,IAAI,IAAI,IAAI,CAC9C,UAAU,EACV,WAAW,GAAG,KAAK,CACpB,GAAG;IACF;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACjE;;;;OAIG;IACH,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IACd;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,IAAI,GAAG,IAAI,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AAE9D;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,mBAAmB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,IAAI;IAC7E,iEAAiE;IACjE,MAAM,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IACpC,iCAAiC;IACjC,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC;IACnB,sCAAsC;IACtC,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC;IACnB,gBAAgB;IAChB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC"}
|
package/es/index.d.ts
CHANGED
|
@@ -5,6 +5,7 @@ import { default as ProComponentProvider } from './components/component-provider
|
|
|
5
5
|
export * from './components/form';
|
|
6
6
|
export * from './components/table';
|
|
7
7
|
export * from './components/component-provider';
|
|
8
|
+
export * from './locale';
|
|
8
9
|
/**
|
|
9
10
|
* Schema 驱动的表单组件,基于 antd-vue Form 封装
|
|
10
11
|
*
|
package/es/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC/B,OAAO,OAAO,MAAM,mBAAmB,CAAC;AACxC,OAAO,QAAQ,MAAM,oBAAoB,CAAC;AAC1C,OAAO,oBAAoB,MAAM,iCAAiC,CAAC;AAEnE,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC/B,OAAO,OAAO,MAAM,mBAAmB,CAAC;AACxC,OAAO,QAAQ,MAAM,oBAAoB,CAAC;AAC1C,OAAO,oBAAoB,MAAM,iCAAiC,CAAC;AAEnE,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iCAAiC,CAAC;AAChD,cAAc,UAAU,CAAC;AAEzB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AACH,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,oBAAoB,EAAE,CAAC;;IAEjD;;;;;;;;;;;;;OAaG;iBACU,GAAG;;AAflB,wBAoBE"}
|