vft 0.0.507 → 0.0.509

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.
Files changed (160) hide show
  1. package/dist/index.css +1 -1
  2. package/es/components/carousel/use-carousel.js +1 -1
  3. package/es/components/cascader/cascader.vue2.js +203 -202
  4. package/es/components/cascader-panel/menu.vue2.js +50 -49
  5. package/es/components/clamp-toggle/clamp-toggle.vue2.js +21 -17
  6. package/es/components/color-picker/color-picker.vue2.js +134 -133
  7. package/es/components/config-provider/config-provider.vue.d.ts +2 -0
  8. package/es/components/config-provider/config-provider.vue2.js +5 -4
  9. package/es/components/config-provider/constants.d.ts +1 -0
  10. package/es/components/config-provider/constants.js +3 -2
  11. package/es/components/config-provider/hooks/use-global-config.js +33 -30
  12. package/es/components/config-provider/index.d.ts +9 -0
  13. package/es/components/config-provider/index.js +6 -5
  14. package/es/components/date-picker/composables/use-basic-date-table.d.ts +1 -1
  15. package/es/components/date-picker/composables/use-basic-date-table.js +124 -123
  16. package/es/components/date-picker/composables/use-month-range-header.js +15 -14
  17. package/es/components/date-picker/composables/use-panel-date-range.js +24 -23
  18. package/es/components/date-picker/date-picker-com/basic-month-table.vue2.js +39 -38
  19. package/es/components/date-picker/date-picker-com/basic-year-table.vue2.js +39 -38
  20. package/es/components/date-picker/date-picker-com/panel-date-pick.vue2.js +179 -178
  21. package/es/components/date-picker/date-picker-com/panel-date-range.vue2.js +225 -224
  22. package/es/components/date-time-select/date-time-select.vue2.js +39 -36
  23. package/es/components/dropdown/dropdown.vue2.js +68 -67
  24. package/es/components/empty/empty.vue2.js +39 -38
  25. package/es/components/full-screen/full-screen.vue2.js +18 -17
  26. package/es/components/image/image.vue2.js +60 -59
  27. package/es/components/image-viewer/image-viewer.vue2.js +45 -44
  28. package/es/components/index.js +161 -160
  29. package/es/components/input/input.vue2.js +4 -4
  30. package/es/components/input-tag/composables/use-input-tag.js +1 -1
  31. package/es/components/md-container/md-container.vue2.js +75 -74
  32. package/es/components/md-container/toc.js +37 -36
  33. package/es/components/modal/modal-footer-action.vue2.js +25 -24
  34. package/es/components/multiple-tabs/multiple-tabs.vue2.js +16 -15
  35. package/es/components/multiple-tabs/use/use-tab-dropdown.js +54 -53
  36. package/es/components/pagination/components/jumper.vue2.js +29 -28
  37. package/es/components/pagination/components/sizes.vue2.js +21 -20
  38. package/es/components/pagination/components/total.vue2.js +11 -10
  39. package/es/components/popconfirm/popconfirm.vue2.js +40 -39
  40. package/es/components/search/search.vue2.js +79 -77
  41. package/es/components/select/useSelect.js +232 -231
  42. package/es/components/super-form/super-form-action.vue2.js +41 -40
  43. package/es/components/super-form/super-form-item.vue2.js +206 -203
  44. package/es/components/super-form/use/helper.d.ts +1 -1
  45. package/es/components/super-form/use/helper.js +62 -62
  46. package/es/components/table/field.js +130 -110
  47. package/es/components/table/table.vue2.js +152 -150
  48. package/es/components/table/use/use-columns.js +29 -26
  49. package/es/components/table/use/use-data-source.js +87 -86
  50. package/es/components/time-picker/time-picker-com/panel-time-pick.vue2.js +66 -65
  51. package/es/components/time-picker/time-picker-com/panel-time-range.vue2.js +134 -133
  52. package/es/components/transfer/transfer-panel.vue2.js +57 -56
  53. package/es/components/transfer/transfer.vue2.js +70 -69
  54. package/es/components/tree/tree.vue2.js +60 -59
  55. package/es/components/upload/index.d.ts +3 -3
  56. package/es/components/upload/upload-content.vue.d.ts +2 -2
  57. package/es/components/upload/upload-content.vue2.js +78 -75
  58. package/es/components/upload/upload-list.vue2.js +46 -45
  59. package/es/components/upload/upload.vue.d.ts +2 -2
  60. package/es/components/upload/upload.vue2.js +87 -85
  61. package/es/components/upload/utils.js +29 -29
  62. package/es/constants/date.d.ts +1 -1
  63. package/es/constants/date.js +9 -1
  64. package/es/hooks/use-z-index/index.js +3 -3
  65. package/es/index.d.ts +1 -0
  66. package/es/index.js +5 -1
  67. package/es/locale/index.d.js +1 -0
  68. package/es/locale/index.d.ts +26 -0
  69. package/es/locale/index.js +10 -0
  70. package/es/locale/lang/en.d.ts +183 -0
  71. package/es/locale/lang/en.js +241 -0
  72. package/es/locale/lang/zh-cn.d.ts +183 -0
  73. package/es/locale/lang/zh-cn.js +241 -0
  74. package/es/locale/lang/zh-tw.d.ts +183 -0
  75. package/es/locale/lang/zh-tw.js +241 -0
  76. package/es/locale/use-locale.d.ts +17 -0
  77. package/es/locale/use-locale.js +56 -0
  78. package/es/package.json.d.ts +1 -1
  79. package/es/package.json.js +1 -1
  80. package/es/utils/vue/vnode.js +1 -1
  81. package/lib/components/cascader/cascader.vue2.cjs +1 -1
  82. package/lib/components/cascader-panel/menu.vue2.cjs +4 -4
  83. package/lib/components/clamp-toggle/clamp-toggle.vue2.cjs +1 -1
  84. package/lib/components/color-picker/color-picker.vue2.cjs +1 -1
  85. package/lib/components/config-provider/config-provider.vue.d.ts +2 -0
  86. package/lib/components/config-provider/config-provider.vue2.cjs +1 -1
  87. package/lib/components/config-provider/constants.cjs +1 -1
  88. package/lib/components/config-provider/constants.d.ts +1 -0
  89. package/lib/components/config-provider/hooks/use-global-config.cjs +1 -1
  90. package/lib/components/config-provider/index.cjs +1 -1
  91. package/lib/components/config-provider/index.d.ts +9 -0
  92. package/lib/components/date-picker/composables/use-basic-date-table.cjs +1 -1
  93. package/lib/components/date-picker/composables/use-basic-date-table.d.ts +1 -1
  94. package/lib/components/date-picker/composables/use-month-range-header.cjs +1 -1
  95. package/lib/components/date-picker/composables/use-panel-date-range.cjs +1 -1
  96. package/lib/components/date-picker/date-picker-com/basic-month-table.vue2.cjs +1 -1
  97. package/lib/components/date-picker/date-picker-com/basic-year-table.vue2.cjs +1 -1
  98. package/lib/components/date-picker/date-picker-com/panel-date-pick.vue2.cjs +1 -1
  99. package/lib/components/date-picker/date-picker-com/panel-date-range.vue2.cjs +1 -1
  100. package/lib/components/date-time-select/date-time-select.vue2.cjs +1 -1
  101. package/lib/components/dropdown/dropdown.vue2.cjs +1 -1
  102. package/lib/components/empty/empty.vue2.cjs +1 -1
  103. package/lib/components/full-screen/full-screen.vue2.cjs +1 -1
  104. package/lib/components/image/image.vue2.cjs +1 -1
  105. package/lib/components/image-viewer/image-viewer.vue2.cjs +1 -1
  106. package/lib/components/index.cjs +1 -1
  107. package/lib/components/input/input.vue2.cjs +1 -1
  108. package/lib/components/md-container/md-container.vue2.cjs +1 -1
  109. package/lib/components/md-container/toc.cjs +1 -1
  110. package/lib/components/modal/modal-footer-action.vue2.cjs +1 -1
  111. package/lib/components/multiple-tabs/multiple-tabs.vue2.cjs +1 -1
  112. package/lib/components/multiple-tabs/use/use-tab-dropdown.cjs +1 -1
  113. package/lib/components/pagination/components/jumper.vue2.cjs +1 -1
  114. package/lib/components/pagination/components/sizes.vue2.cjs +1 -1
  115. package/lib/components/pagination/components/total.vue2.cjs +1 -1
  116. package/lib/components/popconfirm/popconfirm.vue2.cjs +1 -1
  117. package/lib/components/search/search.vue2.cjs +1 -1
  118. package/lib/components/select/useSelect.cjs +1 -1
  119. package/lib/components/super-form/super-form-action.vue2.cjs +1 -1
  120. package/lib/components/super-form/super-form-item.vue2.cjs +1 -1
  121. package/lib/components/super-form/use/helper.cjs +1 -1
  122. package/lib/components/super-form/use/helper.d.ts +1 -1
  123. package/lib/components/table/field.cjs +1 -1
  124. package/lib/components/table/table.vue2.cjs +1 -1
  125. package/lib/components/table/use/use-columns.cjs +1 -1
  126. package/lib/components/table/use/use-data-source.cjs +1 -1
  127. package/lib/components/time-picker/time-picker-com/panel-time-pick.vue2.cjs +1 -1
  128. package/lib/components/time-picker/time-picker-com/panel-time-range.vue2.cjs +1 -1
  129. package/lib/components/transfer/transfer-panel.vue2.cjs +1 -1
  130. package/lib/components/transfer/transfer.vue2.cjs +1 -1
  131. package/lib/components/tree/tree.vue2.cjs +1 -1
  132. package/lib/components/upload/index.d.ts +3 -3
  133. package/lib/components/upload/upload-content.vue.d.ts +2 -2
  134. package/lib/components/upload/upload-content.vue2.cjs +1 -1
  135. package/lib/components/upload/upload-list.vue2.cjs +1 -1
  136. package/lib/components/upload/upload.vue.d.ts +2 -2
  137. package/lib/components/upload/upload.vue2.cjs +1 -1
  138. package/lib/components/upload/utils.cjs +1 -1
  139. package/lib/constants/date.cjs +1 -1
  140. package/lib/constants/date.d.ts +1 -1
  141. package/lib/index.cjs +1 -1
  142. package/lib/index.d.ts +1 -0
  143. package/lib/locale/index.cjs +1 -0
  144. package/lib/locale/index.d.cjs +1 -0
  145. package/lib/locale/index.d.ts +26 -0
  146. package/lib/locale/lang/en.cjs +1 -0
  147. package/lib/locale/lang/en.d.ts +183 -0
  148. package/lib/locale/lang/zh-cn.cjs +1 -0
  149. package/lib/locale/lang/zh-cn.d.ts +183 -0
  150. package/lib/locale/lang/zh-tw.cjs +1 -0
  151. package/lib/locale/lang/zh-tw.d.ts +183 -0
  152. package/lib/locale/use-locale.cjs +1 -0
  153. package/lib/locale/use-locale.d.ts +17 -0
  154. package/lib/package.json.cjs +1 -1
  155. package/lib/package.json.d.ts +1 -1
  156. package/package.json +3 -3
  157. package/theme-style/index.css +1 -1
  158. package/theme-style/src/super-form.scss +0 -1
  159. package/theme-style/vft-super-form.css +1 -1
  160. package/web-types.json +1 -1
