cnhis-design-vue 3.1.43-beta.3 → 3.1.43-beta.31

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 (145) hide show
  1. package/es/components/base-search/index.d.ts +51 -114
  2. package/es/components/base-search/src/index.vue.d.ts +51 -114
  3. package/es/components/base-search/src/index.vue.js +1 -1
  4. package/es/components/base-search/style/index.css +1 -1
  5. package/es/components/classification/index.d.ts +9 -6
  6. package/es/components/classification/src/components/search-filter/index.vue.d.ts +3 -0
  7. package/es/components/classification/src/components/set-classification/index.vue.d.ts +8 -5
  8. package/es/components/classification/src/components/set-classification/index.vue.js +1 -1
  9. package/es/components/classification/src/components/table-modal/index.vue.d.ts +2 -2
  10. package/es/components/classification/src/index.vue.d.ts +9 -6
  11. package/es/components/fabric-chart/index.d.ts +1 -1
  12. package/es/components/fabric-chart/src/FabricChart.vue.d.ts +2 -2
  13. package/es/components/fabric-chart/src/hooks/useBirthProcess.d.ts +1 -1
  14. package/es/components/fabric-chart/src/hooks/useBirthProcessChart.d.ts +2 -1
  15. package/es/components/fabric-chart/src/hooks/useCenter.d.ts +4 -4
  16. package/es/components/fabric-chart/src/hooks/useCumputedPoint.js +1 -1
  17. package/es/components/fabric-chart/src/hooks/useEvent.d.ts +1 -1
  18. package/es/components/fabric-chart/src/hooks/useEvent.js +1 -1
  19. package/es/components/fabric-chart/src/hooks/useLeft.d.ts +1 -1
  20. package/es/components/fabric-chart/src/hooks/useOther.js +1 -1
  21. package/es/components/fabric-chart/src/hooks/useTemperatureChart.d.ts +3 -2
  22. package/es/components/fabric-chart/src/hooks/useTemperatureChart.js +1 -1
  23. package/es/components/form-config/index.d.ts +8 -8
  24. package/es/components/form-config/src/FormConfig.vue.d.ts +8 -8
  25. package/es/components/form-config/src/components/FormConfigCreator.vue.d.ts +4 -4
  26. package/es/components/form-config/src/components/FormConfigEdit.vue.d.ts +4 -4
  27. package/es/components/form-render/index.d.ts +4 -4
  28. package/es/components/form-render/src/FormRender.vue.d.ts +4 -4
  29. package/es/components/form-render/src/FormRender.vue.js +1 -1
  30. package/es/components/form-render/src/FormRenderWrapper.vue.d.ts +4 -4
  31. package/es/components/form-render/src/components/renderer/dist/levelSearchCascader.d.ts +77 -0
  32. package/es/components/form-render/src/components/renderer/dist/searchCascade.d.ts +93 -0
  33. package/es/components/form-render/src/components/renderer/radio&checkbox.d.ts +6 -0
  34. package/es/components/form-render/src/components/renderer/radio_checkbox.js +1 -1
  35. package/es/components/form-render/src/components/renderer/searchCascade.js +1 -1
  36. package/es/components/form-render/src/components/renderer/select.js +1 -1
  37. package/es/components/form-render/src/hooks/useAnchor.js +1 -1
  38. package/es/components/form-render/src/hooks/useNuiThemeOverrides.js +1 -1
  39. package/es/components/form-render/style/index.css +1 -1
  40. package/es/components/guide/index.d.ts +2 -0
  41. package/es/components/guide/index.js +1 -0
  42. package/es/components/guide/src/renderer.d.ts +37 -0
  43. package/es/components/guide/src/renderer.js +1 -0
  44. package/es/components/guide/src/types/index.d.ts +40 -0
  45. package/es/components/guide/src/useGuide.d.ts +6 -0
  46. package/es/components/guide/src/useGuide.js +1 -0
  47. package/es/components/guide/src/utils/index.d.ts +14 -0
  48. package/es/components/guide/src/utils/index.js +1 -0
  49. package/es/components/iho-select-label/index.d.ts +352 -0
  50. package/es/components/iho-select-label/index.js +1 -0
  51. package/es/components/iho-select-label/src/LabelFormContent.vue.d.ts +141 -0
  52. package/es/components/iho-select-label/src/LabelFormContent.vue.js +1 -0
  53. package/es/components/iho-select-label/src/SelectLabel.vue.d.ts +213 -0
  54. package/es/components/iho-select-label/src/SelectLabel.vue.js +1 -0
  55. package/es/components/iho-select-label/src/components/label-classify.vue.d.ts +63 -0
  56. package/es/components/iho-select-label/src/components/label-classify.vue.js +1 -0
  57. package/es/components/iho-select-label/src/types/index.d.ts +11 -0
  58. package/es/components/iho-select-label/src/types/index.js +1 -0
  59. package/es/components/iho-select-label/style/iho-select-label-iconfont.ttf +0 -0
  60. package/es/components/iho-select-label/style/index.css +1 -0
  61. package/es/components/iho-table/index.d.ts +9 -2
  62. package/es/components/iho-table/src/IhoTable.vue.d.ts +9 -2
  63. package/es/components/iho-table/src/IhoTable.vue.js +1 -1
  64. package/es/components/iho-table/src/hooks/tapHooks/useDataHooks.d.ts +2 -2
  65. package/es/components/iho-table/src/plugins/anchorPlugin/tableAnchor.js +1 -1
  66. package/es/components/iho-table/src/plugins/anchorPlugin/useAnchor.d.ts +4 -1
  67. package/es/components/iho-table/src/plugins/anchorPlugin/useAnchor.js +1 -1
  68. package/es/components/iho-table/src/plugins/dist/highLightSetPlugin.d.ts +3 -0
  69. package/es/components/iho-table/src/plugins/filterDaterangeRenderPlugin/index.js +1 -1
  70. package/es/components/iho-table/src/plugins/filterRenderPlugin/dist/index.d.ts +3 -0
  71. package/es/components/iho-table/src/plugins/filterRenderPlugin/filter.vue.d.ts +3 -11
  72. package/es/components/iho-table/src/plugins/filterRenderPlugin/filter.vue.js +1 -1
  73. package/es/components/iho-table/src/plugins/filterRenderPlugin/index.js +1 -1
  74. package/es/components/iho-table/src/plugins/keyboardEventPlugin/index.js +1 -1
  75. package/es/components/iho-table/src/plugins/lowCodeFieldAdaptorPlugin/index.js +1 -1
  76. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/dateRendererPlugin/dist/index.d.ts +3 -0
  77. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/dateRendererPlugin/editDate.vue.d.ts +2 -3
  78. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/dateRendererPlugin/editDate.vue.js +1 -1
  79. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/hooks/useAutoFocus.js +1 -1
  80. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/hooks/useSelectOption.d.ts +2 -0
  81. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/hooks/useSelectOption.js +1 -0
  82. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/selectRendererPlugin/index.js +1 -1
  83. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/selectRendererPlugin/selectUtils.d.ts +1 -0
  84. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/selectRendererPlugin/selectUtils.js +1 -1
  85. package/es/components/iho-table/src/plugins/rendererPlugins/widgets/dist/defaultRendererPlugin.d.ts +3 -0
  86. package/es/components/iho-table/src/plugins/rendererPlugins/widgets/dist/seqRendererPlugin.d.ts +3 -0
  87. package/es/components/iho-table/src/plugins/varialbleHeightPlugin/index.js +1 -1
  88. package/es/components/iho-table/src/plugins/virtualTreePlugin/index.js +1 -1
  89. package/es/components/iho-table/src/types/index.d.ts +4 -1
  90. package/es/components/iho-table/src/utils/dist/index.d.ts +44 -0
  91. package/es/components/iho-table/style/iconfont.ttf +0 -0
  92. package/es/components/iho-table/style/index.css +1 -1
  93. package/es/components/index.css +1 -1
  94. package/es/components/index.d.ts +4 -1
  95. package/es/components/index.js +1 -1
  96. package/es/components/info-header/index.d.ts +8 -8
  97. package/es/components/info-header/src/InfoHeader.vue.d.ts +8 -8
  98. package/es/components/info-header/src/components/infoDescription/index.vue.d.ts +4 -4
  99. package/es/components/info-header/src/components/patientInfo/index.vue.d.ts +4 -4
  100. package/es/components/keyboard/src/components/InputNumber.vue.js +1 -1
  101. package/es/components/quick-search/index.d.ts +55 -224
  102. package/es/components/quick-search/src/index.vue.d.ts +55 -224
  103. package/es/components/quick-search/src/index.vue.js +1 -1
  104. package/es/components/quick-search/style/index.css +1 -1
  105. package/es/components/scale-view/src/components/formitem/dist/r-address.d.ts +36 -0
  106. package/es/components/scale-view/src/components/formitem/dist/r-sign.d.ts +36 -0
  107. package/es/components/scale-view/src/components/formitem/dist/standard-modal.d.ts +82 -0
  108. package/es/components/scale-view/src/components/formitem/standard-modal.d.ts +1 -1
  109. package/es/components/search-cascader/src/components/dist/SearchMenu.d.ts +57 -0
  110. package/es/components/search-cascader/src/components/dist/SearchMenu1.d.ts +57 -0
  111. package/es/components/shortcut-setter/index.d.ts +4 -4
  112. package/es/components/shortcut-setter/src/ShortcutSetter.vue.d.ts +4 -4
  113. package/es/components/table-filter/src/components/classify-filter/ValueCfg.vue.d.ts +3 -0
  114. package/es/components/table-filter/src/components/classify-filter/index.vue.d.ts +3 -0
  115. package/es/components/table-filter/src/components/render-widget/basicData.d.ts +4 -0
  116. package/es/components/table-filter/src/components/render-widget/basicData.js +1 -0
  117. package/es/components/table-filter/src/components/render-widget/components/Date.vue.d.ts +84 -0
  118. package/es/components/table-filter/src/components/render-widget/components/Date.vue.js +1 -0
  119. package/es/components/table-filter/src/components/render-widget/components/DateRange.vue.d.ts +118 -0
  120. package/es/components/table-filter/src/components/render-widget/components/DateRange.vue.js +1 -0
  121. package/es/components/table-filter/src/components/render-widget/components/InputNumberGroup.vue.d.ts +67 -0
  122. package/es/components/table-filter/src/components/render-widget/components/InputNumberGroup.vue.js +1 -0
  123. package/es/components/table-filter/src/components/render-widget/components/Select.vue.d.ts +27 -8
  124. package/es/components/table-filter/src/components/render-widget/components/Select.vue.js +1 -1
  125. package/es/components/table-filter/src/components/render-widget/components/index.d.ts +4 -2
  126. package/es/components/table-filter/src/components/render-widget/components/index.js +1 -1
  127. package/es/components/table-filter/src/components/render-widget/enums.d.ts +17 -0
  128. package/es/components/table-filter/src/components/render-widget/enums.js +1 -1
  129. package/es/components/table-filter/src/components/render-widget/helpers/presetValToTimestamp.d.ts +5 -0
  130. package/es/components/table-filter/src/components/render-widget/helpers/presetValToTimestamp.js +1 -1
  131. package/es/components/table-filter/src/components/render-widget/index.vue.d.ts +13 -3
  132. package/es/components/table-filter/src/components/render-widget/index.vue.js +1 -1
  133. package/es/components/table-filter/src/components/render-widget/widgetCfgMaps.d.ts +241 -16
  134. package/es/components/table-filter/src/components/render-widget/widgetCfgMaps.js +1 -1
  135. package/es/components/table-filter/src/hooks/useAdvanced.d.ts +6 -2
  136. package/es/components/table-filter/src/hooks/useAdvanced.js +1 -1
  137. package/es/components/table-filter/src/hooks/useRenderWidget.d.ts +1 -0
  138. package/es/components/table-filter/src/hooks/useRenderWidget.js +1 -1
  139. package/es/components/table-filter/src/types/enums.d.ts +3 -0
  140. package/es/components/table-filter/src/types/enums.js +1 -1
  141. package/es/components/table-filter/src/types/index.d.ts +27 -87
  142. package/es/shared/package.json.js +1 -1
  143. package/package.json +2 -2
  144. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/hooks/useTriggerEvent.d.ts +0 -0
  145. /package/es/components/{iho-table/src/plugins/rendererPlugins/editableWidgets/hooks/useTriggerEvent.js → guide/src/types/index.js} +0 -0
