giime 0.8.10 → 0.8.12

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 (144) hide show
  1. package/dist/index.css +123 -121
  2. package/es/components/src/base/tableColumn/TableColumn.vue2.mjs +5 -5
  3. package/es/components/src/base/tableColumn/TableColumn.vue2.mjs.map +1 -1
  4. package/es/components/src/composite/previewFile/PreviewFile.vue2.mjs +1 -1
  5. package/es/components/src/composite/previewFile/PreviewFile.vue2.mjs.map +1 -1
  6. package/es/components/src/composite/searchForm/searchFormItems/cascader/SearchFormCascader.vue.d.ts +18 -7
  7. package/es/components/src/composite/searchForm/searchFormItems/cascader/SearchFormCascader.vue2.mjs +7 -9
  8. package/es/components/src/composite/searchForm/searchFormItems/cascader/SearchFormCascader.vue2.mjs.map +1 -1
  9. package/es/components/src/composite/searchForm/searchFormItems/cascader/index.d.ts +16 -4
  10. package/es/components/src/composite/searchForm/searchFormItems/cascader/searchFormCascader.d.ts +8 -1
  11. package/es/components/src/composite/searchForm/searchFormItems/cascader/searchFormCascader.mjs +3 -1
  12. package/es/components/src/composite/searchForm/searchFormItems/cascader/searchFormCascader.mjs.map +1 -1
  13. package/es/components/src/composite/searchForm/searchFormItems/datePicker/SearchFormDatePicker.vue.d.ts +14 -5
  14. package/es/components/src/composite/searchForm/searchFormItems/datePicker/SearchFormDatePicker.vue2.mjs +8 -8
  15. package/es/components/src/composite/searchForm/searchFormItems/datePicker/SearchFormDatePicker.vue2.mjs.map +1 -1
  16. package/es/components/src/composite/searchForm/searchFormItems/datePicker/index.d.ts +12 -2
  17. package/es/components/src/composite/searchForm/searchFormItems/datePicker/searchFormDatePicker.d.ts +7 -1
  18. package/es/components/src/composite/searchForm/searchFormItems/datePicker/searchFormDatePicker.mjs +2 -2
  19. package/es/components/src/composite/searchForm/searchFormItems/datePicker/searchFormDatePicker.mjs.map +1 -1
  20. package/es/components/src/composite/searchForm/searchFormItems/input/SearchFormInput.vue.d.ts +24 -2
  21. package/es/components/src/composite/searchForm/searchFormItems/input/SearchFormInput.vue2.mjs +10 -4
  22. package/es/components/src/composite/searchForm/searchFormItems/input/SearchFormInput.vue2.mjs.map +1 -1
  23. package/es/components/src/composite/searchForm/searchFormItems/input/index.d.ts +24 -2
  24. package/es/components/src/composite/searchForm/searchFormItems/input/searchFormInput.d.ts +12 -0
  25. package/es/components/src/composite/searchForm/searchFormItems/input/searchFormInput.mjs +3 -0
  26. package/es/components/src/composite/searchForm/searchFormItems/input/searchFormInput.mjs.map +1 -1
  27. package/es/components/src/composite/searchForm/searchFormItems/numberInterval/SearchFormNumberInterval.vue.d.ts +2 -2
  28. package/es/components/src/composite/searchForm/searchFormItems/numberInterval/SearchFormNumberInterval.vue2.mjs +9 -5
  29. package/es/components/src/composite/searchForm/searchFormItems/numberInterval/SearchFormNumberInterval.vue2.mjs.map +1 -1
  30. package/es/components/src/composite/searchForm/searchFormItems/numberInterval/index.d.ts +2 -2
  31. package/es/components/src/composite/searchForm/searchFormItems/numberInterval/searchFormNumberInterval.d.ts +2 -1
  32. package/es/components/src/composite/searchForm/searchFormItems/numberInterval/searchFormNumberInterval.mjs +2 -2
  33. package/es/components/src/composite/searchForm/searchFormItems/numberInterval/searchFormNumberInterval.mjs.map +1 -1
  34. package/es/components/src/composite/searchForm/searchFormItems/select/SearchFormSelect.vue.d.ts +10 -2
  35. package/es/components/src/composite/searchForm/searchFormItems/select/SearchFormSelect.vue2.mjs +9 -5
  36. package/es/components/src/composite/searchForm/searchFormItems/select/SearchFormSelect.vue2.mjs.map +1 -1
  37. package/es/components/src/composite/searchForm/searchFormItems/select/index.d.ts +10 -2
  38. package/es/components/src/composite/searchForm/searchFormItems/select/searchFormSelect.d.ts +6 -1
  39. package/es/components/src/composite/searchForm/searchFormItems/select/searchFormSelect.mjs +3 -1
  40. package/es/components/src/composite/searchForm/searchFormItems/select/searchFormSelect.mjs.map +1 -1
  41. package/es/components/src/composite/searchForm/searchFormItems/selectV2/SearchFormSelectV2.vue.d.ts +10 -2
  42. package/es/components/src/composite/searchForm/searchFormItems/selectV2/SearchFormSelectV2.vue2.mjs +8 -5
  43. package/es/components/src/composite/searchForm/searchFormItems/selectV2/SearchFormSelectV2.vue2.mjs.map +1 -1
  44. package/es/components/src/composite/searchForm/searchFormItems/selectV2/index.d.ts +10 -2
  45. package/es/components/src/composite/searchForm/searchFormItems/selectV2/searchFormSelectV2.d.ts +5 -0
  46. package/es/components/src/composite/searchForm/searchFormItems/selectV2/searchFormSelectV2.mjs +3 -1
  47. package/es/components/src/composite/searchForm/searchFormItems/selectV2/searchFormSelectV2.mjs.map +1 -1
  48. package/es/components/src/composite/tablePro/TableColumnVNodeRenderer.d.ts +4 -2
  49. package/es/components/src/composite/tablePro/TableColumnVNodeRenderer.mjs +44 -16
  50. package/es/components/src/composite/tablePro/TableColumnVNodeRenderer.mjs.map +1 -1
  51. package/es/components/src/composite/tablePro/TablePro.vue.mjs +1 -1
  52. package/es/components/src/composite/tablePro/TablePro.vue2.mjs +2 -2
  53. package/es/components/src/composite/tablePro/TablePro.vue2.mjs.map +1 -1
  54. package/es/components/src/composite/tablePro/tableColumnPro/TableColumnPro.vue2.mjs +5 -5
  55. package/es/components/src/composite/tablePro/tableColumnPro/TableColumnPro.vue2.mjs.map +1 -1
  56. package/es/components/src/composite/tablePro/tableHelper.d.ts +8 -1
  57. package/es/components/src/composite/tablePro/tableHelper.mjs +10 -1
  58. package/es/components/src/composite/tablePro/tableHelper.mjs.map +1 -1
  59. package/es/components/src/composite/uploadFile/UploadFile.vue.d.ts +4 -90
  60. package/es/components/src/composite/uploadFile/UploadFile.vue.mjs +1 -1
  61. package/es/components/src/composite/uploadFile/UploadFile.vue2.mjs +47 -41
  62. package/es/components/src/composite/uploadFile/UploadFile.vue2.mjs.map +1 -1
  63. package/es/components/src/composite/uploadFile/index.d.ts +4 -190
  64. package/es/components/src/composite/uploadFile/uploadFile.d.ts +1 -51
  65. package/es/components/src/composite/uploadFile/uploadFile.mjs +0 -50
  66. package/es/components/src/composite/uploadFile/uploadFile.mjs.map +1 -1
  67. package/es/giime/version.d.ts +1 -1
  68. package/es/giime/version.mjs +1 -1
  69. package/es/giime/version.mjs.map +1 -1
  70. package/es/index.css +123 -121
  71. package/es/utils/src/elementPlus/event.d.ts +31 -0
  72. package/es/utils/src/elementPlus/event.mjs.map +1 -1
  73. package/lib/components/src/base/tableColumn/TableColumn.vue2.js +4 -4
  74. package/lib/components/src/base/tableColumn/TableColumn.vue2.js.map +1 -1
  75. package/lib/components/src/composite/previewFile/PreviewFile.vue2.js +1 -1
  76. package/lib/components/src/composite/previewFile/PreviewFile.vue2.js.map +1 -1
  77. package/lib/components/src/composite/searchForm/searchFormItems/cascader/SearchFormCascader.vue.d.ts +18 -7
  78. package/lib/components/src/composite/searchForm/searchFormItems/cascader/SearchFormCascader.vue2.js +6 -8
  79. package/lib/components/src/composite/searchForm/searchFormItems/cascader/SearchFormCascader.vue2.js.map +1 -1
  80. package/lib/components/src/composite/searchForm/searchFormItems/cascader/index.d.ts +16 -4
  81. package/lib/components/src/composite/searchForm/searchFormItems/cascader/searchFormCascader.d.ts +8 -1
  82. package/lib/components/src/composite/searchForm/searchFormItems/cascader/searchFormCascader.js +3 -1
  83. package/lib/components/src/composite/searchForm/searchFormItems/cascader/searchFormCascader.js.map +1 -1
  84. package/lib/components/src/composite/searchForm/searchFormItems/datePicker/SearchFormDatePicker.vue.d.ts +14 -5
  85. package/lib/components/src/composite/searchForm/searchFormItems/datePicker/SearchFormDatePicker.vue2.js +7 -7
  86. package/lib/components/src/composite/searchForm/searchFormItems/datePicker/SearchFormDatePicker.vue2.js.map +1 -1
  87. package/lib/components/src/composite/searchForm/searchFormItems/datePicker/index.d.ts +12 -2
  88. package/lib/components/src/composite/searchForm/searchFormItems/datePicker/searchFormDatePicker.d.ts +7 -1
  89. package/lib/components/src/composite/searchForm/searchFormItems/datePicker/searchFormDatePicker.js +1 -1
  90. package/lib/components/src/composite/searchForm/searchFormItems/datePicker/searchFormDatePicker.js.map +1 -1
  91. package/lib/components/src/composite/searchForm/searchFormItems/input/SearchFormInput.vue.d.ts +24 -2
  92. package/lib/components/src/composite/searchForm/searchFormItems/input/SearchFormInput.vue2.js +9 -3
  93. package/lib/components/src/composite/searchForm/searchFormItems/input/SearchFormInput.vue2.js.map +1 -1
  94. package/lib/components/src/composite/searchForm/searchFormItems/input/index.d.ts +24 -2
  95. package/lib/components/src/composite/searchForm/searchFormItems/input/searchFormInput.d.ts +12 -0
  96. package/lib/components/src/composite/searchForm/searchFormItems/input/searchFormInput.js +3 -0
  97. package/lib/components/src/composite/searchForm/searchFormItems/input/searchFormInput.js.map +1 -1
  98. package/lib/components/src/composite/searchForm/searchFormItems/numberInterval/SearchFormNumberInterval.vue.d.ts +2 -2
  99. package/lib/components/src/composite/searchForm/searchFormItems/numberInterval/SearchFormNumberInterval.vue2.js +8 -4
  100. package/lib/components/src/composite/searchForm/searchFormItems/numberInterval/SearchFormNumberInterval.vue2.js.map +1 -1
  101. package/lib/components/src/composite/searchForm/searchFormItems/numberInterval/index.d.ts +2 -2
  102. package/lib/components/src/composite/searchForm/searchFormItems/numberInterval/searchFormNumberInterval.d.ts +2 -1
  103. package/lib/components/src/composite/searchForm/searchFormItems/numberInterval/searchFormNumberInterval.js +1 -1
  104. package/lib/components/src/composite/searchForm/searchFormItems/numberInterval/searchFormNumberInterval.js.map +1 -1
  105. package/lib/components/src/composite/searchForm/searchFormItems/select/SearchFormSelect.vue.d.ts +10 -2
  106. package/lib/components/src/composite/searchForm/searchFormItems/select/SearchFormSelect.vue2.js +8 -4
  107. package/lib/components/src/composite/searchForm/searchFormItems/select/SearchFormSelect.vue2.js.map +1 -1
  108. package/lib/components/src/composite/searchForm/searchFormItems/select/index.d.ts +10 -2
  109. package/lib/components/src/composite/searchForm/searchFormItems/select/searchFormSelect.d.ts +6 -1
  110. package/lib/components/src/composite/searchForm/searchFormItems/select/searchFormSelect.js +3 -1
  111. package/lib/components/src/composite/searchForm/searchFormItems/select/searchFormSelect.js.map +1 -1
  112. package/lib/components/src/composite/searchForm/searchFormItems/selectV2/SearchFormSelectV2.vue.d.ts +10 -2
  113. package/lib/components/src/composite/searchForm/searchFormItems/selectV2/SearchFormSelectV2.vue2.js +7 -4
  114. package/lib/components/src/composite/searchForm/searchFormItems/selectV2/SearchFormSelectV2.vue2.js.map +1 -1
  115. package/lib/components/src/composite/searchForm/searchFormItems/selectV2/index.d.ts +10 -2
  116. package/lib/components/src/composite/searchForm/searchFormItems/selectV2/searchFormSelectV2.d.ts +5 -0
  117. package/lib/components/src/composite/searchForm/searchFormItems/selectV2/searchFormSelectV2.js +3 -1
  118. package/lib/components/src/composite/searchForm/searchFormItems/selectV2/searchFormSelectV2.js.map +1 -1
  119. package/lib/components/src/composite/tablePro/TableColumnVNodeRenderer.d.ts +4 -2
  120. package/lib/components/src/composite/tablePro/TableColumnVNodeRenderer.js +43 -15
  121. package/lib/components/src/composite/tablePro/TableColumnVNodeRenderer.js.map +1 -1
  122. package/lib/components/src/composite/tablePro/TablePro.vue.js +1 -1
  123. package/lib/components/src/composite/tablePro/TablePro.vue2.js +2 -2
  124. package/lib/components/src/composite/tablePro/TablePro.vue2.js.map +1 -1
  125. package/lib/components/src/composite/tablePro/tableColumnPro/TableColumnPro.vue2.js +4 -4
  126. package/lib/components/src/composite/tablePro/tableColumnPro/TableColumnPro.vue2.js.map +1 -1
  127. package/lib/components/src/composite/tablePro/tableHelper.d.ts +8 -1
  128. package/lib/components/src/composite/tablePro/tableHelper.js +10 -1
  129. package/lib/components/src/composite/tablePro/tableHelper.js.map +1 -1
  130. package/lib/components/src/composite/uploadFile/UploadFile.vue.d.ts +4 -90
  131. package/lib/components/src/composite/uploadFile/UploadFile.vue.js +1 -1
  132. package/lib/components/src/composite/uploadFile/UploadFile.vue2.js +47 -41
  133. package/lib/components/src/composite/uploadFile/UploadFile.vue2.js.map +1 -1
  134. package/lib/components/src/composite/uploadFile/index.d.ts +4 -190
  135. package/lib/components/src/composite/uploadFile/uploadFile.d.ts +1 -51
  136. package/lib/components/src/composite/uploadFile/uploadFile.js +0 -50
  137. package/lib/components/src/composite/uploadFile/uploadFile.js.map +1 -1
  138. package/lib/giime/version.d.ts +1 -1
  139. package/lib/giime/version.js +1 -1
  140. package/lib/giime/version.js.map +1 -1
  141. package/lib/index.css +123 -121
  142. package/lib/utils/src/elementPlus/event.d.ts +31 -0
  143. package/lib/utils/src/elementPlus/event.js.map +1 -1
  144. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"searchFormSelect.mjs","sources":["../../../../../../../../../packages/components/src/composite/searchForm/searchFormItems/select/searchFormSelect.ts"],"sourcesContent":["import { selectOptionsProps } from '@giime/components/src/composite/selectOptions/selectOptions';\nimport { searchFormCommonProps } from '../common';\nimport type { OptionProps } from '@giime/components/src/base';\n// import type { PropType } from 'vue';\nexport interface SearchFormSelectPropsOption {\n label: OptionProps['label'];\n value: OptionProps['value'];\n}\nexport const searchFormSelectProps = {\n ...searchFormCommonProps,\n label: {\n type: String,\n default: '',\n },\n prop: {\n type: String,\n required: true as const,\n },\n loading: {\n type: Boolean,\n default: false,\n },\n multiple: {\n type: Boolean,\n default: false,\n },\n clearable: {\n type: Boolean,\n default: true,\n },\n options: selectOptionsProps.options,\n optionLabel: selectOptionsProps.optionLabel,\n // 自定义指定option中的value字段\n optionValue: selectOptionsProps.optionValue,\n labelKey: selectOptionsProps.labelKey,\n};\n\nexport const searchFormSelectEmits = {\n change: (...value: any[]) => !!value,\n};\nexport const SearchFormSelectName = 'GmSearchFormSelect';\n"],"names":[],"mappings":";;;AAQO,MAAM,qBAAA,GAAwB;AAAA,EACnC,GAAG,qBAAA;AAAA,EACH,KAAA,EAAO;AAAA,IACL,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA,EACA,IAAA,EAAM;AAAA,IACJ,IAAA,EAAM,MAAA;AAAA,IACN,QAAA,EAAU;AAAA,GACZ;AAAA,EACA,OAAA,EAAS;AAAA,IACP,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA,EACA,QAAA,EAAU;AAAA,IACR,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA,EACA,SAAA,EAAW;AAAA,IACT,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA,EACA,SAAS,kBAAA,CAAmB,OAAA;AAAA,EAC5B,aAAa,kBAAA,CAAmB,WAAA;AAAA;AAAA,EAEhC,aAAa,kBAAA,CAAmB,WAAA;AAAA,EAChC,UAAU,kBAAA,CAAmB;AAC/B;AAEO,MAAM,qBAAA,GAAwB;AAAA,EACnC,MAAA,EAAQ,CAAA,GAAI,KAAA,KAAiB,CAAC,CAAC;AACjC;AACO,MAAM,oBAAA,GAAuB;;;;"}