@@ -0,0 +1,183 @@
1
+ declare const _default: {
2
+ name: string;
3
+ vft: {
4
+ ok: string;
5
+ cancel: string;
6
+ confirm: string;
7
+ close: string;
8
+ save: string;
9
+ delete: string;
10
+ edit: string;
11
+ add: string;
12
+ search: {
13
+ placeholder: string;
14
+ };
15
+ reset: string;
16
+ submit: string;
17
+ loading: string;
18
+ noData: string;
19
+ noMatch: string;
20
+ error: string;
21
+ success: string;
22
+ warning: string;
23
+ info: string;
24
+ pagination: {
25
+ itemsPerPage: string;
26
+ };
27
+ table: {
28
+ search: string;
29
+ };
30
+ form: {
31
+ required: string;
32
+ invalidFormat: string;
33
+ submitSuccess: string;
34
+ submitFailed: string;
35
+ };
36
+ dialog: {
37
+ confirm: string;
38
+ cancel: string;
39
+ };
40
+ empty: {
41
+ notFound: string;
42
+ deleted: string;
43
+ networkDisconnect: string;
44
+ noData: string;
45
+ pageError: string;
46
+ noFilter: string;
47
+ noSearch: string;
48
+ };
49
+ popconfirm: {
50
+ confirm: string;
51
+ cancel: string;
52
+ };
53
+ superForm: {
54
+ reset: string;
55
+ submit: string;
56
+ cancel: string;
57
+ };
58
+ tree: {
59
+ emptyText: string;
60
+ };
61
+ timePicker: {
62
+ cancel: string;
63
+ confirm: string;
64
+ };
65
+ transfer: {
66
+ filterPlaceholder: string;
67
+ };
68
+ modal: {
69
+ confirm: string;
70
+ cancel: string;
71
+ };
72
+ multipleTabs: {
73
+ unpin: string;
74
+ refresh: string;
75
+ openInNewTab: string;
76
+ closeTab: string;
77
+ closeLeft: string;
78
+ closeRight: string;
79
+ closeOther: string;
80
+ closeAll: string;
81
+ fullScreen: string;
82
+ standalone: string;
83
+ pin: string;
84
+ };
85
+ cascader: {
86
+ placeholder: string;
87
+ noData: string;
88
+ };
89
+ clampToggle: {
90
+ expand: string;
91
+ collapse: string;
92
+ };
93
+ colorPicker: {
94
+ ariaDescription: string;
95
+ label: string;
96
+ };
97
+ datePicker: {
98
+ dateTableLabel: string;
99
+ monthTableLabel: string;
100
+ yearTableLabel: string;
101
+ selectDate: string;
102
+ selectTime: string;
103
+ year: string;
104
+ startDate: string;
105
+ startTime: string;
106
+ endDate: string;
107
+ endTime: string;
108
+ weekSunday: string;
109
+ weekMonday: string;
110
+ weekTuesday: string;
111
+ weekWednesday: string;
112
+ weekThursday: string;
113
+ weekFriday: string;
114
+ weekSaturday: string;
115
+ };
116
+ dateTimeSelect: {
117
+ placeholder: string;
118
+ };
119
+ dropdown: {
120
+ ariaLabel: string;
121
+ };
122
+ fullScreen: {
123
+ enter: string;
124
+ exit: string;
125
+ };
126
+ imageViewer: {
127
+ loadFailed: string;
128
+ };
129
+ mdContainer: {
130
+ publishTime: string;
131
+ readCount: string;
132
+ tableOfContents: string;
133
+ };
134
+ select: {
135
+ loading: string;
136
+ noMatch: string;
137
+ noData: string;
138
+ placeholder: string;
139
+ };
140
+ superFormPlaceholder: {
141
+ input: string;
142
+ password: string;
143
+ select: string;
144
+ checkbox: string;
145
+ search: string;
146
+ tag: string;
147
+ upload: string;
148
+ slider: string;
149
+ time: string;
150
+ startTime: string;
151
+ endTime: string;
152
+ startDate: string;
153
+ endDate: string;
154
+ startMonth: string;
155
+ endMonth: string;
156
+ };
157
+ superFormError: {
158
+ componentPropsError: string;
159
+ fetchRemoteDataError: string;
160
+ };
161
+ tableError: {
162
+ noDataToExpand: string;
163
+ };
164
+ transferExtend: {
165
+ noMatch: string;
166
+ noData: string;
167
+ list1: string;
168
+ list2: string;
169
+ };
170
+ upload: {
171
+ sizeExceed: string;
172
+ sizeCheckFailed: string;
173
+ typeNotSupported: string;
174
+ imageLoadFailed: string;
175
+ videoLoadFailed: string;
176
+ defaultSizeMessage: string;
177
+ defaultSizeCheckMessage: string;
178
+ defaultTypeCheckMessage: string;
179
+ deleteKeyTip: string;
180
+ };
181
+ };
182
+ };
183
+ export default _default;
@@ -0,0 +1,241 @@
1
+ const e = {
2
+ name: "zh-tw",
3
+ vft: {
4
+ // 通用
5
+ ok: "確定",
6
+ cancel: "取消",
7
+ confirm: "確認",
8
+ close: "關閉",
9
+ save: "保存",
10
+ delete: "刪除",
11
+ edit: "編輯",
12
+ add: "添加",
13
+ search: "搜尋",
14
+ reset: "重置",
15
+ submit: "提交",
16
+ loading: "加載中",
17
+ noData: "暫無數據",
18
+ noMatch: "無匹配數據",
19
+ error: "錯誤",
20
+ success: "成功",
21
+ warning: "警告",
22
+ info: "提示",
23
+ // 分頁
24
+ pagination: {
25
+ goto: "前往",
26
+ pagesize: "條/頁",
27
+ total: "共 {total} 條",
28
+ pageClassifier: "頁"
29
+ },
30
+ // 表格
31
+ table: {
32
+ emptyText: "暫無數據",
33
+ confirmDeleteRecord: "此操作將永久刪除該記錄,是否繼續?",
34
+ deleteSuccess: "刪除成功",
35
+ deleteFailed: "刪除失敗",
36
+ search: "搜尋",
37
+ seq: "序號",
38
+ name: "名稱",
39
+ time: "時間",
40
+ createTime: "建立時間",
41
+ updateTime: "更新時間",
42
+ status: "狀態",
43
+ statusNormal: "正常",
44
+ statusDisabled: "禁用",
45
+ actionColumn: "操作欄",
46
+ edit: "編輯",
47
+ delete: "刪除",
48
+ confirmDelete: "確認刪除?"
49
+ },
50
+ // 表單
51
+ form: {
52
+ required: "此項為必填項",
53
+ invalidFormat: "格式不正確",
54
+ submitSuccess: "提交成功",
55
+ submitFailed: "提交失敗"
56
+ },
57
+ // 對話框
58
+ dialog: {
59
+ confirm: "確定",
60
+ cancel: "取消"
61
+ },
62
+ // Empty 組件
63
+ empty: {
64
+ notFound: "頁面不存在",
65
+ deleted: "已刪除",
66
+ networkDisconnect: "網路已斷開",
67
+ noData: "暫無數據",
68
+ pageError: "系統異常",
69
+ noFilter: "此篩選條件下無結果",
70
+ noSearch: "沒有搜尋結果"
71
+ },
72
+ // Popconfirm 組件
73
+ popconfirm: {
74
+ confirm: "確認",
75
+ cancel: "取消"
76
+ },
77
+ // SuperForm 組件
78
+ superForm: {
79
+ reset: "重置",
80
+ submit: "確認",
81
+ cancel: "取消"
82
+ },
83
+ // Tree 組件
84
+ tree: {
85
+ emptyText: "暫無數據"
86
+ },
87
+ // TimePicker 組件
88
+ timePicker: {
89
+ cancel: "取消",
90
+ confirm: "確認"
91
+ },
92
+ // Transfer 組件
93
+ transfer: {
94
+ filterPlaceholder: "請輸入搜尋內容"
95
+ },
96
+ // Search 組件
97
+ search: {
98
+ placeholder: "請輸入你要搜尋的內容"
99
+ },
100
+ // Table 組件
101
+ table: {
102
+ search: "搜尋"
103
+ },
104
+ // Modal 組件
105
+ modal: {
106
+ confirm: "確認",
107
+ cancel: "取消"
108
+ },
109
+ // MultipleTabs 組件
110
+ multipleTabs: {
111
+ unpin: "取消固定",
112
+ refresh: "刷新",
113
+ openInNewTab: "新頁面打開",
114
+ closeTab: "關閉標籤頁",
115
+ closeLeft: "關閉左側標籤頁",
116
+ closeRight: "關閉右側標籤頁",
117
+ closeOther: "關閉其它標籤頁",
118
+ closeAll: "關閉所有標籤頁",
119
+ fullScreen: "全屏",
120
+ standalone: "獨立頁面",
121
+ pin: "固定"
122
+ },
123
+ // Cascader 組件
124
+ cascader: {
125
+ placeholder: "請選擇",
126
+ noData: "無匹配數據"
127
+ },
128
+ // ClampToggle 組件
129
+ clampToggle: {
130
+ expand: "展開",
131
+ collapse: "收縮"
132
+ },
133
+ // ColorPicker 組件
134
+ colorPicker: {
135
+ ariaDescription: "目前色彩為 {color}。按一下 Enter 以選擇新色彩",
136
+ label: "色彩選擇器"
137
+ },
138
+ // DatePicker 組件
139
+ datePicker: {
140
+ dateTableLabel: "使用方向鍵與 Enter 鍵可選擇日期",
141
+ monthTableLabel: "使用方向鍵與 Enter 鍵可選擇月份",
142
+ yearTableLabel: "使用方向鍵與 Enter 鍵以選擇年份",
143
+ selectDate: "選擇日期",
144
+ selectTime: "選擇時間",
145
+ year: "年",
146
+ startDate: "開始日期",
147
+ startTime: "開始時間",
148
+ endDate: "結束日期",
149
+ endTime: "結束時間",
150
+ weekSunday: "日",
151
+ weekMonday: "一",
152
+ weekTuesday: "二",
153
+ weekWednesday: "三",
154
+ weekThursday: "四",
155
+ weekFriday: "五",
156
+ weekSaturday: "六"
157
+ },
158
+ // DateTimeSelect 組件
159
+ dateTimeSelect: {
160
+ placeholder: "請選擇時間"
161
+ },
162
+ // Dropdown 組件
163
+ dropdown: {
164
+ ariaLabel: "切換下拉菜單"
165
+ },
166
+ // FullScreen 組件
167
+ fullScreen: {
168
+ enter: "全屏",
169
+ exit: "退出全屏"
170
+ },
171
+ // ImageViewer 組件
172
+ imageViewer: {
173
+ loadFailed: "加載失敗"
174
+ },
175
+ // MdContainer 組件
176
+ mdContainer: {
177
+ publishTime: "發佈時間",
178
+ readCount: "閱讀量",
179
+ tableOfContents: "此頁內容"
180
+ },
181
+ // Pagination 組件
182
+ pagination: {
183
+ itemsPerPage: "條/頁"
184
+ },
185
+ // Select 組件
186
+ select: {
187
+ loading: "加載中",
188
+ noMatch: "無匹配數據",
189
+ noData: "暫無數據",
190
+ placeholder: "請選擇"
191
+ },
192
+ // SuperForm 組件 - 擴展
193
+ superFormPlaceholder: {
194
+ input: "請輸入",
195
+ password: "請輸入密碼",
196
+ select: "請選擇",
197
+ checkbox: "請勾選",
198
+ search: "請輸入要搜尋的內容",
199
+ tag: "請輸入標籤內容",
200
+ upload: "請選擇上傳文件",
201
+ slider: "請拖動滑塊",
202
+ time: "請選擇時間",
203
+ startTime: "開始時間",
204
+ endTime: "結束時間",
205
+ startDate: "開始日期",
206
+ endDate: "結束日期",
207
+ startMonth: "開始月份",
208
+ endMonth: "結束月份"
209
+ },
210
+ superFormError: {
211
+ componentPropsError: "componentProps 執行錯誤:",
212
+ fetchRemoteDataError: "fetchRemoteData 執行錯誤:"
213
+ },
214
+ // Table 組件 - 擴展
215
+ tableError: {
216
+ noDataToExpand: "expandTreeLevel: 沒有數據可展開"
217
+ },
218
+ // Transfer 組件 - 擴展
219
+ transferExtend: {
220
+ noMatch: "無匹配數據",
221
+ noData: "無數據",
222
+ list1: "列表 1",
223
+ list2: "列表 2"
224
+ },
225
+ // Upload 組件
226
+ upload: {
227
+ sizeExceed: "文件大小超出限制",
228
+ sizeCheckFailed: "尺寸校驗失敗:",
229
+ typeNotSupported: "文件類型不支持尺寸校驗",
230
+ imageLoadFailed: "圖片加載失敗",
231
+ videoLoadFailed: "視頻加載失敗",
232
+ defaultSizeMessage: "默認文件大小超出提示:",
233
+ defaultSizeCheckMessage: "默認尺寸校驗提示:",
234
+ defaultTypeCheckMessage: "默認文件類型校驗提示:",
235
+ deleteKeyTip: "按 delete 鍵可刪除"
236
+ }
237
+ }
238
+ };
239
+ export {
240
+ e as default
241
+ };
@@ -0,0 +1,17 @@
1
+ import type { Language } from './index';
2
+ export type LocaleType = 'zh-cn' | 'en' | 'zh-tw';
3
+ export declare const localeContextKey: unique symbol;
4
+ /**
5
+ * 使用国际化 hook
6
+ * @param defaultLocale 默认语言(仅在未通过 ConfigProvider 注入时生效)
7
+ * @returns 语言对象和切换函数
8
+ */
9
+ export declare function useLocale(defaultLocale?: LocaleType): {
10
+ locale: import("vue").ComputedRef<Language>;
11
+ currentLocale: import("vue").ComputedRef<string>;
12
+ setLocale: (lang: LocaleType) => void;
13
+ getLocale: () => Language;
14
+ getCurrentLocale: () => string;
15
+ t: (key: string, defaultValue?: string) => any;
16
+ };
17
+ export default useLocale;
@@ -0,0 +1,56 @@
1
+ import { ref as f, inject as d, computed as u } from "vue";
2
+ import m from "./lang/zh-cn.js";
3
+ import j from "./lang/en.js";
4
+ import w from "./lang/zh-tw.js";
5
+ const l = {
6
+ "zh-cn": m,
7
+ en: j,
8
+ "zh-tw": w
9
+ }, s = f("zh-cn"), n = f(m), x = Symbol("vftLocale");
10
+ function S(i = "zh-cn") {
11
+ const o = d(x, void 0);
12
+ if (o?.value) {
13
+ const e = (t) => {
14
+ l[t] && o && (o.value = l[t]);
15
+ }, r = (t, c) => {
16
+ const v = t.split(".");
17
+ let a = o.value;
18
+ for (const C of v)
19
+ if (a = a?.[C], a === void 0)
20
+ return c || t;
21
+ return a || c || t;
22
+ };
23
+ return {
24
+ locale: u(() => o.value),
25
+ currentLocale: u(() => o.value?.name || "zh-cn"),
26
+ setLocale: e,
27
+ getLocale: () => o.value,
28
+ getCurrentLocale: () => o.value?.name || "zh-cn",
29
+ t: r
30
+ };
31
+ }
32
+ s.value = i, n.value = l[i];
33
+ const L = (e) => {
34
+ l[e] && (s.value = e, n.value = l[e]);
35
+ }, p = () => n.value, h = () => s.value, z = (e, r) => {
36
+ const t = e.split(".");
37
+ let c = n.value;
38
+ for (const v of t)
39
+ if (c = c?.[v], c === void 0)
40
+ return r || e;
41
+ return c || r || e;
42
+ };
43
+ return {
44
+ locale: u(() => n.value),
45
+ currentLocale: u(() => s.value),
46
+ setLocale: L,
47
+ getLocale: p,
48
+ getCurrentLocale: h,
49
+ t: z
50
+ };
51
+ }
52
+ export {
53
+ S as default,
54
+ x as localeContextKey,
55
+ S as useLocale
56
+ };
@@ -1,6 +1,6 @@
1
1
  declare const _default: {
2
2
  "name": "vft",
3
- "version": "0.0.507",
3
+ "version": "0.0.509",
4
4
  "license": "MIT",
5
5
  "main": "lib/index.cjs",
6
6
  "module": "es/index.js",
@@ -1,4 +1,4 @@
1
- const o = "0.0.507";
1
+ const o = "0.0.509";
2
2
  export {
3
3
  o as version
4
4
  };
@@ -1,4 +1,4 @@
1
- import { hasOwn as m, camelize as N, isArray as E } from "@vft/utils";
1
+ import { isArray as E, hasOwn as m, camelize as N } from "@vft/utils";
2
2
  import { isVNode as o, Fragment as S, Comment as A, Text as s, createCommentVNode as L, createBlock as _, openBlock as C } from "vue";
3
3
  import { debugWarn as O } from "../error.js";
4
4
  const R = "utils/vue/vnode";
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),se=require("lodash-es"),ne=require("@vueuse/core"),ae=require("../../utils/dom/aria.cjs"),re=require("@vft/utils"),Fe=require("../../utils/error.cjs");require("../config-provider/hooks/use-global-config.cjs");const p=require("../../constants/aria.cjs"),ie=require("../../constants/event.cjs");require("../form/index.cjs");const Me=require("../cascader-panel/index.cjs"),Ae=require("../input/index.cjs"),ue=require("../tooltip/index.cjs"),ce=require("../scrollbar/index.cjs"),pe=require("../tag/index.cjs"),K=require("../icon/index.cjs"),Ke=require("@vft/directives"),de=require("../../hooks/use-namespace/index.cjs");require("../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../hooks/use-z-index/index.cjs");const He=require("../../hooks/use-composition/index.cjs"),Le=require("../../hooks/use-empty-values/index.cjs"),fe=require("./cascader.cjs"),Re=require("../form/hooks/use-form-item.cjs"),We=require("../form/hooks/use-form-common-props.cjs"),Ue={key:0},je=["placeholder"],Ge=["onClick"],Je="VftCascader",Qe=e.defineComponent({name:Je}),Xe=e.defineComponent({...Qe,props:fe.cascaderProps,emits:fe.cascaderEmits,setup(ve,{expose:me,emit:ge}){const n=ve,f=ge,he={modifiers:[{name:"arrowPosition",enabled:!0,phase:"main",fn:({state:t})=>{const{modifiersData:l,placement:o}=t;["right","left","bottom","top"].includes(o)||l.arrow&&(l.arrow.x=35)},requires:["arrow"]}]},H=e.useAttrs();let E=0,D=0;const a=de.useNamespace("cascader"),q=de.useNamespace("input"),{form:ke,formItem:L}=Re.useFormItem(),{valueOnClear:Ce}=Le.useEmptyValues(n),{isComposing:R,handleComposition:d}=He.useComposition({afterComposition(t){const l=t.target?.value;A(l)}}),b=e.ref(null),C=e.ref(null),W=e.ref(null),u=e.ref(null),V=e.ref(null),c=e.ref(!1),U=e.ref(!1),v=e.ref(!1),z=e.ref(!1),w=e.ref(""),h=e.ref(""),k=e.ref([]),T=e.ref([]),P=e.ref([]),Ee=e.computed(()=>H.style),m=e.computed(()=>n.disabled||ke?.disabled),j=e.computed(()=>n.placeholder??"请选择"),ye=e.computed(()=>h.value||k.value.length>0||R.value?"":j.value),N=We.useFormSize(),G=e.computed(()=>N.value==="small"?"small":"default"),g=e.computed(()=>!!n.props.multiple),J=e.computed(()=>!n.filterable||g.value),Q=e.computed(()=>g.value?h.value:w.value),X=[],B=e.computed(()=>{const t=u.value;if(!t)return X;const l=t.checkedNodes,o=e.unref(l);return Array.isArray(o)&&o.length?o:X}),be=e.computed(()=>!n.clearable||m.value||v.value?!1:!!B.value.length),S=e.computed(()=>{const{showAllLevels:t,separator:l}=n,o=B.value;return o.length?g.value?"":o[0].calcText(t,l):""}),Ve=e.computed(()=>L?.validateState||""),Y=e.computed({get(){return se.cloneDeep(n.modelValue)},set(t){const l=t??Ce.value;f(ie.UPDATE_MODEL_EVENT,l),f(ie.CHANGE_EVENT,l),n.validateEvent&&L?.validate("change").catch(o=>Fe.debugWarn(o))}}),we=e.computed(()=>[a.b(),a.m(N.value),a.is("disabled",m.value),H.class]),Te=e.computed(()=>[q.e("icon"),a.is("reverse",c.value)]),Ne=e.computed(()=>a.is("focus",c.value||z.value)),Z=e.computed(()=>b.value?.popperRef?.contentRef),i=t=>{m.value||(t=t??!c.value,t!==c.value&&(c.value=t,C.value?.input?.setAttribute("aria-expanded",`${t}`),t?(y(),e.nextTick(u.value?.scrollToExpandingNode)):n.filterable&&M(),f("visibleChange",t)))},y=()=>{e.nextTick(()=>{b.value?.updatePopper()})},I=()=>{v.value=!1},O=t=>{const{showAllLevels:l,separator:o}=n;return{node:t,key:t.uid,text:t.calcText(l,o),hitState:!1,closable:!m.value&&!t.isDisabled,isCollapseTag:!1}},$=t=>{const l=t.node;l.doCheck(!1),u.value?.calculateCheckedValue(),f("removeTag",l.valueByOption)},Be=()=>{switch(n.showCheckedStrategy){case"child":return B.value;case"parent":{const t=ee(!1),l=t.map(s=>s.value);return t.filter(s=>!s.parent||!l.includes(s.parent.value))}default:return[]}},Se=()=>{if(!g.value)return;const t=Be(),l=[],o=[];if(t.forEach(s=>o.push(O(s))),T.value=o,t.length){t.slice(0,n.maxCollapseTags).forEach(x=>l.push(O(x)));const s=t.slice(n.maxCollapseTags),r=s.length;r&&(n.collapseTags?l.push({key:-1,text:`+ ${r}`,closable:!1,isCollapseTag:!0}):s.forEach(x=>l.push(O(x))))}k.value=l},_=()=>{const{filterMethod:t,showAllLevels:l,separator:o}=n,s=u.value?.getFlattedNodes(!n.props.checkStrictly)?.filter(r=>r.isDisabled?!1:(r.calcText(l,o),t(r,Q.value)));g.value&&(k.value.forEach(r=>{r.hitState=!1}),T.value.forEach(r=>{r.hitState=!1})),v.value=!0,P.value=s,y()},$e=()=>{let t;v.value&&V.value?t=V.value.$el.querySelector(`.${a.e("suggestion-item")}`):t=u.value?.$el.querySelector(`.${a.b("node")}[tabindex="-1"]`),t&&(t.focus(),!v.value&&t.click())},F=()=>{const t=C.value?.input,l=W.value,o=V.value?.$el;if(!(!re.isClient||!t)){if(o){const s=o.querySelector(`.${a.e("suggestion-list")}`);s.style.minWidth=`${t.offsetWidth}px`}if(l){const{offsetHeight:s}=l,r=k.value.length>0?`${Math.max(s,E)-2}px`:`${E}px`;t.style.height=r,y()}}},ee=t=>u.value?.getCheckedNodes(t),xe=t=>{y(),f("expandChange",t)},De=t=>{if(!R.value)switch(t.code){case p.EVENT_CODE.enter:case p.EVENT_CODE.numpadEnter:i();break;case p.EVENT_CODE.down:i(!0),e.nextTick($e),t.preventDefault();break;case p.EVENT_CODE.esc:c.value===!0&&(t.preventDefault(),t.stopPropagation(),i(!1));break;case p.EVENT_CODE.tab:i(!1);break}},qe=()=>{u.value?.clearCheckedNodes(),!c.value&&n.filterable&&M(),i(!1),f("clear")},M=()=>{const{value:t}=S;w.value=t,h.value=t},ze=t=>{const{checked:l}=t;g.value?u.value?.handleCheckChange(t,!l,!1):(!l&&u.value?.handleCheckChange(t,!0,!1),i(!1))},Pe=t=>{const l=t.target,{code:o}=t;switch(o){case p.EVENT_CODE.up:case p.EVENT_CODE.down:{t.preventDefault();const s=o===p.EVENT_CODE.up?-1:1;ae.focusNode(ae.getSibling(l,s,`.${a.e("suggestion-item")}[tabindex="-1"]`));break}case p.EVENT_CODE.enter:case p.EVENT_CODE.numpadEnter:l.click();break}},Ie=()=>{const t=k.value,l=t[t.length-1];D=h.value?0:D+1,!(!l||!D||n.collapseTags&&t.length>1)&&(l.hitState?$(l):l.hitState=!0)},te=t=>{z.value=!0,f("focus",t)},le=t=>{e.nextTick(()=>{const l=C.value?.$el,o=document.activeElement;l?.contains(o)||b.value?.isFocusInsideContent?.(t)||(z.value=!1)}),f("blur",t)},Oe=se.debounce(()=>{const{value:t}=Q;if(!t)return;const l=n.beforeFilter(t);re.isPromise(l)?l.then(_).catch(()=>{}):l!==!1?_():I()},n.debounce),A=(t,l)=>{!c.value&&i(!0),!l?.isComposing&&(t?Oe():I())},oe=t=>Number.parseFloat(ne.useCssVar(q.cssVarName("input-height"),t).value)-2;return e.watch(v,y),e.watch([B,m,()=>n.collapseTags],Se),e.watch(k,()=>{e.nextTick(()=>F())}),e.watch(N,async()=>{await e.nextTick();const t=C.value.input;E=oe(t)||E,F()}),e.watch(S,M,{immediate:!0}),e.onMounted(()=>{const t=C.value.input,l=oe(t);E=t.offsetHeight||l,ne.useResizeObserver(t,F)}),me({getCheckedNodes:ee,cascaderPanelRef:u,togglePopperVisible:i,contentRef:Z,presentText:S}),(t,l)=>(e.openBlock(),e.createBlock(e.unref(ue.VftTooltip),{ref_key:"tooltipRef",ref:b,visible:c.value,teleported:t.teleported,"popper-class":[e.unref(a).e("dropdown"),t.popperClass],"popper-options":he,"fallback-placements":t.fallbackPlacements,"stop-popper-mouse-event":!1,"gpu-acceleration":!1,placement:t.placement,transition:`${e.unref(a).namespace.value}-zoom-in-top`,effect:t.effect,pure:"",persistent:t.persistent,onHide:I},{default:e.withCtx(()=>[e.withDirectives((e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(we.value),style:e.normalizeStyle(Ee.value),onClick:l[8]||(l[8]=()=>i(J.value?void 0:!0)),onKeydown:De,onMouseenter:l[9]||(l[9]=o=>U.value=!0),onMouseleave:l[10]||(l[10]=o=>U.value=!1)},[e.createVNode(e.unref(Ae.VftInput),{ref_key:"input",ref:C,modelValue:w.value,"onUpdate:modelValue":l[1]||(l[1]=o=>w.value=o),placeholder:ye.value,readonly:J.value,disabled:m.value,"validate-event":!1,size:e.unref(N),class:e.normalizeClass(Ne.value),tabindex:g.value&&t.filterable&&!m.value?-1:void 0,onCompositionstart:e.unref(d),onCompositionupdate:e.unref(d),onCompositionend:e.unref(d),onFocus:te,onBlur:le,onInput:A},e.createSlots({suffix:e.withCtx(()=>[be.value?(e.openBlock(),e.createBlock(e.unref(K.VftIcon),{key:"clear",icon:"icon-circle-close",class:e.normalizeClass(["icon-circle-close",[e.unref(q).e("icon")]]),onClick:e.withModifiers(qe,["stop"])},null,8,["class"])):(e.openBlock(),e.createBlock(e.unref(K.VftIcon),{icon:"icon-arrow-down",key:"arrow-down",class:e.normalizeClass(Te.value),onClick:l[0]||(l[0]=e.withModifiers(o=>i(),["stop"]))},null,8,["class"]))]),_:2},[t.$slots.prefix?{name:"prefix",fn:e.withCtx(()=>[e.renderSlot(t.$slots,"prefix")]),key:"0"}:void 0]),1032,["modelValue","placeholder","readonly","disabled","size","class","tabindex","onCompositionstart","onCompositionupdate","onCompositionend"]),g.value?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"tagWrapper",ref:W,class:e.normalizeClass([e.unref(a).e("tags"),e.unref(a).is("validate",!!Ve.value)])},[e.renderSlot(t.$slots,"tag",{data:T.value,deleteTag:$},()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(k.value,o=>(e.openBlock(),e.createBlock(e.unref(pe.VftTag),{key:o.key,type:t.tagType,size:G.value,effect:t.tagEffect,hit:o.hitState,closable:o.closable,"disable-transitions":"",onClose:s=>$(o)},{default:e.withCtx(()=>[o.isCollapseTag===!1?(e.openBlock(),e.createElementBlock("span",Ue,e.toDisplayString(o.text),1)):(e.openBlock(),e.createBlock(e.unref(ue.VftTooltip),{key:1,disabled:c.value||!t.collapseTagsTooltip,"fallback-placements":["bottom","top","right","left"],placement:"bottom",effect:t.effect},{default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(o.text),1)]),content:e.withCtx(()=>[e.createVNode(e.unref(ce.VftScrollbar),{"max-height":t.maxCollapseTagsTooltipHeight},{default:e.withCtx(()=>[e.createElementVNode("div",{class:e.normalizeClass(e.unref(a).e("collapse-tags"))},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(T.value.slice(t.maxCollapseTags),(s,r)=>(e.openBlock(),e.createElementBlock("div",{key:r,class:e.normalizeClass(e.unref(a).e("collapse-tag"))},[(e.openBlock(),e.createBlock(e.unref(pe.VftTag),{key:s.key,class:"in-tooltip",type:t.tagType,size:G.value,effect:t.tagEffect,hit:s.hitState,closable:s.closable,"disable-transitions":"",onClose:x=>$(s)},{default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(s.text),1)]),_:2},1032,["type","size","effect","hit","closable","onClose"]))],2))),128))],2)]),_:1},8,["max-height"])]),_:2},1032,["disabled","effect"]))]),_:2},1032,["type","size","effect","hit","closable","onClose"]))),128))]),t.filterable&&!m.value?e.withDirectives((e.openBlock(),e.createElementBlock("input",{key:0,"onUpdate:modelValue":l[2]||(l[2]=o=>h.value=o),type:"text",class:e.normalizeClass(e.unref(a).e("search-input")),placeholder:S.value?"":j.value,onInput:l[3]||(l[3]=o=>A(h.value,o)),onClick:l[4]||(l[4]=e.withModifiers(o=>i(!0),["stop"])),onKeydown:e.withKeys(Ie,["delete"]),onCompositionstart:l[5]||(l[5]=(...o)=>e.unref(d)&&e.unref(d)(...o)),onCompositionupdate:l[6]||(l[6]=(...o)=>e.unref(d)&&e.unref(d)(...o)),onCompositionend:l[7]||(l[7]=(...o)=>e.unref(d)&&e.unref(d)(...o)),onFocus:te,onBlur:le},null,42,je)),[[e.vModelText,h.value]]):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0)],38)),[[e.unref(Ke.ClickOutside),()=>i(!1),Z.value]])]),content:e.withCtx(()=>[t.$slots.header?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(a).e("header")),onClick:l[11]||(l[11]=e.withModifiers(()=>{},["stop"]))},[e.renderSlot(t.$slots,"header")],2)):e.createCommentVNode("",!0),e.withDirectives(e.createVNode(e.unref(Me.VftCascaderPanel),{ref_key:"cascaderPanelRef",ref:u,modelValue:Y.value,"onUpdate:modelValue":l[12]||(l[12]=o=>Y.value=o),options:t.options,props:n.props,border:!1,"render-label":t.$slots.default,onExpandChange:xe,onClose:l[13]||(l[13]=o=>t.$nextTick(()=>i(!1)))},{empty:e.withCtx(()=>[e.renderSlot(t.$slots,"empty")]),_:3},8,["modelValue","options","props","render-label"]),[[e.vShow,!v.value]]),t.filterable?e.withDirectives((e.openBlock(),e.createBlock(e.unref(ce.VftScrollbar),{key:1,ref_key:"suggestionPanel",ref:V,tag:"ul",class:e.normalizeClass(e.unref(a).e("suggestion-panel")),"view-class":e.unref(a).e("suggestion-list"),onKeydown:Pe},{default:e.withCtx(()=>[P.value.length?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(P.value,o=>(e.openBlock(),e.createElementBlock("li",{key:o.uid,class:e.normalizeClass([e.unref(a).e("suggestion-item"),e.unref(a).is("checked",o.checked)]),tabindex:-1,onClick:s=>ze(o)},[e.renderSlot(t.$slots,"suggestion-item",{item:o},()=>[e.createElementVNode("span",null,e.toDisplayString(o.text),1),o.checked?(e.openBlock(),e.createBlock(e.unref(K.VftIcon),{key:0,icon:"icon-check"})):e.createCommentVNode("",!0)])],10,Ge))),128)):e.renderSlot(t.$slots,"empty",{key:1},()=>[e.createElementVNode("li",{class:e.normalizeClass(e.unref(a).e("empty-text"))},"无匹配数据",2)])]),_:3},8,["class","view-class"])),[[e.vShow,v.value]]):e.createCommentVNode("",!0),t.$slots.footer?(e.openBlock(),e.createElementBlock("div",{key:2,class:e.normalizeClass(e.unref(a).e("footer")),onClick:l[14]||(l[14]=e.withModifiers(()=>{},["stop"]))},[e.renderSlot(t.$slots,"footer")],2)):e.createCommentVNode("",!0)]),_:3},8,["visible","teleported","popper-class","fallback-placements","placement","transition","effect","persistent"]))}});exports.default=Xe;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),ne=require("lodash-es"),ae=require("@vueuse/core"),re=require("../../utils/dom/aria.cjs"),ie=require("@vft/utils"),Me=require("../../utils/error.cjs");require("../config-provider/hooks/use-global-config.cjs");const p=require("../../constants/aria.cjs"),ue=require("../../constants/event.cjs");require("../form/index.cjs");const Ae=require("../cascader-panel/index.cjs"),Le=require("../input/index.cjs"),ce=require("../tooltip/index.cjs"),pe=require("../scrollbar/index.cjs"),de=require("../tag/index.cjs"),L=require("../icon/index.cjs"),Ke=require("@vft/directives"),fe=require("../../hooks/use-namespace/index.cjs");require("../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../hooks/use-z-index/index.cjs");const He=require("../../hooks/use-composition/index.cjs"),Re=require("../../hooks/use-empty-values/index.cjs"),We=require("../../locale/use-locale.cjs"),ve=require("./cascader.cjs"),Ue=require("../form/hooks/use-form-item.cjs"),je=require("../form/hooks/use-form-common-props.cjs"),Ge={key:0},Je=["placeholder"],Qe=["onClick"],Xe="VftCascader",Ye=e.defineComponent({name:Xe}),Ze=e.defineComponent({...Ye,props:ve.cascaderProps,emits:ve.cascaderEmits,setup(me,{expose:ge,emit:he}){const n=me,f=he,ke={modifiers:[{name:"arrowPosition",enabled:!0,phase:"main",fn:({state:t})=>{const{modifiersData:l,placement:o}=t;["right","left","bottom","top"].includes(o)||l.arrow&&(l.arrow.x=35)},requires:["arrow"]}]},K=e.useAttrs(),{t:H}=We.useLocale();let E=0,D=0;const a=fe.useNamespace("cascader"),q=fe.useNamespace("input"),{form:Ce,formItem:R}=Ue.useFormItem(),{valueOnClear:Ee}=Re.useEmptyValues(n),{isComposing:W,handleComposition:d}=He.useComposition({afterComposition(t){const l=t.target?.value;A(l)}}),b=e.ref(null),C=e.ref(null),U=e.ref(null),u=e.ref(null),V=e.ref(null),c=e.ref(!1),j=e.ref(!1),v=e.ref(!1),z=e.ref(!1),w=e.ref(""),h=e.ref(""),k=e.ref([]),T=e.ref([]),P=e.ref([]),ye=e.computed(()=>K.style),m=e.computed(()=>n.disabled||Ce?.disabled),G=e.computed(()=>n.placeholder??H("vft.cascader.placeholder")),be=e.computed(()=>h.value||k.value.length>0||W.value?"":G.value),N=je.useFormSize(),J=e.computed(()=>N.value==="small"?"small":"default"),g=e.computed(()=>!!n.props.multiple),Q=e.computed(()=>!n.filterable||g.value),X=e.computed(()=>g.value?h.value:w.value),Y=[],S=e.computed(()=>{const t=u.value;if(!t)return Y;const l=t.checkedNodes,o=e.unref(l);return Array.isArray(o)&&o.length?o:Y}),Ve=e.computed(()=>!n.clearable||m.value||v.value?!1:!!S.value.length),B=e.computed(()=>{const{showAllLevels:t,separator:l}=n,o=S.value;return o.length?g.value?"":o[0].calcText(t,l):""}),we=e.computed(()=>R?.validateState||""),Z=e.computed({get(){return ne.cloneDeep(n.modelValue)},set(t){const l=t??Ee.value;f(ue.UPDATE_MODEL_EVENT,l),f(ue.CHANGE_EVENT,l),n.validateEvent&&R?.validate("change").catch(o=>Me.debugWarn(o))}}),Te=e.computed(()=>[a.b(),a.m(N.value),a.is("disabled",m.value),K.class]),Ne=e.computed(()=>[q.e("icon"),a.is("reverse",c.value)]),Se=e.computed(()=>a.is("focus",c.value||z.value)),_=e.computed(()=>b.value?.popperRef?.contentRef),i=t=>{m.value||(t=t??!c.value,t!==c.value&&(c.value=t,C.value?.input?.setAttribute("aria-expanded",`${t}`),t?(y(),e.nextTick(u.value?.scrollToExpandingNode)):n.filterable&&M(),f("visibleChange",t)))},y=()=>{e.nextTick(()=>{b.value?.updatePopper()})},I=()=>{v.value=!1},O=t=>{const{showAllLevels:l,separator:o}=n;return{node:t,key:t.uid,text:t.calcText(l,o),hitState:!1,closable:!m.value&&!t.isDisabled,isCollapseTag:!1}},$=t=>{const l=t.node;l.doCheck(!1),u.value?.calculateCheckedValue(),f("removeTag",l.valueByOption)},Be=()=>{switch(n.showCheckedStrategy){case"child":return S.value;case"parent":{const t=te(!1),l=t.map(s=>s.value);return t.filter(s=>!s.parent||!l.includes(s.parent.value))}default:return[]}},$e=()=>{if(!g.value)return;const t=Be(),l=[],o=[];if(t.forEach(s=>o.push(O(s))),T.value=o,t.length){t.slice(0,n.maxCollapseTags).forEach(x=>l.push(O(x)));const s=t.slice(n.maxCollapseTags),r=s.length;r&&(n.collapseTags?l.push({key:-1,text:`+ ${r}`,closable:!1,isCollapseTag:!0}):s.forEach(x=>l.push(O(x))))}k.value=l},ee=()=>{const{filterMethod:t,showAllLevels:l,separator:o}=n,s=u.value?.getFlattedNodes(!n.props.checkStrictly)?.filter(r=>r.isDisabled?!1:(r.calcText(l,o),t(r,X.value)));g.value&&(k.value.forEach(r=>{r.hitState=!1}),T.value.forEach(r=>{r.hitState=!1})),v.value=!0,P.value=s,y()},xe=()=>{let t;v.value&&V.value?t=V.value.$el.querySelector(`.${a.e("suggestion-item")}`):t=u.value?.$el.querySelector(`.${a.b("node")}[tabindex="-1"]`),t&&(t.focus(),!v.value&&t.click())},F=()=>{const t=C.value?.input,l=U.value,o=V.value?.$el;if(!(!ie.isClient||!t)){if(o){const s=o.querySelector(`.${a.e("suggestion-list")}`);s.style.minWidth=`${t.offsetWidth}px`}if(l){const{offsetHeight:s}=l,r=k.value.length>0?`${Math.max(s,E)-2}px`:`${E}px`;t.style.height=r,y()}}},te=t=>u.value?.getCheckedNodes(t),De=t=>{y(),f("expandChange",t)},qe=t=>{if(!W.value)switch(t.code){case p.EVENT_CODE.enter:case p.EVENT_CODE.numpadEnter:i();break;case p.EVENT_CODE.down:i(!0),e.nextTick(xe),t.preventDefault();break;case p.EVENT_CODE.esc:c.value===!0&&(t.preventDefault(),t.stopPropagation(),i(!1));break;case p.EVENT_CODE.tab:i(!1);break}},ze=()=>{u.value?.clearCheckedNodes(),!c.value&&n.filterable&&M(),i(!1),f("clear")},M=()=>{const{value:t}=B;w.value=t,h.value=t},Pe=t=>{const{checked:l}=t;g.value?u.value?.handleCheckChange(t,!l,!1):(!l&&u.value?.handleCheckChange(t,!0,!1),i(!1))},Ie=t=>{const l=t.target,{code:o}=t;switch(o){case p.EVENT_CODE.up:case p.EVENT_CODE.down:{t.preventDefault();const s=o===p.EVENT_CODE.up?-1:1;re.focusNode(re.getSibling(l,s,`.${a.e("suggestion-item")}[tabindex="-1"]`));break}case p.EVENT_CODE.enter:case p.EVENT_CODE.numpadEnter:l.click();break}},Oe=()=>{const t=k.value,l=t[t.length-1];D=h.value?0:D+1,!(!l||!D||n.collapseTags&&t.length>1)&&(l.hitState?$(l):l.hitState=!0)},le=t=>{z.value=!0,f("focus",t)},oe=t=>{e.nextTick(()=>{const l=C.value?.$el,o=document.activeElement;l?.contains(o)||b.value?.isFocusInsideContent?.(t)||(z.value=!1)}),f("blur",t)},Fe=ne.debounce(()=>{const{value:t}=X;if(!t)return;const l=n.beforeFilter(t);ie.isPromise(l)?l.then(ee).catch(()=>{}):l!==!1?ee():I()},n.debounce),A=(t,l)=>{!c.value&&i(!0),!l?.isComposing&&(t?Fe():I())},se=t=>Number.parseFloat(ae.useCssVar(q.cssVarName("input-height"),t).value)-2;return e.watch(v,y),e.watch([S,m,()=>n.collapseTags],$e),e.watch(k,()=>{e.nextTick(()=>F())}),e.watch(N,async()=>{await e.nextTick();const t=C.value.input;E=se(t)||E,F()}),e.watch(B,M,{immediate:!0}),e.onMounted(()=>{const t=C.value.input,l=se(t);E=t.offsetHeight||l,ae.useResizeObserver(t,F)}),ge({getCheckedNodes:te,cascaderPanelRef:u,togglePopperVisible:i,contentRef:_,presentText:B}),(t,l)=>(e.openBlock(),e.createBlock(e.unref(ce.VftTooltip),{ref_key:"tooltipRef",ref:b,visible:c.value,teleported:t.teleported,"popper-class":[e.unref(a).e("dropdown"),t.popperClass],"popper-options":ke,"fallback-placements":t.fallbackPlacements,"stop-popper-mouse-event":!1,"gpu-acceleration":!1,placement:t.placement,transition:`${e.unref(a).namespace.value}-zoom-in-top`,effect:t.effect,pure:"",persistent:t.persistent,onHide:I},{default:e.withCtx(()=>[e.withDirectives((e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(Te.value),style:e.normalizeStyle(ye.value),onClick:l[8]||(l[8]=()=>i(Q.value?void 0:!0)),onKeydown:qe,onMouseenter:l[9]||(l[9]=o=>j.value=!0),onMouseleave:l[10]||(l[10]=o=>j.value=!1)},[e.createVNode(e.unref(Le.VftInput),{ref_key:"input",ref:C,modelValue:w.value,"onUpdate:modelValue":l[1]||(l[1]=o=>w.value=o),placeholder:be.value,readonly:Q.value,disabled:m.value,"validate-event":!1,size:e.unref(N),class:e.normalizeClass(Se.value),tabindex:g.value&&t.filterable&&!m.value?-1:void 0,onCompositionstart:e.unref(d),onCompositionupdate:e.unref(d),onCompositionend:e.unref(d),onFocus:le,onBlur:oe,onInput:A},e.createSlots({suffix:e.withCtx(()=>[Ve.value?(e.openBlock(),e.createBlock(e.unref(L.VftIcon),{key:"clear",icon:"icon-circle-close",class:e.normalizeClass(["icon-circle-close",[e.unref(q).e("icon")]]),onClick:e.withModifiers(ze,["stop"])},null,8,["class"])):(e.openBlock(),e.createBlock(e.unref(L.VftIcon),{icon:"icon-arrow-down",key:"arrow-down",class:e.normalizeClass(Ne.value),onClick:l[0]||(l[0]=e.withModifiers(o=>i(),["stop"]))},null,8,["class"]))]),_:2},[t.$slots.prefix?{name:"prefix",fn:e.withCtx(()=>[e.renderSlot(t.$slots,"prefix")]),key:"0"}:void 0]),1032,["modelValue","placeholder","readonly","disabled","size","class","tabindex","onCompositionstart","onCompositionupdate","onCompositionend"]),g.value?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"tagWrapper",ref:U,class:e.normalizeClass([e.unref(a).e("tags"),e.unref(a).is("validate",!!we.value)])},[e.renderSlot(t.$slots,"tag",{data:T.value,deleteTag:$},()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(k.value,o=>(e.openBlock(),e.createBlock(e.unref(de.VftTag),{key:o.key,type:t.tagType,size:J.value,effect:t.tagEffect,hit:o.hitState,closable:o.closable,"disable-transitions":"",onClose:s=>$(o)},{default:e.withCtx(()=>[o.isCollapseTag===!1?(e.openBlock(),e.createElementBlock("span",Ge,e.toDisplayString(o.text),1)):(e.openBlock(),e.createBlock(e.unref(ce.VftTooltip),{key:1,disabled:c.value||!t.collapseTagsTooltip,"fallback-placements":["bottom","top","right","left"],placement:"bottom",effect:t.effect},{default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(o.text),1)]),content:e.withCtx(()=>[e.createVNode(e.unref(pe.VftScrollbar),{"max-height":t.maxCollapseTagsTooltipHeight},{default:e.withCtx(()=>[e.createElementVNode("div",{class:e.normalizeClass(e.unref(a).e("collapse-tags"))},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(T.value.slice(t.maxCollapseTags),(s,r)=>(e.openBlock(),e.createElementBlock("div",{key:r,class:e.normalizeClass(e.unref(a).e("collapse-tag"))},[(e.openBlock(),e.createBlock(e.unref(de.VftTag),{key:s.key,class:"in-tooltip",type:t.tagType,size:J.value,effect:t.tagEffect,hit:s.hitState,closable:s.closable,"disable-transitions":"",onClose:x=>$(s)},{default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(s.text),1)]),_:2},1032,["type","size","effect","hit","closable","onClose"]))],2))),128))],2)]),_:1},8,["max-height"])]),_:2},1032,["disabled","effect"]))]),_:2},1032,["type","size","effect","hit","closable","onClose"]))),128))]),t.filterable&&!m.value?e.withDirectives((e.openBlock(),e.createElementBlock("input",{key:0,"onUpdate:modelValue":l[2]||(l[2]=o=>h.value=o),type:"text",class:e.normalizeClass(e.unref(a).e("search-input")),placeholder:B.value?"":G.value,onInput:l[3]||(l[3]=o=>A(h.value,o)),onClick:l[4]||(l[4]=e.withModifiers(o=>i(!0),["stop"])),onKeydown:e.withKeys(Oe,["delete"]),onCompositionstart:l[5]||(l[5]=(...o)=>e.unref(d)&&e.unref(d)(...o)),onCompositionupdate:l[6]||(l[6]=(...o)=>e.unref(d)&&e.unref(d)(...o)),onCompositionend:l[7]||(l[7]=(...o)=>e.unref(d)&&e.unref(d)(...o)),onFocus:le,onBlur:oe},null,42,Je)),[[e.vModelText,h.value]]):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0)],38)),[[e.unref(Ke.ClickOutside),()=>i(!1),_.value]])]),content:e.withCtx(()=>[t.$slots.header?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(a).e("header")),onClick:l[11]||(l[11]=e.withModifiers(()=>{},["stop"]))},[e.renderSlot(t.$slots,"header")],2)):e.createCommentVNode("",!0),e.withDirectives(e.createVNode(e.unref(Ae.VftCascaderPanel),{ref_key:"cascaderPanelRef",ref:u,modelValue:Z.value,"onUpdate:modelValue":l[12]||(l[12]=o=>Z.value=o),options:t.options,props:n.props,border:!1,"render-label":t.$slots.default,onExpandChange:De,onClose:l[13]||(l[13]=o=>t.$nextTick(()=>i(!1)))},{empty:e.withCtx(()=>[e.renderSlot(t.$slots,"empty")]),_:3},8,["modelValue","options","props","render-label"]),[[e.vShow,!v.value]]),t.filterable?e.withDirectives((e.openBlock(),e.createBlock(e.unref(pe.VftScrollbar),{key:1,ref_key:"suggestionPanel",ref:V,tag:"ul",class:e.normalizeClass(e.unref(a).e("suggestion-panel")),"view-class":e.unref(a).e("suggestion-list"),onKeydown:Ie},{default:e.withCtx(()=>[P.value.length?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(P.value,o=>(e.openBlock(),e.createElementBlock("li",{key:o.uid,class:e.normalizeClass([e.unref(a).e("suggestion-item"),e.unref(a).is("checked",o.checked)]),tabindex:-1,onClick:s=>Pe(o)},[e.renderSlot(t.$slots,"suggestion-item",{item:o},()=>[e.createElementVNode("span",null,e.toDisplayString(o.text),1),o.checked?(e.openBlock(),e.createBlock(e.unref(L.VftIcon),{key:0,icon:"icon-check"})):e.createCommentVNode("",!0)])],10,Qe))),128)):e.renderSlot(t.$slots,"empty",{key:1},()=>[e.createElementVNode("li",{class:e.normalizeClass(e.unref(a).e("empty-text"))},e.toDisplayString(e.unref(H)("vft.cascader.noData")),3)])]),_:3},8,["class","view-class"])),[[e.vShow,v.value]]):e.createCommentVNode("",!0),t.$slots.footer?(e.openBlock(),e.createElementBlock("div",{key:2,class:e.normalizeClass(e.unref(a).e("footer")),onClick:l[14]||(l[14]=e.withModifiers(()=>{},["stop"]))},[e.renderSlot(t.$slots,"footer")],2)):e.createCommentVNode("",!0)]),_:3},8,["visible","teleported","popper-class","fallback-placements","placement","transition","effect","persistent"]))}});exports.default=Ze;
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),B=require("../scrollbar/index.cjs");require("@vueuse/core");require("@vft/utils");require("../config-provider/hooks/use-global-config.cjs");require("lodash-es");require("../form/index.cjs");const M=require("../../hooks/use-id/index.cjs"),T=require("../../hooks/use-namespace/index.cjs");require("../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../hooks/use-z-index/index.cjs");const E=require("../icon/index.cjs"),N=require("./node.vue2.cjs"),V=require("./types.cjs"),w=e.defineComponent({name:"VftCascaderMenu"}),H=e.defineComponent({...w,props:{nodes:{type:Array,required:!0},index:{type:Number,required:!0}},setup(c){const d=c,q=e.getCurrentInstance(),t=T.useNamespace("cascader-menu"),C=M.useId();let o,s;const u=e.inject(V.CASCADER_PANEL_INJECTION_KEY),l=e.ref(),f=e.computed(()=>!d.nodes.length),_=e.computed(()=>!u.initialLoaded),p=e.computed(()=>`${C.value}-${d.index}`),$=r=>{o=r.target},h=r=>{if(!(!u.isHoverMenu||!o||!l.value))if(o.contains(r.target)){m();const n=q.vnode.el,{left:a}=n.getBoundingClientRect(),{offsetWidth:y,offsetHeight:x}=n,g=r.clientX-a,i=o.offsetTop,k=i+o.offsetHeight;l.value.innerHTML=`
2
- <path style="pointer-events: auto;" fill="transparent" d="M${g} ${i} L${y} 0 V${i} Z" />
3
- <path style="pointer-events: auto;" fill="transparent" d="M${g} ${k} L${y} ${x} V${k} Z" />
4
- `}else s||(s=window.setTimeout(v,u.config.hoverThreshold))},m=()=>{s&&(clearTimeout(s),s=void 0)},v=()=>{l.value&&(l.value.innerHTML="",m())};return(r,n)=>(e.openBlock(),e.createBlock(e.unref(B.VftScrollbar),{key:p.value,tag:"ul",role:"menu",class:e.normalizeClass(e.unref(t).b()),"wrap-class":e.unref(t).e("wrap"),"view-class":[e.unref(t).e("list"),e.unref(t).is("empty",f.value)],onMousemove:h,onMouseleave:v},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.nodes,a=>(e.openBlock(),e.createBlock(N.default,{key:a.uid,node:a,"menu-id":p.value,onExpand:$},null,8,["node","menu-id"]))),128)),_.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(t).e("empty-text"))},[e.createVNode(e.unref(E.VftIcon),{icon:"icon-loadding",size:"14",class:e.normalizeClass(e.unref(t).is("loading"))},null,8,["class"]),n[0]||(n[0]=e.createTextVNode(" 加载中 ",-1))],2)):f.value?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(e.unref(t).e("empty-text"))},[e.renderSlot(r.$slots,"empty",{},()=>[n[1]||(n[1]=e.createTextVNode("暂无数据",-1))])],2)):e.unref(u)?.isHoverMenu?(e.openBlock(),e.createElementBlock("svg",{key:2,ref_key:"hoverZone",ref:l,class:e.normalizeClass(e.unref(t).e("hover-zone"))},null,2)):e.createCommentVNode("",!0)]),_:3},8,["class","wrap-class","view-class"]))}});exports.default=H;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),M=require("../scrollbar/index.cjs");require("@vueuse/core");require("@vft/utils");require("../config-provider/hooks/use-global-config.cjs");require("lodash-es");require("../form/index.cjs");const T=require("../../hooks/use-id/index.cjs"),E=require("../../hooks/use-namespace/index.cjs");require("../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../hooks/use-z-index/index.cjs");const L=require("../../locale/use-locale.cjs"),N=require("../icon/index.cjs"),V=require("./node.vue2.cjs"),w=require("./types.cjs"),H=e.defineComponent({name:"VftCascaderMenu"}),z=e.defineComponent({...H,props:{nodes:{type:Array,required:!0},index:{type:Number,required:!0}},setup(c){const d=c,q=e.getCurrentInstance(),t=E.useNamespace("cascader-menu"),{t:f}=L.useLocale(),h=T.useId();let r,o;const l=e.inject(w.CASCADER_PANEL_INJECTION_KEY),s=e.ref(),p=e.computed(()=>!d.nodes.length),C=e.computed(()=>!l.initialLoaded),v=e.computed(()=>`${h.value}-${d.index}`),$=n=>{r=n.target},x=n=>{if(!(!l.isHoverMenu||!r||!s.value))if(r.contains(n.target)){m();const u=q.vnode.el,{left:a}=u.getBoundingClientRect(),{offsetWidth:y,offsetHeight:B}=u,_=n.clientX-a,i=r.offsetTop,k=i+r.offsetHeight;s.value.innerHTML=`
2
+ <path style="pointer-events: auto;" fill="transparent" d="M${_} ${i} L${y} 0 V${i} Z" />
3
+ <path style="pointer-events: auto;" fill="transparent" d="M${_} ${k} L${y} ${B} V${k} Z" />
4
+ `}else o||(o=window.setTimeout(g,l.config.hoverThreshold))},m=()=>{o&&(clearTimeout(o),o=void 0)},g=()=>{s.value&&(s.value.innerHTML="",m())};return(n,u)=>(e.openBlock(),e.createBlock(e.unref(M.VftScrollbar),{key:v.value,tag:"ul",role:"menu",class:e.normalizeClass(e.unref(t).b()),"wrap-class":e.unref(t).e("wrap"),"view-class":[e.unref(t).e("list"),e.unref(t).is("empty",p.value)],onMousemove:x,onMouseleave:g},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.nodes,a=>(e.openBlock(),e.createBlock(V.default,{key:a.uid,node:a,"menu-id":v.value,onExpand:$},null,8,["node","menu-id"]))),128)),C.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(t).e("empty-text"))},[e.createVNode(e.unref(N.VftIcon),{icon:"icon-loadding",size:"14",class:e.normalizeClass(e.unref(t).is("loading"))},null,8,["class"]),e.createTextVNode(" "+e.toDisplayString(e.unref(f)("vft.loading")),1)],2)):p.value?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(e.unref(t).e("empty-text"))},[e.renderSlot(n.$slots,"empty",{},()=>[e.createTextVNode(e.toDisplayString(e.unref(f)("vft.noData")),1)])],2)):e.unref(l)?.isHoverMenu?(e.openBlock(),e.createElementBlock("svg",{key:2,ref_key:"hoverZone",ref:s,class:e.normalizeClass(e.unref(t).e("hover-zone"))},null,2)):e.createCommentVNode("",!0)]),_:3},8,["class","wrap-class","view-class"]))}});exports.default=z;
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),r=require("../clamp/index.cjs");require("@vueuse/core");require("@vft/utils");require("../config-provider/hooks/use-global-config.cjs");const s=require("../../utils/ns-cover.cjs");require("lodash-es");require("../form/index.cjs");const u=require("../../hooks/use-namespace/index.cjs");require("../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../hooks/use-z-index/index.cjs");const c=["onClick"],g=e.defineComponent({name:"vft-clamp-toggle"}),d=e.defineComponent({...g,props:{text:{},maxHeight:{},maxLines:{default:1},expanded:{type:Boolean,default:!1},location:{default:"end"},ellipsis:{default:"…"},autoResize:{type:Boolean,default:!1},color:{},size:{},toggleColor:{},toggleSize:{},toggleText:{default:()=>["展开","收缩"]}},setup(t){const o=u.useNamespace("clamp-toggle"),i=e.computed(()=>s.generateCssVars({color:t.color,size:t.size,toggleColor:t.toggleColor,toggleSize:t.toggleSize},"clamp-toggle"));return(m,x)=>(e.openBlock(),e.createBlock(e.unref(r.VftClamp),{style:e.normalizeStyle(i.value),text:t.text,"max-height":t.maxHeight,"max-lines":t.maxLines,expanded:t.expanded,location:t.location,ellipsis:t.ellipsis,"auto-resize":t.autoResize},{after:e.withCtx(({toggle:a,expanded:l,clamped:n})=>[l||n?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(["cursor-pointer",[e.unref(o).e("more")]]),onClick:a},e.toDisplayString(l?t.toggleText[1]:t.toggleText[0]),11,c)):e.createCommentVNode("",!0)]),_:1},8,["style","text","max-height","max-lines","expanded","location","ellipsis","auto-resize"]))}});exports.default=d;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),c=require("../clamp/index.cjs");require("@vueuse/core");require("@vft/utils");require("../config-provider/hooks/use-global-config.cjs");const g=require("../../utils/ns-cover.cjs");require("lodash-es");require("../form/index.cjs");const d=require("../../hooks/use-namespace/index.cjs");require("../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../hooks/use-z-index/index.cjs");const m=require("../../locale/use-locale.cjs"),x=["onClick"],f=e.defineComponent({name:"vft-clamp-toggle"}),q=e.defineComponent({...f,props:{text:{},maxHeight:{},maxLines:{default:1},expanded:{type:Boolean,default:!1},location:{default:"end"},ellipsis:{default:"…"},autoResize:{type:Boolean,default:!1},color:{},size:{},toggleColor:{},toggleSize:{},toggleText:{}},setup(t){const{t:l}=m.useLocale(),i=d.useNamespace("clamp-toggle"),n=e.computed(()=>[l("vft.clampToggle.expand"),l("vft.clampToggle.collapse")]),o=e.computed(()=>t.toggleText||n.value),r=e.computed(()=>g.generateCssVars({color:t.color,size:t.size,toggleColor:t.toggleColor,toggleSize:t.toggleSize},"clamp-toggle"));return(C,z)=>(e.openBlock(),e.createBlock(e.unref(c.VftClamp),{style:e.normalizeStyle(r.value),text:t.text,"max-height":t.maxHeight,"max-lines":t.maxLines,expanded:t.expanded,location:t.location,ellipsis:t.ellipsis,"auto-resize":t.autoResize},{after:e.withCtx(({toggle:s,expanded:a,clamped:u})=>[a||u?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(["cursor-pointer",[e.unref(i).e("more")]]),onClick:s},e.toDisplayString(a?o.value[1]:o.value[0]),11,x)):e.createCommentVNode("",!0)]),_:1},8,["style","text","max-height","max-lines","expanded","location","ellipsis","auto-resize"]))}});exports.default=q;