@opentiny/vue-renderless 3.16.0 → 3.17.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/action-sheet/index.js +0 -1
- package/base-select/index.js +1510 -0
- package/base-select/vue.js +555 -0
- package/breadcrumb-item/vue.js +4 -2
- package/card/index.js +15 -0
- package/card/vue.js +6 -3
- package/carousel/index.js +89 -17
- package/carousel/vue.js +29 -24
- package/carousel-item/index.js +24 -9
- package/carousel-item/vue.js +10 -9
- package/cascader/vue.js +2 -1
- package/cascader-panel/index.js +8 -1
- package/cascader-panel/vue.js +1 -1
- package/cascader-select/column-index.js +11 -6
- package/cascader-select/column.js +8 -5
- package/cascader-select/usePicker.js +3 -2
- package/checkbox/index.js +0 -17
- package/checkbox/vue.js +4 -10
- package/collapse-item/vue.js +4 -2
- package/common/deps/clickoutside.js +15 -8
- package/common/deps/popper.js +15 -1
- package/common/deps/throttle.js +7 -0
- package/common/deps/touch-emulator.js +1 -1
- package/common/deps/tree-model/node.js +1 -0
- package/common/deps/tree-model/tree-store.js +4 -1
- package/common/deps/useEventListener.js +9 -2
- package/common/deps/useInstanceSlots.js +22 -0
- package/common/deps/useRelation.js +72 -0
- package/common/deps/vue-popper.js +1 -0
- package/common/function.js +28 -0
- package/common/index.js +1 -1
- package/common/runtime.js +1 -1
- package/common/type.js +2 -0
- package/dialog-box/index.js +0 -22
- package/dialog-box/vue.js +1 -4
- package/drawer/index.js +27 -29
- package/drawer/vue.js +6 -10
- package/file-upload/index.js +1 -1
- package/fluent-editor/index.js +679 -0
- package/fluent-editor/options.js +234 -0
- package/fluent-editor/vue.js +192 -0
- package/form/index.js +5 -1
- package/grid/utils/column.js +4 -2
- package/grid/utils/common.js +18 -29
- package/grid/utils/event.js +14 -9
- package/guide/index.js +6 -5
- package/guide/vue.js +2 -2
- package/input/index.js +32 -2
- package/input/vue.js +21 -2
- package/nav-menu/index.js +1 -1
- package/numeric/index.js +4 -1
- package/option/vue.js +6 -6
- package/package.json +1 -1
- package/picker/mb.js +6 -1
- package/picker/vue.js +2 -1
- package/select/index.js +65 -40
- package/select/vue.js +1 -1
- package/split/index.js +16 -9
- package/split/vue.js +7 -2
- package/statistic/index.js +7 -0
- package/tabs/index.js +37 -13
- package/tabs-mf/index.js +116 -13
- package/tabs-mf/vue-bar.js +6 -0
- package/tabs-mf/vue-nav-item.js +1 -1
- package/tabs-mf/vue.js +42 -7
- package/tag-group/vue.js +7 -1
- package/time/index.js +1 -1
- package/time-line/index.js +2 -2
- package/time-line/vue.js +4 -13
- package/timeline-item/index.js +5 -5
- package/timeline-item/vue.js +13 -6
- package/tree/index.js +29 -2
- package/tree/vue.js +5 -2
- package/tree-node/vue.js +2 -1
- package/types/action-menu.type.d.ts +12 -4
- package/types/cascader-menu.type.d.ts +1 -1
- package/types/cascader-node.type.d.ts +1 -1
- package/types/{cascader-panel.type-2bd03be3.d.ts → cascader-panel.type-8f58e628.d.ts} +1 -1
- package/types/cascader-panel.type.d.ts +1 -1
- package/types/cascader.type.d.ts +1 -1
- package/types/collapse-item.type.d.ts +3 -0
- package/types/dialog-box.type.d.ts +2 -6
- package/types/drawer.type.d.ts +28 -30
- package/types/form-item.type.d.ts +1 -1
- package/types/{form.type-8e30b25c.d.ts → form.type-33aa784a.d.ts} +4 -0
- package/types/form.type.d.ts +1 -1
- package/types/input.type.d.ts +4 -0
- package/types/ip-address.type.d.ts +1 -6
- package/types/numeric.type.d.ts +1 -0
- package/types/search.type.d.ts +1 -3
- package/types/{time-line.type-1b501c41.d.ts → time-line.type-9fb16096.d.ts} +7 -5
- package/types/time-line.type.d.ts +1 -1
- package/types/timeline-item.type.d.ts +1 -1
- package/user/index.js +10 -4
- package/year-table/index.js +5 -3
- package/year-table/vue.js +1 -1
- package/common/deps/letter-only.js +0 -19
- package/common/deps/number-only.js +0 -20
|
@@ -0,0 +1,555 @@
|
|
|
1
|
+
import {
|
|
2
|
+
__spreadProps,
|
|
3
|
+
__spreadValues
|
|
4
|
+
} from "../chunk-G2ADBYYC.js";
|
|
5
|
+
import {
|
|
6
|
+
debouncRquest,
|
|
7
|
+
getChildValue,
|
|
8
|
+
getcheckedData,
|
|
9
|
+
calcOverFlow,
|
|
10
|
+
toggleCheckAll,
|
|
11
|
+
handleCopyClick,
|
|
12
|
+
showTip,
|
|
13
|
+
handleComposition,
|
|
14
|
+
handleQueryChange,
|
|
15
|
+
scrollToOption,
|
|
16
|
+
handleMenuEnter,
|
|
17
|
+
emitChange,
|
|
18
|
+
directEmitChange,
|
|
19
|
+
getOption,
|
|
20
|
+
getSelectedOption,
|
|
21
|
+
setSelected,
|
|
22
|
+
handleFocus,
|
|
23
|
+
focus,
|
|
24
|
+
blur,
|
|
25
|
+
handleBlur,
|
|
26
|
+
handleClearClick,
|
|
27
|
+
doDestroy,
|
|
28
|
+
handleClose,
|
|
29
|
+
toggleLastOptionHitState,
|
|
30
|
+
deletePrevTag,
|
|
31
|
+
managePlaceholder,
|
|
32
|
+
resetInputState,
|
|
33
|
+
resetInputHeight,
|
|
34
|
+
resetHoverIndex,
|
|
35
|
+
resetDatas,
|
|
36
|
+
handleOptionSelect,
|
|
37
|
+
setSoftFocus,
|
|
38
|
+
getValueIndex,
|
|
39
|
+
toggleMenu,
|
|
40
|
+
selectOption,
|
|
41
|
+
deleteSelected,
|
|
42
|
+
deleteTag,
|
|
43
|
+
onInputChange,
|
|
44
|
+
onOptionDestroy,
|
|
45
|
+
resetInputWidth,
|
|
46
|
+
handleResize,
|
|
47
|
+
checkDefaultFirstOption,
|
|
48
|
+
setOptionHighlight,
|
|
49
|
+
getValueKey,
|
|
50
|
+
emptyText,
|
|
51
|
+
emptyFlag,
|
|
52
|
+
recycleScrollerHeight,
|
|
53
|
+
watchValue,
|
|
54
|
+
watchVisible,
|
|
55
|
+
watchOptions,
|
|
56
|
+
navigateOptions,
|
|
57
|
+
getPluginOption,
|
|
58
|
+
watchPropsOption,
|
|
59
|
+
onMouseenterNative,
|
|
60
|
+
onMouseleaveNative,
|
|
61
|
+
onCopying,
|
|
62
|
+
gridOnQueryChange,
|
|
63
|
+
defaultOnQueryChange,
|
|
64
|
+
queryChange,
|
|
65
|
+
toVisible,
|
|
66
|
+
toHide,
|
|
67
|
+
mounted,
|
|
68
|
+
unMount,
|
|
69
|
+
watchHoverIndex,
|
|
70
|
+
computeOptimizeOpts,
|
|
71
|
+
watchOptimizeOpts,
|
|
72
|
+
computeCollapseTags,
|
|
73
|
+
computeMultipleLimit,
|
|
74
|
+
handleDropdownClick,
|
|
75
|
+
handleEnterTag,
|
|
76
|
+
calcCollapseTags,
|
|
77
|
+
initValue,
|
|
78
|
+
watchInputHover,
|
|
79
|
+
initQuery,
|
|
80
|
+
updateModelValue,
|
|
81
|
+
getLabelSlotValue,
|
|
82
|
+
computedTagsStyle,
|
|
83
|
+
computedReadonly,
|
|
84
|
+
computedShowClose,
|
|
85
|
+
computedCollapseTagSize,
|
|
86
|
+
computedShowNewOption,
|
|
87
|
+
computedShowCopy,
|
|
88
|
+
computedOptionsAllDisabled,
|
|
89
|
+
computedDisabledTooltipContent,
|
|
90
|
+
computedSelectDisabled,
|
|
91
|
+
watchInitValue,
|
|
92
|
+
watchShowClose,
|
|
93
|
+
getOptionIndexArr,
|
|
94
|
+
queryVisibleOptions,
|
|
95
|
+
computedGetIcon,
|
|
96
|
+
computedGetTagType,
|
|
97
|
+
clearSearchText,
|
|
98
|
+
clearNoMatchValue,
|
|
99
|
+
handleDebouncedQueryChange,
|
|
100
|
+
onClickCollapseTag,
|
|
101
|
+
computedIsExpand,
|
|
102
|
+
updateSelectedData,
|
|
103
|
+
hidePanel
|
|
104
|
+
} from "./index";
|
|
105
|
+
import debounce from "../common/deps/debounce";
|
|
106
|
+
import { isNumber } from "../common/type";
|
|
107
|
+
const api = [
|
|
108
|
+
"state",
|
|
109
|
+
"toggleCheckAll",
|
|
110
|
+
"handleCopyClick",
|
|
111
|
+
"focus",
|
|
112
|
+
"blur",
|
|
113
|
+
"showTip",
|
|
114
|
+
"doDestroy",
|
|
115
|
+
"getOption",
|
|
116
|
+
"emitChange",
|
|
117
|
+
"handleBlur",
|
|
118
|
+
"toggleMenu",
|
|
119
|
+
"getValueKey",
|
|
120
|
+
"handleFocus",
|
|
121
|
+
"handleClose",
|
|
122
|
+
"setSoftFocus",
|
|
123
|
+
"getValueIndex",
|
|
124
|
+
"scrollToOption",
|
|
125
|
+
"resetHoverIndex",
|
|
126
|
+
"onOptionDestroy",
|
|
127
|
+
"resetInputWidth",
|
|
128
|
+
"resetInputHeight",
|
|
129
|
+
"managePlaceholder",
|
|
130
|
+
"checkDefaultFirstOption",
|
|
131
|
+
"setOptionHighlight",
|
|
132
|
+
"toggleLastOptionHitState",
|
|
133
|
+
"deleteTag",
|
|
134
|
+
"setSelected",
|
|
135
|
+
"selectOption",
|
|
136
|
+
"handleResize",
|
|
137
|
+
"deletePrevTag",
|
|
138
|
+
"onInputChange",
|
|
139
|
+
"deleteSelected",
|
|
140
|
+
"handleMenuEnter",
|
|
141
|
+
"resetInputState",
|
|
142
|
+
"handleClearClick",
|
|
143
|
+
"handleComposition",
|
|
144
|
+
"handleQueryChange",
|
|
145
|
+
"handleOptionSelect",
|
|
146
|
+
"debouncedOnInputChange",
|
|
147
|
+
"debouncedQueryChange",
|
|
148
|
+
"navigateOptions",
|
|
149
|
+
"onMouseenterNative",
|
|
150
|
+
"onMouseleaveNative",
|
|
151
|
+
"onCopying",
|
|
152
|
+
"handleDropdownClick",
|
|
153
|
+
"handleEnterTag",
|
|
154
|
+
"getLabelSlotValue",
|
|
155
|
+
"updateModelValue",
|
|
156
|
+
"clearSearchText",
|
|
157
|
+
"onClickCollapseTag",
|
|
158
|
+
"updateSelectedData",
|
|
159
|
+
"hidePanel"
|
|
160
|
+
];
|
|
161
|
+
const initState = ({ reactive, computed, props, api: api2, emitter, parent, constants, useBreakpoint, vm, designConfig }) => {
|
|
162
|
+
const stateAdd = initStateAdd({ computed, props, api: api2, parent });
|
|
163
|
+
const state = reactive(__spreadProps(__spreadValues({}, stateAdd), {
|
|
164
|
+
selectEmitter: emitter(),
|
|
165
|
+
datas: [],
|
|
166
|
+
initDatas: [],
|
|
167
|
+
query: "",
|
|
168
|
+
magicKey: 0,
|
|
169
|
+
options: [],
|
|
170
|
+
visible: false,
|
|
171
|
+
showCopy: computed(() => api2.computedShowCopy()),
|
|
172
|
+
showWarper: true,
|
|
173
|
+
// 显示下拉外层控制
|
|
174
|
+
selected: props.multiple ? [] : {},
|
|
175
|
+
softFocus: false,
|
|
176
|
+
hover: false,
|
|
177
|
+
triggerSearch: false,
|
|
178
|
+
firstAutoSearch: props.remoteConfig.autoSearch,
|
|
179
|
+
tagsStyle: computed(() => api2.computedTagsStyle()),
|
|
180
|
+
readonly: computed(() => api2.computedReadonly()),
|
|
181
|
+
iconClass: computed(() => state.visible ? "" : constants.CLASS.IsReverse),
|
|
182
|
+
showClose: computed(() => api2.computedShowClose()),
|
|
183
|
+
optionsAllDisabled: computed(() => api2.computedOptionsAllDisabled()),
|
|
184
|
+
collapseTagSize: computed(() => api2.computedCollapseTagSize()),
|
|
185
|
+
showNewOption: computed(() => api2.computedShowNewOption()),
|
|
186
|
+
selectSize: computed(() => props.size || state.formItemSize),
|
|
187
|
+
optimizeOpts: computed(() => api2.computeOptimizeOpts()),
|
|
188
|
+
optimizeStore: { valueIndex: 0, recycleScrollerHeight: computed(() => api2.recycleScrollerHeight()) },
|
|
189
|
+
collapseTags: computed(() => api2.computeCollapseTags()),
|
|
190
|
+
multipleLimit: computed(() => api2.computeMultipleLimit()),
|
|
191
|
+
disabledTooltipContent: computed(() => api2.computedDisabledTooltipContent()),
|
|
192
|
+
isExpand: computed(() => api2.computedIsExpand()),
|
|
193
|
+
collapseTagsLength: 0,
|
|
194
|
+
initValue: [],
|
|
195
|
+
key: 0,
|
|
196
|
+
device: "",
|
|
197
|
+
timer: null,
|
|
198
|
+
modelValue: [],
|
|
199
|
+
queryValue: "",
|
|
200
|
+
selectedCopy: [],
|
|
201
|
+
compareValue: null,
|
|
202
|
+
selectedVal: computed(
|
|
203
|
+
() => state.device === "mb" && props.multiple && state.visible ? state.selectedCopy : state.selected
|
|
204
|
+
),
|
|
205
|
+
displayOnlyContent: computed(
|
|
206
|
+
() => props.multiple && Array.isArray(state.selected) ? state.selected.map((item) => item.state ? item.state.currentLabel : item.currentLabel).join("; ") : ""
|
|
207
|
+
),
|
|
208
|
+
breakpoint: useBreakpoint ? useBreakpoint().current : "",
|
|
209
|
+
isSaaSTheme: vm.theme === "saas",
|
|
210
|
+
disabledOptionHover: false,
|
|
211
|
+
hasClearSelection: false,
|
|
212
|
+
// tiny 新增
|
|
213
|
+
getIcon: computed(() => api2.computedGetIcon()),
|
|
214
|
+
getTagType: computed(() => api2.computedGetTagType()),
|
|
215
|
+
isSelectAll: computed(() => state.selectCls === "checked-sur"),
|
|
216
|
+
autoHideDownIcon: (() => {
|
|
217
|
+
if ((designConfig == null ? void 0 : designConfig.state) && "autoHideDownIcon" in designConfig.state) {
|
|
218
|
+
return designConfig.state.autoHideDownIcon;
|
|
219
|
+
}
|
|
220
|
+
return true;
|
|
221
|
+
})()
|
|
222
|
+
}));
|
|
223
|
+
return state;
|
|
224
|
+
};
|
|
225
|
+
const initStateAdd = ({ computed, props, api: api2, parent }) => {
|
|
226
|
+
return {
|
|
227
|
+
selectedTags: [],
|
|
228
|
+
tips: "",
|
|
229
|
+
showTip: false,
|
|
230
|
+
tipHover: false,
|
|
231
|
+
selectHover: false,
|
|
232
|
+
tipTimer: null,
|
|
233
|
+
selectCls: "checked-sur",
|
|
234
|
+
filteredSelectCls: "checked-sur",
|
|
235
|
+
overflow: null,
|
|
236
|
+
completed: false,
|
|
237
|
+
inputWidth: 0,
|
|
238
|
+
inputPaddingRight: 0,
|
|
239
|
+
hoverIndex: -1,
|
|
240
|
+
hoverValue: -1,
|
|
241
|
+
optionsIndex: -1,
|
|
242
|
+
inputLength: 20,
|
|
243
|
+
optionsCount: 0,
|
|
244
|
+
selectFiexd: {},
|
|
245
|
+
createdLabel: null,
|
|
246
|
+
isSilentBlur: false,
|
|
247
|
+
cachedOptions: [],
|
|
248
|
+
selectedLabel: "",
|
|
249
|
+
previousQuery: null,
|
|
250
|
+
inputHovering: false,
|
|
251
|
+
createdSelected: false,
|
|
252
|
+
isOnComposition: false,
|
|
253
|
+
cachedPlaceHolder: props.placeholder,
|
|
254
|
+
inputHeight: 0,
|
|
255
|
+
initialInputHeight: 0,
|
|
256
|
+
currentPlaceholder: props.placeholder,
|
|
257
|
+
filteredOptionsCount: 0,
|
|
258
|
+
gridData: [],
|
|
259
|
+
treeData: [],
|
|
260
|
+
remoteData: [],
|
|
261
|
+
currentKey: props.modelValue,
|
|
262
|
+
updateId: "",
|
|
263
|
+
popperElm: null,
|
|
264
|
+
debounce: computed(() => isNumber(props.queryDebounce) ? props.queryDebounce : props.remote ? 300 : 0),
|
|
265
|
+
emptyText: computed(() => api2.emptyText()),
|
|
266
|
+
emptyFlag: computed(() => api2.emptyFlag()),
|
|
267
|
+
formItemSize: computed(() => (parent.formItem || { state: {} }).state.formItemSize),
|
|
268
|
+
selectDisabled: computed(() => api2.computedSelectDisabled()),
|
|
269
|
+
isDisplayOnly: computed(() => props.displayOnly || (parent.form || {}).displayOnly),
|
|
270
|
+
gridCheckedData: computed(() => api2.getcheckedData()),
|
|
271
|
+
searchSingleCopy: computed(() => props.allowCopy && !props.multiple && props.filterable),
|
|
272
|
+
childrenName: computed(() => "children"),
|
|
273
|
+
tooltipContent: {},
|
|
274
|
+
isHidden: false,
|
|
275
|
+
defaultCheckedKeys: [],
|
|
276
|
+
optionIndexArr: [],
|
|
277
|
+
showCollapseTag: false,
|
|
278
|
+
exceedMaxVisibleRow: false,
|
|
279
|
+
// 是否超出默认最大显示行数
|
|
280
|
+
toHideIndex: Infinity
|
|
281
|
+
// 第一个超出被隐藏的索引
|
|
282
|
+
};
|
|
283
|
+
};
|
|
284
|
+
const initApi = ({
|
|
285
|
+
api: api2,
|
|
286
|
+
props,
|
|
287
|
+
state,
|
|
288
|
+
emit,
|
|
289
|
+
maskState,
|
|
290
|
+
constants,
|
|
291
|
+
parent,
|
|
292
|
+
nextTick,
|
|
293
|
+
dispatch,
|
|
294
|
+
t,
|
|
295
|
+
vm,
|
|
296
|
+
isMobileFirstMode,
|
|
297
|
+
designConfig
|
|
298
|
+
}) => {
|
|
299
|
+
Object.assign(api2, {
|
|
300
|
+
state,
|
|
301
|
+
maskState,
|
|
302
|
+
doDestroy: doDestroy(vm),
|
|
303
|
+
blur: blur({ vm, state }),
|
|
304
|
+
focus: focus({ vm, state }),
|
|
305
|
+
getValueKey: getValueKey(props),
|
|
306
|
+
handleClose: handleClose(state),
|
|
307
|
+
getValueIndex: getValueIndex(props),
|
|
308
|
+
getChildValue: getChildValue(),
|
|
309
|
+
getOption: getOption({ props, state, api: api2 }),
|
|
310
|
+
getSelectedOption: getSelectedOption({ props, state }),
|
|
311
|
+
emitChange: emitChange({ emit, props, state, constants }),
|
|
312
|
+
directEmitChange: directEmitChange({ emit, props, state, constants }),
|
|
313
|
+
toggleMenu: toggleMenu({ vm, state, props, api: api2, isMobileFirstMode }),
|
|
314
|
+
showTip: showTip({ props, state, vm }),
|
|
315
|
+
onOptionDestroy: onOptionDestroy(state),
|
|
316
|
+
setSoftFocus: setSoftFocus({ vm, state }),
|
|
317
|
+
getcheckedData: getcheckedData({ props, state }),
|
|
318
|
+
resetInputWidth: resetInputWidth({ vm, state }),
|
|
319
|
+
resetHoverIndex: resetHoverIndex({ props, state }),
|
|
320
|
+
resetDatas: resetDatas({ props, state }),
|
|
321
|
+
scrollToOption: scrollToOption({ vm, constants }),
|
|
322
|
+
handleCopyClick: handleCopyClick({ parent, props, state }),
|
|
323
|
+
managePlaceholder: managePlaceholder({ vm, state }),
|
|
324
|
+
checkDefaultFirstOption: checkDefaultFirstOption(state),
|
|
325
|
+
setOptionHighlight: setOptionHighlight(state),
|
|
326
|
+
handleBlur: handleBlur({ constants, dispatch, emit, state, designConfig }),
|
|
327
|
+
toggleLastOptionHitState: toggleLastOptionHitState({ state }),
|
|
328
|
+
emptyText: emptyText({ I18N: constants.I18N, props, state, t, isMobileFirstMode }),
|
|
329
|
+
emptyFlag: emptyFlag({ props, state }),
|
|
330
|
+
getOptionIndexArr: getOptionIndexArr({ props, state, api: api2 }),
|
|
331
|
+
queryVisibleOptions: queryVisibleOptions({ props, vm, isMobileFirstMode }),
|
|
332
|
+
recycleScrollerHeight: recycleScrollerHeight({ state, props, recycle: constants.RECYCLE }),
|
|
333
|
+
watchPropsOption: watchPropsOption({ constants, parent, props, state }),
|
|
334
|
+
onMouseenterNative: onMouseenterNative({ state }),
|
|
335
|
+
onMouseleaveNative: onMouseleaveNative({ state }),
|
|
336
|
+
onCopying: onCopying({ state, vm }),
|
|
337
|
+
gridOnQueryChange: gridOnQueryChange({ props, vm, constants, state }),
|
|
338
|
+
watchHoverIndex: watchHoverIndex({ state }),
|
|
339
|
+
computeOptimizeOpts: computeOptimizeOpts({ props, designConfig }),
|
|
340
|
+
computeCollapseTags: computeCollapseTags(props),
|
|
341
|
+
computeMultipleLimit: computeMultipleLimit({ props, state }),
|
|
342
|
+
watchInputHover: watchInputHover({ vm }),
|
|
343
|
+
initQuery: initQuery({ props, state, constants, vm }),
|
|
344
|
+
updateModelValue: updateModelValue({ props, emit, state }),
|
|
345
|
+
computedTagsStyle: computedTagsStyle({ props, parent, state, vm }),
|
|
346
|
+
computedReadonly: computedReadonly({ props, state }),
|
|
347
|
+
computedShowClose: computedShowClose({ props, state }),
|
|
348
|
+
computedCollapseTagSize: computedCollapseTagSize(state),
|
|
349
|
+
computedShowNewOption: computedShowNewOption({ props, state }),
|
|
350
|
+
computedShowCopy: computedShowCopy({ props, state }),
|
|
351
|
+
computedOptionsAllDisabled: computedOptionsAllDisabled(state),
|
|
352
|
+
computedDisabledTooltipContent: computedDisabledTooltipContent(state),
|
|
353
|
+
computedSelectDisabled: computedSelectDisabled({ props, parent }),
|
|
354
|
+
computedIsExpand: computedIsExpand({ props, state }),
|
|
355
|
+
watchInitValue: watchInitValue({ props, emit }),
|
|
356
|
+
watchShowClose: watchShowClose({ nextTick, state, parent }),
|
|
357
|
+
// tiny 新增
|
|
358
|
+
computedGetIcon: computedGetIcon({ designConfig, props }),
|
|
359
|
+
computedGetTagType: computedGetTagType({ designConfig, props }),
|
|
360
|
+
clearSearchText: clearSearchText({ state, api: api2 }),
|
|
361
|
+
clearNoMatchValue: clearNoMatchValue({ props, emit }),
|
|
362
|
+
updateSelectedData: updateSelectedData({ state }),
|
|
363
|
+
hidePanel: hidePanel({ state })
|
|
364
|
+
});
|
|
365
|
+
addApi({ api: api2, props, state, emit, constants, parent, nextTick, dispatch, vm, isMobileFirstMode, designConfig });
|
|
366
|
+
};
|
|
367
|
+
const addApi = ({
|
|
368
|
+
api: api2,
|
|
369
|
+
props,
|
|
370
|
+
state,
|
|
371
|
+
emit,
|
|
372
|
+
constants,
|
|
373
|
+
parent,
|
|
374
|
+
nextTick,
|
|
375
|
+
dispatch,
|
|
376
|
+
vm,
|
|
377
|
+
isMobileFirstMode,
|
|
378
|
+
designConfig
|
|
379
|
+
}) => {
|
|
380
|
+
Object.assign(api2, {
|
|
381
|
+
resetInputHeight: resetInputHeight({ api: api2, constants, nextTick, props, vm, state, designConfig }),
|
|
382
|
+
calcOverFlow: calcOverFlow({ vm, props, state }),
|
|
383
|
+
handleFocus: handleFocus({ api: api2, emit, props, state }),
|
|
384
|
+
deleteTag: deleteTag({ api: api2, constants, emit, props, vm, nextTick, state }),
|
|
385
|
+
watchValue: watchValue({ api: api2, constants, dispatch, props, vm, state }),
|
|
386
|
+
toHide: toHide({ constants, state, props, vm, api: api2 }),
|
|
387
|
+
toVisible: toVisible({ constants, state, props, vm, api: api2, nextTick }),
|
|
388
|
+
setSelected: setSelected({ api: api2, constants, nextTick, props, vm, state }),
|
|
389
|
+
selectOption: selectOption({ api: api2, state, props }),
|
|
390
|
+
handleResize: handleResize({ api: api2, props, state }),
|
|
391
|
+
watchOptions: watchOptions({ api: api2, constants, nextTick, parent, props, state, vm }),
|
|
392
|
+
watchVisible: watchVisible({ api: api2, constants, emit, state, vm, props, isMobileFirstMode }),
|
|
393
|
+
deletePrevTag: deletePrevTag({ api: api2, constants, props, state, vm }),
|
|
394
|
+
onInputChange: onInputChange({ api: api2, props, state, constants, nextTick }),
|
|
395
|
+
deleteSelected: deleteSelected({ api: api2, constants, emit, props, vm, state }),
|
|
396
|
+
handleMenuEnter: handleMenuEnter({ api: api2, nextTick, state, props }),
|
|
397
|
+
resetInputState: resetInputState({ api: api2, vm, state }),
|
|
398
|
+
navigateOptions: navigateOptions({ api: api2, state, props, nextTick }),
|
|
399
|
+
handleClearClick: handleClearClick(api2),
|
|
400
|
+
handleComposition: handleComposition({ api: api2, nextTick, state }),
|
|
401
|
+
handleQueryChange: handleQueryChange({ api: api2, constants, nextTick, props, vm, state }),
|
|
402
|
+
handleOptionSelect: handleOptionSelect({ api: api2, nextTick, props, vm, state }),
|
|
403
|
+
getPluginOption: getPluginOption({ api: api2, props, state }),
|
|
404
|
+
toggleCheckAll: toggleCheckAll({ api: api2, emit, state, props }),
|
|
405
|
+
handleDebouncedQueryChange: handleDebouncedQueryChange({ state, api: api2 }),
|
|
406
|
+
debouncedQueryChange: (event) => {
|
|
407
|
+
const value = props.shape ? event : event.target.value;
|
|
408
|
+
api2.handleDebouncedQueryChange(value);
|
|
409
|
+
},
|
|
410
|
+
debouncedOnInputChange: debounce(state.debounce, () => {
|
|
411
|
+
api2.onInputChange();
|
|
412
|
+
}),
|
|
413
|
+
debouncRquest: debouncRquest({ api: api2, state, props }),
|
|
414
|
+
defaultOnQueryChange: defaultOnQueryChange({ props, state, constants, api: api2, nextTick, vm }),
|
|
415
|
+
queryChange: queryChange({ props, state, constants, api: api2, nextTick, vm }),
|
|
416
|
+
mounted: mounted({ api: api2, parent, state, props, vm, designConfig }),
|
|
417
|
+
unMount: unMount({ api: api2, parent, vm, state }),
|
|
418
|
+
watchOptimizeOpts: watchOptimizeOpts({ props, state }),
|
|
419
|
+
handleDropdownClick: handleDropdownClick({ props, vm, state, emit }),
|
|
420
|
+
handleEnterTag: handleEnterTag({ state }),
|
|
421
|
+
calcCollapseTags: calcCollapseTags({ state, vm, props }),
|
|
422
|
+
initValue: initValue({ state }),
|
|
423
|
+
getLabelSlotValue: getLabelSlotValue({ props, state }),
|
|
424
|
+
onClickCollapseTag: onClickCollapseTag({ state, props, nextTick, api: api2 })
|
|
425
|
+
});
|
|
426
|
+
};
|
|
427
|
+
const initWatch = ({ watch, props, api: api2, state, nextTick }) => {
|
|
428
|
+
watch(
|
|
429
|
+
() => state.selectDisabled,
|
|
430
|
+
() => nextTick(api2.resetInputHeight)
|
|
431
|
+
);
|
|
432
|
+
watch(
|
|
433
|
+
() => props.placeholder,
|
|
434
|
+
(value) => {
|
|
435
|
+
state.cachedPlaceHolder = state.currentPlaceholder = value;
|
|
436
|
+
}
|
|
437
|
+
);
|
|
438
|
+
watch(
|
|
439
|
+
() => props.modelValue,
|
|
440
|
+
() => {
|
|
441
|
+
if (props.multiple && Array.isArray(props.modelValue)) {
|
|
442
|
+
state.modelValue = [...props.modelValue];
|
|
443
|
+
} else {
|
|
444
|
+
state.modelValue = props.modelValue;
|
|
445
|
+
}
|
|
446
|
+
},
|
|
447
|
+
{ immediate: true, deep: true }
|
|
448
|
+
);
|
|
449
|
+
watch(() => state.modelValue, api2.watchValue);
|
|
450
|
+
watch(
|
|
451
|
+
() => state.selectedLabel,
|
|
452
|
+
() => {
|
|
453
|
+
if (props.trim) {
|
|
454
|
+
state.selectedLabel = state.selectedLabel.trim();
|
|
455
|
+
}
|
|
456
|
+
}
|
|
457
|
+
);
|
|
458
|
+
watch(
|
|
459
|
+
() => props.extraQueryParams,
|
|
460
|
+
() => api2.handleQueryChange(state.previousQuery, true),
|
|
461
|
+
{ deep: true }
|
|
462
|
+
);
|
|
463
|
+
watch(
|
|
464
|
+
() => state.breakpoint,
|
|
465
|
+
(val) => {
|
|
466
|
+
if (val === "default") {
|
|
467
|
+
state.device = "mb";
|
|
468
|
+
} else {
|
|
469
|
+
state.device = "pc";
|
|
470
|
+
}
|
|
471
|
+
},
|
|
472
|
+
{ immediate: true, deep: true }
|
|
473
|
+
);
|
|
474
|
+
watch(
|
|
475
|
+
() => state.device,
|
|
476
|
+
(newVal, oldVal) => {
|
|
477
|
+
if (oldVal !== "" && state.visible) {
|
|
478
|
+
api2.updateModelValue(state.modelValue, true);
|
|
479
|
+
}
|
|
480
|
+
}
|
|
481
|
+
);
|
|
482
|
+
watch(() => state.visible, api2.watchVisible);
|
|
483
|
+
watch(() => state.initValue, api2.watchInitValue, { deep: true });
|
|
484
|
+
addWatch({ watch, props, api: api2, state, nextTick });
|
|
485
|
+
};
|
|
486
|
+
const addWatch = ({ watch, props, api: api2, state, nextTick }) => {
|
|
487
|
+
watch(() => [...state.options], api2.watchOptions);
|
|
488
|
+
watch(() => state.hoverIndex, api2.watchHoverIndex);
|
|
489
|
+
props.options && watch(() => props.options, api2.watchPropsOption, { immediate: true, deep: true });
|
|
490
|
+
props.optimization && watch(() => state.optimizeOpts, api2.watchOptimizeOpts, { immediate: true });
|
|
491
|
+
watch([() => state.inputHovering, () => state.visible], api2.watchInputHover);
|
|
492
|
+
watch(() => state.showClose, api2.watchShowClose, { immediate: true });
|
|
493
|
+
watch(
|
|
494
|
+
() => state.selectHover,
|
|
495
|
+
() => props.hoverExpand && !props.disabled && !state.isDisplayOnly && nextTick(api2.resetInputHeight)
|
|
496
|
+
);
|
|
497
|
+
};
|
|
498
|
+
const renderless = (props, { computed, onBeforeUnmount, onMounted, reactive, watch, provide, inject }, { vm, parent, emit, constants, nextTick, dispatch, t, emitter, isMobileFirstMode, useBreakpoint, designConfig }) => {
|
|
499
|
+
const api2 = {};
|
|
500
|
+
const state = initState({
|
|
501
|
+
reactive,
|
|
502
|
+
computed,
|
|
503
|
+
props,
|
|
504
|
+
api: api2,
|
|
505
|
+
emitter,
|
|
506
|
+
parent,
|
|
507
|
+
constants,
|
|
508
|
+
useBreakpoint,
|
|
509
|
+
vm,
|
|
510
|
+
designConfig
|
|
511
|
+
});
|
|
512
|
+
const dialog = inject("dialog", null);
|
|
513
|
+
provide("selectEmitter", state.selectEmitter);
|
|
514
|
+
provide("selectVm", vm);
|
|
515
|
+
const maskState = reactive({ width: "", height: "", top: "" });
|
|
516
|
+
initApi({
|
|
517
|
+
api: api2,
|
|
518
|
+
props,
|
|
519
|
+
state,
|
|
520
|
+
emit,
|
|
521
|
+
maskState,
|
|
522
|
+
constants,
|
|
523
|
+
parent,
|
|
524
|
+
nextTick,
|
|
525
|
+
dispatch,
|
|
526
|
+
t,
|
|
527
|
+
vm,
|
|
528
|
+
isMobileFirstMode,
|
|
529
|
+
designConfig
|
|
530
|
+
});
|
|
531
|
+
parent.$on("handle-clear", (event) => {
|
|
532
|
+
api2.handleClearClick(event);
|
|
533
|
+
});
|
|
534
|
+
if (props.multiple && !Array.isArray(props.modelValue)) {
|
|
535
|
+
emit("update:modelValue", []);
|
|
536
|
+
}
|
|
537
|
+
if (!props.multiple && Array.isArray(props.modelValue)) {
|
|
538
|
+
emit("update:modelValue", "");
|
|
539
|
+
}
|
|
540
|
+
dialog && dialog.state.emitter.on("handleSelectClose", api2.handleClose);
|
|
541
|
+
state.selectEmitter.on(constants.EVENT_NAME.handleOptionClick, api2.handleOptionSelect);
|
|
542
|
+
state.selectEmitter.on(constants.EVENT_NAME.setSelected, api2.setSelected);
|
|
543
|
+
state.selectEmitter.on(constants.EVENT_NAME.initValue, api2.initValue);
|
|
544
|
+
initWatch({ watch, props, api: api2, state, nextTick });
|
|
545
|
+
onMounted(api2.mounted);
|
|
546
|
+
onBeforeUnmount(() => {
|
|
547
|
+
api2.unMount();
|
|
548
|
+
dialog && dialog.state.emitter.off("handleSelectClose", api2.handleClose);
|
|
549
|
+
});
|
|
550
|
+
return api2;
|
|
551
|
+
};
|
|
552
|
+
export {
|
|
553
|
+
api,
|
|
554
|
+
renderless
|
|
555
|
+
};
|
package/breadcrumb-item/vue.js
CHANGED
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import "../chunk-G2ADBYYC.js";
|
|
2
2
|
import { linkClick } from "./index";
|
|
3
3
|
const api = ["linkClick", "state"];
|
|
4
|
-
const renderless = (props, { reactive, inject }, { refs, router, emit }) => {
|
|
4
|
+
const renderless = (props, { reactive, inject }, { designConfig }, { refs, router, emit }) => {
|
|
5
5
|
const breadcrumbEmitter = inject("breadcrumbEmitter");
|
|
6
6
|
const breadcrumb = inject("breadcrumb");
|
|
7
7
|
const constants = breadcrumb._constants;
|
|
8
|
+
const separator = props.separator || (designConfig == null ? void 0 : designConfig.separator) || ">";
|
|
8
9
|
const state = reactive({
|
|
9
|
-
size: inject("size", null)
|
|
10
|
+
size: inject("size", null),
|
|
11
|
+
separator
|
|
10
12
|
});
|
|
11
13
|
const api2 = {
|
|
12
14
|
state,
|
package/card/index.js
CHANGED
|
@@ -69,7 +69,22 @@ const getItemChecked = ({ props, state }) => () => {
|
|
|
69
69
|
return state.model === props.label;
|
|
70
70
|
}
|
|
71
71
|
};
|
|
72
|
+
const cardClick = ({ emit, state, props }) => (event) => {
|
|
73
|
+
if (props.checkMode !== "normal" && !state.disabled) {
|
|
74
|
+
if (state.checkType === "checkbox") {
|
|
75
|
+
if (state.model.includes(props.label)) {
|
|
76
|
+
state.model = state.model.filter((label) => label !== props.label);
|
|
77
|
+
} else {
|
|
78
|
+
state.model.push(props.label);
|
|
79
|
+
}
|
|
80
|
+
} else {
|
|
81
|
+
state.model = props.label;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
emit("click", event);
|
|
85
|
+
};
|
|
72
86
|
export {
|
|
87
|
+
cardClick,
|
|
73
88
|
computedStore,
|
|
74
89
|
getIconNum,
|
|
75
90
|
getItemChecked,
|
package/card/vue.js
CHANGED
|
@@ -10,9 +10,10 @@ import {
|
|
|
10
10
|
getModel,
|
|
11
11
|
setModel,
|
|
12
12
|
computedStore,
|
|
13
|
-
getItemChecked
|
|
13
|
+
getItemChecked,
|
|
14
|
+
cardClick
|
|
14
15
|
} from "./index";
|
|
15
|
-
const api = ["state", "handelIconClick", "handleChange"];
|
|
16
|
+
const api = ["state", "handelIconClick", "handleChange", "cardClick"];
|
|
16
17
|
const renderless = (props, { reactive, watch, computed }, { vm, parent, emit, constants, nextTick, dispatch }) => {
|
|
17
18
|
const api2 = {};
|
|
18
19
|
const state = reactive({
|
|
@@ -36,7 +37,8 @@ const renderless = (props, { reactive, watch, computed }, { vm, parent, emit, co
|
|
|
36
37
|
model: computed({
|
|
37
38
|
get: () => api2.getModel(),
|
|
38
39
|
set: (val) => api2.setModel(val)
|
|
39
|
-
})
|
|
40
|
+
}),
|
|
41
|
+
checkMode: computed(() => props.checkMode)
|
|
40
42
|
});
|
|
41
43
|
Object.assign(api2, {
|
|
42
44
|
state,
|
|
@@ -46,6 +48,7 @@ const renderless = (props, { reactive, watch, computed }, { vm, parent, emit, co
|
|
|
46
48
|
isDisabled: isDisabled({ props, state }),
|
|
47
49
|
setModel: setModel({ constants, dispatch, emit, props, vm, state }),
|
|
48
50
|
handleChange: handleChange({ constants, dispatch, emit, state, nextTick }),
|
|
51
|
+
cardClick: cardClick({ emit, state, props }),
|
|
49
52
|
getSliceNum: getSliceNum({ state, props }),
|
|
50
53
|
getIconNum: getIconNum({ state, props }),
|
|
51
54
|
computedStore: computedStore({ state, props }),
|