1
+ {"version":3,"file":"searchFormSelect.mjs","sources":["../../../../../../../../../packages/components/src/composite/searchForm/searchFormItems/select/searchFormSelect.ts"],"sourcesContent":["import { selectEmits } from '@giime/components/src/base/select';\nimport { selectOptionsProps } from '@giime/components/src/composite/selectOptions/selectOptions';\nimport { searchFormCommonProps } from '../common';\nimport type { OptionProps } from '@giime/components/src/base';\n// import type { PropType } from 'vue';\nexport interface SearchFormSelectPropsOption {\n label: OptionProps['label'];\n value: OptionProps['value'];\n}\nexport const searchFormSelectProps = {\n ...searchFormCommonProps,\n label: {\n type: String,\n default: '',\n },\n prop: {\n type: String,\n required: true as const,\n },\n loading: {\n type: Boolean,\n default: false,\n },\n multiple: {\n type: Boolean,\n default: false,\n },\n clearable: {\n type: Boolean,\n default: true,\n },\n options: selectOptionsProps.options,\n optionLabel: selectOptionsProps.optionLabel,\n // 自定义指定option中的value字段\n optionValue: selectOptionsProps.optionValue,\n labelKey: selectOptionsProps.labelKey,\n};\n\nexport const searchFormSelectEmits = {\n ...selectEmits,\n};\nexport const SearchFormSelectName = 'GmSearchFormSelect';\n"],"names":[],"mappings":";;;;;AASO,MAAM,qBAAA,GAAwB;AAAA,EACnC,GAAG,qBAAA;AAAA,EACH,KAAA,EAAO;AAAA,IACL,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA,EACA,IAAA,EAAM;AAAA,IACJ,IAAA,EAAM,MAAA;AAAA,IACN,QAAA,EAAU;AAAA,GACZ;AAAA,EACA,OAAA,EAAS;AAAA,IACP,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA,EACA,QAAA,EAAU;AAAA,IACR,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA,EACA,SAAA,EAAW;AAAA,IACT,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA,EACA,SAAS,kBAAA,CAAmB,OAAA;AAAA,EAC5B,aAAa,kBAAA,CAAmB,WAAA;AAAA;AAAA,EAEhC,aAAa,kBAAA,CAAmB,WAAA;AAAA,EAChC,UAAU,kBAAA,CAAmB;AAC/B;AAEO,MAAM,qBAAA,GAAwB;AAAA,EACnC,GAAG;AACL;AACO,MAAM,oBAAA,GAAuB;;;;"}
@@ -39,8 +39,12 @@ declare const _default: import("vue").DefineComponent<{
39
39
  type: import("vue").PropType<any>;
40
40
  };
41
41
  }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
42
+ clear: (...args: any[]) => void;
42
43
  change: (...args: any[]) => void;
43
- "update:modelValue": (value: any) => void;
44
+ "update:modelValue": (...args: any[]) => void;
45
+ focus: (...args: any[]) => void;
46
+ blur: (...args: any[]) => void;
47
+ "visible-change": (...args: any[]) => void;
44
48
  }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