@@ -134,7 +134,7 @@ declare const _default: import("vue").DefineComponent<{}, {
134
134
  type: BooleanConstructor;
135
135
  };
136
136
  bordered: {
137
- type: BooleanConstructor;
137
+ type: (BooleanConstructor | StringConstructor)[];
138
138
  default: boolean;
139
139
  };
140
140
  }, {
@@ -266,7 +266,7 @@ declare const _default: import("vue").DefineComponent<{}, {
266
266
  type: BooleanConstructor;
267
267
  };
268
268
  bordered: {
269
- type: BooleanConstructor;
269
+ type: (BooleanConstructor | StringConstructor)[];
270
270
  default: boolean;
271
271
  };
272
272
  }>> & {
@@ -714,7 +714,7 @@ declare const _default: import("vue").DefineComponent<{}, {
714
714
  type: BooleanConstructor;
715
715
  };
716
716
  bordered: {
717
- type: BooleanConstructor;
717
+ type: (BooleanConstructor | StringConstructor)[];
718
718
  default: boolean;
719
719
  };
720
720
  }>> & {
@@ -732,7 +732,7 @@ declare const _default: import("vue").DefineComponent<{}, {
732
732
  consumer: boolean;
733
733
  enterToNextWidget: boolean | ((fieldItem: import("../../../../es/components/form-render").FieldItem) => boolean | void);
734
734
  linebarAutoHidden: boolean;
735
- bordered: boolean;
735
+ bordered: string | boolean;
736
736
  }>;
737
737
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
738
738
  export default _default;
@@ -0,0 +1,77 @@
1
+ export const __esModule: true;
2
+ export const LEVEL_SEARCH_CASCADER: vue_2.DefineComponent<{
3
+ options: {
4
+ type: ArrayConstructor;
5
+ default: () => never[];
6
+ };
7
+ labelField: {
8
+ type: StringConstructor;
9
+ default: string;
10
+ };
11
+ valueField: {
12
+ type: StringConstructor;
13
+ default: string;
14
+ };
15
+ autograph: {
16
+ type: StringConstructor;
17
+ required: true;
18
+ };
19
+ lazyRequest: {
20
+ type: BooleanConstructor;
21
+ default: boolean;
22
+ };
23
+ requestCache: {
24
+ type: BooleanConstructor;
25
+ default: boolean;
26
+ };
27
+ wordbook: {
28
+ type: ObjectConstructor;
29
+ required: true;
30
+ };
31
+ onChange: {};
32
+ value: {
33
+ type: (ArrayConstructor | StringConstructor)[];
34
+ };
35
+ }, () => any, any, {}, {}, vue_2.ComponentOptionsMixin, vue_2.ComponentOptionsMixin, "update:value"[], "update:value", vue_2.VNodeProps & vue_2.AllowedComponentProps & vue_2.ComponentCustomProps, Readonly<vue_2.ExtractPropTypes<{
36
+ options: {
37
+ type: ArrayConstructor;
38
+ default: () => never[];
39
+ };
40
+ labelField: {
41
+ type: StringConstructor;
42
+ default: string;
43
+ };
44
+ valueField: {
45
+ type: StringConstructor;
46
+ default: string;
47
+ };
48
+ autograph: {
49
+ type: StringConstructor;
50
+ required: true;
51
+ };
52
+ lazyRequest: {
53
+ type: BooleanConstructor;
54
+ default: boolean;
55
+ };
56
+ requestCache: {
57
+ type: BooleanConstructor;
58
+ default: boolean;
59
+ };
60
+ wordbook: {
61
+ type: ObjectConstructor;
62
+ required: true;
63
+ };
64
+ onChange: {};
65
+ value: {
66
+ type: (ArrayConstructor | StringConstructor)[];
67
+ };
68
+ }>> & {
69
+ "onUpdate:value"?: ((...args: any[]) => any) | undefined;
70
+ }, {
71
+ options: unknown[];
72
+ labelField: string;
73
+ valueField: string;
74
+ lazyRequest: boolean;
75
+ requestCache: boolean;
76
+ }>;
77
+ import vue_2 = require("vue");
@@ -0,0 +1,93 @@
1
+ export const __esModule: true;
2
+ export const SEARCH_CASCADER: vue_2.DefineComponent<{
3
+ options: {
4
+ type: ArrayConstructor;
5
+ default: () => never[];
6
+ };
7
+ depth: {
8
+ type: (NumberConstructor | StringConstructor)[];
9
+ };
10
+ urlConfig: {
11
+ type: ObjectConstructor;
12
+ };
13
+ lazyRequest: {
14
+ type: BooleanConstructor;
15
+ default: boolean;
16
+ };
17
+ requestCache: {
18
+ type: BooleanConstructor;
19
+ default: boolean;
20
+ };
21
+ onFocus: {
22
+ type: FunctionConstructor;
23
+ };
24
+ filterable: {
25
+ type: BooleanConstructor;
26
+ default: boolean;
27
+ };
28
+ checkStrategy: {
29
+ type: StringConstructor;
30
+ default: string;
31
+ };
32
+ labelField: {
33
+ type: StringConstructor;
34
+ default: string;
35
+ };
36
+ valueField: {
37
+ type: StringConstructor;
38
+ default: string;
39
+ };
40
+ onChange: {};
41
+ value: {};
42
+ }, () => any, any, {}, {}, vue_2.ComponentOptionsMixin, vue_2.ComponentOptionsMixin, "update:value"[], "update:value", vue_2.VNodeProps & vue_2.AllowedComponentProps & vue_2.ComponentCustomProps, Readonly<vue_2.ExtractPropTypes<{
43
+ options: {
44
+ type: ArrayConstructor;
45
+ default: () => never[];
46
+ };
47
+ depth: {
48
+ type: (NumberConstructor | StringConstructor)[];
49
+ };
50
+ urlConfig: {
51
+ type: ObjectConstructor;
52
+ };
53
+ lazyRequest: {
54
+ type: BooleanConstructor;
55
+ default: boolean;
56
+ };
57
+ requestCache: {
58
+ type: BooleanConstructor;
59
+ default: boolean;
60
+ };
61
+ onFocus: {
62
+ type: FunctionConstructor;
63
+ };
64
+ filterable: {
65
+ type: BooleanConstructor;
66
+ default: boolean;
67
+ };
68
+ checkStrategy: {
69
+ type: StringConstructor;
70
+ default: string;
71
+ };
72
+ labelField: {
73
+ type: StringConstructor;
74
+ default: string;
75
+ };
76
+ valueField: {
77
+ type: StringConstructor;
78
+ default: string;
79
+ };
80
+ onChange: {};
81
+ value: {};
82
+ }>> & {
83
+ "onUpdate:value"?: ((...args: any[]) => any) | undefined;
84
+ }, {
85
+ options: unknown[];
86
+ checkStrategy: string;
87
+ labelField: string;
88
+ valueField: string;
89
+ lazyRequest: boolean;
90
+ requestCache: boolean;
91
+ filterable: boolean;
92
+ }>;
93
+ import vue_2 = require("vue");
@@ -53,6 +53,7 @@ export declare const RADIO: import("vue").DefineComponent<{
53
53
  type: PropType<"checked" | "all">;
54
54
  default: string;
55
55
  };
56
+ clearable: BooleanConstructor;
56
57
  onChange: {};
57
58
  }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "update:value"[], "update:value", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
