giime 0.3.6 → 0.3.8

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 (102) hide show
  1. package/dist/index.css +31 -30
  2. package/es/components/index.mjs +2 -2
  3. package/es/components/src/base/cascader/Cascader.vue.d.ts +2 -2
  4. package/es/components/src/base/cascader/Cascader.vue2.mjs +2 -3
  5. package/es/components/src/base/cascader/Cascader.vue2.mjs.map +1 -1
  6. package/es/components/src/base/cascader/cascader.d.ts +1 -0
  7. package/es/components/src/base/cascader/cascader.mjs +2 -1
  8. package/es/components/src/base/cascader/cascader.mjs.map +1 -1
  9. package/es/components/src/base/cascader/index.d.ts +6 -6
  10. package/es/components/src/base/cascader/index.mjs +1 -1
  11. package/es/components/src/base/formItem/FormItem.vue2.mjs +2 -3
  12. package/es/components/src/base/formItem/FormItem.vue2.mjs.map +1 -1
  13. package/es/components/src/base/formItem/formItem.d.ts +1 -0
  14. package/es/components/src/base/formItem/formItem.mjs +2 -1
  15. package/es/components/src/base/formItem/formItem.mjs.map +1 -1
  16. package/es/components/src/base/formItem/index.mjs +1 -1
  17. package/es/components/src/base/index.mjs +2 -2
  18. package/es/components/src/composite/searchForm/searchFormItems/cascader/SearchFormCascader.vue.d.ts +404 -1
  19. package/es/components/src/composite/searchForm/searchFormItems/cascader/SearchFormCascader.vue2.mjs +27 -3
  20. package/es/components/src/composite/searchForm/searchFormItems/cascader/SearchFormCascader.vue2.mjs.map +1 -1
  21. package/es/components/src/composite/searchForm/searchFormItems/cascader/index.d.ts +404 -1
  22. package/es/components/src/composite/tablePro/TablePro.vue.d.ts +9 -0
  23. package/es/components/src/composite/tablePro/TablePro.vue.mjs +1 -1
  24. package/es/components/src/composite/tablePro/TablePro.vue2.mjs +2 -2
  25. package/es/components/src/composite/tablePro/TablePro.vue2.mjs.map +1 -1
  26. package/es/components/src/composite/tablePro/index.d.ts +19 -0
  27. package/es/components/src/composite/tablePro/tablePro.d.ts +4 -0
  28. package/es/components/src/composite/tablePro/tablePro.mjs +5 -0
  29. package/es/components/src/composite/tablePro/tablePro.mjs.map +1 -1
  30. package/es/giime/index.mjs +4 -3
  31. package/es/giime/index.mjs.map +1 -1
  32. package/es/giime/version.d.ts +1 -1
  33. package/es/giime/version.mjs +1 -1
  34. package/es/giime/version.mjs.map +1 -1
  35. package/es/hooks/base/index.d.ts +1 -0
  36. package/es/hooks/base/index.mjs +1 -0
  37. package/es/hooks/base/index.mjs.map +1 -1
  38. package/es/hooks/base/useLoading/index.d.ts +8 -0
  39. package/es/hooks/base/useLoading/index.mjs +21 -0
  40. package/es/hooks/base/useLoading/index.mjs.map +1 -0
  41. package/es/hooks/index.mjs +1 -0
  42. package/es/hooks/index.mjs.map +1 -1
  43. package/es/index.css +31 -30
  44. package/es/utils/index.mjs +1 -1
  45. package/es/utils/src/elementPlus/exports.d.ts +3 -0
  46. package/es/utils/src/elementPlus/exports.mjs +9 -1
  47. package/es/utils/src/elementPlus/exports.mjs.map +1 -1
  48. package/es/utils/src/elementPlus/index.mjs +1 -1
  49. package/lib/components/index.js +2 -0
  50. package/lib/components/index.js.map +1 -1
  51. package/lib/components/src/base/cascader/Cascader.vue.d.ts +2 -2
  52. package/lib/components/src/base/cascader/Cascader.vue2.js +1 -2
  53. package/lib/components/src/base/cascader/Cascader.vue2.js.map +1 -1
  54. package/lib/components/src/base/cascader/cascader.d.ts +1 -0
  55. package/lib/components/src/base/cascader/cascader.js +2 -0
  56. package/lib/components/src/base/cascader/cascader.js.map +1 -1
  57. package/lib/components/src/base/cascader/index.d.ts +6 -6
  58. package/lib/components/src/base/cascader/index.js +1 -0
  59. package/lib/components/src/base/cascader/index.js.map +1 -1
  60. package/lib/components/src/base/formItem/FormItem.vue2.js +1 -2
  61. package/lib/components/src/base/formItem/FormItem.vue2.js.map +1 -1
  62. package/lib/components/src/base/formItem/formItem.d.ts +1 -0
  63. package/lib/components/src/base/formItem/formItem.js +2 -0
  64. package/lib/components/src/base/formItem/formItem.js.map +1 -1
  65. package/lib/components/src/base/formItem/index.js +1 -0
  66. package/lib/components/src/base/formItem/index.js.map +1 -1
  67. package/lib/components/src/base/index.js +2 -0
  68. package/lib/components/src/base/index.js.map +1 -1
  69. package/lib/components/src/composite/searchForm/searchFormItems/cascader/SearchFormCascader.vue.d.ts +404 -1
  70. package/lib/components/src/composite/searchForm/searchFormItems/cascader/SearchFormCascader.vue2.js +26 -2
  71. package/lib/components/src/composite/searchForm/searchFormItems/cascader/SearchFormCascader.vue2.js.map +1 -1
  72. package/lib/components/src/composite/searchForm/searchFormItems/cascader/index.d.ts +404 -1
  73. package/lib/components/src/composite/tablePro/TablePro.vue.d.ts +9 -0
  74. package/lib/components/src/composite/tablePro/TablePro.vue.js +1 -1
  75. package/lib/components/src/composite/tablePro/TablePro.vue2.js +2 -2
  76. package/lib/components/src/composite/tablePro/TablePro.vue2.js.map +1 -1
  77. package/lib/components/src/composite/tablePro/index.d.ts +19 -0
  78. package/lib/components/src/composite/tablePro/tablePro.d.ts +4 -0
  79. package/lib/components/src/composite/tablePro/tablePro.js +5 -0
  80. package/lib/components/src/composite/tablePro/tablePro.js.map +1 -1
  81. package/lib/giime/index.js +39 -34
  82. package/lib/giime/index.js.map +1 -1
  83. package/lib/giime/version.d.ts +1 -1
  84. package/lib/giime/version.js +1 -1
  85. package/lib/giime/version.js.map +1 -1
  86. package/lib/hooks/base/index.d.ts +1 -0
  87. package/lib/hooks/base/index.js +2 -0
  88. package/lib/hooks/base/index.js.map +1 -1
  89. package/lib/hooks/base/useLoading/index.d.ts +8 -0
  90. package/lib/hooks/base/useLoading/index.js +23 -0
  91. package/lib/hooks/base/useLoading/index.js.map +1 -0
  92. package/lib/hooks/index.js +36 -34
  93. package/lib/hooks/index.js.map +1 -1
  94. package/lib/index.css +31 -30
  95. package/lib/utils/index.js +1 -0
  96. package/lib/utils/index.js.map +1 -1
  97. package/lib/utils/src/elementPlus/exports.d.ts +3 -0
  98. package/lib/utils/src/elementPlus/exports.js +9 -0
  99. package/lib/utils/src/elementPlus/exports.js.map +1 -1
  100. package/lib/utils/src/elementPlus/index.js +1 -0
  101. package/lib/utils/src/elementPlus/index.js.map +1 -1
  102. package/package.json +1 -1
@@ -38,6 +38,10 @@ export declare const tableProProps: {
38
38
  type: BooleanConstructor;
39
39
  default: boolean;
40
40
  };
41
+ heightOffset: {
42
+ type: NumberConstructor;
43
+ default: number;
44
+ };
41
45
  tableId: {
42
46
  type: StringConstructor;
43
47
  };