45
49
  label: {
46
50
  type: StringConstructor;
@@ -83,7 +87,11 @@ declare const _default: import("vue").DefineComponent<{
83
87
  };
84
88
  }>> & {
85
89
  onChange?: ((...args: any[]) => any) | undefined;
86
- "onUpdate:modelValue"?: ((value: any) => any) | undefined;
90
+ onClear?: ((...args: any[]) => any) | undefined;
91
+ "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
92
+ onFocus?: ((...args: any[]) => any) | undefined;
93
+ onBlur?: ((...args: any[]) => any) | undefined;
94
+ "onVisible-change"?: ((...args: any[]) => any) | undefined;
87
95
  }, {
88
96
  options: import("../../..").SelectOptionsOptionType[];
89
97
  multiple: boolean;
@@ -1,7 +1,10 @@
1
- import { defineComponent, useModel, computed, resolveComponent, createBlock, openBlock, withCtx, createVNode, mergeModels } from 'vue';
1
+ import { defineComponent, useModel, computed, resolveComponent, createBlock, openBlock, withCtx, createVNode, mergeProps, toHandlers, unref, mergeModels } from 'vue';
2
2
  import '../../../../../../utils/index.mjs';
3
+ import '../../../../base/selectV2/index.mjs';
3
4
  import { useWatchModelChange } from '../../composables/useWatchModelChange.mjs';
4
5
  import { searchFormSelectV2Emits, searchFormSelectV2Props, SearchFormSelectV2Name } from './searchFormSelectV2.mjs';
6
+ import { getGmEvent } from '../../../../../../utils/src/elementPlus/event.mjs';
7
+ import { selectV2Emits } from '../../../../base/selectV2/selectV2.mjs';
5
8
  import { isString } from '../../../../../../utils/src/is.mjs';
6
9
 
7
10
  var _sfc_main = /* @__PURE__ */ defineComponent({
@@ -18,6 +21,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
18
21
  const props = __props;
19
22
  const modelValue = useModel(__props, "modelValue");
20
23
  const emit = __emit;
24
+ const selectV2Events = getGmEvent(selectV2Emits, emit);
21
25
  useWatchModelChange(modelValue, { prop: props.prop, noDefaultSync: props.noDefaultSync });
22
26
  const optionsList = computed(() => {
23
27
  return props.options.map((v, i) => {
@@ -41,7 +45,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
41
45
  const _component_gm_form_item = resolveComponent("gm-form-item");
42
46
  return openBlock(), createBlock(_component_gm_form_item, { prop: _ctx.prop }, {
43
47
  default: withCtx(() => [
44
- createVNode(_component_gm_select_v2, {
48
+ createVNode(_component_gm_select_v2, mergeProps({
45
49
  modelValue: modelValue.value,
46
50
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => modelValue.value = $event),
47
51
  placeholder: _ctx.label,
@@ -52,9 +56,8 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
52
56
  "collapse-tags-tooltip": "",
53
57
  disabled: _ctx.disabled,
54
58
  options: optionsList.value,
55
- class: "gm-w-full",
56
- onChange: _cache[1] || (_cache[1] = ($event) => emit("change", $event))
57
- }, null, 8, ["modelValue", "placeholder", "multiple", "disabled", "options"])
59
+ class: "gm-w-full"
60
+ }, toHandlers(unref(selectV2Events))), null, 16, ["modelValue", "placeholder", "multiple", "disabled", "options"])
58
61
  ]),
59
62
  _: 1
60
63
  /* STABLE */
@@ -1 +1 @@
1
- {"version":3,"file":"SearchFormSelectV2.vue2.mjs","sources":["../../../../../../../../../packages/components/src/composite/searchForm/searchFormItems/selectV2/SearchFormSelectV2.vue"],"sourcesContent":["<template>\n <gm-form-item :prop=\"prop\">\n <gm-select-v2\n v-model=\"modelValue\"\n :placeholder=\"label\"\n :multiple=\"multiple\"\n filterable\n clearable\n collapse-tags\n collapse-tags-tooltip\n :disabled=\"disabled\"\n :options=\"optionsList\"\n class=\"gm-w-full\"\n @change=\"emit('change', $event)\"\n />\n </gm-form-item>\n</template>\n<script lang=\"ts\" setup>\nimport { computed } from 'vue';\nimport { isString } from '@giime/utils';\nimport { useWatchModelChange } from '../../composables/useWatchModelChange';\nimport { SearchFormSelectV2Name, searchFormSelectV2Emits, searchFormSelectV2Props } from './searchFormSelectV2';\nimport type { SelectV2Props } from '@giime/components/src/base/selectV2';\n\ndefineOptions({\n name: SearchFormSelectV2Name,\n});\nconst props = defineProps(searchFormSelectV2Props);\nconst modelValue = defineModel<SelectV2Props['modelValue'] | undefined>();\n\nconst emit = defineEmits(searchFormSelectV2Emits);\nuseWatchModelChange(modelValue, { prop: props.prop, noDefaultSync: props.noDefaultSync });\n\nconst optionsList = computed(() => {\n return props.options.map((v, i) => {\n const res = {\n ...v,\n label: v[props.optionLabel],\n value: v[props.optionValue],\n };\n if (props.labelKey === true) {\n res.label = `${v.id}. ${res.label}`;\n } else if (props.labelKey === 'index') {\n res.label = `${i + 1}. ${res.label}`;\n } else if (isString(props.labelKey) && Object.prototype.hasOwnProperty.call(v, props.labelKey)) {\n res.label = `${v[props.labelKey]}. ${res.label}`;\n }\n return res;\n });\n});\n</script>\n"],"names":["_useModel"],"mappings":";;;;;;;;;;;;;;;;;AA2BA,IAAA,MAAM,KAAA,GAAQ,OAAA;AACd,IAAA,MAAM,UAAA,GAAaA,QAAA,sBAAqD,CAAA;AAExE,IAAA,MAAM,IAAA,GAAO,MAAA;AACb,IAAA,mBAAA,CAAoB,UAAA,EAAY,EAAE,IAAA,EAAM,KAAA,CAAM,MAAM,aAAA,EAAe,KAAA,CAAM,eAAe,CAAA;AAExF,IAAA,MAAM,WAAA,GAAc,SAAS,MAAM;AACjC,MAAA,OAAO,KAAA,CAAM,OAAA,CAAQ,GAAA,CAAI,CAAC,GAAG,CAAA,KAAM;AACjC,QAAA,MAAM,GAAA,GAAM;AAAA,UACV,GAAG,CAAA;AAAA,UACH,KAAA,EAAO,CAAA,CAAE,KAAA,CAAM,WAAW,CAAA;AAAA,UAC1B,KAAA,EAAO,CAAA,CAAE,KAAA,CAAM,WAAW;AAAA,SAC5B;AACA,QAAA,IAAI,KAAA,CAAM,aAAa,IAAA,EAAM;AAC3B,UAAA,GAAA,CAAI,QAAQ,CAAA,EAAG,CAAA,CAAE,EAAE,CAAA,EAAA,EAAK,IAAI,KAAK,CAAA,CAAA;AAAA,QACnC,CAAA,MAAA,IAAW,KAAA,CAAM,QAAA,KAAa,OAAA,EAAS;AACrC,UAAA,GAAA,CAAI,QAAQ,CAAA,EAAG,CAAA,GAAI,CAAC,CAAA,EAAA,EAAK,IAAI,KAAK,CAAA,CAAA;AAAA,QACpC,CAAA,MAAA,IAAW,QAAA,CAAS,KAAA,CAAM,QAAQ,CAAA,IAAK,MAAA,CAAO,SAAA,CAAU,cAAA,CAAe,IAAA,CAAK,CAAA,EAAG,KAAA,CAAM,QAAQ,CAAA,EAAG;AAC9F,UAAA,GAAA,CAAI,KAAA,GAAQ,GAAG,CAAA,CAAE,KAAA,CAAM,QAAQ,CAAC,CAAA,EAAA,EAAK,IAAI,KAAK,CAAA,CAAA;AAAA,QAChD;AACA,QAAA,OAAO,GAAA;AAAA,MACT,CAAC,CAAA;AAAA,IACH,CAAC,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"SearchFormSelectV2.vue2.mjs","sources":["../../../../../../../../../packages/components/src/composite/searchForm/searchFormItems/selectV2/SearchFormSelectV2.vue"],"sourcesContent":["<template>\n <gm-form-item :prop=\"prop\">\n <gm-select-v2\n v-model=\"modelValue\"\n :placeholder=\"label\"\n :multiple=\"multiple\"\n filterable\n clearable\n collapse-tags\n collapse-tags-tooltip\n :disabled=\"disabled\"\n :options=\"optionsList\"\n class=\"gm-w-full\"\n v-on=\"selectV2Events\"\n />\n </gm-form-item>\n</template>\n<script lang=\"ts\" setup>\nimport { computed } from 'vue';\nimport { getGmEvent, isString } from '@giime/utils';\nimport { selectV2Emits } from '@giime/components/src/base/selectV2';\nimport { useWatchModelChange } from '../../composables/useWatchModelChange';\nimport { SearchFormSelectV2Name, searchFormSelectV2Emits, searchFormSelectV2Props } from './searchFormSelectV2';\nimport type { SelectV2Props } from '@giime/components/src/base/selectV2';\n\ndefineOptions({\n name: SearchFormSelectV2Name,\n});\nconst props = defineProps(searchFormSelectV2Props);\nconst modelValue = defineModel<SelectV2Props['modelValue'] | undefined>();\n\nconst emit = defineEmits(searchFormSelectV2Emits);\n// 重发基础组件的事件\nconst selectV2Events = getGmEvent(selectV2Emits, emit);\n\nuseWatchModelChange(modelValue, { prop: props.prop, noDefaultSync: props.noDefaultSync });\n\nconst optionsList = computed(() => {\n return props.options.map((v, i) => {\n const res = {\n ...v,\n label: v[props.optionLabel],\n value: v[props.optionValue],\n };\n if (props.labelKey === true) {\n res.label = `${v.id}. ${res.label}`;\n } else if (props.labelKey === 'index') {\n res.label = `${i + 1}. ${res.label}`;\n } else if (isString(props.labelKey) && Object.prototype.hasOwnProperty.call(v, props.labelKey)) {\n res.label = `${v[props.labelKey]}. ${res.label}`;\n }\n return res;\n });\n});\n</script>\n"],"names":["_useModel"],"mappings":";;;;;;;;;;;;;;;;;;;;AA4BA,IAAA,MAAM,KAAA,GAAQ,OAAA;AACd,IAAA,MAAM,UAAA,GAAaA,QAAA,sBAAqD,CAAA;AAExE,IAAA,MAAM,IAAA,GAAO,MAAA;AAEb,IAAA,MAAM,cAAA,GAAiB,UAAA,CAAW,aAAA,EAAe,IAAI,CAAA;AAErD,IAAA,mBAAA,CAAoB,UAAA,EAAY,EAAE,IAAA,EAAM,KAAA,CAAM,MAAM,aAAA,EAAe,KAAA,CAAM,eAAe,CAAA;AAExF,IAAA,MAAM,WAAA,GAAc,SAAS,MAAM;AACjC,MAAA,OAAO,KAAA,CAAM,OAAA,CAAQ,GAAA,CAAI,CAAC,GAAG,CAAA,KAAM;AACjC,QAAA,MAAM,GAAA,GAAM;AAAA,UACV,GAAG,CAAA;AAAA,UACH,KAAA,EAAO,CAAA,CAAE,KAAA,CAAM,WAAW,CAAA;AAAA,UAC1B,KAAA,EAAO,CAAA,CAAE,KAAA,CAAM,WAAW;AAAA,SAC5B;AACA,QAAA,IAAI,KAAA,CAAM,aAAa,IAAA,EAAM;AAC3B,UAAA,GAAA,CAAI,QAAQ,CAAA,EAAG,CAAA,CAAE,EAAE,CAAA,EAAA,EAAK,IAAI,KAAK,CAAA,CAAA;AAAA,QACnC,CAAA,MAAA,IAAW,KAAA,CAAM,QAAA,KAAa,OAAA,EAAS;AACrC,UAAA,GAAA,CAAI,QAAQ,CAAA,EAAG,CAAA,GAAI,CAAC,CAAA,EAAA,EAAK,IAAI,KAAK,CAAA,CAAA;AAAA,QACpC,CAAA,MAAA,IAAW,QAAA,CAAS,KAAA,CAAM,QAAQ,CAAA,IAAK,MAAA,CAAO,SAAA,CAAU,cAAA,CAAe,IAAA,CAAK,CAAA,EAAG,KAAA,CAAM,QAAQ,CAAA,EAAG;AAC9F,UAAA,GAAA,CAAI,KAAA,GAAQ,GAAG,CAAA,CAAE,KAAA,CAAM,QAAQ,CAAC,CAAA,EAAA,EAAK,IAAI,KAAK,CAAA,CAAA;AAAA,QAChD;AACA,QAAA,OAAO,GAAA;AAAA,MACT,CAAC,CAAA;AAAA,IACH,CAAC,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -40,8 +40,12 @@ export declare const GmSearchFormSelectV2: import("../../../../../../utils").SFC
40
40
  type: import("vue").PropType<any>;
41
41
  };
42
42
  }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
43
+ clear: (...args: any[]) => void;
43
44
  change: (...args: any[]) => void;
44
- "update:modelValue": (value: any) => void;
45
+ "update:modelValue": (...args: any[]) => void;
46
+ focus: (...args: any[]) => void;
47
+ blur: (...args: any[]) => void;
48
+ "visible-change": (...args: any[]) => void;
45
49
  }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
46
50
  label: {
47
51
  type: StringConstructor;
@@ -84,7 +88,11 @@ export declare const GmSearchFormSelectV2: import("../../../../../../utils").SFC
84
88
  };
85
89
  }>> & {
86
90
  onChange?: ((...args: any[]) => any) | undefined;
87
- "onUpdate:modelValue"?: ((value: any) => any) | undefined;
91
+ onClear?: ((...args: any[]) => any) | undefined;
92
+ "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
93
+ onFocus?: ((...args: any[]) => any) | undefined;
94
+ onBlur?: ((...args: any[]) => any) | undefined;
95
+ "onVisible-change"?: ((...args: any[]) => any) | undefined;
88
96
  }, {
89
97
  options: import("../../../index.js").SelectOptionsOptionType[];
90
98
  multiple: boolean;
@@ -37,6 +37,11 @@ export declare const searchFormSelectV2Props: {
37
37
  };
38
38
  };
39
39
  export declare const searchFormSelectV2Emits: {
40
+ 'update:modelValue': (...arg: any[]) => boolean;
40
41
  change: (...arg: any[]) => boolean;
42
+ 'visible-change': (...arg: any[]) => boolean;
43
+ clear: (...arg: any[]) => boolean;
44
+ blur: (...arg: any[]) => boolean;
45
+ focus: (...arg: any[]) => boolean;
41
46
  };
42
47
  export declare const SearchFormSelectV2Name = "GmSearchFormSelectV2";
@@ -1,5 +1,7 @@
1
+ import '../../../../base/selectV2/index.mjs';
1
2
  import { selectOptionsProps } from '../../../selectOptions/selectOptions.mjs';
2
3
  import { searchFormCommonProps } from '../common.mjs';
4
+ import { selectV2Emits } from '../../../../base/selectV2/selectV2.mjs';
3
5
 
4
6
  const searchFormSelectV2Props = {
5
7
  ...searchFormCommonProps,
@@ -22,7 +24,7 @@ const searchFormSelectV2Props = {
22
24
  labelKey: selectOptionsProps.labelKey
23
25
  };
24
26
  const searchFormSelectV2Emits = {
25
- change: (...arg) => !!arg
27
+ ...selectV2Emits
26
28
  };
27
29
  const SearchFormSelectV2Name = "GmSearchFormSelectV2";
28
30
 
@@ -1 +1 @@
1
- {"version":3,"file":"searchFormSelectV2.mjs","sources":["../../../../../../../../../packages/components/src/composite/searchForm/searchFormItems/selectV2/searchFormSelectV2.ts"],"sourcesContent":["import { selectOptionsProps } from '@giime/components/src/composite/selectOptions/selectOptions';\nimport { searchFormCommonProps } from '../common';\nexport const searchFormSelectV2Props = {\n ...searchFormCommonProps,\n label: {\n type: String,\n default: '',\n },\n prop: {\n type: String,\n required: true as const,\n },\n multiple: {\n type: Boolean,\n default: false,\n },\n options: selectOptionsProps.options,\n optionLabel: selectOptionsProps.optionLabel,\n // 自定义指定option中的value字段\n optionValue: selectOptionsProps.optionValue,\n labelKey: selectOptionsProps.labelKey,\n};\n\nexport const searchFormSelectV2Emits = {\n change: (...arg: any[]) => !!arg,\n};\nexport const SearchFormSelectV2Name = 'GmSearchFormSelectV2';\n"],"names":[],"mappings":";;;AAEO,MAAM,uBAAA,GAA0B;AAAA,EACrC,GAAG,qBAAA;AAAA,EACH,KAAA,EAAO;AAAA,IACL,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA,EACA,IAAA,EAAM;AAAA,IACJ,IAAA,EAAM,MAAA;AAAA,IACN,QAAA,EAAU;AAAA,GACZ;AAAA,EACA,QAAA,EAAU;AAAA,IACR,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA,EACA,SAAS,kBAAA,CAAmB,OAAA;AAAA,EAC5B,aAAa,kBAAA,CAAmB,WAAA;AAAA;AAAA,EAEhC,aAAa,kBAAA,CAAmB,WAAA;AAAA,EAChC,UAAU,kBAAA,CAAmB;AAC/B;AAEO,MAAM,uBAAA,GAA0B;AAAA,EACrC,MAAA,EAAQ,CAAA,GAAI,GAAA,KAAe,CAAC,CAAC;AAC/B;AACO,MAAM,sBAAA,GAAyB;;;;"}
1
+ {"version":3,"file":"searchFormSelectV2.mjs","sources":["../../../../../../../../../packages/components/src/composite/searchForm/searchFormItems/selectV2/searchFormSelectV2.ts"],"sourcesContent":["import { selectV2Emits } from '@giime/components/src/base/selectV2';\nimport { selectOptionsProps } from '@giime/components/src/composite/selectOptions/selectOptions';\nimport { searchFormCommonProps } from '../common';\nexport const searchFormSelectV2Props = {\n ...searchFormCommonProps,\n label: {\n type: String,\n default: '',\n },\n prop: {\n type: String,\n required: true as const,\n },\n multiple: {\n type: Boolean,\n default: false,\n },\n options: selectOptionsProps.options,\n optionLabel: selectOptionsProps.optionLabel,\n // 自定义指定option中的value字段\n optionValue: selectOptionsProps.optionValue,\n labelKey: selectOptionsProps.labelKey,\n};\n\nexport const searchFormSelectV2Emits = {\n ...selectV2Emits,\n};\nexport const SearchFormSelectV2Name = 'GmSearchFormSelectV2';\n"],"names":[],"mappings":";;;;;AAGO,MAAM,uBAAA,GAA0B;AAAA,EACrC,GAAG,qBAAA;AAAA,EACH,KAAA,EAAO;AAAA,IACL,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA,EACA,IAAA,EAAM;AAAA,IACJ,IAAA,EAAM,MAAA;AAAA,IACN,QAAA,EAAU;AAAA,GACZ;AAAA,EACA,QAAA,EAAU;AAAA,IACR,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA,EACA,SAAS,kBAAA,CAAmB,OAAA;AAAA,EAC5B,aAAa,kBAAA,CAAmB,WAAA;AAAA;AAAA,EAEhC,aAAa,kBAAA,CAAmB,WAAA;AAAA,EAChC,UAAU,kBAAA,CAAmB;AAC/B;AAEO,MAAM,uBAAA,GAA0B;AAAA,EACrC,GAAG;AACL;AACO,MAAM,sBAAA,GAAyB;;;;"}
@@ -1,5 +1,5 @@
1
1
  import type { TableColumnProProps } from './tableColumnPro/tableColumnPro';
2
- import type { PropType } from 'vue';
2
+ import type { PropType, VNode } from 'vue';
3
3
  declare const _default: import("vue").DefineComponent<{
4
4
  vnode: {
5
5
  type: (ObjectConstructor | ArrayConstructor)[];
@@ -13,7 +13,9 @@ declare const _default: import("vue").DefineComponent<{
13
13
  type: PropType<TableColumnProProps[]>;
14
14
  default: () => never[];
15
15
  };
16
- }, () => any[], unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
16
+ }, () => (VNode<import("vue").RendererNode, import("vue").RendererElement, {
17
+ [key: string]: any;
18
+ }> | null)[], unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
17
19
  vnode: {
18
20
  type: (ObjectConstructor | ArrayConstructor)[];
19
21
  required: true;
@@ -1,5 +1,4 @@
1
- import { defineComponent, computed, h } from 'vue';
2
- import { getVnodesByGmName } from './tableHelper.mjs';
1
+ import { defineComponent, computed, cloneVNode, h } from 'vue';
3
2
 
4
3
  var TableColumnVNodeRenderer = /* @__PURE__ */ defineComponent({
5
4
  functional: true,
@@ -20,7 +19,6 @@ var TableColumnVNodeRenderer = /* @__PURE__ */ defineComponent({
20
19
  }
21
20
  },
22
21
  setup(props) {
23
- const vnodes = computed(() => getVnodesByGmName(Array.isArray(props.vnode) ? props.vnode : [props.vnode], "GmTableColumnPro"));
24
22
  const mergePropsList = computed(() => {
25
23
  return props.defaultPropsList.map((it) => {
26
24
  const findProp = props.propsList.find((item) => item.prop === it.prop);
@@ -30,21 +28,51 @@ var TableColumnVNodeRenderer = /* @__PURE__ */ defineComponent({
30
28
  return it;
31
29
  });
32
30
  });
33
- const res = computed(() => mergePropsList.value.filter((props2) => props2.isShow && props2.type !== "edit").map((props2) => {
34
- const findVnode = vnodes.value.find((it) => it.props.prop === props2.prop);
35
- if (findVnode) {
36
- findVnode.props = {
37
- ...findVnode.props,
38
- width: props2.width,
39
- label: props2.label,
40
- fixed: props2.fixed
41
- // type: props.type,
42
- };
31
+ const processVNode = (vnode) => {
32
+ if (!vnode) return null;
33
+ if (vnode.type?.name === "GmTableColumnPro") {
34
+ const propsConfig = mergePropsList.value.find((it) => it.prop === vnode.props?.prop);
35
+ if (propsConfig && (!propsConfig.isShow || propsConfig.type === "edit")) {
36
+ return null;
37
+ }
38
+ if (propsConfig) {
39
+ const newProps = {
40
+ ...vnode.props,
41
+ width: propsConfig.width,
42
+ label: propsConfig.label,
43
+ fixed: propsConfig.fixed
44
+ };
45
+ return cloneVNode(vnode, newProps);
46
+ }
47
+ return vnode;
48
+ }
49
+ if (vnode.children) {
50
+ let newChildren = vnode.children;
51
+ if (typeof vnode.children === "object" && vnode.children.default) {
52
+ const originalDefault = vnode.children.default;
53
+ newChildren = {
54
+ ...vnode.children,
55
+ default: (slotProps) => {
56
+ const childVnodes = originalDefault(slotProps);
57
+ if (Array.isArray(childVnodes)) {
58
+ return childVnodes.map(processVNode).filter(Boolean);
59
+ }
60
+ return processVNode(childVnodes);
61
+ }
62
+ };
63
+ } else if (Array.isArray(vnode.children)) {
64
+ newChildren = vnode.children.map(processVNode).filter(Boolean);
65
+ }
66
+ return cloneVNode(vnode, vnode.props, newChildren);
43
67
  }
44
- return findVnode;
45
- }));
68
+ return vnode;
69
+ };
46
70
  const render = computed(() => {
47
- return res.value.map((it) => it && h(it));
71
+ const vnodeArray = Array.isArray(props.vnode) ? props.vnode : [props.vnode];
72
+ return vnodeArray.map((vnode) => {
73
+ const processed = processVNode(vnode);
74
+ return processed ? h(processed) : null;
75
+ }).filter(Boolean);
48
76
  });
49
77
  return () => render.value;
50
78
  }
@@ -1 +1 @@
1
- {"version":3,"file":"TableColumnVNodeRenderer.mjs","sources":["../../../../../../../packages/components/src/composite/tablePro/TableColumnVNodeRenderer.tsx"],"sourcesContent":["// MyVNodeRenderer.js\nimport { computed, defineComponent, h } from 'vue';\nimport { getVnodesByGmName } from './tableHelper';\nimport type { TableColumnProProps } from './tableColumnPro/tableColumnPro';\nimport type { PropType } from 'vue';\nexport default defineComponent({\n functional: true,\n props: {\n // 当前原始vnode vue模板中的attribute\n vnode: {\n type: [Object, Array],\n required: true,\n },\n // 真实渲染的propsList\n propsList: {\n type: Array as PropType<TableColumnProProps[]>,\n default: () => [],\n },\n defaultPropsList: {\n type: Array as PropType<TableColumnProProps[]>,\n default: () => [],\n },\n },\n setup(props) {\n const vnodes = computed(() => getVnodesByGmName(Array.isArray(props.vnode) ? props.vnode : [props.vnode], 'GmTableColumnPro'));\n /** 合并propsList和defaultPropsList */\n const mergePropsList = computed(() => {\n return props.defaultPropsList.map(it => {\n const findProp = props.propsList.find(item => item.prop === it.prop);\n if (findProp) {\n return findProp;\n }\n return it;\n });\n });\n const res = computed(() =>\n mergePropsList.value\n .filter(props => props.isShow && props.type !== 'edit')\n .map(props => {\n const findVnode = vnodes.value.find(it => it.props.prop === props.prop);\n if (findVnode) {\n findVnode.props = {\n ...findVnode.props,\n width: props.width,\n label: props.label,\n fixed: props.fixed,\n // type: props.type,\n };\n }\n // findVnode.props.label = props.label;\n // findVnode.props.type = props.type;\n return findVnode;\n }),\n );\n const render = computed(() => {\n return res.value.map(it => it && h(it));\n });\n return () => render.value;\n },\n});\n"],"names":["functional","props","vnode","type","Object","Array","required","propsList","default","defaultPropsList","setup","vnodes","computed","getVnodesByGmName","isArray","mergePropsList","map","it","findProp","find","item","prop","res","value","filter","isShow","findVnode","width","label","fixed","render","h"],"mappings":";;;AAKA,+DAA+B;AAAA,EAC7BA,UAAAA,EAAY,IAAA;AAAA,EACZC,KAAAA,EAAO;AAAA;AAAA,IAELC,KAAAA,EAAO;AAAA,MACLC,IAAAA,EAAM,CAACC,MAAAA,EAAQC,KAAK,CAAA;AAAA,MACpBC,QAAAA,EAAU;AAAA,KACZ;AAAA;AAAA,IAEAC,SAAAA,EAAW;AAAA,MACTJ,IAAAA,EAAME,KAAAA;AAAAA,MACNG,OAAAA,EAASA,MAAM;AAAA,KACjB;AAAA,IACAC,gBAAAA,EAAkB;AAAA,MAChBN,IAAAA,EAAME,KAAAA;AAAAA,MACNG,OAAAA,EAASA,MAAM;AAAA;AACjB,GACF;AAAA,EACAE,MAAMT,KAAAA,EAAO;AACX,IAAA,MAAMU,SAASC,QAAAA,CAAS,MAAMC,iBAAAA,CAAkBR,KAAAA,CAAMS,QAAQb,KAAAA,CAAMC,KAAK,CAAA,GAAID,KAAAA,CAAMC,QAAQ,CAACD,KAAAA,CAAMC,KAAK,CAAA,EAAG,kBAAkB,CAAC,CAAA;AAE7H,IAAA,MAAMa,cAAAA,GAAiBH,SAAS,MAAM;AACpC,MAAA,OAAOX,KAAAA,CAAMQ,gBAAAA,CAAiBO,GAAAA,CAAIC,CAAAA,EAAAA,KAAM;AACtC,QAAA,MAAMC,QAAAA,GAAWjB,MAAMM,SAAAA,CAAUY,IAAAA,CAAKC,UAAQA,IAAAA,CAAKC,IAAAA,KAASJ,GAAGI,IAAI,CAAA;AACnE,QAAA,IAAIH,QAAAA,EAAU;AACZ,UAAA,OAAOA,QAAAA;AAAAA,QACT;AACA,QAAA,OAAOD,EAAAA;AAAAA,MACT,CAAC,CAAA;AAAA,IACH,CAAC,CAAA;AACD,IAAA,MAAMK,MAAMV,QAAAA,CAAS,MACnBG,cAAAA,CAAeQ,KAAAA,CACZC,OAAOvB,CAAAA,MAAAA,KAASA,MAAAA,CAAMwB,MAAAA,IAAUxB,OAAME,IAAAA,KAAS,MAAM,CAAA,CACrDa,GAAAA,CAAIf,CAAAA,MAAAA,KAAS;AACZ,MAAA,MAAMyB,SAAAA,GAAYf,OAAOY,KAAAA,CAAMJ,IAAAA,CAAKF,QAAMA,EAAAA,CAAGhB,KAAAA,CAAMoB,IAAAA,KAASpB,MAAAA,CAAMoB,IAAI,CAAA;AACtE,MAAA,IAAIK,SAAAA,EAAW;AACbA,QAAAA,SAAAA,CAAUzB,KAAAA,GAAQ;AAAA,UAChB,GAAGyB,SAAAA,CAAUzB,KAAAA;AAAAA,UACb0B,OAAO1B,MAAAA,CAAM0B,KAAAA;AAAAA,UACbC,OAAO3B,MAAAA,CAAM2B,KAAAA;AAAAA,UACbC,OAAO5B,MAAAA,CAAM4B;AAAAA;AAAAA,SAEf;AAAA,MACF;AAGA,MAAA,OAAOH,SAAAA;AAAAA,IACT,CAAC,CACL,CAAA;AACA,IAAA,MAAMI,MAAAA,GAASlB,SAAS,MAAM;AAC5B,MAAA,OAAOU,IAAIC,KAAAA,CAAMP,GAAAA,CAAIC,QAAMA,EAAAA,IAAMc,CAAAA,CAAEd,EAAE,CAAC,CAAA;AAAA,IACxC,CAAC,CAAA;AACD,IAAA,OAAO,MAAMa,MAAAA,CAAOP,KAAAA;AAAAA,EACtB;AACF,CAAC,CAAA;;;;"}
1
+ {"version":3,"file":"TableColumnVNodeRenderer.mjs","sources":["../../../../../../../packages/components/src/composite/tablePro/TableColumnVNodeRenderer.tsx"],"sourcesContent":["// TableColumnVNodeRenderer - 支持多级表头\nimport { computed, defineComponent, h, cloneVNode } from 'vue';\nimport type { TableColumnProProps } from './tableColumnPro/tableColumnPro';\nimport type { PropType, VNode } from 'vue';\n\nexport default defineComponent({\n functional: true,\n props: {\n // 当前原始vnode vue模板中的attribute\n vnode: {\n type: [Object, Array],\n required: true,\n },\n // 真实渲染的propsList\n propsList: {\n type: Array as PropType<TableColumnProProps[]>,\n default: () => [],\n },\n defaultPropsList: {\n type: Array as PropType<TableColumnProProps[]>,\n default: () => [],\n },\n },\n setup(props) {\n /** 合并propsList和defaultPropsList */\n const mergePropsList = computed(() => {\n return props.defaultPropsList.map(it => {\n const findProp = props.propsList.find(item => item.prop === it.prop);\n if (findProp) {\n return findProp;\n }\n return it;\n });\n });\n\n /**\n * 递归处理 vnode 树,应用 propsList 配置\n * @param vnode 要处理的 vnode\n * @returns 处理后的 vnode\n */\n const processVNode = (vnode: any): any => {\n if (!vnode) return null;\n\n // 如果是 GmTableColumnPro,查找并应用配置\n if (vnode.type?.name === 'GmTableColumnPro') {\n const propsConfig = mergePropsList.value.find(it => it.prop === vnode.props?.prop);\n\n // 如果配置中标记为不显示或类型是 edit,跳过渲染\n if (propsConfig && (!propsConfig.isShow || propsConfig.type === 'edit')) {\n return null;\n }\n\n // 应用配置到 vnode props\n if (propsConfig) {\n const newProps = {\n ...vnode.props,\n width: propsConfig.width,\n label: propsConfig.label,\n fixed: propsConfig.fixed,\n };\n return cloneVNode(vnode, newProps);\n }\n\n return vnode;\n }\n\n // 如果是其他组件(如 gm-table-column 用于多级表头),递归处理子节点\n if (vnode.children) {\n let newChildren = vnode.children;\n\n // 如果 children 是对象(包含 slots),递归处理 default slot\n if (typeof vnode.children === 'object' && vnode.children.default) {\n const originalDefault = vnode.children.default;\n newChildren = {\n ...vnode.children,\n default: (slotProps: any) => {\n const childVnodes = originalDefault(slotProps);\n if (Array.isArray(childVnodes)) {\n return childVnodes.map(processVNode).filter(Boolean);\n }\n return processVNode(childVnodes);\n },\n };\n }\n // 如果 children 是数组,递归处理每个子节点\n else if (Array.isArray(vnode.children)) {\n newChildren = vnode.children.map(processVNode).filter(Boolean);\n }\n\n return cloneVNode(vnode, vnode.props, newChildren);\n }\n\n return vnode;\n };\n\n const render = computed(() => {\n const vnodeArray = Array.isArray(props.vnode) ? props.vnode : [props.vnode];\n return vnodeArray\n .map(vnode => {\n const processed = processVNode(vnode);\n return processed ? h(processed) : null;\n })\n .filter(Boolean);\n });\n\n return () => render.value;\n },\n});\n"],"names":["functional","props","vnode","type","Object","Array","required","propsList","default","defaultPropsList","setup","mergePropsList","computed","map","it","findProp","find","item","prop","processVNode","name","propsConfig","value","isShow","newProps","width","label","fixed","cloneVNode","children","newChildren","originalDefault","slotProps","childVnodes","isArray","filter","Boolean","render","vnodeArray","processed","h"],"mappings":"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"}
@@ -2,7 +2,7 @@ import _sfc_main from './TablePro.vue2.mjs';
2
2
  import './TablePro.vue3.mjs';
3
3
  import _export_sfc from '../../../../_virtual/_plugin-vue_export-helper.mjs';
4
4
 
5
- var TablePro = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-4bbcbf2d"]]);
5
+ var TablePro = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-050a4f74"]]);
6
6
 
7
7
  export { TablePro as default };
8
8
  //# sourceMappingURL=TablePro.vue.mjs.map
@@ -11,7 +11,7 @@ import { tableProEmits, tableProProps } from './tablePro.mjs';
11
11
  import { getVnodesByGmName } from './tableHelper.mjs';
12
12
  import { TableColumnProName, tableColumnProProps } from './tableColumnPro/tableColumnPro.mjs';
13
13
 
14
- const _withScopeId = (n) => (pushScopeId("data-v-4bbcbf2d"), n = n(), popScopeId(), n);
14
+ const _withScopeId = (n) => (pushScopeId("data-v-050a4f74"), n = n(), popScopeId(), n);
15
15
  const _hoisted_1 = { class: "gm-text-center" };
16
16
  const _hoisted_2 = {
17
17
  key: 0,
@@ -52,7 +52,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
52
52
  });
53
53
  const colDefaultPropsList = computed(() => {
54
54
  const vNodes = slots.default?.() || [];
55
- const children = getVnodesByGmName(vNodes, TableColumnProName);
55
+ const children = getVnodesByGmName(vNodes, TableColumnProName, true);
56
56
  const colProps = children.map((vNode) => vNode.props) ?? [];
57
57
  colProps.forEach((it) => {
58
58
  for (const key in tableColumnProProps) {
@@ -1 +1 @@
1
- {"version":3,"file":"TablePro.vue2.mjs","sources":["../../../../../../../packages/components/src/composite/tablePro/TablePro.vue"],"sourcesContent":["<template>\n <div ref=\"gmTableDivRef\">\n <gm-table\n v-if=\"gmTableHeaderRef?.isInited\"\n ref=\"GmTbaleRef\"\n v-bind=\"props\"\n :height=\"autoHeight ? tableMaxHeight : height\"\n border\n class=\"gmTablePro\"\n :class=\"[props.border ? '' : 'gmTableNoBorder']\"\n v-on=\"elEvents\"\n @selection-change=\"(value: TableColumnProProps[]) => $emit('selection-change', value)\"\n @sort-change=\"handleSortChange\"\n @header-dragend=\"headerDragend\"\n >\n <!-- <template #empty>\n <gm-empty image=\"https://thirdorder.giikin.com/third/20240601/3c5850781351121f81b9e21ec7e75a204898949.png\" />\n </template> -->\n <slot name=\"native\" />\n <template v-if=\"slots.append\" #append>\n <slot name=\"append\" />\n </template>\n <template v-if=\"slots.empty\" #empty>\n <slot name=\"empty\" />\n </template>\n <template v-if=\"props.selection\">\n <gm-table-column :key=\"999999\" type=\"selection\" width=\"55\" />\n </template>\n <TableColumnVNodeRenderer :vnode=\"tableColumnVnode\" :propsList=\"colPropsList\" :defaultPropsList=\"colDefaultPropsList\" />\n <!-- 操作 -->\n <gm-table-column\n v-if=\"customHeader || customOperate\"\n prop=\"gmEdit\"\n min-width=\"100\"\n :width=\"editProps?.width\"\n :fixed=\"operateFixed ? 'right' : false\"\n >\n <template #header>\n <div class=\"gm-text-center\">\n <gm-button v-if=\"customHeader\" type=\"primary\" link size=\"small\" @click=\"setTable('header')\"> 表头 </gm-button>\n <gm-button v-if=\"customOperate\" type=\"primary\" link size=\"small\" @click=\"setTable('operate')\"> 操作 </gm-button>\n </div>\n </template>\n <template #default=\"slotValue\">\n <!-- <div\n v-if=\"\n tableOperateVnode &&\n tableOperateVnode.children &&\n gmCustomOperationsRef &&\n gmCustomOperationsRef.isInited &&\n slotValue &&\n slotValue.row &&\n tableOperateVnode.children?.default(slotValue) &&\n customBtnPropsList\n \"\n >\n <TableProEditSlot\n v-model:customBtnPropsList=\"customBtnPropsList\"\n v-model:customDefaultPropsList=\"customDefaultPropsList\"\n :tableOperateVnode=\"tableOperateVnode\"\n :isInited=\"gmCustomOperationsRef?.isInited\"\n :slotValue=\"slotValue\"\n />\n </div> -->\n <div\n v-if=\"\n tableOperateVnode &&\n tableOperateVnode.children &&\n gmCustomOperationsRef &&\n gmCustomOperationsRef.isInited &&\n slotValue &&\n slotValue.row &&\n tableOperateVnode.children?.default(slotValue) &&\n customBtnPropsList\n \"\n class=\"gm-flex gm-flex-wrap gm-justify-center\"\n >\n <TableOperateVNodeRenderer :vnode=\"tableOperateVnode.children?.default(slotValue)\" :customPropsList=\"customBtnPropsList\" />\n </div>\n </template>\n </gm-table-column>\n </gm-table>\n </div>\n\n <gm-table-header-form\n ref=\"gmTableHeaderRef\"\n v-model:isShowDrawer=\"drawerHeaderVisible\"\n v-model:colPropsList=\"colPropsList\"\n :colDefaultPropsList=\"colDefaultPropsList\"\n :keyWord=\"props.page\"\n :disabledRemoteCol=\"props.disabledRemoteCol\"\n type=\"HeaderList\"\n @updateColumns=\"resetWidthOnHeaderDrag()\"\n />\n\n <gm-operate-button-form\n ref=\"gmCustomOperationsRef\"\n v-model:isShowDrawer=\"drawerOperateVisible\"\n v-model:customBtnPropsList=\"customBtnPropsList\"\n :customDefaultPropsList=\"customDefaultPropsList\"\n :keyWord=\"props.page\"\n :disabledRemoteBtn=\"props.disabledRemoteBtn\"\n type=\"OperateList\"\n />\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, inject, nextTick, ref } from 'vue';\nimport { hasOwn } from '@giime/utils/src/objects';\nimport { getGmExports } from '@giime/utils/src/elementPlus/exports';\nimport { getGmEvent } from '@giime/utils/src/elementPlus/event';\nimport { TableCtxKey } from '@giime/constants/table';\nimport { useElementBounding, useWindowSize } from '@vueuse/core';\nimport { operateButtonProps } from '../operateButton/operateButton';\n// import TableProEditSlot from './TableProEditSlot.vue';\n// import { cloneDeep } from 'lodash-es';\nimport TableOperateVNodeRenderer from './TableOperateVNodeRenderer';\nimport TableColumnVNodeRenderer from './TableColumnVNodeRenderer';\nimport { tableProEmits, tableProProps } from './tablePro';\nimport { getVnodesByGmName } from './tableHelper';\nimport { TableColumnProName, type TableColumnProProps, tableColumnProProps } from './tableColumnPro/tableColumnPro';\nimport type { TableProSortValue } from './tablePro';\nimport type { OperateButtonFormInstance } from '../operateButton/operateButtonForm';\nimport type { TableHeaderFormInstance } from './tableHeaderForm';\nimport type { OperateButtonProps } from '../operateButton/operateButton';\nimport type { Sort, TableInstance } from 'element-plus';\n\ndefineOptions({\n name: 'GmTablePro',\n});\nconst tableCtx = inject(TableCtxKey);\nconst props = defineProps(tableProProps);\n\nconst gmTableDivRef = ref<HTMLDivElement>();\n// 用于计算table高度\nconst { top: divTop } = useElementBounding(gmTableDivRef);\nconst { height: windowHeight } = useWindowSize();\nconst tableMaxHeight = computed(() => Math.floor(windowHeight.value - divTop.value - 60 - props.heightOffset)); // 高度 - 顶部距离 - 分页器116 - 用户自定义需要减去的高度\nconst GmTbaleRef = ref<TableInstance>();\nif (tableCtx && tableCtx.tableId === props.page) {\n tableCtx.tableRef = GmTbaleRef;\n}\nconst gmCustomOperationsRef = ref<OperateButtonFormInstance>();\nconst gmTableHeaderRef = ref<TableHeaderFormInstance>();\n\nconst emit = defineEmits(tableProEmits);\n// 需要手动重新实现的事件\nconst notResendEvents = ['sort-change', 'header-dragend', 'selection-change'];\nconst resendEvent = { ...tableProEmits };\nnotResendEvents.forEach(it => Reflect.deleteProperty(resendEvent, it));\n// 重发el的事件\nconst elEvents = getGmEvent(resendEvent, emit);\nconst slots = defineSlots<{\n default(data?: any): any[];\n append?(data?: any): any[];\n empty?(data?: any): any[];\n native?(data?: any): any[];\n}>();\n// 列 当前原始vnode\nconst tableColumnVnode = computed(() => {\n const vNodes = slots.default?.() || [];\n // const nodes = vNodes.filter(vNode => vNode.props && vNode.props.type !== 'edit');\n return vNodes;\n});\n// 默认表头Props列表\nconst colDefaultPropsList = computed(() => {\n const vNodes = slots.default?.() || [];\n const children = getVnodesByGmName(vNodes, TableColumnProName);\n // const result = children.filter(vNode => vNode.props && vNode.props.type !== 'edit');\n\n const colProps: TableColumnProProps[] = children.map((vNode: { props: any }) => vNode.props) ?? [];\n // 循环插入props所需的默认值\n colProps.forEach(it => {\n for (const key in tableColumnProProps) {\n // 如果当前props含有默认值\n if (hasOwn(it, key)) {\n continue;\n }\n if (hasOwn(tableColumnProProps, key)) {\n const element = tableColumnProProps[key as keyof TableColumnProProps];\n // 如果btn 定义中含有默认值 则赋值给props\n if (hasOwn(element, 'default')) {\n Reflect.set(it, key, Reflect.get(element, 'default'));\n }\n }\n }\n });\n return colProps;\n});\n// 已选中表头\nconst colPropsList = ref<TableColumnProProps[]>(colDefaultPropsList.value);\nconst editProps = computed(() => colPropsList.value.find(it => it.type === 'edit'));\n\n// 操作按钮组 当前原始vnode\nconst tableOperateVnode = computed(() => {\n const vNodes = slots.default?.() || [];\n const nodes = vNodes.find(vNode => vNode.props && vNode.props.type === 'edit');\n return nodes;\n});\n\nconst customDefaultPropsList = computed(() => {\n const defaultVnodes = tableOperateVnode.value?.children?.default?.({ row: {} });\n if (Array.isArray(defaultVnodes) && defaultVnodes.some(it => it?.children === 'v-if')) {\n console.error(`警告:为确保表格操作按钮能正常渲染,请把表格${props.page}操作按钮中使用的\"v-if\"替换为\"v-see\"`);\n }\n const children = getVnodesByGmName(defaultVnodes, 'GmOperateButton');\n const btnProps: OperateButtonProps[] = children.map((vNode: { props: any }) => vNode.props) ?? [];\n // console.log(btnProps);\n // 循环插入props所需的默认值\n btnProps.forEach(it => {\n for (const key in operateButtonProps) {\n // 如果当前props含有默认值\n if (hasOwn(it, key)) {\n continue;\n }\n if (hasOwn(operateButtonProps, key)) {\n const element = operateButtonProps[key as keyof OperateButtonProps];\n // 如果btn 定义中含有默认值 则赋值给props\n if (hasOwn(element, 'default')) {\n Reflect.set(it, key, Reflect.get(element, 'default'));\n }\n }\n }\n });\n // console.log(btnProps)\n return btnProps;\n});\n// customDefaultPropsList2();\n// const customDefaultPropsList = ref<OperateButtonProps[]>([]);\nconst customBtnPropsList = ref<OperateButtonProps[]>(customDefaultPropsList.value);\n\n// 表格头部弹层\nconst drawerHeaderVisible = ref(false); // 表头设置弹层\nconst drawerOperateVisible = ref(false); // 按钮设置弹层\nconst setTable = (event: string) => {\n if (event === 'header') {\n drawerHeaderVisible.value = true;\n }\n if (event === 'operate') {\n drawerOperateVisible.value = true;\n }\n};\n\n/**\n * 表头拖动,修改width\n */\nconst headerDragend = async (newWidth: number, oldWidth: number, column: any) => {\n const findItem = colPropsList.value.find(it => it.prop === column.property);\n const editItem = column.property === 'gmEdit' ? colPropsList.value.find(it => it.type === 'edit') : null;\n if (!findItem && !editItem) {\n return;\n }\n if (findItem) {\n findItem.width = newWidth;\n }\n if (editItem) {\n editItem.width = newWidth;\n }\n // 设置列宽\n await nextTick();\n resetWidthOnHeaderDrag(column);\n gmTableHeaderRef.value?.syncPropsList();\n gmTableHeaderRef.value?.submitSettings({ hiddenMessage: true });\n};\n/**\n * 当表头拖动后,重新计算补充列宽度\n * 当全部列都设置了宽度,把设置过minWidth的列设置为补充列,补充表格剩余宽度\n */\nconst resetWidthOnHeaderDrag = (column?: any) => {\n if (props.disabledResetWidth) {\n return;\n }\n // 当全部列都设置了宽度 才执行后续步骤\n if (colPropsList.value.some(it => it.isShow && !it.width)) {\n return;\n }\n const minWidthCols = colPropsList.value.filter(\n // 是在展示中的列,并且不是操作列,并且设置了最小宽度\n it => it.isShow === true && it.type !== 'edit' && it.prop !== 'edit' && ((it as any)['min-width'] || it.minWidth),\n );\n for (const item of minWidthCols) {\n // 只有一个minWidth时, 也需要设置width = ''\n if (column?.property === item.prop && minWidthCols.length !== 1) {\n continue;\n }\n item.width = '';\n }\n};\n/**\n * 搜索模块\n */\nconst sortValue = defineModel<TableProSortValue[]>('sortValue');\n\nconst handleSortChange = (sort: Sort) => {\n if (sortValue.value) {\n sortValue.value.length = 0;\n switch (sort.order) {\n case 'ascending':\n sortValue.value.push({ field: sort.prop, order: 'asc' });\n break;\n case 'descending':\n sortValue.value.push({ field: sort.prop, order: 'desc' });\n break;\n }\n }\n\n emit('sort-change', sort);\n};\nconst exposeEvents = [\n 'clearSelection',\n 'getSelectionRows',\n 'toggleRowSelection',\n 'toggleAllSelection',\n 'toggleRowExpansion',\n 'setCurrentRow',\n 'setChecked',\n 'clearSort',\n 'clearFilter',\n 'doLayout',\n 'sort',\n 'scrollTo',\n 'setScrollTop',\n 'setScrollLeft',\n] as const;\nconst { exposeFns } = getGmExports(GmTbaleRef, exposeEvents);\ndefineExpose({\n colPropsList,\n ...exposeFns,\n});\n</script>\n\n<style lang=\"scss\" scoped>\n:deep(.gmTableNoBorder .el-table__body .el-table__cell) {\n border-right: none;\n}\n:deep(.gmTableNoBorder .el-table__inner-wrapper:before) {\n height: 0;\n}\n:deep(.gmTableNoBorder.el-table--border .el-table__inner-wrapper:after) {\n height: 0;\n}\n:deep(.gmTableNoBorder.el-table--border:after) {\n height: 0;\n}\n:deep(.gmTableNoBorder.el-table--border:before) {\n height: 0;\n}\n:deep(.gmTableNoBorder .el-table__border-left-patch) {\n height: 0;\n}\n</style>\n"],"names":["_useSlots","_useModel"],"mappings":"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"}
1
+ {"version":3,"file":"TablePro.vue2.mjs","sources":["../../../../../../../packages/components/src/composite/tablePro/TablePro.vue"],"sourcesContent":["<template>\n <div ref=\"gmTableDivRef\">\n <gm-table\n v-if=\"gmTableHeaderRef?.isInited\"\n ref=\"GmTbaleRef\"\n v-bind=\"props\"\n :height=\"autoHeight ? tableMaxHeight : height\"\n border\n class=\"gmTablePro\"\n :class=\"[props.border ? '' : 'gmTableNoBorder']\"\n v-on=\"elEvents\"\n @selection-change=\"(value: TableColumnProProps[]) => $emit('selection-change', value)\"\n @sort-change=\"handleSortChange\"\n @header-dragend=\"headerDragend\"\n >\n <!-- <template #empty>\n <gm-empty image=\"https://thirdorder.giikin.com/third/20240601/3c5850781351121f81b9e21ec7e75a204898949.png\" />\n </template> -->\n <slot name=\"native\" />\n <template v-if=\"slots.append\" #append>\n <slot name=\"append\" />\n </template>\n <template v-if=\"slots.empty\" #empty>\n <slot name=\"empty\" />\n </template>\n <template v-if=\"props.selection\">\n <gm-table-column :key=\"999999\" type=\"selection\" width=\"55\" />\n </template>\n <TableColumnVNodeRenderer :vnode=\"tableColumnVnode\" :propsList=\"colPropsList\" :defaultPropsList=\"colDefaultPropsList\" />\n <!-- 操作 -->\n <gm-table-column\n v-if=\"customHeader || customOperate\"\n prop=\"gmEdit\"\n min-width=\"100\"\n :width=\"editProps?.width\"\n :fixed=\"operateFixed ? 'right' : false\"\n >\n <template #header>\n <div class=\"gm-text-center\">\n <gm-button v-if=\"customHeader\" type=\"primary\" link size=\"small\" @click=\"setTable('header')\"> 表头 </gm-button>\n <gm-button v-if=\"customOperate\" type=\"primary\" link size=\"small\" @click=\"setTable('operate')\"> 操作 </gm-button>\n </div>\n </template>\n <template #default=\"slotValue\">\n <!-- <div\n v-if=\"\n tableOperateVnode &&\n tableOperateVnode.children &&\n gmCustomOperationsRef &&\n gmCustomOperationsRef.isInited &&\n slotValue &&\n slotValue.row &&\n tableOperateVnode.children?.default(slotValue) &&\n customBtnPropsList\n \"\n >\n <TableProEditSlot\n v-model:customBtnPropsList=\"customBtnPropsList\"\n v-model:customDefaultPropsList=\"customDefaultPropsList\"\n :tableOperateVnode=\"tableOperateVnode\"\n :isInited=\"gmCustomOperationsRef?.isInited\"\n :slotValue=\"slotValue\"\n />\n </div> -->\n <div\n v-if=\"\n tableOperateVnode &&\n tableOperateVnode.children &&\n gmCustomOperationsRef &&\n gmCustomOperationsRef.isInited &&\n slotValue &&\n slotValue.row &&\n tableOperateVnode.children?.default(slotValue) &&\n customBtnPropsList\n \"\n class=\"gm-flex gm-flex-wrap gm-justify-center\"\n >\n <TableOperateVNodeRenderer :vnode=\"tableOperateVnode.children?.default(slotValue)\" :customPropsList=\"customBtnPropsList\" />\n </div>\n </template>\n </gm-table-column>\n </gm-table>\n </div>\n\n <gm-table-header-form\n ref=\"gmTableHeaderRef\"\n v-model:isShowDrawer=\"drawerHeaderVisible\"\n v-model:colPropsList=\"colPropsList\"\n :colDefaultPropsList=\"colDefaultPropsList\"\n :keyWord=\"props.page\"\n :disabledRemoteCol=\"props.disabledRemoteCol\"\n type=\"HeaderList\"\n @updateColumns=\"resetWidthOnHeaderDrag()\"\n />\n\n <gm-operate-button-form\n ref=\"gmCustomOperationsRef\"\n v-model:isShowDrawer=\"drawerOperateVisible\"\n v-model:customBtnPropsList=\"customBtnPropsList\"\n :customDefaultPropsList=\"customDefaultPropsList\"\n :keyWord=\"props.page\"\n :disabledRemoteBtn=\"props.disabledRemoteBtn\"\n type=\"OperateList\"\n />\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, inject, nextTick, ref } from 'vue';\nimport { hasOwn } from '@giime/utils/src/objects';\nimport { getGmExports } from '@giime/utils/src/elementPlus/exports';\nimport { getGmEvent } from '@giime/utils/src/elementPlus/event';\nimport { TableCtxKey } from '@giime/constants/table';\nimport { useElementBounding, useWindowSize } from '@vueuse/core';\nimport { operateButtonProps } from '../operateButton/operateButton';\n// import TableProEditSlot from './TableProEditSlot.vue';\n// import { cloneDeep } from 'lodash-es';\nimport TableOperateVNodeRenderer from './TableOperateVNodeRenderer';\nimport TableColumnVNodeRenderer from './TableColumnVNodeRenderer';\nimport { tableProEmits, tableProProps } from './tablePro';\nimport { getVnodesByGmName } from './tableHelper';\nimport { TableColumnProName, type TableColumnProProps, tableColumnProProps } from './tableColumnPro/tableColumnPro';\nimport type { TableProSortValue } from './tablePro';\nimport type { OperateButtonFormInstance } from '../operateButton/operateButtonForm';\nimport type { TableHeaderFormInstance } from './tableHeaderForm';\nimport type { OperateButtonProps } from '../operateButton/operateButton';\nimport type { Sort, TableInstance } from 'element-plus';\n\ndefineOptions({\n name: 'GmTablePro',\n});\nconst tableCtx = inject(TableCtxKey);\nconst props = defineProps(tableProProps);\n\nconst gmTableDivRef = ref<HTMLDivElement>();\n// 用于计算table高度\nconst { top: divTop } = useElementBounding(gmTableDivRef);\nconst { height: windowHeight } = useWindowSize();\nconst tableMaxHeight = computed(() => Math.floor(windowHeight.value - divTop.value - 60 - props.heightOffset)); // 高度 - 顶部距离 - 分页器116 - 用户自定义需要减去的高度\nconst GmTbaleRef = ref<TableInstance>();\nif (tableCtx && tableCtx.tableId === props.page) {\n tableCtx.tableRef = GmTbaleRef;\n}\nconst gmCustomOperationsRef = ref<OperateButtonFormInstance>();\nconst gmTableHeaderRef = ref<TableHeaderFormInstance>();\n\nconst emit = defineEmits(tableProEmits);\n// 需要手动重新实现的事件\nconst notResendEvents = ['sort-change', 'header-dragend', 'selection-change'];\nconst resendEvent = { ...tableProEmits };\nnotResendEvents.forEach(it => Reflect.deleteProperty(resendEvent, it));\n// 重发el的事件\nconst elEvents = getGmEvent(resendEvent, emit);\nconst slots = defineSlots<{\n default(data?: any): any[];\n append?(data?: any): any[];\n empty?(data?: any): any[];\n native?(data?: any): any[];\n}>();\n// 列 当前原始vnode\nconst tableColumnVnode = computed(() => {\n const vNodes = slots.default?.() || [];\n // const nodes = vNodes.filter(vNode => vNode.props && vNode.props.type !== 'edit');\n return vNodes;\n});\n// 默认表头Props列表(递归提取所有 GmTableColumnPro,包括嵌套的)\nconst colDefaultPropsList = computed(() => {\n const vNodes = slots.default?.() || [];\n const children = getVnodesByGmName(vNodes, TableColumnProName, true); // 启用递归提取\n // const result = children.filter(vNode => vNode.props && vNode.props.type !== 'edit');\n\n const colProps: TableColumnProProps[] = children.map((vNode: { props: any }) => vNode.props) ?? [];\n // 循环插入props所需的默认值\n colProps.forEach(it => {\n for (const key in tableColumnProProps) {\n // 如果当前props含有默认值\n if (hasOwn(it, key)) {\n continue;\n }\n if (hasOwn(tableColumnProProps, key)) {\n const element = tableColumnProProps[key as keyof TableColumnProProps];\n // 如果btn 定义中含有默认值 则赋值给props\n if (hasOwn(element, 'default')) {\n Reflect.set(it, key, Reflect.get(element, 'default'));\n }\n }\n }\n });\n return colProps;\n});\n// 已选中表头\nconst colPropsList = ref<TableColumnProProps[]>(colDefaultPropsList.value);\nconst editProps = computed(() => colPropsList.value.find(it => it.type === 'edit'));\n\n// 操作按钮组 当前原始vnode\nconst tableOperateVnode = computed(() => {\n const vNodes = slots.default?.() || [];\n const nodes = vNodes.find(vNode => vNode.props && vNode.props.type === 'edit');\n return nodes;\n});\n\nconst customDefaultPropsList = computed(() => {\n const defaultVnodes = tableOperateVnode.value?.children?.default?.({ row: {} });\n if (Array.isArray(defaultVnodes) && defaultVnodes.some(it => it?.children === 'v-if')) {\n console.error(`警告:为确保表格操作按钮能正常渲染,请把表格${props.page}操作按钮中使用的\"v-if\"替换为\"v-see\"`);\n }\n const children = getVnodesByGmName(defaultVnodes, 'GmOperateButton');\n const btnProps: OperateButtonProps[] = children.map((vNode: { props: any }) => vNode.props) ?? [];\n // console.log(btnProps);\n // 循环插入props所需的默认值\n btnProps.forEach(it => {\n for (const key in operateButtonProps) {\n // 如果当前props含有默认值\n if (hasOwn(it, key)) {\n continue;\n }\n if (hasOwn(operateButtonProps, key)) {\n const element = operateButtonProps[key as keyof OperateButtonProps];\n // 如果btn 定义中含有默认值 则赋值给props\n if (hasOwn(element, 'default')) {\n Reflect.set(it, key, Reflect.get(element, 'default'));\n }\n }\n }\n });\n // console.log(btnProps)\n return btnProps;\n});\n// customDefaultPropsList2();\n// const customDefaultPropsList = ref<OperateButtonProps[]>([]);\nconst customBtnPropsList = ref<OperateButtonProps[]>(customDefaultPropsList.value);\n\n// 表格头部弹层\nconst drawerHeaderVisible = ref(false); // 表头设置弹层\nconst drawerOperateVisible = ref(false); // 按钮设置弹层\nconst setTable = (event: string) => {\n if (event === 'header') {\n drawerHeaderVisible.value = true;\n }\n if (event === 'operate') {\n drawerOperateVisible.value = true;\n }\n};\n\n/**\n * 表头拖动,修改width\n */\nconst headerDragend = async (newWidth: number, oldWidth: number, column: any) => {\n const findItem = colPropsList.value.find(it => it.prop === column.property);\n const editItem = column.property === 'gmEdit' ? colPropsList.value.find(it => it.type === 'edit') : null;\n if (!findItem && !editItem) {\n return;\n }\n if (findItem) {\n findItem.width = newWidth;\n }\n if (editItem) {\n editItem.width = newWidth;\n }\n // 设置列宽\n await nextTick();\n resetWidthOnHeaderDrag(column);\n gmTableHeaderRef.value?.syncPropsList();\n gmTableHeaderRef.value?.submitSettings({ hiddenMessage: true });\n};\n/**\n * 当表头拖动后,重新计算补充列宽度\n * 当全部列都设置了宽度,把设置过minWidth的列设置为补充列,补充表格剩余宽度\n */\nconst resetWidthOnHeaderDrag = (column?: any) => {\n if (props.disabledResetWidth) {\n return;\n }\n // 当全部列都设置了宽度 才执行后续步骤\n if (colPropsList.value.some(it => it.isShow && !it.width)) {\n return;\n }\n const minWidthCols = colPropsList.value.filter(\n // 是在展示中的列,并且不是操作列,并且设置了最小宽度\n it => it.isShow === true && it.type !== 'edit' && it.prop !== 'edit' && ((it as any)['min-width'] || it.minWidth),\n );\n for (const item of minWidthCols) {\n // 只有一个minWidth时, 也需要设置width = ''\n if (column?.property === item.prop && minWidthCols.length !== 1) {\n continue;\n }\n item.width = '';\n }\n};\n/**\n * 搜索模块\n */\nconst sortValue = defineModel<TableProSortValue[]>('sortValue');\n\nconst handleSortChange = (sort: Sort) => {\n if (sortValue.value) {\n sortValue.value.length = 0;\n switch (sort.order) {\n case 'ascending':\n sortValue.value.push({ field: sort.prop, order: 'asc' });\n break;\n case 'descending':\n sortValue.value.push({ field: sort.prop, order: 'desc' });\n break;\n }\n }\n\n emit('sort-change', sort);\n};\nconst exposeEvents = [\n 'clearSelection',\n 'getSelectionRows',\n 'toggleRowSelection',\n 'toggleAllSelection',\n 'toggleRowExpansion',\n 'setCurrentRow',\n 'setChecked',\n 'clearSort',\n 'clearFilter',\n 'doLayout',\n 'sort',\n 'scrollTo',\n 'setScrollTop',\n 'setScrollLeft',\n] as const;\nconst { exposeFns } = getGmExports(GmTbaleRef, exposeEvents);\ndefineExpose({\n colPropsList,\n ...exposeFns,\n});\n</script>\n\n<style lang=\"scss\" scoped>\n:deep(.gmTableNoBorder .el-table__body .el-table__cell) {\n border-right: none;\n}\n:deep(.gmTableNoBorder .el-table__inner-wrapper:before) {\n height: 0;\n}\n:deep(.gmTableNoBorder.el-table--border .el-table__inner-wrapper:after) {\n height: 0;\n}\n:deep(.gmTableNoBorder.el-table--border:after) {\n height: 0;\n}\n:deep(.gmTableNoBorder.el-table--border:before) {\n height: 0;\n}\n:deep(.gmTableNoBorder .el-table__border-left-patch) {\n height: 0;\n}\n</style>\n"],"names":["_useSlots","_useModel"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { defineComponent, useSlots, computed, resolveComponent, createBlock, openBlock, mergeProps, createSlots, withCtx, unref, renderSlot, createCommentVNode, normalizeProps, guardReactiveProps } from 'vue';
1
+ import { defineComponent, useSlots, computed, resolveComponent, createBlock, openBlock, mergeProps, createSlots, withCtx, unref, renderSlot, normalizeProps, guardReactiveProps } from 'vue';
2
2
  import { tableColumnProProps, TableColumnProName } from './tableColumnPro.mjs';
3
3
 
4
4
  var _sfc_main = /* @__PURE__ */ defineComponent({
@@ -19,15 +19,15 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
19
19
  }, [
20
20
  unref(slots).default ? {
21
21
  name: "default",
22
- fn: withCtx((slotValue) => [
23
- slotValue.$index !== -1 ? renderSlot(_ctx.$slots, "default", normalizeProps(mergeProps({ key: 0 }, slotValue))) : createCommentVNode("v-if", true)
22
+ fn: withCtx((scope) => [
23
+ renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps(scope)))
24
24
  ]),
25
25
  key: "0"
26
26
  } : void 0,
27
27
  unref(slots).header ? {
28
28
  name: "header",
29
- fn: withCtx((slotValue) => [
30
- renderSlot(_ctx.$slots, "header", normalizeProps(guardReactiveProps(slotValue)))
29
+ fn: withCtx((scope) => [
30
+ renderSlot(_ctx.$slots, "header", normalizeProps(guardReactiveProps(scope)))
31
31
  ]),
32
32
  key: "1"
33
33
  } : void 0
@@ -1 +1 @@
1
- {"version":3,"file":"TableColumnPro.vue2.mjs","sources":["../../../../../../../../packages/components/src/composite/tablePro/tableColumnPro/TableColumnPro.vue"],"sourcesContent":["<template>\n <gm-table-column v-bind=\"props\" :sortable=\"proSortable\">\n <template v-if=\"slots.default\" #default=\"slotValue\">\n <template v-if=\"slotValue.$index !== -1\">\n <slot v-bind=\"slotValue\" />\n </template>\n </template>\n <template v-if=\"slots.header\" #header=\"slotValue\">\n <slot name=\"header\" v-bind=\"slotValue\" />\n </template>\n </gm-table-column>\n</template>\n<script lang=\"ts\" setup>\nimport { computed, useSlots } from 'vue';\nimport { TableColumnProName, tableColumnProProps } from './tableColumnPro';\n\ndefineOptions({\n name: TableColumnProName,\n});\nconst slots = useSlots();\nconst props = defineProps(tableColumnProProps);\nconst proSortable = computed(() => (props.isSort ? 'custom' : props.sortable));\n</script>\n"],"names":[],"mappings":";;;;;;;;;;AAmBA,IAAA,MAAM,QAAQ,QAAA,EAAS;AACvB,IAAA,MAAM,KAAA,GAAQ,OAAA;AACd,IAAA,MAAM,cAAc,QAAA,CAAS,MAAO,MAAM,MAAA,GAAS,QAAA,GAAW,MAAM,QAAS,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"TableColumnPro.vue2.mjs","sources":["../../../../../../../../packages/components/src/composite/tablePro/tableColumnPro/TableColumnPro.vue"],"sourcesContent":["<template>\n <gm-table-column v-bind=\"props\" :sortable=\"proSortable\">\n <!-- 完全透传,与 gm-table-column 保持一致 -->\n <template v-if=\"slots.default\" #default=\"scope\">\n <slot v-bind=\"scope\" />\n </template>\n\n <template v-if=\"slots.header\" #header=\"scope\">\n <slot name=\"header\" v-bind=\"scope\" />\n </template>\n </gm-table-column>\n</template>\n<script lang=\"ts\" setup>\nimport { computed, useSlots } from 'vue';\nimport { TableColumnProName, tableColumnProProps } from './tableColumnPro';\n\ndefineOptions({\n name: TableColumnProName,\n});\nconst slots = useSlots();\nconst props = defineProps(tableColumnProProps);\nconst proSortable = computed(() => (props.isSort ? 'custom' : props.sortable));\n</script>\n"],"names":[],"mappings":";;;;;;;;;;AAmBA,IAAA,MAAM,QAAQ,QAAA,EAAS;AACvB,IAAA,MAAM,KAAA,GAAQ,OAAA;AACd,IAAA,MAAM,cAAc,QAAA,CAAS,MAAO,MAAM,MAAA,GAAS,QAAA,GAAW,MAAM,QAAS,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1 +1,8 @@
1
- export declare const getVnodesByGmName: (defaultVnodes: any[], name: string) => any[];
1
+ /**
2
+ * 从 vnode 数组中提取指定名称的组件
3
+ * @param defaultVnodes vnode 数组
4
+ * @param name 目标组件名称
5
+ * @param recursive 是否递归提取嵌套组件(用于支持多级表头)
6
+ * @returns 提取的 vnode 数组
7
+ */
8
+ export declare const getVnodesByGmName: (defaultVnodes: any[], name: string, recursive?: boolean) => any[];
@@ -1,7 +1,7 @@
1
1
  import { Fragment } from 'vue';
2
2
  import { isString } from '../../../../utils/src/is.mjs';
3
3
 
4
- const getVnodesByGmName = (defaultVnodes, name) => {
4
+ const getVnodesByGmName = (defaultVnodes, name, recursive = false) => {
5
5
  const children = [];
6
6
  if (Array.isArray(defaultVnodes)) {
7
7
  for (const childNode of defaultVnodes) {
@@ -13,6 +13,15 @@ const getVnodesByGmName = (defaultVnodes, name) => {
13
13
  children.push(vnode);
14
14
  }
15
15
  });
16
+ } else if (recursive && childNode.children) {
17
+ if (typeof childNode.children === "object" && childNode.children.default) {
18
+ const nestedVnodes = childNode.children.default();
19
+ const nestedChildren = getVnodesByGmName(Array.isArray(nestedVnodes) ? nestedVnodes : [nestedVnodes], name, true);
20
+ children.push(...nestedChildren);
21
+ } else if (Array.isArray(childNode.children)) {
22
+ const nestedChildren = getVnodesByGmName(childNode.children, name, true);
23
+ children.push(...nestedChildren);
24
+ }
16
25
  }
17
26
  }
18
27
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tableHelper.mjs","sources":["../../../../../../../packages/components/src/composite/tablePro/tableHelper.ts"],"sourcesContent":["import { Fragment } from 'vue';\nimport { isString } from '@giime/utils/src/is';\nexport const getVnodesByGmName = (defaultVnodes: any[], name: string) => {\n const children = [];\n if (Array.isArray(defaultVnodes)) {\n for (const childNode of defaultVnodes) {\n if (childNode.type?.name === name || childNode.shapeFlag & 2) {\n children.push(childNode);\n } else if (childNode.type === Fragment && Array.isArray(childNode.children)) {\n childNode.children.forEach((vnode: any) => {\n // No rendering when vnode is dynamic slot or text\n if (vnode?.patchFlag !== 1024 && !isString(vnode?.children)) {\n children.push(vnode);\n }\n });\n }\n }\n }\n return children;\n};\n"],"names":[],"mappings":";;;AAEO,MAAM,iBAAA,GAAoB,CAAC,aAAA,EAAsB,IAAA,KAAiB;AACvE,EAAA,MAAM,WAAW,EAAC;AAClB,EAAA,IAAI,KAAA,CAAM,OAAA,CAAQ,aAAa,CAAA,EAAG;AAChC,IAAA,KAAA,MAAW,aAAa,aAAA,EAAe;AACrC,MAAA,IAAI,UAAU,IAAA,EAAM,IAAA,KAAS,IAAA,IAAQ,SAAA,CAAU,YAAY,CAAA,EAAG;AAC5D,QAAA,QAAA,CAAS,KAAK,SAAS,CAAA;AAAA,MACzB,CAAA,MAAA,IAAW,UAAU,IAAA,KAAS,QAAA,IAAY,MAAM,OAAA,CAAQ,SAAA,CAAU,QAAQ,CAAA,EAAG;AAC3E,QAAA,SAAA,CAAU,QAAA,CAAS,OAAA,CAAQ,CAAC,KAAA,KAAe;AAEzC,UAAA,IAAI,OAAO,SAAA,KAAc,IAAA,IAAQ,CAAC,QAAA,CAAS,KAAA,EAAO,QAAQ,CAAA,EAAG;AAC3D,YAAA,QAAA,CAAS,KAAK,KAAK,CAAA;AAAA,UACrB;AAAA,QACF,CAAC,CAAA;AAAA,MACH;AAAA,IACF;AAAA,EACF;AACA,EAAA,OAAO,QAAA;AACT;;;;"}
1
+ {"version":3,"file":"tableHelper.mjs","sources":["../../../../../../../packages/components/src/composite/tablePro/tableHelper.ts"],"sourcesContent":["import { Fragment } from 'vue';\nimport { isString } from '@giime/utils/src/is';\n\n/**\n * 从 vnode 数组中提取指定名称的组件\n * @param defaultVnodes vnode 数组\n * @param name 目标组件名称\n * @param recursive 是否递归提取嵌套组件(用于支持多级表头)\n * @returns 提取的 vnode 数组\n */\nexport const getVnodesByGmName = (defaultVnodes: any[], name: string, recursive = false): any[] => {\n const children: any[] = [];\n if (Array.isArray(defaultVnodes)) {\n for (const childNode of defaultVnodes) {\n // 匹配目标组件\n if (childNode.type?.name === name || childNode.shapeFlag & 2) {\n children.push(childNode);\n }\n // 处理 Fragment\n else if (childNode.type === Fragment && Array.isArray(childNode.children)) {\n childNode.children.forEach((vnode: any) => {\n // No rendering when vnode is dynamic slot or text\n if (vnode?.patchFlag !== 1024 && !isString(vnode?.children)) {\n children.push(vnode);\n }\n });\n }\n // 递归提取嵌套在其他组件中的目标组件(用于多级表头)\n else if (recursive && childNode.children) {\n // 如果有 default slot,递归提取\n if (typeof childNode.children === 'object' && childNode.children.default) {\n const nestedVnodes = childNode.children.default();\n const nestedChildren: any[] = getVnodesByGmName(Array.isArray(nestedVnodes) ? nestedVnodes : [nestedVnodes], name, true);\n children.push(...nestedChildren);\n }\n // 如果 children 是数组,递归提取\n else if (Array.isArray(childNode.children)) {\n const nestedChildren: any[] = getVnodesByGmName(childNode.children, name, true);\n children.push(...nestedChildren);\n }\n }\n }\n }\n return children;\n};\n"],"names":[],"mappings":";;;AAUO,MAAM,iBAAA,GAAoB,CAAC,aAAA,EAAsB,IAAA,EAAc,YAAY,KAAA,KAAiB;AACjG,EAAA,MAAM,WAAkB,EAAC;AACzB,EAAA,IAAI,KAAA,CAAM,OAAA,CAAQ,aAAa,CAAA,EAAG;AAChC,IAAA,KAAA,MAAW,aAAa,aAAA,EAAe;AAErC,MAAA,IAAI,UAAU,IAAA,EAAM,IAAA,KAAS,IAAA,IAAQ,SAAA,CAAU,YAAY,CAAA,EAAG;AAC5D,QAAA,QAAA,CAAS,KAAK,SAAS,CAAA;AAAA,MACzB,CAAA,MAAA,IAES,UAAU,IAAA,KAAS,QAAA,IAAY,MAAM,OAAA,CAAQ,SAAA,CAAU,QAAQ,CAAA,EAAG;AACzE,QAAA,SAAA,CAAU,QAAA,CAAS,OAAA,CAAQ,CAAC,KAAA,KAAe;AAEzC,UAAA,IAAI,OAAO,SAAA,KAAc,IAAA,IAAQ,CAAC,QAAA,CAAS,KAAA,EAAO,QAAQ,CAAA,EAAG;AAC3D,YAAA,QAAA,CAAS,KAAK,KAAK,CAAA;AAAA,UACrB;AAAA,QACF,CAAC,CAAA;AAAA,MACH,CAAA,MAAA,IAES,SAAA,IAAa,SAAA,CAAU,QAAA,EAAU;AAExC,QAAA,IAAI,OAAO,SAAA,CAAU,QAAA,KAAa,QAAA,IAAY,SAAA,CAAU,SAAS,OAAA,EAAS;AACxE,UAAA,MAAM,YAAA,GAAe,SAAA,CAAU,QAAA,CAAS,OAAA,EAAQ;AAChD,UAAA,MAAM,cAAA,GAAwB,iBAAA,CAAkB,KAAA,CAAM,OAAA,CAAQ,YAAY,CAAA,GAAI,YAAA,GAAe,CAAC,YAAY,CAAA,EAAG,IAAA,EAAM,IAAI,CAAA;AACvH,UAAA,QAAA,CAAS,IAAA,CAAK,GAAG,cAAc,CAAA;AAAA,QACjC,CAAA,MAAA,IAES,KAAA,CAAM,OAAA,CAAQ,SAAA,CAAU,QAAQ,CAAA,EAAG;AAC1C,UAAA,MAAM,cAAA,GAAwB,iBAAA,CAAkB,SAAA,CAAU,QAAA,EAAU,MAAM,IAAI,CAAA;AAC9E,UAAA,QAAA,CAAS,IAAA,CAAK,GAAG,cAAc,CAAA;AAAA,QACjC;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACA,EAAA,OAAO,QAAA;AACT;;;;"}