@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.
Files changed (98) hide show
  1. package/action-sheet/index.js +0 -1
  2. package/base-select/index.js +1510 -0
  3. package/base-select/vue.js +555 -0
  4. package/breadcrumb-item/vue.js +4 -2
  5. package/card/index.js +15 -0
  6. package/card/vue.js +6 -3
  7. package/carousel/index.js +89 -17
  8. package/carousel/vue.js +29 -24
  9. package/carousel-item/index.js +24 -9
  10. package/carousel-item/vue.js +10 -9
  11. package/cascader/vue.js +2 -1
  12. package/cascader-panel/index.js +8 -1
  13. package/cascader-panel/vue.js +1 -1
  14. package/cascader-select/column-index.js +11 -6
  15. package/cascader-select/column.js +8 -5
  16. package/cascader-select/usePicker.js +3 -2
  17. package/checkbox/index.js +0 -17
  18. package/checkbox/vue.js +4 -10
  19. package/collapse-item/vue.js +4 -2
  20. package/common/deps/clickoutside.js +15 -8
  21. package/common/deps/popper.js +15 -1
  22. package/common/deps/throttle.js +7 -0
  23. package/common/deps/touch-emulator.js +1 -1
  24. package/common/deps/tree-model/node.js +1 -0
  25. package/common/deps/tree-model/tree-store.js +4 -1
  26. package/common/deps/useEventListener.js +9 -2
  27. package/common/deps/useInstanceSlots.js +22 -0
  28. package/common/deps/useRelation.js +72 -0
  29. package/common/deps/vue-popper.js +1 -0
  30. package/common/function.js +28 -0
  31. package/common/index.js +1 -1
  32. package/common/runtime.js +1 -1
  33. package/common/type.js +2 -0
  34. package/dialog-box/index.js +0 -22
  35. package/dialog-box/vue.js +1 -4
  36. package/drawer/index.js +27 -29
  37. package/drawer/vue.js +6 -10
  38. package/file-upload/index.js +1 -1
  39. package/fluent-editor/index.js +679 -0
  40. package/fluent-editor/options.js +234 -0
  41. package/fluent-editor/vue.js +192 -0
  42. package/form/index.js +5 -1
  43. package/grid/utils/column.js +4 -2
  44. package/grid/utils/common.js +18 -29
  45. package/grid/utils/event.js +14 -9
  46. package/guide/index.js +6 -5
  47. package/guide/vue.js +2 -2
  48. package/input/index.js +32 -2
  49. package/input/vue.js +21 -2
  50. package/nav-menu/index.js +1 -1
  51. package/numeric/index.js +4 -1
  52. package/option/vue.js +6 -6
  53. package/package.json +1 -1
  54. package/picker/mb.js +6 -1
  55. package/picker/vue.js +2 -1
  56. package/select/index.js +65 -40
  57. package/select/vue.js +1 -1
  58. package/split/index.js +16 -9
  59. package/split/vue.js +7 -2
  60. package/statistic/index.js +7 -0
  61. package/tabs/index.js +37 -13
  62. package/tabs-mf/index.js +116 -13
  63. package/tabs-mf/vue-bar.js +6 -0
  64. package/tabs-mf/vue-nav-item.js +1 -1
  65. package/tabs-mf/vue.js +42 -7
  66. package/tag-group/vue.js +7 -1
  67. package/time/index.js +1 -1
  68. package/time-line/index.js +2 -2
  69. package/time-line/vue.js +4 -13
  70. package/timeline-item/index.js +5 -5
  71. package/timeline-item/vue.js +13 -6
  72. package/tree/index.js +29 -2
  73. package/tree/vue.js +5 -2
  74. package/tree-node/vue.js +2 -1
  75. package/types/action-menu.type.d.ts +12 -4
  76. package/types/cascader-menu.type.d.ts +1 -1
  77. package/types/cascader-node.type.d.ts +1 -1
  78. package/types/{cascader-panel.type-2bd03be3.d.ts → cascader-panel.type-8f58e628.d.ts} +1 -1
  79. package/types/cascader-panel.type.d.ts +1 -1
  80. package/types/cascader.type.d.ts +1 -1
  81. package/types/collapse-item.type.d.ts +3 -0
  82. package/types/dialog-box.type.d.ts +2 -6
  83. package/types/drawer.type.d.ts +28 -30
  84. package/types/form-item.type.d.ts +1 -1
  85. package/types/{form.type-8e30b25c.d.ts → form.type-33aa784a.d.ts} +4 -0
  86. package/types/form.type.d.ts +1 -1
  87. package/types/input.type.d.ts +4 -0
  88. package/types/ip-address.type.d.ts +1 -6
  89. package/types/numeric.type.d.ts +1 -0
  90. package/types/search.type.d.ts +1 -3
  91. package/types/{time-line.type-1b501c41.d.ts → time-line.type-9fb16096.d.ts} +7 -5
  92. package/types/time-line.type.d.ts +1 -1
  93. package/types/timeline-item.type.d.ts +1 -1
  94. package/user/index.js +10 -4
  95. package/year-table/index.js +5 -3
  96. package/year-table/vue.js +1 -1
  97. package/common/deps/letter-only.js +0 -19
  98. 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
+ };
@@ -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 }),