58
59
  value: {
@@ -107,6 +108,7 @@ export declare const RADIO: import("vue").DefineComponent<{
107
108
  type: PropType<"checked" | "all">;
108
109
  default: string;
109
110
  };
111
+ clearable: BooleanConstructor;
110
112
  onChange: {};
111
113
  }>> & {
112
114
  "onUpdate:value"?: ((...args: any[]) => any) | undefined;
@@ -118,6 +120,7 @@ export declare const RADIO: import("vue").DefineComponent<{
118
120
  lazyRequest: boolean;
119
121
  requestCache: boolean;
120
122
  childFieldStrategy: "checked" | "all";
123
+ clearable: boolean;
121
124
  }>;
122
125
  export declare const CHECKBOX: import("vue").DefineComponent<{
123
126
  value: {
@@ -172,6 +175,7 @@ export declare const CHECKBOX: import("vue").DefineComponent<{
172
175
  type: PropType<"checked" | "all">;
173
176
  default: string;
174
177
  };
178
+ clearable: BooleanConstructor;
175
179
  onChange: {};
176
180
  }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "update:value"[], "update:value", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
177
181
  value: {
@@ -226,6 +230,7 @@ export declare const CHECKBOX: import("vue").DefineComponent<{
226
230
  type: PropType<"checked" | "all">;
227
231
  default: string;
228
232
  };
233
+ clearable: BooleanConstructor;
229
234
  onChange: {};
230
235
  }>> & {
231
236
  "onUpdate:value"?: ((...args: any[]) => any) | undefined;
@@ -237,4 +242,5 @@ export declare const CHECKBOX: import("vue").DefineComponent<{
237
242
  lazyRequest: boolean;
238
243
  requestCache: boolean;
239
244
  childFieldStrategy: "checked" | "all";
245
+ clearable: boolean;
240
246
  }>;
@@ -1 +1 @@
1
- import{defineComponent as e,createVNode as t,isVNode as o}from"vue";import{connect as l,mapProps as a}from"@formily/vue";import{NSpace as r,NRadio as i,NRadioGroup as u,NCheckbox as n,NCheckboxGroup as p}from"naive-ui";import"../../../index.js";import{useComplexOptions as d}from"../../hooks/useComplexOptions.js";import"../../utils/index.js";import{useAutographOptions as s}from"../../hooks/useFormRenderOptions.js";import{useCommonInjection as m}from"../../hooks/useCommonInjection.js";import{assignUpdateValue as c,createVisitedSetter as v}from"../../utils/schema.js";import{useFormField as y}from"../../hooks/useFormField.js";function f(l,a,i){return e({name:l,props:{value:{type:[String,Number,Object,Array]},options:{type:Array,default:()=>[]},autograph:{type:String},lazyRequest:{type:Boolean,default:!1},requestCache:{type:Boolean,default:!0},labelField:{type:String,default:"text"},valueField:{type:String,default:"value"},wordbook:{type:Object},vertical:{type:Boolean,default:!1},childFieldStrategy:{type:String,default:"checked"},onChange:{}},emits:["update:value"],setup(e,{emit:l}){const{field:u}=y(),{renderComplexOption:n,valueRef:p}=d(e,l),{labelKey:c,valueKey:f,fullOptions:j}=s(e,p),{injectValueBindKey:b,injectValueValidate:h}=m();h(p);const g=b(p);return()=>t(a,{key:g.value,value:p.value,"onUpdate:value":e=>p.value=e,onClick:v(u)},{default:()=>[t(r,{vertical:e.vertical,"vertical-space":e.vertical},{default:()=>{var l;return[null==(l=j.value)?void 0:l.map((l=>{let a;return t(i,{key:l[f.value],value:l[f.value],disabled:l.disabled},"function"==typeof(r=a=n({value:p.value,option:l,valueKey:f.value,labelKey:c.value,childFieldStrategy:e.childFieldStrategy}))||"[object Object]"===Object.prototype.toString.call(r)&&!o(r)?a:{default:()=>[a]});var r}))]}})]})}})}const j=l(f("FormRadio",u,i),a({dataSource:"options"},c)),b=l(f("FormCheckbox",p,n),a({dataSource:"options"},c));export{b as CHECKBOX,j as RADIO};
1
+ import{defineComponent as e,createVNode as t,isVNode as l}from"vue";import{connect as o,mapProps as a}from"@formily/vue";import{promiseTimeout as r}from"@vueuse/shared";import{NSpace as i,NRadio as u,NRadioGroup as n,NCheckbox as p,NCheckboxGroup as d}from"naive-ui";import"../../../index.js";import{useComplexOptions as s}from"../../hooks/useComplexOptions.js";import"../../utils/index.js";import{useAutographOptions as c}from"../../hooks/useFormRenderOptions.js";import{useCommonInjection as m}from"../../hooks/useCommonInjection.js";import{assignUpdateValue as v,createVisitedSetter as f}from"../../utils/schema.js";import{useFormField as y}from"../../hooks/useFormField.js";function b(o,a,u){return e({name:o,props:{value:{type:[String,Number,Object,Array]},options:{type:Array,default:()=>[]},autograph:{type:String},lazyRequest:{type:Boolean,default:!1},requestCache:{type:Boolean,default:!0},labelField:{type:String,default:"text"},valueField:{type:String,default:"value"},wordbook:{type:Object},vertical:{type:Boolean,default:!1},childFieldStrategy:{type:String,default:"checked"},clearable:Boolean,onChange:{}},emits:["update:value"],setup(e,{emit:o}){const{field:p}=y(),{renderComplexOption:d,valueRef:v}=s(e,o),{labelKey:b,valueKey:j,fullOptions:h}=c(e,v),{injectValueBindKey:g,injectValueValidate:k}=m();k(v);const S=g(v);async function F(){if(a!==n||!e.clearable)return;const t=v.value;await r(0),null!=t&&(v.value=null)}return()=>t(a,{key:S.value,value:v.value,"onUpdate:value":e=>v.value=e,onClick:f(p)},{default:()=>[t(i,{vertical:e.vertical,"vertical-space":e.vertical},{default:()=>{var o;return[null==(o=h.value)?void 0:o.map((o=>{let a;return t(u,{key:o[j.value],value:o[j.value],disabled:o.disabled,onClick:F},"function"==typeof(r=a=d({value:v.value,option:o,valueKey:j.value,labelKey:b.value,childFieldStrategy:e.childFieldStrategy}))||"[object Object]"===Object.prototype.toString.call(r)&&!l(r)?a:{default:()=>[a]});var r}))]}})]})}})}const j=o(b("FormRadio",n,u),a({dataSource:"options"},v)),h=o(b("FormCheckbox",d,p),a({dataSource:"options"},v));export{h as CHECKBOX,j as RADIO};
@@ -1 +1 @@
1
- import{defineComponent as e,ref as t,computed as a,inject as l,watch as r,createVNode as o,nextTick as n}from"vue";import{isEqual as u,isArray as i,isString as s}from"lodash-es";import"../../../index.js";import{useCommonInjection as c}from"../../hooks/useCommonInjection.js";import{InjectionAsyncQueue as p,InjectionFormUUID as d}from"../../constants/index.js";import"../../../../../shared/utils/index.js";import"../../utils/index.js";import{useFormField as m}from"../../hooks/useFormField.js";import{NCascader as v}from"naive-ui";import"@vueuse/core";import"date-fns";import"../../../../../shared/utils/tapable/SyncHook.js";import"../../../../../shared/utils/tapable/SyncBailHook.js";import"../../../../../shared/utils/tapable/SyncWaterfallHook.js";import"../../../../../shared/utils/tapable/SyncLoopHook.js";import"../../../../../shared/utils/tapable/AsyncParallelHook.js";import"../../../../../shared/utils/tapable/AsyncParallelBailHook.js";import"../../../../../shared/utils/tapable/AsyncSeriesHook.js";import"../../../../../shared/utils/tapable/AsyncSeriesBailHook.js";import"../../../../../shared/utils/tapable/AsyncSeriesLoopHook.js";import"../../../../../shared/utils/tapable/AsyncSeriesWaterfallHook.js";import"../../hooks/useFormValidator.js";import"@formily/core";import"@formily/reactive";import{connect as f,mapProps as y}from"@formily/vue";import"@vue/shared";import"./index.js";import"../../hooks/useFormRenderOptions.js";import{createVisitedSetter as h,assignUpdateValue as j,traverseDependKey as k}from"../../utils/schema.js";const g=f(e({name:"FormCascader",props:{options:{type:Array,default:()=>[]},depth:{type:[Number,String]},urlConfig:{type:Object},lazyRequest:{type:Boolean,default:!0},requestCache:{type:Boolean,default:!0},onFocus:{type:Function},filterable:{type:Boolean,default:!1},checkStrategy:{type:String,default:"child"},labelField:{type:String,default:"text"},valueField:{type:String,default:"value"},onChange:{},value:{}},emits:["update:value"],setup(e,{slots:f,emit:y}){const j=t(),{field:g,title:b}=m(),S=t(1),C=t(!0);const w=a((()=>{var t,a,l;return null!=(l=null!=(a=null==(t=e.urlConfig)?void 0:t.nameKey)?a:e.labelField)?l:"text"})),F=a((()=>{var t,a,l;return null!=(l=null!=(a=null==(t=e.urlConfig)?void 0:t.valueKey)?a:e.valueField)?l:"value"})),A=a((()=>{try{const t=Array.isArray(e.value)?e.value:JSON.parse(e.value||"");if(!Array.isArray(t)||!t.length)return null;const a=t.map((e=>e[F.value])).slice(-1).join(""),l=t.map((e=>e[w.value])).join(" / ");return a||l}catch(e){return null}}));function H(e,t,a){y("update:value",i(a)?a.map((function(e){return{...e,label:e[w.value],children:void 0,parent:void 0,mergeItemValue:void 0}})):null)}const x=l(p);async function q(t){e.filterable?await async function(){if(!e.urlConfig||j.value&&e.requestCache)return;const t=await x.addAsync({...e.urlConfig,params:{lvlnr:"1"},key:b.value,cache:e.requestCache});function a(e,t,r){const o=[...r,...l(e)],n={[w.value]:e[w.value],[F.value]:e[F.value],depth:t+1,isLeaf:!0,keyword:e.keyword,mergeItemValue:o};return i(e.children)&&(n.children=e.children.map((e=>a(e,t+1,o))),n.isLeaf=!e.children.length),S.value=Math.max(S.value,t+1),n}function l(e){let t=[];if(s(e[w.value])&&(t=[...t,e[w.value]]),s(e.keyword)&&e.keyword.length>0){const a=e.keyword.split(",");t=[...t,...a]}return t}j.value=t.map((e=>a(e,0,[])))}():await async function(t){if(r(e,t))return;const a=await x.addAsync(o(s(t),i(e),b.value,t));if(!a.length&&t)return t.isLeaf=!0,H(0,0,n(t)),void(O.value=!1);const l=a.map((e=>u(e,s(t))));function r(e,t){return!i(e)||!t&&j.value&&e.requestCache||s(t)>=s(e)-1}function o(t,a,l,r){const o={lvlnr:t+1+""};return r&&a.dependKey&&k(a.dependKey,((e,t)=>{o[t]=r[e]})),{params:o,...a,key:l,cache:e.requestCache}}function n(e){let t=e;const a=[e];for(;t.parent;)a.unshift(t.parent),t=t.parent;return a}function u(a,l){return{[w.value]:a[w.value],[F.value]:a[F.value],depth:l+1,parent:t,isLeaf:l+2>=s(e)}}function i(e){return e.urlConfig}function s(e){var t;return null!=(t=null==e?void 0:e.depth)?t:-1}t?t.children=l:j.value=l}(t),await B()}const V=`form-render__cascade--menu-${l(d)}`;async function B(){await n();const e=document.querySelector(`.${V} .v-vl`);e&&e.dispatchEvent(new CustomEvent("scroll"))}function L(t,a){if(!t||!a)return!1;const{mergeItemValue:l}=a;if(e.checkStrategy.includes("child")&&a.depth<S.value)return!1;return l.length>0&&l.some((e=>e.includes(t.trim())))}const{injectValueValidate:K,injectValueWatchFromEmpty:I,injectValueBindKey:E}=c();I((()=>e.value),q),K((()=>e.value)),r((()=>e.urlConfig),(async(t,a)=>{u(t,a)||(j.value=null,C.value?e.lazyRequest||(q(),C.value=!C.value):await q())}),{immediate:!0});const O=t(!1);function R(e){O.value=!!e,e&&q()}const W=a((()=>j.value||e.options||[])),z=a((()=>!e.filterable)),N=E(A);return()=>o(v,{key:N.value,remote:z.value,filterable:e.filterable,"menu-props":{class:V,onClick:B},"check-strategy":e.checkStrategy,show:!!O.value,"onUpdate:show":R,value:A.value,filter:L,"onUpdate:value":H,labelField:w.value,valueField:F.value,options:W.value,onLoad:q,onFocus:h(g)},f)}}),y({dataSource:"options"},j));export{g as SEARCH_CASCADER};
1
+ import{defineComponent as e,ref as t,computed as a,inject as l,watch as r,createVNode as n,nextTick as o}from"vue";import{isEqual as u,isArray as i,isString as s}from"lodash-es";import"../../../index.js";import{useCommonInjection as c}from"../../hooks/useCommonInjection.js";import{InjectionAsyncQueue as p,InjectionFormUUID as d}from"../../constants/index.js";import"../../../../../shared/utils/index.js";import"../../utils/index.js";import{useFormField as m}from"../../hooks/useFormField.js";import{NCascader as v}from"naive-ui";import"@vueuse/core";import"date-fns";import"../../../../../shared/utils/tapable/SyncHook.js";import"../../../../../shared/utils/tapable/SyncBailHook.js";import"../../../../../shared/utils/tapable/SyncWaterfallHook.js";import"../../../../../shared/utils/tapable/SyncLoopHook.js";import"../../../../../shared/utils/tapable/AsyncParallelHook.js";import"../../../../../shared/utils/tapable/AsyncParallelBailHook.js";import"../../../../../shared/utils/tapable/AsyncSeriesHook.js";import"../../../../../shared/utils/tapable/AsyncSeriesBailHook.js";import"../../../../../shared/utils/tapable/AsyncSeriesLoopHook.js";import"../../../../../shared/utils/tapable/AsyncSeriesWaterfallHook.js";import"../../hooks/useFormValidator.js";import"@formily/core";import{connect as f,mapProps as y}from"@formily/vue";import"@vue/shared";import"./index.js";import"../../hooks/useFormRenderOptions.js";import{createVisitedSetter as h,assignUpdateValue as j,traverseDependKey as k}from"../../utils/schema.js";const g=f(e({name:"FormCascader",props:{options:{type:Array,default:()=>[]},depth:{type:[Number,String]},urlConfig:{type:Object},lazyRequest:{type:Boolean,default:!0},requestCache:{type:Boolean,default:!0},onFocus:{type:Function},filterable:{type:Boolean,default:!1},checkStrategy:{type:String,default:"child"},labelField:{type:String,default:"text"},valueField:{type:String,default:"value"},onChange:{},value:{}},emits:["update:value"],setup(e,{slots:f,emit:y}){const j=t(),{field:g,title:b}=m(),S=t(1),C=t(!0);const w=a((()=>{var t,a,l;return null!=(l=null!=(a=null==(t=e.urlConfig)?void 0:t.nameKey)?a:e.labelField)?l:"text"})),F=a((()=>{var t,a,l;return null!=(l=null!=(a=null==(t=e.urlConfig)?void 0:t.valueKey)?a:e.valueField)?l:"value"})),A=a((()=>{try{const t=Array.isArray(e.value)?e.value:JSON.parse(e.value||"");if(!Array.isArray(t)||!t.length)return null;const a=t.map((e=>e[F.value])).slice(-1).join(""),l=t.map((e=>e[w.value])).join(" / ");return a||l}catch(e){return null}}));function H(e,t,a){y("update:value",i(a)?a.map((function(e){return{...e,label:e[w.value],children:void 0,parent:void 0,mergeItemValue:void 0}})):null)}const x=l(p);async function q(t){e.filterable?await async function(){if(!e.urlConfig||j.value&&e.requestCache)return;const t=await x.addAsync({...e.urlConfig,params:{lvlnr:"1"},key:b.value,cache:e.requestCache});function a(e,t,r){const n=[...r,...l(e)],o={[w.value]:e[w.value],[F.value]:e[F.value],depth:t+1,isLeaf:!0,keyword:e.keyword,mergeItemValue:n};return i(e.children)&&(o.children=e.children.map((e=>a(e,t+1,n))),o.isLeaf=!e.children.length),S.value=Math.max(S.value,t+1),o}function l(e){let t=[];if(s(e[w.value])&&(t=[...t,e[w.value]]),s(e.keyword)&&e.keyword.length>0){const a=e.keyword.split(",");t=[...t,...a]}return t}j.value=t.map((e=>a(e,0,[])))}():await async function(t){if(r(e,t))return;const a=await x.addAsync(n(s(t),i(e),b.value,t));if(!a.length&&t)return t.isLeaf=!0,H(0,0,o(t)),void(O.value=!1);const l=a.map((e=>u(e,s(t))));function r(e,t){return!i(e)||!t&&j.value&&e.requestCache||s(t)>=s(e)-1}function n(t,a,l,r){const n={lvlnr:t+1+""};return r&&a.dependKey&&k(a.dependKey,((e,t)=>{n[t]=r[e]})),{params:n,...a,key:l,cache:e.requestCache}}function o(e){let t=e;const a=[e];for(;t.parent;)a.unshift(t.parent),t=t.parent;return a}function u(a,l){return{[w.value]:a[w.value],[F.value]:a[F.value],depth:l+1,parent:t,isLeaf:l+2>=s(e)}}function i(e){return e.urlConfig}function s(e){var t;return null!=(t=null==e?void 0:e.depth)?t:-1}t?t.children=l:j.value=l}(t),await B()}const V=`form-render__cascade--menu-${l(d)}`;async function B(){await o();const e=document.querySelector(`.${V} .v-vl`);e&&e.dispatchEvent(new CustomEvent("scroll"))}function L(t,a){if(!t||!a)return!1;const{mergeItemValue:l}=a;if(e.checkStrategy.includes("child")&&a.depth<S.value)return!1;return l.length>0&&l.some((e=>e.includes(t.trim())))}const{injectValueValidate:K,injectValueWatchFromEmpty:I,injectValueBindKey:E}=c();I((()=>e.value),q),K((()=>e.value)),r((()=>e.urlConfig),(async(t,a)=>{u(t,a)||(j.value=null,C.value?e.lazyRequest||(q(),C.value=!C.value):await q())}),{immediate:!0});const O=t(!1);function R(e){O.value=!!e,e&&q()}const W=a((()=>j.value||e.options||[])),z=a((()=>!e.filterable)),N=E(A);return()=>n(v,{key:N.value,remote:z.value,filterable:e.filterable,"menu-props":{class:V,onClick:B},"check-strategy":e.checkStrategy,show:!!O.value,"onUpdate:show":R,value:A.value,filter:L,"onUpdate:value":H,labelField:w.value,valueField:F.value,options:W.value,onLoad:q,onFocus:h(g)},f)}}),y({dataSource:"options"},j));export{g as SEARCH_CASCADER};
@@ -1 +1 @@
1
- import{defineComponent as e,computed as o,inject as t,ref as a,createVNode as r}from"vue";import{useDebounceFn as l}from"@vueuse/core";import{cloneDeep as s,isArray as i,isString as n}from"lodash-es";import{useCommonInjection as u,useSelectOptionProps as p}from"../../hooks/useCommonInjection.js";import{InjectionChangeContextCollector as m}from"../../constants/index.js";import"../../../../../shared/utils/index.js";import"../../../index.js";import"../../utils/index.js";import{useFormField as c}from"../../hooks/useFormField.js";import{NSelect as d}from"naive-ui";import"date-fns";import"../../../../../shared/utils/tapable/SyncHook.js";import"../../../../../shared/utils/tapable/SyncBailHook.js";import"../../../../../shared/utils/tapable/SyncWaterfallHook.js";import"../../../../../shared/utils/tapable/SyncLoopHook.js";import"../../../../../shared/utils/tapable/AsyncParallelHook.js";import"../../../../../shared/utils/tapable/AsyncParallelBailHook.js";import"../../../../../shared/utils/tapable/AsyncSeriesHook.js";import"../../../../../shared/utils/tapable/AsyncSeriesBailHook.js";import"../../../../../shared/utils/tapable/AsyncSeriesLoopHook.js";import"../../../../../shared/utils/tapable/AsyncSeriesWaterfallHook.js";import"../../hooks/useFormValidator.js";import"@formily/core";import"@formily/reactive";import{connect as y,mapProps as v}from"@formily/vue";import"@vue/shared";import"./index.js";import{useUrlConfigOptions as f,useAutographOptions as h,useRecommendOptions as j,searchContentMatcher as b}from"../../hooks/useFormRenderOptions.js";import{createVisitedSetter as k,assignUpdateValue as S,assignClearBindVisited as g}from"../../utils/schema.js";const F=y(e({name:"FormSelect",props:{value:{type:[String,Array,Number]},lazyRequest:{type:Boolean,default:!0},requestCache:{type:Boolean,default:!0},options:{type:Array,default:()=>[]},onChange:{},labelField:{type:String,default:"text"},valueField:{type:String,default:"value"},allowCreate:Boolean,urlConfig:{type:Object},autograph:{type:String},wordbook:{type:Object},recommend:{type:Boolean,default:!1},commonList:{type:Array},recentList:{type:Array},getRecommendInfo:{type:Function},commonNum:{type:Number,default:10},recentNum:{type:Number,default:10},recommendCache:{type:Boolean,default:!1}},emits:["update:value","postRecommend"],setup(e,{slots:y,emit:v}){const S=o({get:()=>e.value,async set(e){v("update:value",e),C(e)}}),{labelKey:g,valueKey:F,fetchData:A,fullOptions:H,filterOptions:x}=e.urlConfig?f(e,S):h(e,S),{getRecommend:B,postRecommend:C,sortedOptions:O}=j(e,x,v,g,F),{field:R,fieldKey:L}=c();t(m).setContext(L.value,(e=>{return{currentOption:s((o=e,i(o)?function(e){const o=H.value.reduce(((e,o)=>(e[o[F.value]]=o,e)),{});return e.map((e=>o[e]))}(o):(t=o,H.value.find((e=>e[F.value]===t)))))};var o,t}));const N=a(""),V=l((async(e="")=>{N.value=e,A(e),B(e)}),300),{injectValueValidate:w,injectValueWatchFromEmpty:K,injectValueBindKey:P}=u();K(S,V),w(S);const W=P(S),{menuProps:q,nodeProps:I}=p();function U(e){const o=e[g.value];if(!o||!n(o))return"";const t=b(N.value,o);return t?r("section",null,[t.map(((e,o)=>0!==o&&e?r("span",{style:{color:o%2==0?"var(--n-option-text-color-active)":""}},[e]):null))]):o}const z=o((()=>O.value.length||!e.allowCreate?O.value:N.value?[{[g.value]:N.value,[F.value]:N.value},...O.value]:O.value));return()=>r(d,{key:W.value,remote:!0,filterable:!0,value:S.value,"onUpdate:value":e=>S.value=e,"menu-props":q,"node-props":I,labelField:g.value,valueField:F.value,options:z.value,onSearch:V,"onUpdate:show":e=>e&&V(),onFocus:k(R),renderLabel:U},y)}}),v({dataSource:"options"},S,g));export{F as SELECT};
1
+ import{defineComponent as e,computed as o,inject as t,ref as a,createVNode as l}from"vue";import{useDebounceFn as r}from"@vueuse/core";import{cloneDeep as s,isArray as n,isString as i}from"lodash-es";import{useCommonInjection as u,useSelectOptionProps as p}from"../../hooks/useCommonInjection.js";import{InjectionChangeContextCollector as m}from"../../constants/index.js";import"../../../../../shared/utils/index.js";import"../../../index.js";import"../../utils/index.js";import{useFormField as c}from"../../hooks/useFormField.js";import{NSelect as d}from"naive-ui";import"date-fns";import"../../../../../shared/utils/tapable/SyncHook.js";import"../../../../../shared/utils/tapable/SyncBailHook.js";import"../../../../../shared/utils/tapable/SyncWaterfallHook.js";import"../../../../../shared/utils/tapable/SyncLoopHook.js";import"../../../../../shared/utils/tapable/AsyncParallelHook.js";import"../../../../../shared/utils/tapable/AsyncParallelBailHook.js";import"../../../../../shared/utils/tapable/AsyncSeriesHook.js";import"../../../../../shared/utils/tapable/AsyncSeriesBailHook.js";import"../../../../../shared/utils/tapable/AsyncSeriesLoopHook.js";import"../../../../../shared/utils/tapable/AsyncSeriesWaterfallHook.js";import"../../hooks/useFormValidator.js";import"@formily/core";import{connect as y,mapProps as v}from"@formily/vue";import"@vue/shared";import"./index.js";import{useUrlConfigOptions as f,useAutographOptions as h,useRecommendOptions as j,searchContentMatcher as b}from"../../hooks/useFormRenderOptions.js";import{createVisitedSetter as k,assignUpdateValue as S,assignClearBindVisited as g}from"../../utils/schema.js";const F=y(e({name:"FormSelect",props:{value:{type:[String,Array,Number]},lazyRequest:{type:Boolean,default:!0},requestCache:{type:Boolean,default:!0},options:{type:Array,default:()=>[]},onChange:{},labelField:{type:String,default:"text"},valueField:{type:String,default:"value"},allowCreate:Boolean,urlConfig:{type:Object},autograph:{type:String},wordbook:{type:Object},recommend:{type:Boolean,default:!1},commonList:{type:Array},recentList:{type:Array},getRecommendInfo:{type:Function},commonNum:{type:Number,default:10},recentNum:{type:Number,default:10},recommendCache:{type:Boolean,default:!1}},emits:["update:value","postRecommend"],setup(e,{slots:y,emit:v}){const S=o({get:()=>e.value,async set(e){v("update:value",e),C(e)}}),{labelKey:g,valueKey:F,fetchData:A,fullOptions:H,filterOptions:x}=e.urlConfig?f(e,S):h(e,S),{getRecommend:B,postRecommend:C,sortedOptions:O}=j(e,x,v,g,F),{field:R,fieldKey:L}=c();t(m).setContext(L.value,(e=>{return{currentOption:s((o=e,n(o)?function(e){const o=H.value.reduce(((e,o)=>(e[o[F.value]]=o,e)),{});return e.map((e=>o[e]))}(o):(t=o,H.value.find((e=>e[F.value]===t)))))};var o,t}));const N=a(""),V=r((async(e="")=>{N.value=e,A(e),B(e)}),300),{injectValueValidate:w,injectValueWatchFromEmpty:K,injectValueBindKey:P}=u();K(S,V),w(S);const W=P(S),{menuProps:q,nodeProps:I}=p();function U(e){const o=e[g.value];if(!o||!i(o))return"";const t=b(N.value,o);return t?l("section",null,[t.map(((e,o)=>0!==o&&e?l("span",{style:{color:o%2==0?"var(--n-option-text-color-active)":""}},[e]):null))]):o}const z=o((()=>O.value.length||!e.allowCreate?O.value:N.value?[{[g.value]:N.value,[F.value]:N.value},...O.value]:O.value));return()=>l(d,{key:W.value,remote:!0,filterable:!0,value:S.value,"onUpdate:value":e=>S.value=e,"menu-props":q,"node-props":I,labelField:g.value,valueField:F.value,options:z.value,onSearch:V,"onUpdate:show":e=>e&&V(),onFocus:k(R),renderLabel:U},y)}}),v({dataSource:"options"},S,g));export{F as SELECT};
@@ -1 +1 @@
1
- import{doAnimation as e}from"../../../../shared/utils/anime.js";import{untracked as t}from"@formily/reactive";import{useDebounceFn as o,watchOnce as n}from"@vueuse/core";import{ref as r,nextTick as l,computed as i}from"vue";import{FormItemLineBarDepKeyPrepend as a}from"../constants/index.js";import"../utils/index.js";import{createLinebarId as s}from"../utils/schema.js";function u(u,c,v,f){const m=r(),p=r(""),d=r([]),y=o((async function(e){var t;d.value=Object.values(e.fields).reduce(((e,t)=>("LINEBAR"===t.componentType&&"visible"===t.selfDisplay&&e.push({title:t.title,name:t.address.toString()}),e)),[]),await l(),null==(t=m.value)||t.syncBarPosition()}),100);let h=!1;async function T(t){h=!0;try{if(!v.value)return;f.trigger(a+t,!0),await l();const o=v.value.querySelector(`#${s(t)}`);if(!o)return;await new Promise((t=>{e(v.value.scrollTop,o.offsetTop,300,(e=>{var t;null==(t=v.value)||t.scrollTo({top:e})}),"easeInSine",(()=>setTimeout(t,300)))}))}finally{h=!1}}const g=o((function(e){var t;if(h||!v.value)return;const{scrollTop:o,clientHeight:n}=v.value,r=d.value.find(((e,t,r)=>{const l=r[t+1];if(!l)return!0;const i=v.value.querySelector(`#${s(l.name)}`);return i?i.offsetTop>o+n/2:void 0}))||d.value[d.value.length-1];p.value=null!=(t=null==r?void 0:r.name)?t:"",c("scroll",e)}),300);n(d,(e=>{var t,o;p.value=null!=(o=null==(t=e[0])?void 0:t.name)?o:""}));return{currentAnchor:i({get:()=>p.value,async set(e){p.value=e,await new Promise((e=>setTimeout(e,100))),await T(e)}}),onScroll:g,anchorIdList:d,generateAnchorList:y,updateAnchorList:function(e){"LINEBAR"===e.componentType&&e.selfDisplay&&t((()=>y(e.form)))},scrollTo:T,anchorBarRef:m}}export{u as useAnchor};
1
+ import{doAnimation as e}from"../../../../shared/utils/anime.js";import{useDebounceFn as t,watchOnce as n}from"@vueuse/core";import{ref as o,computed as l,nextTick as r}from"vue";import{FormItemLineBarDepKeyPrepend as a}from"../constants/index.js";import"../utils/index.js";import{createLinebarId as i}from"../utils/schema.js";function u(u,s,c,v){const f=o(),m=o(""),p=o([]),d=async function(e){var t;p.value=Object.values(e.fields).reduce(((e,t)=>{var n,o;return"LINEBAR"===t.componentType&&"visible"===t.selfDisplay&&e.push({title:null!=(o=null==(n=t.componentProps)?void 0:n.title)?o:t.title,name:t.address.toString()}),e}),[]),await r(),null==(t=f.value)||t.syncBarPosition()};let y=!1;async function h(t){y=!0;try{if(!c.value)return;v.trigger(a+t,!0),await r();const n=c.value.querySelector(`#${i(t)}`);if(!n)return;await new Promise((t=>{e(c.value.scrollTop,n.offsetTop,300,(e=>{var t;null==(t=c.value)||t.scrollTo({top:e})}),"easeInSine",(()=>setTimeout(t,300)))}))}finally{y=!1}}const T=t((function(e){var t;if(y||!c.value)return;const{scrollTop:n,clientHeight:o}=c.value,l=p.value.find(((e,t,l)=>{const r=l[t+1];if(!r)return!0;const a=c.value.querySelector(`#${i(r.name)}`);return a?a.offsetTop>n+o/2:void 0}))||p.value[p.value.length-1];m.value=null!=(t=null==l?void 0:l.name)?t:"",s("scroll",e)}),300);n(p,(e=>{var t,n;m.value=null!=(n=null==(t=e[0])?void 0:t.name)?n:""}));return{currentAnchor:l({get:()=>m.value,async set(e){m.value=e,await new Promise((e=>setTimeout(e,100))),await h(e)}}),onScroll:T,anchorIdList:p,generateAnchorList:d,updateAnchorList:function(e){"LINEBAR"===e.componentType&&e.selfDisplay&&d(e.form)},scrollTo:h,anchorBarRef:f}}export{u as useAnchor};
@@ -1 +1 @@
1
- function e(){return{nuiThemeOverrides:{Input:{paddingMedium:"8px",paddingSmall:"8px",paddingLarge:"8px",paddingTiny:"8px"},InternalSelection:{paddingSingle:"8px",paddingMultiple:"2px"},Form:{feedbackHeightMedium:"16px",feedbackHeightLarge:"16px",feedbackHeightSmall:"16px",feedbackFontSizeLarge:"12px",feedbackFontSizeMedium:"12px",feedbackFontSizeSmall:"12px",feedbackPadding:"0px"}}}}export{e as useNuiThemeOverrides};
1
+ function e(){return{nuiThemeOverrides:{common:{inputColorDisabled:"rgb(244, 244, 244)"},Input:{paddingMedium:"8px",paddingSmall:"8px",paddingLarge:"8px",paddingTiny:"8px"},InternalSelection:{paddingSingle:"8px",paddingMultiple:"2px"},Form:{feedbackHeightMedium:"16px",feedbackHeightLarge:"16px",feedbackHeightSmall:"16px",feedbackFontSizeLarge:"12px",feedbackFontSizeMedium:"12px",feedbackFontSizeSmall:"12px",feedbackPadding:"0px"}}}}export{e as useNuiThemeOverrides};
@@ -1 +1 @@
1
- .annotation-edit{align-items:center;color:var(--c-primary-color);cursor:pointer;display:inline-flex;font-size:16px;user-select:none}.annotation-edit.is-active{color:var(--c-primary-color);filter:hue-rotate(140deg)}.annotation-edit__icon{align-items:center;display:inline-flex}.annotation-edit__textarea{min-width:200px}.annotation-edit__footer{align-items:center;display:flex;flex-wrap:nowrap;gap:8px;justify-content:space-between;opacity:.5}.annotation-edit__footer>div{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.annotation-edit__footer>div:first-of-type{min-width:30%}.recommend-search__menu{min-height:100px}.recommend-search__menuRecommendList{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.recommend-search__menuRecommendList .n-tag{cursor:pointer}.recommend-search__recentRecommend{margin-bottom:8px}.recommend-search__recentRecommend>header{align-items:center;color:rgba(0,0,0,.4);display:flex;justify-content:space-between}.recommend-search__recentRecommend>header .n-icon:hover{color:rgba(0,0,0,.6);cursor:pointer}.recommend-search__commonRecommend{margin-bottom:8px}.recommend-search__commonRecommend>header{align-items:center;color:rgba(0,0,0,.4);display:flex;justify-content:space-between}.recommend-search__commonRecommend>header .n-icon:hover{color:rgba(0,0,0,.6);cursor:pointer}.recommend-search__option{align-items:center;border-radius:4px;cursor:pointer;display:flex;height:32px;justify-content:space-between;padding:0 8px}.recommend-search__optionText{max-width:calc(100% - 24px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recommend-search__option.is-active{color:var(--n-color)!important}.recommend-search__option.is-active .n-icon{font-size:20px}.recommend-search__option:hover{background:rgba(0,0,0,.03)}.recommend-search__optionContainer{margin:-8px -10px}.recommend-search__empty{align-items:center;color:rgba(0,0,0,.3);display:flex;height:100px;justify-content:center}.search-cascader__menuWrapper{display:flex;flex-wrap:nowrap;margin:-8px -14px}.search-cascader__input input{cursor:pointer!important}.search-cascader__option{align-items:center;border-radius:4px;box-sizing:border-box;display:flex;height:32px;justify-content:space-between;padding:0 8px 0 16px;width:100%}.search-cascader__option--active{background:#f8f8f8}.search-cascader__option:hover{background:#f5f5f5;cursor:pointer}.search-cascader__optionWrapper{background:#fff;height:256px;overflow-x:auto;width:calc(var(--menu-width)*1px)}.search-cascader__optionWrapper:not(:last-of-type){border:solid #e5e5e5;border-width:0 1px 0 0}.search-cascader__optionText{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:calc(100% - 20px)}.search-cascader__option svg{color:#bfbfbf;flex-shrink:0;font-size:12px;width:20px}.search-cascader__option svg.rotate{animation:rotate 1s linear infinite}.search-cascader__emptyWrapper{align-items:center;background:#fff;box-sizing:border-box;display:flex;height:300px;justify-content:center;padding:16px;width:100%}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.form-render__wrapper{align-items:start;display:grid!important;gap:0 16px;grid-template-columns:repeat(var(--column),minmax(0,1fr));max-height:var(--form-height);overflow-y:auto;position:relative}.form-render__formItem{grid-column:span min(var(--column),var(--form-item-column)) /span min(var(--column),var(--form-item-column))}.form-render__formItem .n-date-picker,.form-render__formItem .n-input-number{width:100%}.form-render__formItemLabel{align-items:center;display:inline-flex;justify-content:space-between;position:relative}.form-render__formItemLabel--operation{align-items:center;display:flex;gap:2px;position:absolute;right:0;top:50%;transform:translateY(-50%)}.form-render__formItemLabel--tooltip{font-size:0;line-height:1;width:16px}.form-render__formItemLabel--text{white-space:nowrap}.form-render__formItem .n-form-item-label{display:inline-flex}.form-render__formItem .n-form-item-label [annotation-hover-show=true]{visibility:hidden}.form-render__formItem .n-form-item-label:hover [annotation-hover-show=true]{visibility:visible}.form-render__linebar{grid-column:span min(var(--column),var(--column)) /span min(var(--column),var(--column))}.form-render__linebarHeader{align-items:center;background:#f2f2f2;border-radius:4px;cursor:pointer;display:flex;font-size:14px;font-weight:600;height:32px;justify-content:space-between;margin-bottom:8px;padding:0 16px}.form-render__linebarHeader>svg{color:rgba(33,33,33,.4);width:14px}.form-render__linebarHeaderTitle{align-items:center;display:flex;font-size:15px;gap:4px;vertical-align:middle}.form-render__linebarHeaderTitle svg{height:16px;transform:translateY(-1px)}.form-render__linebarHeader--disabled{cursor:auto}.form-render__linebarItem{align-items:start;display:grid!important;gap:0 16px;grid-template-columns:repeat(var(--column),minmax(0,1fr))}.form-render__linebreaks{grid-column:span min(var(--column),var(--form-item-column)) /span min(var(--column),var(--form-item-column))}.form-render__inputGroup{align-items:flex-start;display:flex;grid-column:span min(var(--column),var(--column)) /span min(var(--column),var(--column))}.form-render__inputGroup>div{flex:1}.form-render__inputGroup>div:not(:last-of-type) .n-base-selection__border,.form-render__inputGroup>div:not(:last-of-type) .n-input__border{border-bottom-right-radius:0;border-right:0;border-top-right-radius:0}.form-render__inputGroup>div:last-of-type .n-base-selection__border,.form-render__inputGroup>div:last-of-type .n-input__border{border-bottom-left-radius:0;border-top-left-radius:0}.form-render__inputGroup .n-form-item--left-labelled:not(:first-of-type)>label{display:none}.form-render__combination{width:100%}.form-render__combinationHeader{display:flex;gap:12px}.form-render__combinationHeader>h3{font-size:16px;font-weight:700;margin:0;padding:0}.form-render__combinationHeader .n-button__icon{font-size:14px;margin:0 2px 0 0}.form-render__combinationHeaderText{font-size:16px;font-weight:500}.form-render__combinationClose{font-size:16px;height:14px;position:absolute;right:5px;top:5px;width:14px}.form-render__combinationContentJson{position:relative}.form-render__combinationContent{align-items:start;display:grid!important;gap:0 16px;grid-template-columns:repeat(var(--column),minmax(0,1fr));position:relative}.form-render__complex{width:100%}.form-render__complexContent--grid{align-items:start;display:grid!important;gap:0 16px;grid-template-columns:repeat(var(--column),minmax(0,1fr))}.form-render__complexContent--flex{display:flex!important;gap:0 8px}.form-render__selectMenu .n-scrollbar-rail__scrollbar{display:none!important}.form-render__selectMenu .n-virtual-list::-webkit-scrollbar,.form-render__selectMenu .n-virtual-list::-webkit-scrollbar-thumb{display:unset!important;height:6px;width:6px}.form-render__selectMenu .n-virtual-list::-webkit-scrollbar-thumb{background:#bfbfbf;border-radius:4px}.form-render__selectMenu .v-vl-items{min-width:100%;width:max-content}.form-render__selectOption .n-base-select-option__content{overflow:visible!important;text-overflow:unset!important;word-break:keep-all!important}.form-render__labelField{align-items:start;display:grid!important;display:inline-grid!important;gap:0 16px;grid-template-columns:repeat(var(--column),minmax(0,1fr));grid-template-columns:repeat(var(--column),auto)!important;margin-left:16px}.form-render__labelField .n-form-item{display:inline-grid}.form-render__labelField label.n-form-item-label.n-form-item-label--left-mark{align-items:center}.form-render__labelField .n-checkbox[aria-checked=false] .n-checkbox-box{background-color:transparent}.form-render__labelField .n-checkbox[aria-checked=false] .n-checkbox-icon .check-icon{opacity:0}.form-render__labelField .n-checkbox[aria-checked=false] .n-checkbox-box__border{border:var(--n-border)}.form-render .form-render__formItem .n-checkbox,.form-render .form-render__formItem .n-radio{align-items:center}.form-render .form-render__formItem .n-radio-input{left:auto;right:auto}.form-render .form-render__formItem .n-checkbox-group>.n-space:not([vertical-space=true]),.form-render .form-render__formItem .n-radio-group>.n-space:not([vertical-space=true]){align-items:center!important}.form-render .form-render__formItem .n-checkbox__label{align-items:center;display:inline-flex}.form-render--no-border .n-input{border-radius:0}.form-render--no-border .n-input__border,.form-render--no-border .n-input__state-border{border-width:0!important}.form-render--no-border .n-input:hover .n-input__state-border{border-bottom-width:1px!important}.form-render--no-border .n-input--focus{border-radius:0}.form-render--no-border .n-input--focus .n-input__state-border{border-bottom-width:1px!important;box-shadow:none!important}.form-render--no-border .n-base-selection--active .n-base-selection__state-border,.form-render--no-border .n-base-selection--focus .n-base-selection__state-border,.form-render--no-border .n-base-selection:hover .n-base-selection__state-border,.form-render--no-border .n-base-selection__border,.form-render--no-border .n-base-selection__state-border{border-width:0!important;box-shadow:none!important}
1
+ .annotation-edit{align-items:center;color:var(--c-primary-color);cursor:pointer;display:inline-flex;font-size:16px;user-select:none}.annotation-edit.is-active{color:var(--c-primary-color);filter:hue-rotate(140deg)}.annotation-edit__icon{align-items:center;display:inline-flex}.annotation-edit__textarea{min-width:200px}.annotation-edit__footer{align-items:center;display:flex;flex-wrap:nowrap;gap:8px;justify-content:space-between;opacity:.5}.annotation-edit__footer>div{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.annotation-edit__footer>div:first-of-type{min-width:30%}.recommend-search__menu{min-height:100px}.recommend-search__menuRecommendList{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.recommend-search__menuRecommendList .n-tag{cursor:pointer}.recommend-search__recentRecommend{margin-bottom:8px}.recommend-search__recentRecommend>header{align-items:center;color:rgba(0,0,0,.4);display:flex;justify-content:space-between}.recommend-search__recentRecommend>header .n-icon:hover{color:rgba(0,0,0,.6);cursor:pointer}.recommend-search__commonRecommend{margin-bottom:8px}.recommend-search__commonRecommend>header{align-items:center;color:rgba(0,0,0,.4);display:flex;justify-content:space-between}.recommend-search__commonRecommend>header .n-icon:hover{color:rgba(0,0,0,.6);cursor:pointer}.recommend-search__option{align-items:center;border-radius:4px;cursor:pointer;display:flex;height:32px;justify-content:space-between;padding:0 8px}.recommend-search__optionText{max-width:calc(100% - 24px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recommend-search__option.is-active{color:var(--n-color)!important}.recommend-search__option.is-active .n-icon{font-size:20px}.recommend-search__option:hover{background:rgba(0,0,0,.03)}.recommend-search__optionContainer{margin:-8px -10px}.recommend-search__empty{align-items:center;color:rgba(0,0,0,.3);display:flex;height:100px;justify-content:center}.search-cascader__menuWrapper{display:flex;flex-wrap:nowrap;margin:-8px -14px}.search-cascader__input input{cursor:pointer!important}.search-cascader__option{align-items:center;border-radius:4px;box-sizing:border-box;display:flex;height:32px;justify-content:space-between;padding:0 8px 0 16px;width:100%}.search-cascader__option--active{background:#f8f8f8}.search-cascader__option:hover{background:#f5f5f5;cursor:pointer}.search-cascader__optionWrapper{background:#fff;height:256px;overflow-x:auto;width:calc(var(--menu-width)*1px)}.search-cascader__optionWrapper:not(:last-of-type){border:solid #e5e5e5;border-width:0 1px 0 0}.search-cascader__optionText{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:calc(100% - 20px)}.search-cascader__option svg{color:#bfbfbf;flex-shrink:0;font-size:12px;width:20px}.search-cascader__option svg.rotate{animation:rotate 1s linear infinite}.search-cascader__emptyWrapper{align-items:center;background:#fff;box-sizing:border-box;display:flex;height:300px;justify-content:center;padding:16px;width:100%}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.form-render__wrapper{align-items:start;display:grid!important;gap:0 16px;grid-template-columns:repeat(var(--column),minmax(0,1fr));max-height:var(--form-height);overflow-y:auto;position:relative}.form-render__formItem{grid-column:span min(var(--column),var(--form-item-column)) /span min(var(--column),var(--form-item-column))}.form-render__formItem .n-date-picker,.form-render__formItem .n-input-number{width:100%}.form-render__formItemLabel{align-items:center;display:inline-flex;justify-content:space-between;position:relative}.form-render__formItemLabel--operation{align-items:center;display:flex;gap:2px;position:absolute;right:0;top:50%;transform:translateY(-50%)}.form-render__formItemLabel--tooltip{font-size:0;line-height:1;width:16px}.form-render__formItemLabel--text{white-space:nowrap}.form-render__formItem .n-form-item-label{display:inline-flex}.form-render__formItem .n-form-item-label [annotation-hover-show=true]{visibility:hidden}.form-render__formItem .n-form-item-label:hover [annotation-hover-show=true]{visibility:visible}.form-render__linebar{grid-column:span min(var(--column),var(--column)) /span min(var(--column),var(--column))}.form-render__linebarHeader{align-items:center;background:#f2f2f2;border-radius:4px;cursor:pointer;display:flex;font-size:14px;font-weight:600;height:32px;justify-content:space-between;margin-bottom:8px;padding:0 16px}.form-render__linebarHeader>svg{color:rgba(33,33,33,.4);width:14px}.form-render__linebarHeaderTitle{align-items:center;display:flex;font-size:15px;gap:4px;vertical-align:middle}.form-render__linebarHeaderTitle svg{height:16px;transform:translateY(-1px)}.form-render__linebarHeader--disabled{cursor:auto}.form-render__linebarItem{align-items:start;display:grid!important;gap:0 16px;grid-template-columns:repeat(var(--column),minmax(0,1fr))}.form-render__linebreaks{grid-column:span min(var(--column),var(--form-item-column)) /span min(var(--column),var(--form-item-column))}.form-render__inputGroup{align-items:flex-start;display:flex;grid-column:span min(var(--column),var(--column)) /span min(var(--column),var(--column))}.form-render__inputGroup>div{flex:1}.form-render__inputGroup>div:not(:last-of-type) .n-base-selection__border,.form-render__inputGroup>div:not(:last-of-type) .n-input__border{border-bottom-right-radius:0;border-right:0;border-top-right-radius:0}.form-render__inputGroup>div:last-of-type .n-base-selection__border,.form-render__inputGroup>div:last-of-type .n-input__border{border-bottom-left-radius:0;border-top-left-radius:0}.form-render__inputGroup .n-form-item--left-labelled:not(:first-of-type)>label{display:none}.form-render__combination{width:100%}.form-render__combinationHeader{display:flex;gap:12px}.form-render__combinationHeader>h3{font-size:16px;font-weight:700;margin:0;padding:0}.form-render__combinationHeader .n-button__icon{font-size:14px;margin:0 2px 0 0}.form-render__combinationHeaderText{font-size:16px;font-weight:500}.form-render__combinationClose{font-size:16px;height:14px;position:absolute;right:5px;top:5px;width:14px}.form-render__combinationContentJson{position:relative}.form-render__combinationContent{align-items:start;display:grid!important;gap:0 16px;grid-template-columns:repeat(var(--column),minmax(0,1fr));position:relative}.form-render__complex{width:100%}.form-render__complexContent--grid{align-items:start;display:grid!important;gap:0 16px;grid-template-columns:repeat(var(--column),minmax(0,1fr))}.form-render__complexContent--flex{display:flex!important;gap:0 8px}.form-render__selectMenu .n-scrollbar-rail__scrollbar{display:none!important}.form-render__selectMenu .n-virtual-list::-webkit-scrollbar,.form-render__selectMenu .n-virtual-list::-webkit-scrollbar-thumb{display:unset!important;height:6px;width:6px}.form-render__selectMenu .n-virtual-list::-webkit-scrollbar-thumb{background:#bfbfbf;border-radius:4px}.form-render__selectMenu .v-vl-items{min-width:100%;width:max-content}.form-render__selectOption .n-base-select-option__content{overflow:visible!important;text-overflow:unset!important;word-break:keep-all!important}.form-render__labelField{align-items:start;display:grid!important;display:inline-grid!important;gap:0 16px;grid-template-columns:repeat(var(--column),minmax(0,1fr));grid-template-columns:repeat(var(--column),auto)!important;margin-left:16px}.form-render__labelField .n-form-item{display:inline-grid}.form-render__labelField label.n-form-item-label.n-form-item-label--left-mark{align-items:center}.form-render__labelField .n-checkbox[aria-checked=false] .n-checkbox-box{background-color:transparent}.form-render__labelField .n-checkbox[aria-checked=false] .n-checkbox-icon .check-icon{opacity:0}.form-render__labelField .n-checkbox[aria-checked=false] .n-checkbox-box__border{border:var(--n-border)}.form-render .form-render__formItem .n-checkbox,.form-render .form-render__formItem .n-radio{align-items:center}.form-render .form-render__formItem .n-radio-input{left:auto;right:auto}.form-render .form-render__formItem .n-checkbox-group>.n-space:not([vertical-space=true]),.form-render .form-render__formItem .n-radio-group>.n-space:not([vertical-space=true]){align-items:center!important}.form-render .form-render__formItem .n-checkbox__label{align-items:center;display:inline-flex}.form-render--no-border .n-input{border-radius:0}.form-render--no-border .n-input__border,.form-render--no-border .n-input__state-border{border-width:0!important}.form-render--no-border .n-input:hover .n-input__state-border{border-bottom-width:1px!important}.form-render--no-border .n-input--focus{border-radius:0}.form-render--no-border .n-input--focus .n-input__state-border{border-bottom-width:1px!important;box-shadow:none!important}.form-render--no-border .n-base-selection--active .n-base-selection__state-border,.form-render--no-border .n-base-selection--focus .n-base-selection__state-border,.form-render--no-border .n-base-selection:hover .n-base-selection__state-border,.form-render--no-border .n-base-selection__border,.form-render--no-border .n-base-selection__state-border{border-width:0!important;box-shadow:none!important}.form-render--underline .n-input{border-radius:0}.form-render--underline .n-input__border,.form-render--underline .n-input__state-border{border-left-width:0!important;border-right-width:0!important;border-top-width:0!important}.form-render--underline .n-input--focus{border-radius:0}.form-render--underline .n-input--focus .n-input__state-border{box-shadow:none!important}.form-render--underline .n-base-selection--active .n-base-selection__state-border,.form-render--underline .n-base-selection--focus .n-base-selection__state-border,.form-render--underline .n-base-selection:hover .n-base-selection__state-border,.form-render--underline .n-base-selection__border,.form-render--underline .n-base-selection__state-border{border-left-width:0!important;border-right-width:0!important;border-top-width:0!important;box-shadow:none!important}
@@ -0,0 +1,2 @@
1
+ export * from './src/useGuide';
2
+ export * from './src/types';
@@ -0,0 +1 @@
1
+ export{useGuide}from"./src/useGuide.js";
@@ -0,0 +1,37 @@
1
+ import { ComponentInternalInstance, PropType } from 'vue';
2
+ import { GuideDefine } from '../../../../es/components/guide/src/types';
3
+ export declare function createGuideStep(instance?: ComponentInternalInstance | null): import("vue").DefineComponent<{
4
+ config: {
5
+ type: PropType<GuideDefine.Config>;
6
+ required: true;
7
+ default: () => {};
8
+ };
9
+ index: {
10
+ type: NumberConstructor;
11
+ required: true;
12
+ };
13
+ length: {
14
+ type: NumberConstructor;
15
+ required: true;
16
+ };
17
+ }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("cancel" | "next" | "toNext")[], "cancel" | "next" | "toNext", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
18
+ config: {
19
+ type: PropType<GuideDefine.Config>;
20
+ required: true;
21
+ default: () => {};
22
+ };
23
+ index: {
24
+ type: NumberConstructor;
25
+ required: true;
26
+ };
27
+ length: {
28
+ type: NumberConstructor;
29
+ required: true;
30
+ };
31
+ }>> & {
32
+ onCancel?: ((...args: any[]) => any) | undefined;
33
+ onNext?: ((...args: any[]) => any) | undefined;
34
+ onToNext?: ((...args: any[]) => any) | undefined;
35
+ }, {
36
+ config: GuideDefine.Config;
37
+ }> | import("vue").DefineComponent<{}, () => JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
@@ -0,0 +1 @@
1
+ import{defineComponent as e,createVNode as t,provide as r}from"vue";import{useTheme as s}from"../../../shared/hooks/useTheme.js";import"@vueuse/core";import"date-fns";import{isFunction as n,range as i}from"lodash-es";import{widthAppend as o}from"../../../shared/utils/index.js";import{NSpace as l,NButton as u}from"naive-ui";const d=e({props:{config:{type:Object,required:!0,default:()=>({})},index:{type:Number,required:!0},length:{type:Number,required:!0}},emits:["cancel","next","toNext"],setup(e,{emit:r,slots:d}){const p=s();function a(e,{skippable:s=!0,skipText:o="跳过",nextText:d="下一步",endText:p="结束引导"},a,c){var f;return t("footer",{class:"guide__stepFooter"},[null!=(f=n(e)?e():null)?f:t(l,{justify:"end",wrapItem:!1},{default:()=>[m(),s?t(u,{ghost:!0,bordered:!1,class:"guide__stepSkipBtn",textColor:"#c5c5c5",onClick:()=>r("cancel")},{default:()=>o}):null,t(u,{type:"primary",class:"guide__stepNextBtn",onClick:()=>r("next")},{default:()=>a===c-1?p:d})]})]);function m(){return t(l,{justify:"start",style:"flex:1"},{default:function(){return i(c).map((e=>t(u,{class:"guide__stepToBtn",bordered:!1,onClick:()=>r("toNext",e)},{default:()=>t("i",{class:["guide__stepToBtnContent",{guide__stepActiveBtn:e===a}]},null)})))}})}}return()=>{const{minWidth:r=240,maxWidth:s=300,pointer:i=!0}=e.config;return t("section",{class:"guide__stepContentWrapper",style:{minWidth:o(r),maxWidth:o(s),...p.value}},[i?t("div",{class:"guide__stepPointerWrapper"},[t("div",{class:"guide__stepPointer"},null),t("div",{class:"guide__stepPointerLine"},null)]):null,(u=d.header,t("header",{class:"guide__stepHeader"},[n(u)?u():null])),(l=d.body,t("section",{class:"guide__stepBody"},[n(l)?l():null])),a(d.footer,e.config,e.index,e.length)]);var l,u}}});function p(s){return s?e({setup(e,{attrs:n,slots:i}){const o=[];let l=(null==s?void 0:s.parent)&&Reflect.get(s.parent,"provides");for(;l;)Object.entries(l).forEach((([e,t])=>{o.includes(e)||(o.push(e),r(e,t))})),l=Object.getPrototypeOf(l);return()=>t(d,n,i)}}):d}export{p as createGuideStep};
@@ -0,0 +1,40 @@
1
+ import { AnyObject } from '../../../../../es/shared/types';
2
+ import { ComponentInternalInstance, CSSProperties } from 'vue';
3
+ export declare namespace GuideDefine {
4
+ type StepRender = string | ((next: () => void, cancel: () => void, to: (idx: number) => void) => any);
5
+ type StepGuard = (step: Step, index: number) => unknown | Promise<unknown>;
6
+ type Step = Partial<{
7
+ title: StepRender;
8
+ content: StepRender;
9
+ target: string | HTMLElement;
10
+ footer: StepRender;
11
+ }>;
12
+ type DomProps = Partial<{
13
+ class: unknown;
14
+ style: CSSProperties;
15
+ }> & AnyObject;
16
+ type Placement = 'top-start' | 'top' | 'top-end' | 'right-start' | 'right' | 'right-end' | 'bottom-start' | 'bottom' | 'bottom-end' | 'left-start' | 'left' | 'left-end';
17
+ type Config = Partial<{
18
+ to: string | HTMLElement;
19
+ placement: Placement;
20
+ pointer: boolean;
21
+ vueInstance: ComponentInternalInstance | null;
22
+ esc: boolean;
23
+ zIndex: number;
24
+ minWidth: string | number;
25
+ maxWidth: string | number;
26
+ offset: number;
27
+ skipText: string;
28
+ nextText: string;
29
+ endText: string;
30
+ skippable: boolean;
31
+ anime: boolean;
32
+ wrapperProps: DomProps;
33
+ stepProps: DomProps;
34
+ beforeStep: StepGuard;
35
+ afterStep: StepGuard;
36
+ beforeSkip: () => unknown | Promise<unknown>;
37
+ }> & {
38
+ steps: Step[];
39
+ };
40
+ }
@@ -0,0 +1,6 @@
1
+ import { GuideDefine } from '../../../../es/components/guide/src/types';
2
+ declare function start(config: GuideDefine.Config): () => Promise<void>;
3
+ export declare function useGuide(): {
4
+ start: typeof start;
5
+ };
6
+ export {};
@@ -0,0 +1 @@
1
+ import{render as e,createVNode as t,mergeProps as n}from"vue";import{promiseTimeout as o}from"@vueuse/shared";import{isArray as s,isNumber as i,isFunction as a,isString as r}from"lodash-es";import{createGuideStep as l}from"./renderer.js";import{GuideError as c,GuideUtils as p,useGuideStyle as u}from"./utils/index.js";function d(s,{config:i,length:c,index:u,prevTop:d,prevLeft:y,wrapper:m},f,h,v){const{anime:w=!0,beforeSkip:g,beforeStep:E,afterStep:x,offset:b,stepProps:C,vueInstance:S,placement:_}=i;return{mount:async function(){try{await(a(E)&&E(s,u))}catch(e){return v(u-1),void f([y,d])}const{target:k,title:L,content:P,footer:T}=s,j=p.findElement(k);p.setShadowEle(m,j);const M=p.createEle("div",{class:"guide__stepWrapper",style:{top:d,left:y}});"0"===y&&"0"===d||!w||p.setStyle(M,{transition:"all .2s linear"}),m.appendChild(M);const z=l(S);async function I(t,n=!0){var s;t(),n&&(p.setStyle(M,{transition:"opacity .2s linear"}),M.style.opacity="0",await o(200)),e(null,M),null==(s=M.parentElement)||s.removeChild(M)}let N="0",q="0";const A=async()=>{await(a(x)&&x(s,u)),I((()=>f([N,q])),u===c-1)},F=async()=>{await(a(g)&&g()),I(h)},O=async e=>{e!==u&&(v(e),A())};e(t(z,n(C,{index:u,length:c,config:i,onCancel:F,onNext:A,onToNext:O}),{header:a(L)?()=>L(A,F,O):r(L)?()=>L:null,body:a(P)?()=>P(A,F,O):r(P)?()=>P:null,footer:a(T)?()=>T(A,F,O):r(T)?()=>T:null}),M),setTimeout((()=>{[N,q]=p.syncPosition(M,j,b,_)}),0)}}}function y(e){const{to:t=document.body,steps:n=[]}=e;if(!s(n)||!n.length)throw new c("empty steps");const a=p.findElement(t),{unmount:r,mount:l,wrapper:y}=function(e,{zIndex:t=3e3,esc:n,wrapperProps:s={},anime:i=!0}){const{load:a,unload:r}=u(),l=p.createEle("div",{class:"guide__shadowEle"});i&&Object.assign(l.style,{transition:"all 0.2s linear"});const c=p.createEle("section",{class:["guide__wrapper",s.class?s.class:""],style:{"z-index":t,...s.style}});c.appendChild(l);const d=e.style.position;d&&"static"!==d||(e.style.position="relative");const y=async()=>{c.style.opacity="0",await o(200),e.removeChild(c),e.style.position=d,r()};if(n){const e=async t=>{if("Escape"===t.key)return await y(),void document.body.removeEventListener("keyup",e)};document.body.addEventListener("keyup",e)}return{wrapper:c,unmount:y,mount:()=>{a(),e.appendChild(c),requestAnimationFrame((()=>c.style.opacity="1"))}}}(a,e);return l(),(async()=>{try{let t="0",o="0";for(let s=0;s<n.length;s++){const a=n[s];[t,o]=await new Promise(((r,l)=>{d(a,{config:e,index:s,wrapper:y,length:n.length,prevLeft:t,prevTop:o},r,l,(e=>{if(i(e))return e<0?l():void(s=Math.min(n.length-1,Math.abs(Math.floor(e)))-1)})).mount()}))}}finally{r()}})(),r}function m(){return{start:y}}export{m as useGuide};
@@ -0,0 +1,14 @@
1
+ import { CSSProperties } from 'vue';
2
+ import { GuideDefine } from '../../../../../es/components/guide/src/types';
3
+ export declare class GuideError extends Error {
4
+ constructor(message: string);
5
+ }
6
+ export declare const GuideUtils: Readonly<{
7
+ createEle<T extends keyof HTMLElementTagNameMap>(tag: T, props?: GuideDefine.DomProps): HTMLElementTagNameMap[T];
8
+ setStyle(ele: HTMLElement, styles: CSSProperties): void;
9
+ findElement(target: unknown): HTMLElement;
10
+ getShadowEleFromWrapper(wrapper: HTMLElement): HTMLElement | null;
11
+ setShadowEle(wrapper: HTMLElement, target: HTMLElement): void;
12
+ syncPosition(ele: HTMLElement, target: HTMLElement, offset?: number, placement?: GuideDefine.Placement): [string, string];
13
+ }>;
14
+ export declare const useGuideStyle: () => import("@vueuse/core").UseStyleTagReturn;
@@ -0,0 +1 @@
1
+ import{widthAppend as t}from"../../../../shared/utils/index.js";import{useStyleTag as e}from"@vueuse/core";import{isString as i,isObject as o}from"lodash-es";import{normalizeClass as r}from"vue";class n extends Error{constructor(t){super(`[CGuide]: ${t}`)}}const p=Object.freeze({createEle(t,e={}){const i=document.createElement(t);return e.class&&i.classList.add(r(e.class)),e.style&&this.setStyle(i,e.style),i},setStyle(t,e){Object.assign(t.style,e)},findElement(t){const e=i(t)?document.querySelector(t):o(t)?t:void 0;if(!o(e))throw new n(`can't find target element by ${t}`);return e},getShadowEleFromWrapper:t=>t.querySelector(".guide__shadowEle"),setShadowEle(e,i){const o=this.getShadowEleFromWrapper(e);if(!o)return;const{left:r,top:n}=i.getBoundingClientRect();Object.assign(o.style,{left:t(r),top:t(n),width:t(i.clientWidth),height:t(i.clientHeight)})},syncPosition(e,i,o=24,r="right-start"){const{top:n,left:p,right:s,bottom:l,width:d,height:a}=i.getBoundingClientRect(),{clientHeight:h,clientWidth:c}=e,{clientHeight:g,clientWidth:f}=document.body,u=e.querySelector(".guide__stepPointerWrapper"),m=u&&u.querySelector(".guide__stepPointerLine"),x={},b=f-s-o>=c,w=p-o>=c,_=p+d/2>=c/2&&f-s+d/2>=c/2,y=n+h-18<=g,v=l+18>=h,S=s>c,D=p+c<f,E=n-18>=h,W=n+a/2>=h/2&&g-l+a/2>=h/2,B=g-l-18>=h,j={"top-start":D&&E,top:E&&_,"top-end":S&&E,"left-start":w&&y,left:w&&W,"left-end":w&&v,"right-start":b&&y,right:b&&W,"right-end":b&&v,"bottom-start":D&&B,bottom:B&&_,"bottom-end":S&&B},k=t(s+o),O=t(p-o-c),P=t(n-o-h),C=t(l+o),q=t(n-18),H=t(Math.floor((n+l-h)/2)),M=t(l-h+18),z=t(p),L=t(Math.floor(p+s-c)/2),F=t(s-c),R=t(Math.min(26,18+a-6)),T=t(Math.min(26,d-8)),X=[["right-start",{step:{left:k,top:q},pointer:{left:t(-o),flexDirection:"row-reverse",top:R},line:{width:t(o+4)}}],["right-end",{step:{left:k,top:M},pointer:{left:t(-o),flexDirection:"row-reverse",bottom:R},line:{width:t(o+4)}}],["right",{step:{left:k,top:H},pointer:{left:t(-o),flexDirection:"row-reverse",top:"50%",transform:"translateY(-50%)"},line:{width:t(o+4)}}],["left-start",{step:{left:O,top:q},pointer:{right:t(-o),top:R},line:{width:t(o+4)}}],["left-end",{step:{left:O,top:M},pointer:{right:t(-o),bottom:R},line:{width:t(o+4)}}],["left",{step:{left:O,top:H},pointer:{right:t(-o),top:"50%",transform:"translateY(-50%)"},line:{width:t(o+4)}}],["top-start",{step:{left:z,top:P},pointer:{left:T,flexDirection:"column",bottom:t(-o)},line:{width:t(3),height:t(o+4)}}],["top-end",{step:{left:F,top:P},pointer:{right:T,flexDirection:"column",bottom:t(-o)},line:{width:t(3),height:t(o+4)}}],["top",{step:{left:L,top:P},pointer:{left:"50%",transform:"translateX(-50%)",flexDirection:"column",bottom:t(-o)},line:{width:t(3),height:t(o+4)}}],["bottom-start",{step:{left:z,top:C},pointer:{left:T,flexDirection:"column-reverse",top:t(-o)},line:{width:t(3),height:t(o+4)}}],["bottom-end",{step:{left:F,top:C},pointer:{right:T,flexDirection:"column-reverse",top:t(-o)},line:{width:t(3),height:t(o+4)}}],["bottom",{step:{left:L,top:C},pointer:{left:"50%",transform:"translateX(-50%)",flexDirection:"column-reverse",top:t(-o)},line:{width:t(3),height:t(o+4)}}]],[,Y]=(j[r]?X.find((t=>t[0]===r)):X.find((t=>j[t[0]])))||X.find((t=>t[0]===r))||X[0];return Object.assign(x,Y.step),u&&Object.assign(u.style,Y.pointer),m&&Object.assign(m.style,Y.line),this.setStyle(e,x),[x.left,x.top]}}),s=()=>e("\n\t.guide__wrapper{position: absolute;top: 0;bottom: 0;left: 0;right: 0;opacity: 0;transition: opacity .2s linear;}\n\t.guide__shadowEle{position: fixed;background: transparent;box-shadow: 0 0 0 10000px rgba(0,0,0,0.3)}\n\t.guide__stepWrapper{position: fixed;z-index: 1;opacity: 1}\n\t.guide__stepPointerWrapper{position:absolute;display:flex;flex-wrap:nowrap;align-items:center;}\n\t.guide__stepPointer{border-radius:50%;width:12px;height:12px;background:var(--c-primary-color);margin:-1px;}\n\t.guide__stepPointerLine{background:var(--c-primary-color);height:3px;}\n\t.guide__stepContentWrapper{background: white;min-width: 260px;padding: 24px;display: flex;flex-direction: column;gap: 8px;border-radius: 4px;position:relative}\n\t.guide__stepHeader{font-size:20px;}\n\t.guide__stepBody{margin:12px 0 16px 0;color:#a5a5a5}\n\t.guide__stepSkipBtn{}\n\t.guide__stepNextBtn{width:120px}\n\t.guide__stepToBtn{padding:0}\n\t.guide__stepToBtnContent{border-radius:50%;width:8px;height:8px;background:#c5c5c5}\n\t.guide__stepActiveBtn{width:10px;height:10px;background:var(--c-primary-color)}\n\t");export{n as GuideError,p as GuideUtils,s as useGuideStyle};