@@ -38,6 +38,11 @@ const tableProProps = {
38
38
  autoHeight: {
39
39
  type: Boolean,
40
40
  default: true
41
+ },
42
+ // 自动计算高度 需要抵消的高度值
43
+ heightOffset: {
44
+ type: Number,
45
+ default: 0
41
46
  }
42
47
  };
43
48
  const tableProEmits = {
@@ -1 +1 @@
1
- {"version":3,"file":"tablePro.mjs","sources":["../../../../../../../packages/components/src/composite/tablePro/tablePro.ts"],"sourcesContent":["import { tableEmits, tableProps } from '@giime/components/src/base';\r\n// import type { Sort } from 'element-plus';\r\n\r\nexport const tableProProps = {\r\n ...tableProps,\r\n\r\n headerCellStyle: {\r\n type: Object,\r\n default: () => ({ background: '#F5F7FA', color: '#333' }),\r\n },\r\n data: {\r\n type: Array,\r\n default: () => [],\r\n },\r\n selection: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n customHeader: {\r\n type: Boolean,\r\n default: true,\r\n },\r\n customOperate: {\r\n type: Boolean,\r\n default: true,\r\n },\r\n operateWidth: {\r\n type: Number,\r\n default: 120,\r\n },\r\n operateFixed: {\r\n type: Boolean,\r\n default: true,\r\n },\r\n page: {\r\n type: String,\r\n required: true as const,\r\n },\r\n autoHeight: {\r\n type: Boolean,\r\n default: true,\r\n },\r\n};\r\n\r\nexport const tableProEmits = {\r\n ...tableEmits,\r\n};\r\nexport interface TableProSortValue {\r\n field: string;\r\n order: 'asc' | 'desc';\r\n}\r\n"],"names":[],"mappings":";;;AAGO,MAAM,aAAgB,GAAA;AAAA,EAC3B,GAAG,UAAA;AAAA,EAEH,eAAiB,EAAA;AAAA,IACf,IAAM,EAAA,MAAA;AAAA,IACN,SAAS,OAAO,EAAE,UAAY,EAAA,SAAA,EAAW,OAAO,MAAO,EAAA,CAAA;AAAA,GACzD;AAAA,EACA,IAAM,EAAA;AAAA,IACJ,IAAM,EAAA,KAAA;AAAA,IACN,OAAA,EAAS,MAAM,EAAC;AAAA,GAClB;AAAA,EACA,SAAW,EAAA;AAAA,IACT,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AAAA,EACA,YAAc,EAAA;AAAA,IACZ,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,IAAA;AAAA,GACX;AAAA,EACA,aAAe,EAAA;AAAA,IACb,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,IAAA;AAAA,GACX;AAAA,EACA,YAAc,EAAA;AAAA,IACZ,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,GAAA;AAAA,GACX;AAAA,EACA,YAAc,EAAA;AAAA,IACZ,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,IAAA;AAAA,GACX;AAAA,EACA,IAAM,EAAA;AAAA,IACJ,IAAM,EAAA,MAAA;AAAA,IACN,QAAU,EAAA,IAAA;AAAA,GACZ;AAAA,EACA,UAAY,EAAA;AAAA,IACV,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,IAAA;AAAA,GACX;AACF,EAAA;AAEO,MAAM,aAAgB,GAAA;AAAA,EAC3B,GAAG,UAAA;AACL;;;;"}
1
+ {"version":3,"file":"tablePro.mjs","sources":["../../../../../../../packages/components/src/composite/tablePro/tablePro.ts"],"sourcesContent":["import { tableEmits, tableProps } from '@giime/components/src/base';\r\n// import type { Sort } from 'element-plus';\r\n\r\nexport const tableProProps = {\r\n ...tableProps,\r\n\r\n headerCellStyle: {\r\n type: Object,\r\n default: () => ({ background: '#F5F7FA', color: '#333' }),\r\n },\r\n data: {\r\n type: Array,\r\n default: () => [],\r\n },\r\n selection: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n customHeader: {\r\n type: Boolean,\r\n default: true,\r\n },\r\n customOperate: {\r\n type: Boolean,\r\n default: true,\r\n },\r\n operateWidth: {\r\n type: Number,\r\n default: 120,\r\n },\r\n operateFixed: {\r\n type: Boolean,\r\n default: true,\r\n },\r\n page: {\r\n type: String,\r\n required: true as const,\r\n },\r\n autoHeight: {\r\n type: Boolean,\r\n default: true,\r\n },\r\n // 自动计算高度 需要抵消的高度值\r\n heightOffset: {\r\n type: Number,\r\n default: 0,\r\n },\r\n};\r\n\r\nexport const tableProEmits = {\r\n ...tableEmits,\r\n};\r\nexport interface TableProSortValue {\r\n field: string;\r\n order: 'asc' | 'desc';\r\n}\r\n"],"names":[],"mappings":";;;AAGO,MAAM,aAAgB,GAAA;AAAA,EAC3B,GAAG,UAAA;AAAA,EAEH,eAAiB,EAAA;AAAA,IACf,IAAM,EAAA,MAAA;AAAA,IACN,SAAS,OAAO,EAAE,UAAY,EAAA,SAAA,EAAW,OAAO,MAAO,EAAA,CAAA;AAAA,GACzD;AAAA,EACA,IAAM,EAAA;AAAA,IACJ,IAAM,EAAA,KAAA;AAAA,IACN,OAAA,EAAS,MAAM,EAAC;AAAA,GAClB;AAAA,EACA,SAAW,EAAA;AAAA,IACT,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AAAA,EACA,YAAc,EAAA;AAAA,IACZ,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,IAAA;AAAA,GACX;AAAA,EACA,aAAe,EAAA;AAAA,IACb,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,IAAA;AAAA,GACX;AAAA,EACA,YAAc,EAAA;AAAA,IACZ,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,GAAA;AAAA,GACX;AAAA,EACA,YAAc,EAAA;AAAA,IACZ,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,IAAA;AAAA,GACX;AAAA,EACA,IAAM,EAAA;AAAA,IACJ,IAAM,EAAA,MAAA;AAAA,IACN,QAAU,EAAA,IAAA;AAAA,GACZ;AAAA,EACA,UAAY,EAAA;AAAA,IACV,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,IAAA;AAAA,GACX;AAAA;AAAA,EAEA,YAAc,EAAA;AAAA,IACZ,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,CAAA;AAAA,GACX;AACF,EAAA;AAEO,MAAM,aAAgB,GAAA;AAAA,EAC3B,GAAG,UAAA;AACL;;;;"}
@@ -7,7 +7,7 @@ export { getTag, isBoolean, isDate, isDecimal, isError, isEven, isHttps, isInteg
7
7
  export { withInstall, withInstallDirective, withInstallFunction, withNoopInstall } from '../utils/src/vue/install.mjs';
8
8
  export { GiimeResolver, kebabCase } from '../utils/src/vue/resolver.mjs';
9
9
  export { getGmEvent } from '../utils/src/elementPlus/event.mjs';
10
- export { getGmExports } from '../utils/src/elementPlus/exports.mjs';
10
+ export { getGmExports, getGmObjExports } from '../utils/src/elementPlus/exports.mjs';
11
11
  export { createAxios } from '../utils/src/http/createAxios.mjs';
12
12
  export { errorMessage, responseErrorMessage } from '../utils/src/http/errorMessage.mjs';
13
13
  export { req401Interceptors, res401Interceptors } from '../utils/src/http/interceptors.mjs';
@@ -45,7 +45,7 @@ export { carouselContextKey, carouselEmits, carouselProps } from '../components/
45
45
  export { GmCarousel } from '../components/src/base/carousel/index.mjs';
46
46
  export { carouselItemProps } from '../components/src/base/carouselItem/carouselItem.mjs';
47
47
  export { GmCarouselItem } from '../components/src/base/carouselItem/index.mjs';
48
- export { cascaderEmits, cascaderProps } from '../components/src/base/cascader/cascader.mjs';
48
+ export { cascaderEmits, cascaderExposeNames, cascaderProps } from '../components/src/base/cascader/cascader.mjs';
49
49
  export { GmCascader } from '../components/src/base/cascader/index.mjs';
50
50
  export { cascaderPanelEmits, cascaderPanelProps, elCascaderPanelEmits } from '../components/src/base/cascaderPanel/cascaderPanel.mjs';
51
51
  export { GmCascaderPanel } from '../components/src/base/cascaderPanel/index.mjs';
@@ -101,7 +101,7 @@ export { emptyProps } from '../components/src/base/empty/empty.mjs';
101
101
  export { GmEmpty } from '../components/src/base/empty/index.mjs';
102
102
  export { formEmits, formProps } from '../components/src/base/form/form.mjs';
103
103
  export { GmForm } from '../components/src/base/form/index.mjs';
104
- export { formItemProps } from '../components/src/base/formItem/formItem.mjs';
104
+ export { formItemExposeNames, formItemProps } from '../components/src/base/formItem/formItem.mjs';
105
105
  export { GmFormItem } from '../components/src/base/formItem/index.mjs';
106
106
  export { iconProps } from '../components/src/base/icon/icon.mjs';
107
107
  export { GmIcon } from '../components/src/base/icon/index.mjs';
@@ -282,6 +282,7 @@ export { GmVSeeDirective } from '../components/src/directives/see/index.mjs';
282
282
  export { useCheckAll } from '../hooks/base/useCheckAll/index.mjs';
283
283
  export { useIDBKeyval } from '../hooks/base/useIDBKeyval/index.mjs';
284
284
  export { useDownload } from '../hooks/base/useDownload/index.mjs';
285
+ export { useLoading } from '../hooks/base/useLoading/index.mjs';
285
286
  export { useLangListStore } from '../hooks/store/useLangList/index.mjs';
286
287
  export { useLoginStore } from '../hooks/store/useLogin/index.mjs';
287
288
  export { useCustomSettingsStore } from '../hooks/store/useCustomSettings/index.mjs';
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../../packages/giime/index.ts"],"sourcesContent":["import installer from './defaults';\r\nimport './tailwind.css';\r\nexport * from '@giime/utils';\r\nexport * from '@giime/components';\r\nexport * from '@giime/hooks';\r\n// export * from '@giime/api'; // 用户通过giime/es/api 导入类型\r\nexport const install = installer.install;\r\nexport const version = installer.version;\r\nexport default installer;\r\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMO,MAAM,UAAU,SAAU,CAAA,QAAA;AAC1B,MAAM,UAAU,SAAU,CAAA;;;;"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../../packages/giime/index.ts"],"sourcesContent":["import installer from './defaults';\r\nimport './tailwind.css';\r\nexport * from '@giime/utils';\r\nexport * from '@giime/components';\r\nexport * from '@giime/hooks';\r\n// export * from '@giime/api'; // 用户通过giime/es/api 导入类型\r\nexport const install = installer.install;\r\nexport const version = installer.version;\r\nexport default installer;\r\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMO,MAAM,UAAU,SAAU,CAAA,QAAA;AAC1B,MAAM,UAAU,SAAU,CAAA;;;;"}
@@ -1 +1 @@
1
- export declare const version = "0.3.6";
1
+ export declare const version = "0.3.8";
@@ -1,4 +1,4 @@
1
- const version = "0.3.6";
1
+ const version = "0.3.8";
2
2
 
3
3
  export { version };
4
4
  //# sourceMappingURL=version.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.mjs","sources":["../../../../packages/giime/version.ts"],"sourcesContent":["export const version = '0.3.6';\n"],"names":[],"mappings":"AAAO,MAAM,OAAU,GAAA;;;;"}
1
+ {"version":3,"file":"version.mjs","sources":["../../../../packages/giime/version.ts"],"sourcesContent":["export const version = '0.3.8';\n"],"names":[],"mappings":"AAAO,MAAM,OAAU,GAAA;;;;"}
@@ -1,3 +1,4 @@
1
1
  export * from './useCheckAll';
2
2
  export * from './useIDBKeyval';
3
3
  export * from './useDownload';
4
+ export * from './useLoading';
@@ -1,4 +1,5 @@
1
1
  export { useCheckAll } from './useCheckAll/index.mjs';
2
2
  export { useIDBKeyval } from './useIDBKeyval/index.mjs';
3
3
  export { useDownload } from './useDownload/index.mjs';
4
+ export { useLoading } from './useLoading/index.mjs';
4
5
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
1
+ {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * 给目标方法前后添加loading
3
+ * 它会在方法执行之前设置 isLoading 为 true,并在方法执行完成后(无论成功与否)将 isLoading 设置为 false。
4
+ */
5
+ export declare const useLoading: <T extends (...args: any[]) => Promise<any>>(fn: T) => {
6
+ isLoading: import("vue").Ref<boolean>;
7
+ exec: (...args: Parameters<T>) => Promise<ReturnType<T>>;
8
+ };
@@ -0,0 +1,21 @@
1
+ import { ref } from 'vue';
2
+
3
+ const useLoading = (fn) => {
4
+ const isLoading = ref(false);
5
+ const exec = async (...args) => {
6
+ isLoading.value = true;
7
+ try {
8
+ const result = await fn(...args);
9
+ return result;
10
+ } finally {
11
+ isLoading.value = false;
12
+ }
13
+ };
14
+ return {
15
+ isLoading,
16
+ exec
17
+ };
18
+ };
19
+
20
+ export { useLoading };
21
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":["../../../../../../packages/hooks/base/useLoading/index.ts"],"sourcesContent":["import { ref } from 'vue';\r\n/**\r\n * 给目标方法前后添加loading\r\n * 它会在方法执行之前设置 isLoading 为 true,并在方法执行完成后(无论成功与否)将 isLoading 设置为 false。\r\n */\r\nexport const useLoading = <T extends (...args: any[]) => Promise<any>>(fn: T) => {\r\n const isLoading = ref(false);\r\n\r\n const exec = async (...args: Parameters<T>): Promise<ReturnType<T>> => {\r\n isLoading.value = true;\r\n try {\r\n const result = await fn(...args);\r\n return result;\r\n } finally {\r\n isLoading.value = false;\r\n }\r\n };\r\n\r\n return {\r\n isLoading,\r\n exec,\r\n };\r\n};\r\n"],"names":[],"mappings":";;AAKa,MAAA,UAAA,GAAa,CAA6C,EAAU,KAAA;AAC/E,EAAM,MAAA,SAAA,GAAY,IAAI,KAAK,CAAA,CAAA;AAE3B,EAAM,MAAA,IAAA,GAAO,UAAU,IAAgD,KAAA;AACrE,IAAA,SAAA,CAAU,KAAQ,GAAA,IAAA,CAAA;AAClB,IAAI,IAAA;AACF,MAAA,MAAM,MAAS,GAAA,MAAM,EAAG,CAAA,GAAG,IAAI,CAAA,CAAA;AAC/B,MAAO,OAAA,MAAA,CAAA;AAAA,KACP,SAAA;AACA,MAAA,SAAA,CAAU,KAAQ,GAAA,KAAA,CAAA;AAAA,KACpB;AAAA,GACF,CAAA;AAEA,EAAO,OAAA;AAAA,IACL,SAAA;AAAA,IACA,IAAA;AAAA,GACF,CAAA;AACF;;;;"}
@@ -3,6 +3,7 @@ import './store/index.mjs';
3
3
  export { useCheckAll } from './base/useCheckAll/index.mjs';
4
4
  export { useIDBKeyval } from './base/useIDBKeyval/index.mjs';
5
5
  export { useDownload } from './base/useDownload/index.mjs';
6
+ export { useLoading } from './base/useLoading/index.mjs';
6
7
  export { useLangListStore } from './store/useLangList/index.mjs';
7
8
  export { useLoginStore } from './store/useLogin/index.mjs';
8
9
  export { useCustomSettingsStore } from './store/useCustomSettings/index.mjs';
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;"}
package/es/index.css CHANGED
@@ -746,15 +746,6 @@ video {
746
746
  .gm-group:hover .group-hover\:gm-block {
747
747
  display: block;
748
748
  }
749
-
750
- .gm-range-number .el-form-item[data-v-11c39847] {
751
- margin: 0;
752
- }
753
-
754
- [data-v-75032027] .gmSearchForm .el-form-item {
755
- margin-right: 0;
756
- margin-bottom: 4px;
757
- }
758
749
  .gm-flex-center[data-v-6829dac1] {
759
750
  align-items: center;
760
751
  }
@@ -762,45 +753,36 @@ video {
762
753
  .gm-flex-justify-between[data-v-6829dac1] {
763
754
  justify-content: space-between;
764
755
  }
765
- .gm-number-interval-single[data-v-47a13fd0] {
766
- border-radius: var(--el-input-border-radius, var(--el-border-radius-base));
767
- box-shadow: 0 0 0 1px var(--el-input-border-color, var(--el-border-color)) inset;
768
- background-color: var(--el-input-bg-color, var(--el-fill-color-blank));
769
- }
770
- .gm-number-interval-single[data-v-47a13fd0] [data-v-47a13fd0] .el-input__wrapper {
771
- box-shadow: none;
772
- background: none;
773
- }
774
756
 
775
- .gm-number-interval-close[data-v-47a13fd0] {
776
- display: none;
777
- color: var(--el-input-icon-color, var(--el-text-color-placeholder));
778
- }
757
+ .gm-range-number .el-form-item[data-v-11c39847] {
758
+ margin: 0;
759
+ }
779
760
 
780
- .gm-number-interval-single[data-v-47a13fd0]:hover .gm-number-interval-close[data-v-47a13fd0] {
781
- display: flex;
761
+ [data-v-75032027] .gmSearchForm .el-form-item {
762
+ margin-right: 0;
763
+ margin-bottom: 4px;
782
764
  }
783
- [data-v-80268d10] .gmTableNoBorder .el-table__body .el-table__cell {
765
+ [data-v-6611eabd] .gmTableNoBorder .el-table__body .el-table__cell {
784
766
  border-right: none;
785
767
  }
786
768
 
787
- [data-v-80268d10] .gmTableNoBorder .el-table__inner-wrapper:before {
769
+ [data-v-6611eabd] .gmTableNoBorder .el-table__inner-wrapper:before {
788
770
  height: 0;
789
771
  }
790
772
 
791
- [data-v-80268d10] .gmTableNoBorder.el-table--border .el-table__inner-wrapper:after {
773
+ [data-v-6611eabd] .gmTableNoBorder.el-table--border .el-table__inner-wrapper:after {
792
774
  height: 0;
793
775
  }
794
776
 
795
- [data-v-80268d10] .gmTableNoBorder.el-table--border:after {
777
+ [data-v-6611eabd] .gmTableNoBorder.el-table--border:after {
796
778
  height: 0;
797
779
  }
798
780
 
799
- [data-v-80268d10] .gmTableNoBorder.el-table--border:before {
781
+ [data-v-6611eabd] .gmTableNoBorder.el-table--border:before {
800
782
  height: 0;
801
783
  }
802
784
 
803
- [data-v-80268d10] .gmTableNoBorder .el-table__border-left-patch {
785
+ [data-v-6611eabd] .gmTableNoBorder .el-table__border-left-patch {
804
786
  height: 0;
805
787
  }
806
788
 
@@ -811,3 +793,22 @@ video {
811
793
  .pagination-container.hidden[data-v-c628ba24] {
812
794
  display: none;
813
795
  }
796
+
797
+ .gm-number-interval-single[data-v-47a13fd0] {
798
+ border-radius: var(--el-input-border-radius, var(--el-border-radius-base));
799
+ box-shadow: 0 0 0 1px var(--el-input-border-color, var(--el-border-color)) inset;
800
+ background-color: var(--el-input-bg-color, var(--el-fill-color-blank));
801
+ }
802
+ .gm-number-interval-single[data-v-47a13fd0] [data-v-47a13fd0] .el-input__wrapper {
803
+ box-shadow: none;
804
+ background: none;
805
+ }
806
+
807
+ .gm-number-interval-close[data-v-47a13fd0] {
808
+ display: none;
809
+ color: var(--el-input-icon-color, var(--el-text-color-placeholder));
810
+ }
811
+
812
+ .gm-number-interval-single[data-v-47a13fd0]:hover .gm-number-interval-close[data-v-47a13fd0] {
813
+ display: flex;
814
+ }
@@ -9,7 +9,7 @@ export { base64ToBlob, base64ToFile, blobToBase64, blobToFile, fileToBase64, fil
9
9
  export { withInstall, withInstallDirective, withInstallFunction, withNoopInstall } from './src/vue/install.mjs';
10
10
  export { GiimeResolver, kebabCase } from './src/vue/resolver.mjs';
11
11
  export { getGmEvent } from './src/elementPlus/event.mjs';
12
- export { getGmExports } from './src/elementPlus/exports.mjs';
12
+ export { getGmExports, getGmObjExports } from './src/elementPlus/exports.mjs';
13
13
  export { createAxios } from './src/http/createAxios.mjs';
14
14
  export { errorMessage, responseErrorMessage } from './src/http/errorMessage.mjs';
15
15
  export { req401Interceptors, res401Interceptors } from './src/http/interceptors.mjs';
@@ -3,3 +3,6 @@ import type { Ref, UnwrapRef } from 'vue';
3
3
  export declare const getGmExports: <T extends Ref<any>, U extends readonly string[] = []>(elRef: T, exposeNames: U) => {
4
4
  exposeFns: Pick<NonNullable<UnwrapRef<T>>, TupleToUnion<U>>;
5
5
  };
6
+ export declare const getGmObjExports: <T extends Ref<any>, U extends readonly string[] = []>(elRef: T, exposeNames: U) => {
7
+ exposeFns: Pick<NonNullable<UnwrapRef<T>>, TupleToUnion<U>>;
8
+ };
@@ -8,6 +8,14 @@ const getGmExports = (elRef, exposeNames) => {
8
8
  exposeFns
9
9
  };
10
10
  };
11
+ const getGmObjExports = (elRef, exposeNames) => {
12
+ const exposeFns = exposeNames.reduce((acc, cur) => {
13
+ return { ...acc, [cur]: (...args) => elRef.value?.[cur](...args) };
14
+ }, {});
15
+ return {
16
+ exposeFns
17
+ };
18
+ };
11
19
 
12
- export { getGmExports };
20
+ export { getGmExports, getGmObjExports };
13
21
  //# sourceMappingURL=exports.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"exports.mjs","sources":["../../../../../../packages/utils/src/elementPlus/exports.ts"],"sourcesContent":["import { computed } from 'vue';\r\nimport type { TupleToUnion } from '../types';\r\nimport type { Ref, UnwrapRef } from 'vue';\r\n\r\nexport const getGmExports = <T extends Ref<any>, U extends readonly string[] = []>(elRef: T, exposeNames: U) => {\r\n type CurInstance = NonNullable<UnwrapRef<T>>;\r\n const exposeFns = exposeNames.reduce<Pick<CurInstance, TupleToUnion<typeof exposeNames>>>((acc, cur) => {\r\n return { ...acc, [cur]: computed(() => elRef.value?.[cur]) };\r\n }, {} as any);\r\n return {\r\n exposeFns,\r\n };\r\n};\r\n"],"names":[],"mappings":";;AAIa,MAAA,YAAA,GAAe,CAAuD,KAAA,EAAU,WAAmB,KAAA;AAE9G,EAAA,MAAM,SAAY,GAAA,WAAA,CAAY,MAA4D,CAAA,CAAC,KAAK,GAAQ,KAAA;AACtG,IAAA,OAAO,EAAE,GAAG,GAAK,EAAA,CAAC,GAAG,GAAG,QAAS,CAAA,MAAM,KAAM,CAAA,KAAA,GAAQ,GAAG,CAAC,CAAE,EAAA,CAAA;AAAA,GAC7D,EAAG,EAAS,CAAA,CAAA;AACZ,EAAO,OAAA;AAAA,IACL,SAAA;AAAA,GACF,CAAA;AACF;;;;"}
1
+ {"version":3,"file":"exports.mjs","sources":["../../../../../../packages/utils/src/elementPlus/exports.ts"],"sourcesContent":["import { computed } from 'vue';\r\nimport type { TupleToUnion } from '../types';\r\nimport type { Ref, UnwrapRef } from 'vue';\r\n\r\nexport const getGmExports = <T extends Ref<any>, U extends readonly string[] = []>(elRef: T, exposeNames: U) => {\r\n type CurInstance = NonNullable<UnwrapRef<T>>;\r\n const exposeFns = exposeNames.reduce<Pick<CurInstance, TupleToUnion<typeof exposeNames>>>((acc, cur) => {\r\n return { ...acc, [cur]: computed(() => elRef.value?.[cur]) };\r\n }, {} as any);\r\n return {\r\n exposeFns,\r\n };\r\n};\r\n\r\nexport const getGmObjExports = <T extends Ref<any>, U extends readonly string[] = []>(elRef: T, exposeNames: U) => {\r\n type CurInstance = NonNullable<UnwrapRef<T>>;\r\n const exposeFns = exposeNames.reduce<Pick<CurInstance, TupleToUnion<typeof exposeNames>>>((acc, cur) => {\r\n return { ...acc, [cur]: (...args: any[]) => elRef.value?.[cur](...args) };\r\n }, {} as any);\r\n return {\r\n exposeFns,\r\n };\r\n};\r\n"],"names":[],"mappings":";;AAIa,MAAA,YAAA,GAAe,CAAuD,KAAA,EAAU,WAAmB,KAAA;AAE9G,EAAA,MAAM,SAAY,GAAA,WAAA,CAAY,MAA4D,CAAA,CAAC,KAAK,GAAQ,KAAA;AACtG,IAAA,OAAO,EAAE,GAAG,GAAK,EAAA,CAAC,GAAG,GAAG,QAAS,CAAA,MAAM,KAAM,CAAA,KAAA,GAAQ,GAAG,CAAC,CAAE,EAAA,CAAA;AAAA,GAC7D,EAAG,EAAS,CAAA,CAAA;AACZ,EAAO,OAAA;AAAA,IACL,SAAA;AAAA,GACF,CAAA;AACF,EAAA;AAEa,MAAA,eAAA,GAAkB,CAAuD,KAAA,EAAU,WAAmB,KAAA;AAEjH,EAAA,MAAM,SAAY,GAAA,WAAA,CAAY,MAA4D,CAAA,CAAC,KAAK,GAAQ,KAAA;AACtG,IAAA,OAAO,EAAE,GAAG,GAAK,EAAA,CAAC,GAAG,GAAG,CAAA,GAAI,IAAgB,KAAA,KAAA,CAAM,KAAQ,GAAA,GAAG,CAAE,CAAA,GAAG,IAAI,CAAE,EAAA,CAAA;AAAA,GAC1E,EAAG,EAAS,CAAA,CAAA;AACZ,EAAO,OAAA;AAAA,IACL,SAAA;AAAA,GACF,CAAA;AACF;;;;"}
@@ -1,3 +1,3 @@
1
1
  export { getGmEvent } from './event.mjs';
2
- export { getGmExports } from './exports.mjs';
2
+ export { getGmExports, getGmObjExports } from './exports.mjs';
3
3
  //# sourceMappingURL=index.mjs.map
@@ -316,6 +316,7 @@ exports.GmCarousel = index$d.GmCarousel;
316
316
  exports.carouselItemProps = carouselItem.carouselItemProps;
317
317
  exports.GmCarouselItem = index$e.GmCarouselItem;
318
318
  exports.cascaderEmits = cascader.cascaderEmits;
319
+ exports.cascaderExposeNames = cascader.cascaderExposeNames;
319
320
  exports.cascaderProps = cascader.cascaderProps;
320
321
  exports.GmCascader = index$f.GmCascader;
321
322
  exports.cascaderPanelEmits = cascaderPanel.cascaderPanelEmits;
@@ -404,6 +405,7 @@ exports.GmEmpty = index$F.GmEmpty;
404
405
  exports.formEmits = form.formEmits;
405
406
  exports.formProps = form.formProps;
406
407
  exports.GmForm = index$G.GmForm;
408
+ exports.formItemExposeNames = formItem.formItemExposeNames;
407
409
  exports.formItemProps = formItem.formItemProps;
408
410
  exports.GmFormItem = index$H.GmFormItem;
409
411
  exports.iconProps = icon.iconProps;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -52,6 +52,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
52
52
  options: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => import("element-plus").CascaderOption[]) | (() => import("element-plus").CascaderOption[]) | ((new (...args: any[]) => import("element-plus").CascaderOption[]) | (() => import("element-plus").CascaderOption[]))[], unknown, unknown, () => import("element-plus").CascaderOption[], boolean>;
53
53
  props: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => import("element-plus").CascaderProps) | (() => import("element-plus").CascaderProps) | ((new (...args: any[]) => import("element-plus").CascaderProps) | (() => import("element-plus").CascaderProps))[], unknown, unknown, () => import("element-plus").CascaderProps, boolean>;
54
54
  }, {
55
+ getCheckedNodes: (leafOnly: boolean) => import("element-plus/es/components/cascader-panel/src/node").default[] | undefined;
55
56
  cascaderPanelRef: ({
56
57
  $: import("vue").ComponentInternalInstance;
57
58
  $data: {};
@@ -441,9 +442,8 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
441
442
  calculateCheckedValue: () => void;
442
443
  scrollToExpandingNode: () => void;
443
444
  }> & import("vue").ComponentCustomProperties) | null;
444
- contentRef: HTMLElement | undefined;
445
445
  togglePopperVisible: (visible?: boolean | undefined) => void;
446
- getCheckedNodes: (leafOnly: boolean) => import("element-plus/es/components/cascader-panel/src/node").default[] | undefined;
446
+ contentRef: HTMLElement | undefined;
447
447
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
448
448
  change: (val: import("element-plus").CascaderValue) => void;
449
449
  "update:modelValue": (val: import("element-plus").CascaderValue) => void;
@@ -22,8 +22,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
22
22
  const emit = __emit;
23
23
  const elEvents = event.getGmEvent(elementPlus.cascaderEmits, emit);
24
24
  const elRef = vue.ref();
25
- const exposeEvents = ["getCheckedNodes", "cascaderPanelRef", "togglePopperVisible", "contentRef"];
26
- const { exposeFns } = exports$1.getGmExports(elRef, exposeEvents);
25
+ const { exposeFns } = exports$1.getGmExports(elRef, cascader.cascaderExposeNames);
27
26
  __expose({
28
27
  ...exposeFns
29
28
  });
@@ -1 +1 @@
1
- {"version":3,"file":"Cascader.vue2.js","sources":["../../../../../../../packages/components/src/base/cascader/Cascader.vue"],"sourcesContent":["<template>\r\n <el-cascader ref=\"elRef\" v-bind=\"props\" v-on=\"elEvents\">\r\n <template v-if=\"slots.default\" #default=\"slotValue\">\r\n <slot v-bind=\"slotValue\" />\r\n </template>\r\n <template v-if=\"slots.empty\" #empty=\"slotValue\">\r\n <slot name=\"empty\" v-bind=\"slotValue\" />\r\n </template>\r\n </el-cascader>\r\n</template>\r\n<script lang=\"ts\" setup>\r\nimport { ref, useSlots } from 'vue';\r\nimport { getGmEvent, getGmExports } from '@giime/utils';\r\nimport { cascaderEmits as elCascaderEmits } from 'element-plus';\r\nimport { cascaderEmits, cascaderProps } from './cascader';\r\nimport type { CascaderInstance } from 'element-plus';\r\n\r\ndefineOptions({\r\n name: 'GmCascader',\r\n});\r\nconst slots = useSlots();\r\nconst props = defineProps(cascaderProps);\r\nconst emit = defineEmits(cascaderEmits);\r\n// 重发el的事件\r\nconst elEvents = getGmEvent(elCascaderEmits, emit);\r\n\r\nconst elRef = ref<CascaderInstance>();\r\nconst exposeEvents = ['getCheckedNodes', 'cascaderPanelRef', 'togglePopperVisible', 'contentRef'] as const;\r\nconst { exposeFns } = getGmExports(elRef, exposeEvents);\r\ndefineExpose({\r\n ...exposeFns,\r\n});\r\n</script>\r\n"],"names":["useSlots","getGmEvent","elCascaderEmits","ref","getGmExports"],"mappings":";;;;;;;;;;;;;;;;;;;AAoBA,IAAA,MAAM,QAAQA,YAAS,EAAA,CAAA;AACvB,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AACd,IAAA,MAAM,IAAO,GAAA,MAAA,CAAA;AAEb,IAAM,MAAA,QAAA,GAAWC,gBAAW,CAAAC,yBAAA,EAAiB,IAAI,CAAA,CAAA;AAEjD,IAAA,MAAM,QAAQC,OAAsB,EAAA,CAAA;AACpC,IAAA,MAAM,YAAe,GAAA,CAAC,iBAAmB,EAAA,kBAAA,EAAoB,uBAAuB,YAAY,CAAA,CAAA;AAChG,IAAA,MAAM,EAAE,SAAA,EAAc,GAAAC,sBAAA,CAAa,OAAO,YAAY,CAAA,CAAA;AACtD,IAAa,QAAA,CAAA;AAAA,MACX,GAAG,SAAA;AAAA,KACJ,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"Cascader.vue2.js","sources":["../../../../../../../packages/components/src/base/cascader/Cascader.vue"],"sourcesContent":["<template>\r\n <el-cascader ref=\"elRef\" v-bind=\"props\" v-on=\"elEvents\">\r\n <template v-if=\"slots.default\" #default=\"slotValue\">\r\n <slot v-bind=\"slotValue\" />\r\n </template>\r\n <template v-if=\"slots.empty\" #empty=\"slotValue\">\r\n <slot name=\"empty\" v-bind=\"slotValue\" />\r\n </template>\r\n </el-cascader>\r\n</template>\r\n<script lang=\"ts\" setup>\r\nimport { ref, useSlots } from 'vue';\r\nimport { getGmEvent, getGmExports } from '@giime/utils';\r\nimport { cascaderEmits as elCascaderEmits } from 'element-plus';\r\nimport { cascaderEmits, cascaderExposeNames, cascaderProps } from './cascader';\r\nimport type { CascaderInstance } from 'element-plus';\r\n\r\ndefineOptions({\r\n name: 'GmCascader',\r\n});\r\nconst slots = useSlots();\r\nconst props = defineProps(cascaderProps);\r\nconst emit = defineEmits(cascaderEmits);\r\n// 重发el的事件\r\nconst elEvents = getGmEvent(elCascaderEmits, emit);\r\n\r\nconst elRef = ref<CascaderInstance>();\r\nconst { exposeFns } = getGmExports(elRef, cascaderExposeNames);\r\ndefineExpose({\r\n ...exposeFns,\r\n});\r\n</script>\r\n"],"names":["useSlots","getGmEvent","elCascaderEmits","ref","getGmExports","cascaderExposeNames"],"mappings":";;;;;;;;;;;;;;;;;;;AAoBA,IAAA,MAAM,QAAQA,YAAS,EAAA,CAAA;AACvB,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AACd,IAAA,MAAM,IAAO,GAAA,MAAA,CAAA;AAEb,IAAM,MAAA,QAAA,GAAWC,gBAAW,CAAAC,yBAAA,EAAiB,IAAI,CAAA,CAAA;AAEjD,IAAA,MAAM,QAAQC,OAAsB,EAAA,CAAA;AACpC,IAAA,MAAM,EAAE,SAAA,EAAc,GAAAC,sBAAA,CAAa,OAAOC,4BAAmB,CAAA,CAAA;AAC7D,IAAa,QAAA,CAAA;AAAA,MACX,GAAG,SAAA;AAAA,KACJ,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -62,4 +62,5 @@ export declare const cascaderEmits: {
62
62
  expandChange: (val: import("element-plus").CascaderValue) => boolean;
63
63
  removeTag: (val: import("element-plus/es/components/cascader-panel/src/node").CascaderNodeValue | import("element-plus/es/components/cascader-panel/src/node").CascaderNodePathValue) => boolean;
64
64
  };
65
+ export declare const cascaderExposeNames: readonly ["getCheckedNodes", "cascaderPanelRef", "togglePopperVisible", "contentRef"];
65
66
  export type CascaderProps = ExtractPropTypes<typeof cascaderProps>;
@@ -10,7 +10,9 @@ const cascaderEmits = {
10
10
  // 自定义事件
11
11
  // submit: (value: any) => !!value,
12
12
  };
13
+ const cascaderExposeNames = ["getCheckedNodes", "cascaderPanelRef", "togglePopperVisible", "contentRef"];
13
14
 
14
15
  exports.cascaderEmits = cascaderEmits;
16
+ exports.cascaderExposeNames = cascaderExposeNames;
15
17
  exports.cascaderProps = cascaderProps;
16
18
  //# sourceMappingURL=cascader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cascader.js","sources":["../../../../../../../packages/components/src/base/cascader/cascader.ts"],"sourcesContent":["import { cascaderEmits as elCascaderEmits, cascaderProps as elCascaderProps } from 'element-plus';\r\nimport type { ExtractPropTypes } from 'vue';\r\n// import type { ExtractPropTypes } from 'vue';\r\n\r\nexport const cascaderProps = {\r\n ...elCascaderProps,\r\n};\r\n\r\nexport const cascaderEmits = {\r\n ...elCascaderEmits,\r\n // 自定义事件\r\n // submit: (value: any) => !!value,\r\n};\r\nexport type CascaderProps = ExtractPropTypes<typeof cascaderProps>;\r\n"],"names":["elCascaderProps","elCascaderEmits"],"mappings":";;;;AAIO,MAAM,aAAgB,GAAA;AAAA,EAC3B,GAAGA,yBAAA;AACL,EAAA;AAEO,MAAM,aAAgB,GAAA;AAAA,EAC3B,GAAGC,yBAAA;AAAA;AAAA;AAGL;;;;;"}
1
+ {"version":3,"file":"cascader.js","sources":["../../../../../../../packages/components/src/base/cascader/cascader.ts"],"sourcesContent":["import { cascaderEmits as elCascaderEmits, cascaderProps as elCascaderProps } from 'element-plus';\r\nimport type { ExtractPropTypes } from 'vue';\r\n// import type { ExtractPropTypes } from 'vue';\r\n\r\nexport const cascaderProps = {\r\n ...elCascaderProps,\r\n};\r\n\r\nexport const cascaderEmits = {\r\n ...elCascaderEmits,\r\n // 自定义事件\r\n // submit: (value: any) => !!value,\r\n};\r\nexport const cascaderExposeNames = ['getCheckedNodes', 'cascaderPanelRef', 'togglePopperVisible', 'contentRef'] as const;\r\n\r\nexport type CascaderProps = ExtractPropTypes<typeof cascaderProps>;\r\n"],"names":["elCascaderProps","elCascaderEmits"],"mappings":";;;;AAIO,MAAM,aAAgB,GAAA;AAAA,EAC3B,GAAGA,yBAAA;AACL,EAAA;AAEO,MAAM,aAAgB,GAAA;AAAA,EAC3B,GAAGC,yBAAA;AAAA;AAAA;AAGL,EAAA;AACO,MAAM,mBAAsB,GAAA,CAAC,iBAAmB,EAAA,kBAAA,EAAoB,uBAAuB,YAAY;;;;;;"}
@@ -62,6 +62,7 @@ export declare const GmCascader: import("../../../../utils").SFCWithInstall<{
62
62
  onExpandChange?: ((val: import("element-plus").CascaderValue) => any) | undefined;
63
63
  onRemoveTag?: ((val: import("element-plus/es/components/cascader-panel/src/node.js").CascaderNodeValue | import("element-plus/es/components/cascader-panel/src/node.js").CascaderNodePathValue) => any) | undefined;
64
64
  }, {
65
+ getCheckedNodes: (leafOnly: boolean) => import("element-plus/es/components/cascader-panel/src/node.js").default[] | undefined;
65
66
  cascaderPanelRef: ({
66
67
  $: import("vue").ComponentInternalInstance;
67
68
  $data: {};
@@ -451,9 +452,8 @@ export declare const GmCascader: import("../../../../utils").SFCWithInstall<{
451
452
  calculateCheckedValue: () => void;
452
453
  scrollToExpandingNode: () => void;
453
454
  }> & import("vue").ComponentCustomProperties) | null;
454
- contentRef: HTMLElement | undefined;
455
455
  togglePopperVisible: (visible?: boolean | undefined) => void;
456
- getCheckedNodes: (leafOnly: boolean) => import("element-plus/es/components/cascader-panel/src/node.js").default[] | undefined;
456
+ contentRef: HTMLElement | undefined;
457
457
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
458
458
  change: (val: import("element-plus").CascaderValue) => void;
459
459
  "update:modelValue": (val: import("element-plus").CascaderValue) => void;
@@ -610,6 +610,7 @@ export declare const GmCascader: import("../../../../utils").SFCWithInstall<{
610
610
  onExpandChange?: ((val: import("element-plus").CascaderValue) => any) | undefined;
611
611
  onRemoveTag?: ((val: import("element-plus/es/components/cascader-panel/src/node.js").CascaderNodeValue | import("element-plus/es/components/cascader-panel/src/node.js").CascaderNodePathValue) => any) | undefined;
612
612
  }, {
613
+ getCheckedNodes: (leafOnly: boolean) => import("element-plus/es/components/cascader-panel/src/node.js").default[] | undefined;
613
614
  cascaderPanelRef: ({
614
615
  $: import("vue").ComponentInternalInstance;
615
616
  $data: {};
@@ -999,9 +1000,8 @@ export declare const GmCascader: import("../../../../utils").SFCWithInstall<{
999
1000
  calculateCheckedValue: () => void;
1000
1001
  scrollToExpandingNode: () => void;
1001
1002
  }> & import("vue").ComponentCustomProperties) | null;
1002
- contentRef: HTMLElement | undefined;
1003
1003
  togglePopperVisible: (visible?: boolean | undefined) => void;
1004
- getCheckedNodes: (leafOnly: boolean) => import("element-plus/es/components/cascader-panel/src/node.js").default[] | undefined;
1004
+ contentRef: HTMLElement | undefined;
1005
1005
  }, {}, {}, {}, {
1006
1006
  options: import("element-plus").CascaderOption[];
1007
1007
  props: import("element-plus").CascaderProps;
@@ -1086,6 +1086,7 @@ export declare const GmCascader: import("../../../../utils").SFCWithInstall<{
1086
1086
  onExpandChange?: ((val: import("element-plus").CascaderValue) => any) | undefined;
1087
1087
  onRemoveTag?: ((val: import("element-plus/es/components/cascader-panel/src/node.js").CascaderNodeValue | import("element-plus/es/components/cascader-panel/src/node.js").CascaderNodePathValue) => any) | undefined;
1088
1088
  }, {
1089
+ getCheckedNodes: (leafOnly: boolean) => import("element-plus/es/components/cascader-panel/src/node.js").default[] | undefined;
1089
1090
  cascaderPanelRef: ({
1090
1091
  $: import("vue").ComponentInternalInstance;
1091
1092
  $data: {};
@@ -1475,9 +1476,8 @@ export declare const GmCascader: import("../../../../utils").SFCWithInstall<{
1475
1476
  calculateCheckedValue: () => void;
1476
1477
  scrollToExpandingNode: () => void;
1477
1478
  }> & import("vue").ComponentCustomProperties) | null;
1478
- contentRef: HTMLElement | undefined;
1479
1479
  togglePopperVisible: (visible?: boolean | undefined) => void;
1480
- getCheckedNodes: (leafOnly: boolean) => import("element-plus/es/components/cascader-panel/src/node.js").default[] | undefined;
1480
+ contentRef: HTMLElement | undefined;
1481
1481
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
1482
1482
  change: (val: import("element-plus").CascaderValue) => void;
1483
1483
  "update:modelValue": (val: import("element-plus").CascaderValue) => void;
@@ -10,6 +10,7 @@ var install = require('../../../../utils/src/vue/install.js');
10
10
  const GmCascader = install.withInstall(Cascader.default);
11
11
 
12
12
  exports.cascaderEmits = cascader.cascaderEmits;
13
+ exports.cascaderExposeNames = cascader.cascaderExposeNames;
13
14
  exports.cascaderProps = cascader.cascaderProps;
14
15
  exports.GmCascader = GmCascader;
15
16
  exports.default = GmCascader;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../../../packages/components/src/base/cascader/index.ts"],"sourcesContent":["import { withInstall } from '@giime/utils';\r\nimport Cascader from './Cascader.vue';\r\n\r\nexport const GmCascader = withInstall(Cascader);\r\nexport type CascaderInstance = InstanceType<typeof Cascader>;\r\nexport * from './cascader';\r\nexport default GmCascader;\r\n"],"names":["withInstall","Cascader"],"mappings":";;;;;;;;;AAGa,MAAA,UAAA,GAAaA,oBAAYC,gBAAQ;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../../../packages/components/src/base/cascader/index.ts"],"sourcesContent":["import { withInstall } from '@giime/utils';\r\nimport Cascader from './Cascader.vue';\r\n\r\nexport const GmCascader = withInstall(Cascader);\r\nexport type CascaderInstance = InstanceType<typeof Cascader>;\r\nexport * from './cascader';\r\nexport default GmCascader;\r\n"],"names":["withInstall","Cascader"],"mappings":";;;;;;;;;AAGa,MAAA,UAAA,GAAaA,oBAAYC,gBAAQ;;;;;;;;"}
@@ -17,8 +17,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
17
17
  const slots = vue.useSlots();
18
18
  const props = __props;
19
19
  const elRef = vue.ref();
20
- const exposeNames = ["size", "validateMessage", "validateState", "validate", "resetField", "clearValidate"];
21
- const { exposeFns } = exports$1.getGmExports(elRef, exposeNames);
20
+ const { exposeFns } = exports$1.getGmExports(elRef, formItem.formItemExposeNames);
22
21
  __expose({
23
22
  ...exposeFns
24
23
  });
@@ -1 +1 @@
1
- {"version":3,"file":"FormItem.vue2.js","sources":["../../../../../../../packages/components/src/base/formItem/FormItem.vue"],"sourcesContent":["<template>\r\n <el-form-item ref=\"elRef\" v-bind=\"props\">\r\n <template v-if=\"slots.default\" #default=\"slotValue\">\r\n <slot v-bind=\"slotValue\" />\r\n </template>\r\n <template v-if=\"slots.label\" #label=\"slotValue\">\r\n <slot name=\"label\" v-bind=\"slotValue\" />\r\n </template>\r\n <template v-if=\"slots.error\" #error=\"slotValue\">\r\n <slot name=\"error\" v-bind=\"slotValue\" />\r\n </template>\r\n </el-form-item>\r\n</template>\r\n<script lang=\"ts\" setup>\r\nimport { ref, useSlots } from 'vue';\r\nimport { getGmExports } from '@giime/utils';\r\nimport { formItemProps } from './formItem';\r\nimport type { FormItemInstance } from 'element-plus';\r\n\r\ndefineOptions({\r\n name: 'GmFormItem',\r\n});\r\nconst slots = useSlots();\r\nconst props = defineProps(formItemProps);\r\n\r\nconst elRef = ref<FormItemInstance>();\r\nconst exposeNames = ['size', 'validateMessage', 'validateState', 'validate', 'resetField', 'clearValidate'] as const;\r\nconst { exposeFns } = getGmExports(elRef, exposeNames);\r\n\r\ndefineExpose({\r\n ...exposeFns,\r\n});\r\n</script>\r\n"],"names":["useSlots","ref","getGmExports"],"mappings":";;;;;;;;;;;;;;;;AAsBA,IAAA,MAAM,QAAQA,YAAS,EAAA,CAAA;AACvB,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AAEd,IAAA,MAAM,QAAQC,OAAsB,EAAA,CAAA;AACpC,IAAA,MAAM,cAAc,CAAC,MAAA,EAAQ,mBAAmB,eAAiB,EAAA,UAAA,EAAY,cAAc,eAAe,CAAA,CAAA;AAC1G,IAAA,MAAM,EAAE,SAAA,EAAc,GAAAC,sBAAA,CAAa,OAAO,WAAW,CAAA,CAAA;AAErD,IAAa,QAAA,CAAA;AAAA,MACX,GAAG,SAAA;AAAA,KACJ,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"FormItem.vue2.js","sources":["../../../../../../../packages/components/src/base/formItem/FormItem.vue"],"sourcesContent":["<template>\r\n <el-form-item ref=\"elRef\" v-bind=\"props\">\r\n <template v-if=\"slots.default\" #default=\"slotValue\">\r\n <slot v-bind=\"slotValue\" />\r\n </template>\r\n <template v-if=\"slots.label\" #label=\"slotValue\">\r\n <slot name=\"label\" v-bind=\"slotValue\" />\r\n </template>\r\n <template v-if=\"slots.error\" #error=\"slotValue\">\r\n <slot name=\"error\" v-bind=\"slotValue\" />\r\n </template>\r\n </el-form-item>\r\n</template>\r\n<script lang=\"ts\" setup>\r\nimport { ref, useSlots } from 'vue';\r\nimport { getGmExports } from '@giime/utils';\r\nimport { formItemExposeNames, formItemProps } from './formItem';\r\nimport type { FormItemInstance } from 'element-plus';\r\n\r\ndefineOptions({\r\n name: 'GmFormItem',\r\n});\r\nconst slots = useSlots();\r\nconst props = defineProps(formItemProps);\r\n\r\nconst elRef = ref<FormItemInstance>();\r\nconst { exposeFns } = getGmExports(elRef, formItemExposeNames);\r\n\r\ndefineExpose({\r\n ...exposeFns,\r\n});\r\n</script>\r\n"],"names":["useSlots","ref","getGmExports","formItemExposeNames"],"mappings":";;;;;;;;;;;;;;;;AAsBA,IAAA,MAAM,QAAQA,YAAS,EAAA,CAAA;AACvB,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AAEd,IAAA,MAAM,QAAQC,OAAsB,EAAA,CAAA;AACpC,IAAA,MAAM,EAAE,SAAA,EAAc,GAAAC,sBAAA,CAAa,OAAOC,4BAAmB,CAAA,CAAA;AAE7D,IAAa,QAAA,CAAA;AAAA,MACX,GAAG,SAAA;AAAA,KACJ,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -31,3 +31,4 @@ export declare const formItemProps: {
31
31
  __epPropKey: true;
32
32
  };
33
33
  };
34
+ export declare const formItemExposeNames: readonly ["size", "validateMessage", "validateState", "validate", "resetField", "clearValidate"];
@@ -5,6 +5,8 @@ var elementPlus = require('element-plus');
5
5
  const formItemProps = {
6
6
  ...elementPlus.formItemProps
7
7
  };
8
+ const formItemExposeNames = ["size", "validateMessage", "validateState", "validate", "resetField", "clearValidate"];
8
9
 
10
+ exports.formItemExposeNames = formItemExposeNames;
9
11
  exports.formItemProps = formItemProps;
10
12
  //# sourceMappingURL=formItem.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"formItem.js","sources":["../../../../../../../packages/components/src/base/formItem/formItem.ts"],"sourcesContent":["import { formItemProps as elFormItemProps } from 'element-plus';\r\n// import type { ExtractPropTypes } from 'vue';\r\n\r\nexport const formItemProps = {\r\n ...elFormItemProps,\r\n};\r\n\r\n// export const formItemEmits = {\r\n// ...elFormItemEmits,\r\n// // 自定义事件\r\n// // submit: (value: any) => !!value,\r\n// };\r\n"],"names":["elFormItemProps"],"mappings":";;;;AAGO,MAAM,aAAgB,GAAA;AAAA,EAC3B,GAAGA,yBAAA;AACL;;;;"}
1
+ {"version":3,"file":"formItem.js","sources":["../../../../../../../packages/components/src/base/formItem/formItem.ts"],"sourcesContent":["import { formItemProps as elFormItemProps } from 'element-plus';\r\n// import type { ExtractPropTypes } from 'vue';\r\n\r\nexport const formItemProps = {\r\n ...elFormItemProps,\r\n};\r\n\r\n// export const formItemEmits = {\r\n// ...elFormItemEmits,\r\n// // 自定义事件\r\n// // submit: (value: any) => !!value,\r\n// };\r\nexport const formItemExposeNames = ['size', 'validateMessage', 'validateState', 'validate', 'resetField', 'clearValidate'] as const;\r\n"],"names":["elFormItemProps"],"mappings":";;;;AAGO,MAAM,aAAgB,GAAA;AAAA,EAC3B,GAAGA,yBAAA;AACL,EAAA;AAOO,MAAM,sBAAsB,CAAC,MAAA,EAAQ,mBAAmB,eAAiB,EAAA,UAAA,EAAY,cAAc,eAAe;;;;;"}
@@ -9,6 +9,7 @@ var install = require('../../../../utils/src/vue/install.js');
9
9
 
10
10
  const GmFormItem = install.withInstall(FormItem.default);
11
11
 
12
+ exports.formItemExposeNames = formItem.formItemExposeNames;
12
13
  exports.formItemProps = formItem.formItemProps;
13
14
  exports.GmFormItem = GmFormItem;
14
15
  exports.default = GmFormItem;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../../../packages/components/src/base/formItem/index.ts"],"sourcesContent":["import { withInstall } from '@giime/utils';\r\nimport FormItem from './FormItem.vue';\r\n\r\nexport const GmFormItem = withInstall(FormItem);\r\nexport type FormItemInstance = InstanceType<typeof FormItem>;\r\nexport * from './formItem';\r\nexport default GmFormItem;\r\n"],"names":["withInstall","FormItem"],"mappings":";;;;;;;;;AAGa,MAAA,UAAA,GAAaA,oBAAYC,gBAAQ;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../../../packages/components/src/base/formItem/index.ts"],"sourcesContent":["import { withInstall } from '@giime/utils';\r\nimport FormItem from './FormItem.vue';\r\n\r\nexport const GmFormItem = withInstall(FormItem);\r\nexport type FormItemInstance = InstanceType<typeof FormItem>;\r\nexport * from './formItem';\r\nexport default GmFormItem;\r\n"],"names":["withInstall","FormItem"],"mappings":";;;;;;;;;AAGa,MAAA,UAAA,GAAaA,oBAAYC,gBAAQ;;;;;;;"}
@@ -348,6 +348,7 @@ exports.carouselEmits = carousel.carouselEmits;
348
348
  exports.carouselProps = carousel.carouselProps;
349
349
  exports.carouselItemProps = carouselItem.carouselItemProps;
350
350
  exports.cascaderEmits = cascader.cascaderEmits;
351
+ exports.cascaderExposeNames = cascader.cascaderExposeNames;
351
352
  exports.cascaderProps = cascader.cascaderProps;
352
353
  exports.cascaderPanelEmits = cascaderPanel.cascaderPanelEmits;
353
354
  exports.cascaderPanelProps = cascaderPanel.cascaderPanelProps;
@@ -408,6 +409,7 @@ exports.dropdownMenuProps = dropdownMenu.dropdownMenuProps;
408
409
  exports.emptyProps = empty.emptyProps;
409
410
  exports.formEmits = form.formEmits;
410
411
  exports.formProps = form.formProps;
412
+ exports.formItemExposeNames = formItem.formItemExposeNames;
411
413
  exports.formItemProps = formItem.formItemProps;
412
414
  exports.iconProps = icon.iconProps;
413
415
  exports.imageEmits = image.imageEmits;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}