x-next 1.2.0 → 1.3.1
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_USAGE.md +647 -0
- package/CHANGELOG.md +22 -0
- package/README.md +8 -0
- package/dist/components/dropdown/Dropdown.vue.d.ts +27 -1
- package/dist/components/dropdown/DropdownButton.vue.d.ts +27 -1
- package/dist/components/dropdown/DropdownOption.vue.d.ts +2 -0
- package/dist/components/dropdown/DropdownSubmenu.vue.d.ts +158 -1
- package/dist/components/dropdown/context.d.ts +14 -1
- package/dist/components/dropdown/dropdown-panel.vue.d.ts +7 -1
- package/dist/components/dropdown/index.d.ts +588 -6
- package/dist/components/dropdown/use-keyboard.d.ts +10 -0
- package/dist/components/form-select/hooks/use-select.d.ts +2 -1
- package/dist/es/_hooks/use-overflow.js +45 -40
- package/dist/es/components/_components/select-view/select-view.js +49 -55
- package/dist/es/components/dialog/Dialog.js +106 -97
- package/dist/es/components/dropdown/Dropdown.vue.js +18 -15
- package/dist/es/components/dropdown/Dropdown.vue2.js +52 -31
- package/dist/es/components/dropdown/DropdownOption.vue.js +22 -21
- package/dist/es/components/dropdown/DropdownOption.vue2.js +23 -19
- package/dist/es/components/dropdown/DropdownSubmenu.vue.js +49 -36
- package/dist/es/components/dropdown/DropdownSubmenu.vue2.js +45 -24
- package/dist/es/components/dropdown/context.js +3 -2
- package/dist/es/components/dropdown/dropdown-panel.vue.js +24 -21
- package/dist/es/components/dropdown/dropdown-panel.vue2.js +83 -31
- package/dist/es/components/dropdown/use-keyboard.js +45 -0
- package/dist/es/components/form-checkbox/Checkbox.js +49 -49
- package/dist/es/components/form-select/Select.js +25 -24
- package/dist/es/components/form-select/hooks/use-select.js +128 -128
- package/dist/es/style.css +1 -1
- package/dist/index.cjs +4 -4
- package/dist/index.d.ts +1 -1
- package/dist/index.umd.js +4 -4
- package/dist/style/base.css +1 -1
- package/dist/style.css +1 -1
- package/package.json +9 -3
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,26 @@
|
|
|
2
2
|
|
|
3
3
|
本项目遵循 [语义化版本](https://semver.org/lang/zh-CN/)。
|
|
4
4
|
|
|
5
|
+
## [1.3.1] - 2026-09-30
|
|
6
|
+
|
|
7
|
+
### 文档与检查
|
|
8
|
+
|
|
9
|
+
- 新增随 npm 包发布的版本化 `AI_USAGE.md`,覆盖 22 个选定组件/服务的模型、事件、可复制 Vue SFC 与已知限制,支持 `x-next/AI_USAGE.md` 定位。
|
|
10
|
+
- 新增确定性生成器和只读更新检查,核对包版本、精选源文档、映射与公开类型声明。
|
|
11
|
+
- 新增严格 Vue 模板类型检查、公共导出/model/event 检查与隔离负向测试,阻止错误组件属性、服务调用和过期文档进入发布包。
|
|
12
|
+
- README、AGENTS 和文档站提供消费手册入口;打包前检查文档,并要求 tarball 包含手册。
|
|
13
|
+
|
|
14
|
+
## [1.3.0] - 2026-09-30
|
|
15
|
+
|
|
16
|
+
### 修复
|
|
17
|
+
|
|
18
|
+
- **Select**:关闭状态不再吞掉 Escape;方向键可打开下拉,键盘选择与关闭后保留焦点,Tab 保留浏览器原生焦点移动。
|
|
19
|
+
- **Checkbox**:原生 `required`、`form`、`tabindex`、`autofocus` 和 `autocomplete` 属性传到内部 input,保留外层 class/style 与组件受控状态。
|
|
20
|
+
- **Dialog / Drawer**:完善顺序 Tab 候选与共享滚动锁清理,正确归还自定义容器的原始样式。
|
|
21
|
+
- **Dropdown**:补齐受控菜单焦点、方向键/Home/End 导航、禁用项跳过、多级菜单进入返回与 Escape 关闭;保留鼠标点击和悬浮行为。
|
|
22
|
+
- **局部暗色主题**:生成完整受影响变量依赖链,让同一暗色容器内的语义覆盖正确传递到表单和组件别名,保留组件自身覆盖。
|
|
23
|
+
- **文档与类型**:补充 `MessageBoxStaticMethod` 根入口类型导出;快速开始明确局部导入与全局注册的区别。
|
|
24
|
+
|
|
5
25
|
## [1.2.0] - 2026-09-30
|
|
6
26
|
|
|
7
27
|
### 新增
|
|
@@ -69,5 +89,7 @@
|
|
|
69
89
|
- Progress 不支持 `indeterminate` 不确定态与自定义 `format` 文本(可用 `text` 插槽替代)。
|
|
70
90
|
- Space 不支持 Arco 的 `size` 数组写法与 `wrap`。
|
|
71
91
|
|
|
92
|
+
[1.3.1]: https://gitee.com/ztes/x-next/releases/tag/v1.3.1
|
|
93
|
+
[1.3.0]: https://gitee.com/ztes/x-next/releases/tag/v1.3.0
|
|
72
94
|
[1.2.0]: https://gitee.com/ztes/x-next/releases/tag/v1.2.0
|
|
73
95
|
[1.1.0]: https://github.com/ztes/x-next/releases/tag/v1.1.0
|
package/README.md
CHANGED
|
@@ -12,6 +12,14 @@ X-Next 提供常用基础组件、表单组件、反馈组件、导航组件和
|
|
|
12
12
|
https://x-next.ztes.com
|
|
13
13
|
```
|
|
14
14
|
|
|
15
|
+
## AI Coding 使用入口
|
|
16
|
+
|
|
17
|
+
消费项目优先阅读随包发布的 [AI_USAGE.md](./AI_USAGE.md),包含当前版本、22 个选定组件/服务的真实模型与事件、可复制 Vue SFC、命令式服务及接入限制。
|
|
18
|
+
|
|
19
|
+
安装后文件位于 `node_modules/x-next/AI_USAGE.md`;也可以用 `require.resolve('x-next/AI_USAGE.md')` 定位。建议在消费项目的 AI 指令中明确写出这个入口,文件名本身不会让所有工具自动加载。
|
|
20
|
+
|
|
21
|
+
维护者修改 [示例源文档](./src/docs/guide/ai-usage-recipes.md) 后执行 `pnpm build && pnpm generate:ai-usage`。`pnpm check:ai-usage` 会检查版本/来源是否过期,并用严格 Vue TypeScript 模板校验所有示例;`pnpm test:ai-usage` 验证错误示例和过期结果确实被拒绝。打包时也会运行手册检查。
|
|
22
|
+
|
|
15
23
|
## 安装
|
|
16
24
|
|
|
17
25
|
```bash
|
|
@@ -90,6 +90,9 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
90
90
|
default: boolean;
|
|
91
91
|
};
|
|
92
92
|
}>, {
|
|
93
|
+
renderTrigger: (attrs: Record<string, unknown>) => import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
|
|
94
|
+
[key: string]: any;
|
|
95
|
+
}>[];
|
|
93
96
|
className: {
|
|
94
97
|
block: string;
|
|
95
98
|
element: (className: string) => string;
|
|
@@ -100,6 +103,12 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
100
103
|
handlePopupVisibleChange: (visible: boolean) => void;
|
|
101
104
|
handleScroll: (ev: Event) => void;
|
|
102
105
|
handleReachBottom: (ev: Event) => void;
|
|
106
|
+
panelRef: import('vue').Ref<import('./context').DropdownPanelRef | undefined, import('./context').DropdownPanelRef | undefined>;
|
|
107
|
+
handleShow: () => void;
|
|
108
|
+
handleTriggerKeydown: (ev: KeyboardEvent) => void;
|
|
109
|
+
handleTriggerFocus: (ev: FocusEvent) => void;
|
|
110
|
+
handleClose: () => void;
|
|
111
|
+
handleKeyboardSelect: (ev: Event) => void;
|
|
103
112
|
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
104
113
|
'update:popupVisible': (visible: boolean) => true;
|
|
105
114
|
/**
|
|
@@ -801,6 +810,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
801
810
|
install(app: import('vue').App): void;
|
|
802
811
|
};
|
|
803
812
|
DropdownPanel: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
|
|
813
|
+
closeOnArrowLeft: BooleanConstructor;
|
|
804
814
|
loading: {
|
|
805
815
|
type: BooleanConstructor;
|
|
806
816
|
default: boolean;
|
|
@@ -831,9 +841,12 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
831
841
|
})[]>;
|
|
832
842
|
style: import('vue').ComputedRef<import('vue').CSSProperties | undefined>;
|
|
833
843
|
wrapperRef: import('vue').Ref<HTMLElement | undefined, HTMLElement | undefined>;
|
|
844
|
+
panelElement: import('vue').Ref<HTMLElement | undefined, HTMLElement | undefined>;
|
|
845
|
+
handleKeydown: (ev: KeyboardEvent) => void;
|
|
834
846
|
handleScroll: (e: Event) => void;
|
|
835
847
|
t: (key: import('../../index.ts').LocaleKey | (string & {}), params?: Record<string, string | number>) => string;
|
|
836
|
-
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, ("scroll" | "reachBottom")[], "scroll" | "reachBottom", import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
|
|
848
|
+
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, ("close" | "scroll" | "reachBottom")[], "close" | "scroll" | "reachBottom", import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
|
|
849
|
+
closeOnArrowLeft: BooleanConstructor;
|
|
837
850
|
loading: {
|
|
838
851
|
type: BooleanConstructor;
|
|
839
852
|
default: boolean;
|
|
@@ -853,10 +866,12 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
853
866
|
type: PropType<import('../../_hooks/_types.ts').EmitType<(ev: Event) => void>>;
|
|
854
867
|
};
|
|
855
868
|
}>> & Readonly<{
|
|
869
|
+
onClose?: ((...args: any[]) => any) | undefined;
|
|
856
870
|
onScroll?: ((...args: any[]) => any) | undefined;
|
|
857
871
|
onReachBottom?: ((...args: any[]) => any) | undefined;
|
|
858
872
|
}>, {
|
|
859
873
|
loading: boolean;
|
|
874
|
+
closeOnArrowLeft: boolean;
|
|
860
875
|
isEmpty: boolean;
|
|
861
876
|
bottomOffset: number;
|
|
862
877
|
}, {}, {
|
|
@@ -1315,5 +1330,16 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
1315
1330
|
install(app: import('vue').App): void;
|
|
1316
1331
|
};
|
|
1317
1332
|
}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
1333
|
+
RenderFunction: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
|
|
1334
|
+
renderFunc: {
|
|
1335
|
+
type: PropType<import('../../_container/render-function').RenderFunc>;
|
|
1336
|
+
required: true;
|
|
1337
|
+
};
|
|
1338
|
+
}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
|
|
1339
|
+
renderFunc: {
|
|
1340
|
+
type: PropType<import('../../_container/render-function').RenderFunc>;
|
|
1341
|
+
required: true;
|
|
1342
|
+
};
|
|
1343
|
+
}>> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
1318
1344
|
}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
1319
1345
|
export default _default;
|
|
@@ -667,6 +667,9 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
667
667
|
default: boolean;
|
|
668
668
|
};
|
|
669
669
|
}>, {
|
|
670
|
+
renderTrigger: (attrs: Record<string, unknown>) => import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
|
|
671
|
+
[key: string]: any;
|
|
672
|
+
}>[];
|
|
670
673
|
className: {
|
|
671
674
|
block: string;
|
|
672
675
|
element: (className: string) => string;
|
|
@@ -677,6 +680,12 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
677
680
|
handlePopupVisibleChange: (visible: boolean) => void;
|
|
678
681
|
handleScroll: (ev: Event) => void;
|
|
679
682
|
handleReachBottom: (ev: Event) => void;
|
|
683
|
+
panelRef: import('vue').Ref<import('./context.ts').DropdownPanelRef | undefined, import('./context.ts').DropdownPanelRef | undefined>;
|
|
684
|
+
handleShow: () => void;
|
|
685
|
+
handleTriggerKeydown: (ev: KeyboardEvent) => void;
|
|
686
|
+
handleTriggerFocus: (ev: FocusEvent) => void;
|
|
687
|
+
handleClose: () => void;
|
|
688
|
+
handleKeyboardSelect: (ev: Event) => void;
|
|
680
689
|
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
681
690
|
'update:popupVisible': (visible: boolean) => true;
|
|
682
691
|
popupVisibleChange: (visible: boolean) => true;
|
|
@@ -1313,6 +1322,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
1313
1322
|
install(app: import('vue').App): void;
|
|
1314
1323
|
};
|
|
1315
1324
|
DropdownPanel: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
|
|
1325
|
+
closeOnArrowLeft: BooleanConstructor;
|
|
1316
1326
|
loading: {
|
|
1317
1327
|
type: BooleanConstructor;
|
|
1318
1328
|
default: boolean;
|
|
@@ -1343,9 +1353,12 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
1343
1353
|
})[]>;
|
|
1344
1354
|
style: import('vue').ComputedRef<import('vue').CSSProperties | undefined>;
|
|
1345
1355
|
wrapperRef: import('vue').Ref<HTMLElement | undefined, HTMLElement | undefined>;
|
|
1356
|
+
panelElement: import('vue').Ref<HTMLElement | undefined, HTMLElement | undefined>;
|
|
1357
|
+
handleKeydown: (ev: KeyboardEvent) => void;
|
|
1346
1358
|
handleScroll: (e: Event) => void;
|
|
1347
1359
|
t: (key: import('../../index.ts').LocaleKey | (string & {}), params?: Record<string, string | number>) => string;
|
|
1348
|
-
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, ("scroll" | "reachBottom")[], "scroll" | "reachBottom", import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
|
|
1360
|
+
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, ("close" | "scroll" | "reachBottom")[], "close" | "scroll" | "reachBottom", import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
|
|
1361
|
+
closeOnArrowLeft: BooleanConstructor;
|
|
1349
1362
|
loading: {
|
|
1350
1363
|
type: BooleanConstructor;
|
|
1351
1364
|
default: boolean;
|
|
@@ -1365,10 +1378,12 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
1365
1378
|
type: PropType<import('../../_hooks/_types.ts').EmitType<(ev: Event) => void>>;
|
|
1366
1379
|
};
|
|
1367
1380
|
}>> & Readonly<{
|
|
1381
|
+
onClose?: ((...args: any[]) => any) | undefined;
|
|
1368
1382
|
onScroll?: ((...args: any[]) => any) | undefined;
|
|
1369
1383
|
onReachBottom?: ((...args: any[]) => any) | undefined;
|
|
1370
1384
|
}>, {
|
|
1371
1385
|
loading: boolean;
|
|
1386
|
+
closeOnArrowLeft: boolean;
|
|
1372
1387
|
isEmpty: boolean;
|
|
1373
1388
|
bottomOffset: number;
|
|
1374
1389
|
}, {}, {
|
|
@@ -1827,6 +1842,17 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
1827
1842
|
install(app: import('vue').App): void;
|
|
1828
1843
|
};
|
|
1829
1844
|
}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
1845
|
+
RenderFunction: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
|
|
1846
|
+
renderFunc: {
|
|
1847
|
+
type: PropType<import('../../_container/render-function.ts').RenderFunc>;
|
|
1848
|
+
required: true;
|
|
1849
|
+
};
|
|
1850
|
+
}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
|
|
1851
|
+
renderFunc: {
|
|
1852
|
+
type: PropType<import('../../_container/render-function.ts').RenderFunc>;
|
|
1853
|
+
required: true;
|
|
1854
|
+
};
|
|
1855
|
+
}>> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
1830
1856
|
}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
1831
1857
|
}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
1832
1858
|
export default _default;
|
|
@@ -27,6 +27,8 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
27
27
|
[x: string]: boolean;
|
|
28
28
|
})[]>;
|
|
29
29
|
liRef: import('vue').Ref<HTMLElement | undefined, HTMLElement | undefined>;
|
|
30
|
+
tabIndex: import('vue').ComputedRef<0 | -1>;
|
|
31
|
+
handleFocus: () => void | undefined;
|
|
30
32
|
handleClick: (ev: Event) => void;
|
|
31
33
|
handleKeydown: (ev: KeyboardEvent) => void;
|
|
32
34
|
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
@@ -62,6 +62,149 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
62
62
|
type: ObjectConstructor;
|
|
63
63
|
};
|
|
64
64
|
}>, {
|
|
65
|
+
optionRef: import('vue').Ref<import('vue').CreateComponentPublicInstanceWithMixins<Readonly<import('vue').ExtractPropTypes<{
|
|
66
|
+
value: {
|
|
67
|
+
type: (StringConstructor | ObjectConstructor | NumberConstructor)[];
|
|
68
|
+
};
|
|
69
|
+
disabled: {
|
|
70
|
+
type: BooleanConstructor;
|
|
71
|
+
default: boolean;
|
|
72
|
+
};
|
|
73
|
+
active: BooleanConstructor;
|
|
74
|
+
uninjectContext: BooleanConstructor;
|
|
75
|
+
}>> & Readonly<{
|
|
76
|
+
onClick?: ((ev: Event) => any) | undefined;
|
|
77
|
+
}>, {
|
|
78
|
+
className: {
|
|
79
|
+
block: string;
|
|
80
|
+
element: (className: string) => string;
|
|
81
|
+
modifier: (className: string) => string;
|
|
82
|
+
is: (className: string) => string;
|
|
83
|
+
};
|
|
84
|
+
cls: import('vue').ComputedRef<(string | {
|
|
85
|
+
[x: string]: boolean;
|
|
86
|
+
})[]>;
|
|
87
|
+
liRef: import('vue').Ref<HTMLElement | undefined, HTMLElement | undefined>;
|
|
88
|
+
tabIndex: import('vue').ComputedRef<0 | -1>;
|
|
89
|
+
handleFocus: () => void | undefined;
|
|
90
|
+
handleClick: (ev: Event) => void;
|
|
91
|
+
handleKeydown: (ev: KeyboardEvent) => void;
|
|
92
|
+
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
93
|
+
click: (ev: Event) => true;
|
|
94
|
+
}, import('vue').PublicProps, {
|
|
95
|
+
disabled: boolean;
|
|
96
|
+
active: boolean;
|
|
97
|
+
uninjectContext: boolean;
|
|
98
|
+
}, true, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, any, import('vue').ComponentProvideOptions, {
|
|
99
|
+
P: {};
|
|
100
|
+
B: {};
|
|
101
|
+
D: {};
|
|
102
|
+
C: {};
|
|
103
|
+
M: {};
|
|
104
|
+
Defaults: {};
|
|
105
|
+
}, Readonly<import('vue').ExtractPropTypes<{
|
|
106
|
+
value: {
|
|
107
|
+
type: (StringConstructor | ObjectConstructor | NumberConstructor)[];
|
|
108
|
+
};
|
|
109
|
+
disabled: {
|
|
110
|
+
type: BooleanConstructor;
|
|
111
|
+
default: boolean;
|
|
112
|
+
};
|
|
113
|
+
active: BooleanConstructor;
|
|
114
|
+
uninjectContext: BooleanConstructor;
|
|
115
|
+
}>> & Readonly<{
|
|
116
|
+
onClick?: ((ev: Event) => any) | undefined;
|
|
117
|
+
}>, {
|
|
118
|
+
className: {
|
|
119
|
+
block: string;
|
|
120
|
+
element: (className: string) => string;
|
|
121
|
+
modifier: (className: string) => string;
|
|
122
|
+
is: (className: string) => string;
|
|
123
|
+
};
|
|
124
|
+
cls: import('vue').ComputedRef<(string | {
|
|
125
|
+
[x: string]: boolean;
|
|
126
|
+
})[]>;
|
|
127
|
+
liRef: import('vue').Ref<HTMLElement | undefined, HTMLElement | undefined>;
|
|
128
|
+
tabIndex: import('vue').ComputedRef<0 | -1>;
|
|
129
|
+
handleFocus: () => void | undefined;
|
|
130
|
+
handleClick: (ev: Event) => void;
|
|
131
|
+
handleKeydown: (ev: KeyboardEvent) => void;
|
|
132
|
+
}, {}, {}, {}, {
|
|
133
|
+
disabled: boolean;
|
|
134
|
+
active: boolean;
|
|
135
|
+
uninjectContext: boolean;
|
|
136
|
+
}> | undefined, import('vue').CreateComponentPublicInstanceWithMixins<Readonly<import('vue').ExtractPropTypes<{
|
|
137
|
+
value: {
|
|
138
|
+
type: (StringConstructor | ObjectConstructor | NumberConstructor)[];
|
|
139
|
+
};
|
|
140
|
+
disabled: {
|
|
141
|
+
type: BooleanConstructor;
|
|
142
|
+
default: boolean;
|
|
143
|
+
};
|
|
144
|
+
active: BooleanConstructor;
|
|
145
|
+
uninjectContext: BooleanConstructor;
|
|
146
|
+
}>> & Readonly<{
|
|
147
|
+
onClick?: ((ev: Event) => any) | undefined;
|
|
148
|
+
}>, {
|
|
149
|
+
className: {
|
|
150
|
+
block: string;
|
|
151
|
+
element: (className: string) => string;
|
|
152
|
+
modifier: (className: string) => string;
|
|
153
|
+
is: (className: string) => string;
|
|
154
|
+
};
|
|
155
|
+
cls: import('vue').ComputedRef<(string | {
|
|
156
|
+
[x: string]: boolean;
|
|
157
|
+
})[]>;
|
|
158
|
+
liRef: import('vue').Ref<HTMLElement | undefined, HTMLElement | undefined>;
|
|
159
|
+
tabIndex: import('vue').ComputedRef<0 | -1>;
|
|
160
|
+
handleFocus: () => void | undefined;
|
|
161
|
+
handleClick: (ev: Event) => void;
|
|
162
|
+
handleKeydown: (ev: KeyboardEvent) => void;
|
|
163
|
+
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
164
|
+
click: (ev: Event) => true;
|
|
165
|
+
}, import('vue').PublicProps, {
|
|
166
|
+
disabled: boolean;
|
|
167
|
+
active: boolean;
|
|
168
|
+
uninjectContext: boolean;
|
|
169
|
+
}, true, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, any, import('vue').ComponentProvideOptions, {
|
|
170
|
+
P: {};
|
|
171
|
+
B: {};
|
|
172
|
+
D: {};
|
|
173
|
+
C: {};
|
|
174
|
+
M: {};
|
|
175
|
+
Defaults: {};
|
|
176
|
+
}, Readonly<import('vue').ExtractPropTypes<{
|
|
177
|
+
value: {
|
|
178
|
+
type: (StringConstructor | ObjectConstructor | NumberConstructor)[];
|
|
179
|
+
};
|
|
180
|
+
disabled: {
|
|
181
|
+
type: BooleanConstructor;
|
|
182
|
+
default: boolean;
|
|
183
|
+
};
|
|
184
|
+
active: BooleanConstructor;
|
|
185
|
+
uninjectContext: BooleanConstructor;
|
|
186
|
+
}>> & Readonly<{
|
|
187
|
+
onClick?: ((ev: Event) => any) | undefined;
|
|
188
|
+
}>, {
|
|
189
|
+
className: {
|
|
190
|
+
block: string;
|
|
191
|
+
element: (className: string) => string;
|
|
192
|
+
modifier: (className: string) => string;
|
|
193
|
+
is: (className: string) => string;
|
|
194
|
+
};
|
|
195
|
+
cls: import('vue').ComputedRef<(string | {
|
|
196
|
+
[x: string]: boolean;
|
|
197
|
+
})[]>;
|
|
198
|
+
liRef: import('vue').Ref<HTMLElement | undefined, HTMLElement | undefined>;
|
|
199
|
+
tabIndex: import('vue').ComputedRef<0 | -1>;
|
|
200
|
+
handleFocus: () => void | undefined;
|
|
201
|
+
handleClick: (ev: Event) => void;
|
|
202
|
+
handleKeydown: (ev: KeyboardEvent) => void;
|
|
203
|
+
}, {}, {}, {}, {
|
|
204
|
+
disabled: boolean;
|
|
205
|
+
active: boolean;
|
|
206
|
+
uninjectContext: boolean;
|
|
207
|
+
}> | undefined>;
|
|
65
208
|
className: {
|
|
66
209
|
block: string;
|
|
67
210
|
element: (className: string) => string;
|
|
@@ -70,6 +213,12 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
70
213
|
};
|
|
71
214
|
computedPopupVisible: import('vue').ComputedRef<boolean>;
|
|
72
215
|
handlePopupVisibleChange: (visible: boolean) => void;
|
|
216
|
+
handleTriggerKeydown: (ev: KeyboardEvent) => void;
|
|
217
|
+
panelRef: import('vue').Ref<import('./context.ts').DropdownPanelRef | undefined, import('./context.ts').DropdownPanelRef | undefined>;
|
|
218
|
+
handleShow: () => void;
|
|
219
|
+
handleTriggerFocus: (ev: FocusEvent) => void;
|
|
220
|
+
handleClose: () => void;
|
|
221
|
+
handleKeyboardSelect: (ev: Event) => void;
|
|
73
222
|
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
74
223
|
'update:popupVisible': (visible: boolean) => true;
|
|
75
224
|
/**
|
|
@@ -718,6 +867,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
718
867
|
install(app: import('vue').App): void;
|
|
719
868
|
};
|
|
720
869
|
DropdownPanel: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
|
|
870
|
+
closeOnArrowLeft: BooleanConstructor;
|
|
721
871
|
loading: {
|
|
722
872
|
type: BooleanConstructor;
|
|
723
873
|
default: boolean;
|
|
@@ -748,9 +898,12 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
748
898
|
})[]>;
|
|
749
899
|
style: import('vue').ComputedRef<import('vue').CSSProperties | undefined>;
|
|
750
900
|
wrapperRef: import('vue').Ref<HTMLElement | undefined, HTMLElement | undefined>;
|
|
901
|
+
panelElement: import('vue').Ref<HTMLElement | undefined, HTMLElement | undefined>;
|
|
902
|
+
handleKeydown: (ev: KeyboardEvent) => void;
|
|
751
903
|
handleScroll: (e: Event) => void;
|
|
752
904
|
t: (key: import('../../index.ts').LocaleKey | (string & {}), params?: Record<string, string | number>) => string;
|
|
753
|
-
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, ("scroll" | "reachBottom")[], "scroll" | "reachBottom", import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
|
|
905
|
+
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, ("close" | "scroll" | "reachBottom")[], "close" | "scroll" | "reachBottom", import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
|
|
906
|
+
closeOnArrowLeft: BooleanConstructor;
|
|
754
907
|
loading: {
|
|
755
908
|
type: BooleanConstructor;
|
|
756
909
|
default: boolean;
|
|
@@ -770,10 +923,12 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
770
923
|
type: PropType<import('../../_hooks/_types.ts').EmitType<(ev: Event) => void>>;
|
|
771
924
|
};
|
|
772
925
|
}>> & Readonly<{
|
|
926
|
+
onClose?: ((...args: any[]) => any) | undefined;
|
|
773
927
|
onScroll?: ((...args: any[]) => any) | undefined;
|
|
774
928
|
onReachBottom?: ((...args: any[]) => any) | undefined;
|
|
775
929
|
}>, {
|
|
776
930
|
loading: boolean;
|
|
931
|
+
closeOnArrowLeft: boolean;
|
|
777
932
|
isEmpty: boolean;
|
|
778
933
|
bottomOffset: number;
|
|
779
934
|
}, {}, {
|
|
@@ -1253,6 +1408,8 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
1253
1408
|
[x: string]: boolean;
|
|
1254
1409
|
})[]>;
|
|
1255
1410
|
liRef: import('vue').Ref<HTMLElement | undefined, HTMLElement | undefined>;
|
|
1411
|
+
tabIndex: import('vue').ComputedRef<0 | -1>;
|
|
1412
|
+
handleFocus: () => void | undefined;
|
|
1256
1413
|
handleClick: (ev: Event) => void;
|
|
1257
1414
|
handleKeydown: (ev: KeyboardEvent) => void;
|
|
1258
1415
|
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
@@ -1,6 +1,19 @@
|
|
|
1
|
-
import { InjectionKey } from 'vue';
|
|
1
|
+
import { InjectionKey, Ref } from 'vue';
|
|
2
2
|
export interface DropdownContext {
|
|
3
3
|
popupMaxHeight: boolean | number;
|
|
4
4
|
onOptionClick: (value: string | number | Record<string, unknown> | undefined, ev: Event) => void;
|
|
5
5
|
}
|
|
6
6
|
export declare const dropdownInjectionKey: InjectionKey<DropdownContext>;
|
|
7
|
+
export interface DropdownMenuItem {
|
|
8
|
+
element: Ref<HTMLElement | undefined>;
|
|
9
|
+
disabled: Readonly<Ref<boolean>>;
|
|
10
|
+
}
|
|
11
|
+
export interface DropdownMenuContext {
|
|
12
|
+
activeItem: Ref<DropdownMenuItem | undefined>;
|
|
13
|
+
registerItem: (item: DropdownMenuItem) => () => void;
|
|
14
|
+
setActiveItem: (item: DropdownMenuItem) => void;
|
|
15
|
+
}
|
|
16
|
+
export interface DropdownPanelRef {
|
|
17
|
+
focus: (edge?: 'first' | 'last') => boolean;
|
|
18
|
+
}
|
|
19
|
+
export declare const dropdownMenuInjectionKey: InjectionKey<DropdownMenuContext>;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { CSSProperties, PropType } from 'vue';
|
|
2
2
|
import { EmitType } from '../../_hooks/_types';
|
|
3
3
|
declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
|
|
4
|
+
closeOnArrowLeft: BooleanConstructor;
|
|
4
5
|
loading: {
|
|
5
6
|
type: BooleanConstructor;
|
|
6
7
|
default: boolean;
|
|
@@ -31,9 +32,12 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
31
32
|
})[]>;
|
|
32
33
|
style: import('vue').ComputedRef<CSSProperties | undefined>;
|
|
33
34
|
wrapperRef: import('vue').Ref<HTMLElement | undefined, HTMLElement | undefined>;
|
|
35
|
+
panelElement: import('vue').Ref<HTMLElement | undefined, HTMLElement | undefined>;
|
|
36
|
+
handleKeydown: (ev: KeyboardEvent) => void;
|
|
34
37
|
handleScroll: (e: Event) => void;
|
|
35
38
|
t: (key: import('../../locale').LocaleKey | (string & {}), params?: Record<string, string | number>) => string;
|
|
36
|
-
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, ("scroll" | "reachBottom")[], "scroll" | "reachBottom", import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
|
|
39
|
+
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, ("close" | "scroll" | "reachBottom")[], "close" | "scroll" | "reachBottom", import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
|
|
40
|
+
closeOnArrowLeft: BooleanConstructor;
|
|
37
41
|
loading: {
|
|
38
42
|
type: BooleanConstructor;
|
|
39
43
|
default: boolean;
|
|
@@ -53,10 +57,12 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
53
57
|
type: PropType<EmitType<(ev: Event) => void>>;
|
|
54
58
|
};
|
|
55
59
|
}>> & Readonly<{
|
|
60
|
+
onClose?: ((...args: any[]) => any) | undefined;
|
|
56
61
|
onScroll?: ((...args: any[]) => any) | undefined;
|
|
57
62
|
onReachBottom?: ((...args: any[]) => any) | undefined;
|
|
58
63
|
}>, {
|
|
59
64
|
loading: boolean;
|
|
65
|
+
closeOnArrowLeft: boolean;
|
|
60
66
|
isEmpty: boolean;
|
|
61
67
|
bottomOffset: number;
|
|
62
68
|
}, {}, {
|