@qynpm/ui 1.0.34 → 1.0.36

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 (126) hide show
  1. package/README.md +91 -56
  2. package/dist/index.cjs +7 -6
  3. package/dist/index.mjs +63 -61
  4. package/dist/qy-action-bar/index.cjs +1 -1
  5. package/dist/qy-action-bar/index.mjs +1 -1
  6. package/dist/qy-dialog/index.cjs +1 -1
  7. package/dist/qy-dialog/index.mjs +1 -1
  8. package/dist/qy-drawer/index.cjs +1 -1
  9. package/dist/qy-drawer/index.mjs +1 -1
  10. package/dist/qy-file-picker/index.cjs +1 -1
  11. package/dist/qy-file-picker/index.mjs +1 -1
  12. package/dist/qy-form-section/index.cjs +1 -1
  13. package/dist/qy-form-section/index.mjs +1 -1
  14. package/dist/qy-iframe/index.cjs +1 -1
  15. package/dist/qy-iframe/index.mjs +1 -1
  16. package/dist/qy-image/index.cjs +1 -1
  17. package/dist/qy-image/index.mjs +1 -1
  18. package/dist/qy-image-preview/index.cjs +1 -1
  19. package/dist/qy-image-preview/index.mjs +2 -2
  20. package/dist/qy-image-upload/index.cjs +1 -1
  21. package/dist/qy-image-upload/index.mjs +1 -1
  22. package/dist/qy-input-number/index.cjs +1 -1
  23. package/dist/qy-input-number/index.mjs +1 -1
  24. package/dist/qy-input-tag/index.cjs +1 -0
  25. package/dist/qy-input-tag/index.mjs +7 -0
  26. package/dist/qy-legacy-selection-dialog/index.cjs +1 -1
  27. package/dist/qy-legacy-selection-dialog/index.mjs +1 -1
  28. package/dist/qy-menu-actions/index.cjs +1 -1
  29. package/dist/qy-menu-actions/index.mjs +1 -1
  30. package/dist/qy-money-input/index.cjs +1 -1
  31. package/dist/qy-money-input/index.mjs +5 -2
  32. package/dist/qy-popover/index.cjs +1 -1
  33. package/dist/qy-popover/index.mjs +1 -1
  34. package/dist/qy-record-quote-search/index.cjs +1 -1
  35. package/dist/qy-record-quote-search/index.mjs +1 -1
  36. package/dist/qy-remark-image/index.cjs +1 -1
  37. package/dist/qy-remark-image/index.mjs +1 -1
  38. package/dist/qy-remote-select/index.cjs +1 -1
  39. package/dist/qy-remote-select/index.mjs +1 -1
  40. package/dist/qy-search-input/index.cjs +1 -1
  41. package/dist/qy-search-input/index.mjs +1 -1
  42. package/dist/qy-selection-dialog/index.cjs +1 -1
  43. package/dist/qy-selection-dialog/index.mjs +1 -1
  44. package/dist/qy-tree-select/index.cjs +1 -1
  45. package/dist/qy-tree-select/index.mjs +1 -1
  46. package/dist/qy-upload/index.cjs +1 -1
  47. package/dist/qy-upload/index.mjs +5 -2
  48. package/dist/shared/{index-IXbvJ9d7.mjs → index-4SkLDBra.mjs} +1 -1
  49. package/dist/shared/index-BYX0biqw.mjs +766 -0
  50. package/dist/shared/{index-n04hARNG.cjs → index-Bli6Gx5d.cjs} +1 -1
  51. package/dist/shared/{index-BBZQowyp.mjs → index-BuUtJrIy.mjs} +9 -9
  52. package/dist/shared/index-BxxwEr52.mjs +107 -0
  53. package/dist/shared/index-C1i-hd-W.cjs +1 -0
  54. package/dist/shared/{index-Dyyp1ix9.cjs → index-C7lRQtzs.cjs} +1 -1
  55. package/dist/shared/{index-C_adKysL.mjs → index-CdnHMuo3.mjs} +1 -1
  56. package/dist/shared/index-D654b42n.mjs +2754 -0
  57. package/dist/shared/{index-D6-K5xSD.cjs → index-DlGwHshu.cjs} +1 -1
  58. package/dist/shared/{index-BeubtXXl.cjs → index-DnHfk7NM.cjs} +1 -1
  59. package/dist/shared/index-DnNIseRJ.cjs +1 -0
  60. package/dist/shared/{index-ccugL1Ie.mjs → index-Dr-Q5krU.mjs} +4 -4
  61. package/dist/shared/index-aIqtIYsu.cjs +1 -0
  62. package/dist/shared/index.vue_vue_type_script_setup_true_lang-BiIgNax-.cjs +1 -0
  63. package/dist/shared/index.vue_vue_type_script_setup_true_lang-CqSJ_8hG.cjs +1 -0
  64. package/dist/shared/index.vue_vue_type_script_setup_true_lang-DIWWHODS.mjs +197 -0
  65. package/dist/shared/index.vue_vue_type_script_setup_true_lang-DwFGEW4B.mjs +143 -0
  66. package/dist/shared/{index.vue_vue_type_script_setup_true_lang-DoL8xnpo.mjs → index.vue_vue_type_script_setup_true_lang-IyZesuKm.mjs} +9 -9
  67. package/dist/shared/index.vue_vue_type_script_setup_true_lang-ccFLNRry.cjs +1 -0
  68. package/dist/shared/index.vue_vue_type_style_index_0_lang-B1FgJZbw.mjs +148 -0
  69. package/dist/shared/index.vue_vue_type_style_index_0_lang-DHK86rdP.cjs +1 -0
  70. package/dist/shared/index.vue_vue_type_style_index_0_lang-DVXf-yUs.cjs +1 -0
  71. package/dist/shared/{index.vue_vue_type_style_index_0_lang-BJXS2dVf.mjs → index.vue_vue_type_style_index_0_lang-DsOg_Rum.mjs} +19 -17
  72. package/dist/shared/utils-BjEXwY3L.cjs +1 -0
  73. package/dist/shared/utils-DoyI5oM8.mjs +148 -0
  74. package/index.d.ts +113 -56
  75. package/package.json +489 -483
  76. package/qy-alert/index.d.ts +64 -64
  77. package/qy-autocomplete/index.d.ts +5 -5
  78. package/qy-avatar/index.d.ts +67 -67
  79. package/qy-badge/index.d.ts +63 -63
  80. package/qy-card/index.d.ts +64 -64
  81. package/qy-cascader/index.d.ts +198 -198
  82. package/qy-collapse/index.d.ts +59 -59
  83. package/qy-collapse-item/index.d.ts +45 -45
  84. package/qy-descriptions/index.d.ts +47 -47
  85. package/qy-descriptions-item/index.d.ts +46 -46
  86. package/qy-dialog/index.d.ts +63 -63
  87. package/qy-divider/index.d.ts +53 -53
  88. package/qy-drawer/index.d.ts +55 -55
  89. package/qy-empty/index.d.ts +51 -51
  90. package/qy-file-picker/index.d.ts +4 -1
  91. package/qy-iframe/index.d.ts +66 -66
  92. package/qy-image/index.d.ts +28 -28
  93. package/qy-image-preview/index.d.ts +20 -20
  94. package/qy-image-upload/index.d.ts +69 -12
  95. package/qy-input/index.d.ts +76 -18
  96. package/qy-input-number/index.d.ts +64 -30
  97. package/qy-input-tag/index.d.ts +69 -0
  98. package/qy-link/index.d.ts +69 -69
  99. package/qy-loading/index.d.ts +25 -25
  100. package/qy-menu-actions/index.d.ts +29 -29
  101. package/qy-money-input/index.d.ts +87 -12
  102. package/qy-progress/index.d.ts +74 -74
  103. package/qy-result/index.d.ts +64 -64
  104. package/qy-scrollbar/index.d.ts +85 -85
  105. package/qy-skeleton/index.d.ts +54 -54
  106. package/qy-skeleton-item/index.d.ts +48 -48
  107. package/qy-step/index.d.ts +55 -55
  108. package/qy-steps/index.d.ts +62 -62
  109. package/qy-tab-pane/index.d.ts +40 -40
  110. package/qy-table-column-settings/index.d.ts +18 -18
  111. package/qy-tabs/index.d.ts +84 -84
  112. package/qy-tree/index.d.ts +132 -132
  113. package/qy-tree-select/index.d.ts +123 -123
  114. package/qy-upload/index.d.ts +99 -5
  115. package/dist/shared/index-BkX9xlbI.cjs +0 -1
  116. package/dist/shared/index-C_1KP3l9.mjs +0 -129
  117. package/dist/shared/index-Dw5upK-A.cjs +0 -1
  118. package/dist/shared/index-fh9l84rU.mjs +0 -3541
  119. package/dist/shared/index.vue_vue_type_script_setup_true_lang-5gku7Zwv.cjs +0 -1
  120. package/dist/shared/index.vue_vue_type_style_index_0_lang-B0CXLnL1.mjs +0 -132
  121. package/dist/shared/index.vue_vue_type_style_index_0_lang-DccRGtZE.cjs +0 -1
  122. package/dist/shared/index.vue_vue_type_style_index_0_lang-M0qKRXd2.cjs +0 -1
  123. package/dist/shared/utils-D2KAQCCB.cjs +0 -1
  124. package/dist/shared/utils-DUntDntI.mjs +0 -112
  125. /package/dist/shared/{index.vue_vue_type_script_setup_true_lang-q37rBg6Z.mjs → index.vue_vue_type_script_setup_true_lang-CGsXVhJy.mjs} +0 -0
  126. /package/dist/shared/{index.vue_vue_type_script_setup_true_lang-CglCPcj-.cjs → index.vue_vue_type_script_setup_true_lang-Dk83TGiU.cjs} +0 -0
@@ -1,123 +1,123 @@
1
- import type {
2
- ComponentOptionsMixin,
3
- DefineComponent,
4
- Plugin,
5
- PublicProps,
6
- SlotsType
7
- } from 'vue'
8
- import type { QyTreeCheckedInfo, QyTreeNodeSnapshot } from '../qy-tree'
9
-
10
- export type QyTreeSelectPrimitive = string | number | boolean
11
- export type QyTreeSelectObjectValue = Record<string, unknown>
12
- export type QyTreeSelectValue = QyTreeSelectPrimitive | QyTreeSelectObjectValue
13
- export type QyTreeSelectModelValue = QyTreeSelectValue | QyTreeSelectValue[] | null | undefined
14
- export type QyTreeSelectKey = string | number
15
- export type QyTreeSelectNodeData = object
16
- export type QyTreeSelectNodeSnapshot = QyTreeNodeSnapshot
17
-
18
- export type QyTreeSelectNodeProps = {
19
- value?: string | ((data: QyTreeSelectNodeData) => unknown)
20
- label?: string | ((data: QyTreeSelectNodeData) => string | number)
21
- children?: string | ((data: QyTreeSelectNodeData) => object[] | undefined)
22
- disabled?: string | ((data: QyTreeSelectNodeData) => boolean)
23
- isLeaf?: string | ((data: QyTreeSelectNodeData) => boolean)
24
- class?: string | ((data: QyTreeSelectNodeData, node: QyTreeSelectNodeSnapshot) => string | Record<string, boolean>)
25
- }
26
-
27
- export interface QyTreeSelectTagSnapshot {
28
- readonly value: QyTreeSelectValue
29
- readonly label: string
30
- readonly data?: QyTreeSelectNodeData
31
- readonly closable: boolean
32
- remove(): void
33
- }
34
-
35
- export interface QyTreeSelectProps {
36
- modelValue?: QyTreeSelectModelValue
37
- data?: QyTreeSelectNodeData[]
38
- options?: QyTreeSelectNodeData[]
39
- labelKey?: string
40
- valueKey?: string
41
- childrenKey?: string
42
- disabledKey?: string
43
- props?: QyTreeSelectNodeProps
44
- nodeKey?: string
45
- placeholder?: string
46
- disabled?: boolean
47
- clearable?: boolean
48
- filterable?: boolean
49
- filterMethod?: (keyword: string) => void
50
- remote?: boolean
51
- remoteMethod?: (keyword: string) => void
52
- remoteShowSuffix?: boolean
53
- loading?: boolean
54
- multiple?: boolean
55
- multipleLimit?: number
56
- collapseTags?: boolean
57
- collapseTagsTooltip?: boolean
58
- checkStrictly?: boolean
59
- showCheckbox?: boolean
60
- defaultExpandAll?: boolean
61
- renderAfterExpand?: boolean
62
- expandOnClickNode?: boolean
63
- checkOnClickNode?: boolean
64
- checkOnClickLeaf?: boolean
65
- checkDescendants?: boolean
66
- defaultExpandedKeys?: QyTreeSelectKey[]
67
- defaultCheckedKeys?: QyTreeSelectKey[]
68
- accordion?: boolean
69
- indent?: number
70
- highlightCurrent?: boolean
71
- lazy?: boolean
72
- load?: (node: QyTreeSelectNodeSnapshot, resolve: (data: QyTreeSelectNodeData[]) => void, reject: () => void) => void
73
- cacheData?: QyTreeSelectNodeData[]
74
- filterNodeMethod?: (value: unknown, data: QyTreeSelectNodeData, node: QyTreeSelectNodeSnapshot) => boolean
75
- size?: 'small' | 'default' | 'large'
76
- teleported?: boolean
77
- appendTo?: string | HTMLElement
78
- fitInputWidth?: boolean
79
- popperClass?: string
80
- }
81
-
82
- export type QyTreeSelectEmits = {
83
- 'update:modelValue': (value: QyTreeSelectModelValue) => void
84
- change: (value: QyTreeSelectModelValue) => void
85
- clear: () => void
86
- 'visible-change': (visible: boolean) => void
87
- focus: (event: FocusEvent) => void
88
- blur: (event: FocusEvent) => void
89
- 'node-click': (data: QyTreeSelectNodeData, node: QyTreeSelectNodeSnapshot) => void
90
- 'node-expand': (data: QyTreeSelectNodeData, node: QyTreeSelectNodeSnapshot) => void
91
- 'node-collapse': (data: QyTreeSelectNodeData, node: QyTreeSelectNodeSnapshot) => void
92
- 'check-change': (data: QyTreeSelectNodeData, checked: boolean, indeterminate: boolean) => void
93
- check: (data: QyTreeSelectNodeData, info: QyTreeCheckedInfo) => void
94
- }
95
-
96
- export interface QyTreeSelectExposed { focus(): void; blur(): void }
97
-
98
- export interface QyTreeSelectSlots {
99
- prefix?: () => unknown
100
- empty?: () => unknown
101
- loading?: () => unknown
102
- default?: (props: { data: QyTreeSelectNodeData; node: QyTreeSelectNodeSnapshot }) => unknown
103
- tag?: (props: { data: readonly QyTreeSelectTagSnapshot[] }) => unknown
104
- }
105
-
106
- type QyTreeSelectComponentProps = QyTreeSelectProps & {
107
- 'onUpdate:modelValue'?: QyTreeSelectEmits['update:modelValue']
108
- onChange?: QyTreeSelectEmits['change']
109
- onClear?: QyTreeSelectEmits['clear']
110
- 'onVisible-change'?: QyTreeSelectEmits['visible-change']
111
- onFocus?: QyTreeSelectEmits['focus']
112
- onBlur?: QyTreeSelectEmits['blur']
113
- 'onNode-click'?: QyTreeSelectEmits['node-click']
114
- 'onNode-expand'?: QyTreeSelectEmits['node-expand']
115
- 'onNode-collapse'?: QyTreeSelectEmits['node-collapse']
116
- 'onCheck-change'?: QyTreeSelectEmits['check-change']
117
- onCheck?: QyTreeSelectEmits['check']
118
- }
119
-
120
- declare const QyTreeSelect: DefineComponent<QyTreeSelectProps, QyTreeSelectExposed, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, QyTreeSelectEmits, string, PublicProps, QyTreeSelectComponentProps, {}, SlotsType<QyTreeSelectSlots>> & Plugin
121
-
122
- export { QyTreeSelect }
123
- export default QyTreeSelect
1
+ import type {
2
+ ComponentOptionsMixin,
3
+ DefineComponent,
4
+ Plugin,
5
+ PublicProps,
6
+ SlotsType
7
+ } from 'vue'
8
+ import type { QyTreeCheckedInfo, QyTreeNodeSnapshot } from '../qy-tree'
9
+
10
+ export type QyTreeSelectPrimitive = string | number | boolean
11
+ export type QyTreeSelectObjectValue = Record<string, unknown>
12
+ export type QyTreeSelectValue = QyTreeSelectPrimitive | QyTreeSelectObjectValue
13
+ export type QyTreeSelectModelValue = QyTreeSelectValue | QyTreeSelectValue[] | null | undefined
14
+ export type QyTreeSelectKey = string | number
15
+ export type QyTreeSelectNodeData = object
16
+ export type QyTreeSelectNodeSnapshot = QyTreeNodeSnapshot
17
+
18
+ export type QyTreeSelectNodeProps = {
19
+ value?: string | ((data: QyTreeSelectNodeData) => unknown)
20
+ label?: string | ((data: QyTreeSelectNodeData) => string | number)
21
+ children?: string | ((data: QyTreeSelectNodeData) => object[] | undefined)
22
+ disabled?: string | ((data: QyTreeSelectNodeData) => boolean)
23
+ isLeaf?: string | ((data: QyTreeSelectNodeData) => boolean)
24
+ class?: string | ((data: QyTreeSelectNodeData, node: QyTreeSelectNodeSnapshot) => string | Record<string, boolean>)
25
+ }
26
+
27
+ export interface QyTreeSelectTagSnapshot {
28
+ readonly value: QyTreeSelectValue
29
+ readonly label: string
30
+ readonly data?: QyTreeSelectNodeData
31
+ readonly closable: boolean
32
+ remove(): void
33
+ }
34
+
35
+ export interface QyTreeSelectProps {
36
+ modelValue?: QyTreeSelectModelValue
37
+ data?: QyTreeSelectNodeData[]
38
+ options?: QyTreeSelectNodeData[]
39
+ labelKey?: string
40
+ valueKey?: string
41
+ childrenKey?: string
42
+ disabledKey?: string
43
+ props?: QyTreeSelectNodeProps
44
+ nodeKey?: string
45
+ placeholder?: string
46
+ disabled?: boolean
47
+ clearable?: boolean
48
+ filterable?: boolean
49
+ filterMethod?: (keyword: string) => void
50
+ remote?: boolean
51
+ remoteMethod?: (keyword: string) => void
52
+ remoteShowSuffix?: boolean
53
+ loading?: boolean
54
+ multiple?: boolean
55
+ multipleLimit?: number
56
+ collapseTags?: boolean
57
+ collapseTagsTooltip?: boolean
58
+ checkStrictly?: boolean
59
+ showCheckbox?: boolean
60
+ defaultExpandAll?: boolean
61
+ renderAfterExpand?: boolean
62
+ expandOnClickNode?: boolean
63
+ checkOnClickNode?: boolean
64
+ checkOnClickLeaf?: boolean
65
+ checkDescendants?: boolean
66
+ defaultExpandedKeys?: QyTreeSelectKey[]
67
+ defaultCheckedKeys?: QyTreeSelectKey[]
68
+ accordion?: boolean
69
+ indent?: number
70
+ highlightCurrent?: boolean
71
+ lazy?: boolean
72
+ load?: (node: QyTreeSelectNodeSnapshot, resolve: (data: QyTreeSelectNodeData[]) => void, reject: () => void) => void
73
+ cacheData?: QyTreeSelectNodeData[]
74
+ filterNodeMethod?: (value: unknown, data: QyTreeSelectNodeData, node: QyTreeSelectNodeSnapshot) => boolean
75
+ size?: 'small' | 'default' | 'large'
76
+ teleported?: boolean
77
+ appendTo?: string | HTMLElement
78
+ fitInputWidth?: boolean
79
+ popperClass?: string
80
+ }
81
+
82
+ export type QyTreeSelectEmits = {
83
+ 'update:modelValue': (value: QyTreeSelectModelValue) => void
84
+ change: (value: QyTreeSelectModelValue) => void
85
+ clear: () => void
86
+ 'visible-change': (visible: boolean) => void
87
+ focus: (event: FocusEvent) => void
88
+ blur: (event: FocusEvent) => void
89
+ 'node-click': (data: QyTreeSelectNodeData, node: QyTreeSelectNodeSnapshot) => void
90
+ 'node-expand': (data: QyTreeSelectNodeData, node: QyTreeSelectNodeSnapshot) => void
91
+ 'node-collapse': (data: QyTreeSelectNodeData, node: QyTreeSelectNodeSnapshot) => void
92
+ 'check-change': (data: QyTreeSelectNodeData, checked: boolean, indeterminate: boolean) => void
93
+ check: (data: QyTreeSelectNodeData, info: QyTreeCheckedInfo) => void
94
+ }
95
+
96
+ export interface QyTreeSelectExposed { focus(): void; blur(): void }
97
+
98
+ export interface QyTreeSelectSlots {
99
+ prefix?: () => unknown
100
+ empty?: () => unknown
101
+ loading?: () => unknown
102
+ default?: (props: { data: QyTreeSelectNodeData; node: QyTreeSelectNodeSnapshot }) => unknown
103
+ tag?: (props: { data: readonly QyTreeSelectTagSnapshot[] }) => unknown
104
+ }
105
+
106
+ type QyTreeSelectComponentProps = QyTreeSelectProps & {
107
+ 'onUpdate:modelValue'?: QyTreeSelectEmits['update:modelValue']
108
+ onChange?: QyTreeSelectEmits['change']
109
+ onClear?: QyTreeSelectEmits['clear']
110
+ 'onVisible-change'?: QyTreeSelectEmits['visible-change']
111
+ onFocus?: QyTreeSelectEmits['focus']
112
+ onBlur?: QyTreeSelectEmits['blur']
113
+ 'onNode-click'?: QyTreeSelectEmits['node-click']
114
+ 'onNode-expand'?: QyTreeSelectEmits['node-expand']
115
+ 'onNode-collapse'?: QyTreeSelectEmits['node-collapse']
116
+ 'onCheck-change'?: QyTreeSelectEmits['check-change']
117
+ onCheck?: QyTreeSelectEmits['check']
118
+ }
119
+
120
+ declare const QyTreeSelect: DefineComponent<QyTreeSelectProps, QyTreeSelectExposed, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, QyTreeSelectEmits, string, PublicProps, QyTreeSelectComponentProps, {}, SlotsType<QyTreeSelectSlots>> & Plugin
121
+
122
+ export { QyTreeSelect }
123
+ export default QyTreeSelect
@@ -1,5 +1,99 @@
1
- import type { DefineComponent, Plugin } from 'vue'
2
-
3
- declare const QyUpload: DefineComponent<any, any, any> & Plugin
4
-
5
- export default QyUpload
1
+ import type {
2
+ ComponentOptionsMixin,
3
+ DefineComponent,
4
+ Plugin
5
+ } from 'vue'
6
+
7
+ export type QyUploadVariant = 'media-card' | 'file-list'
8
+ export type QyUploadValueFormat = 'object' | 'array' | 'string'
9
+ export type QyUploadInvalidCode = 'extension' | 'size'
10
+
11
+ export interface QyUploadValue {
12
+ files: string[]
13
+ text: string
14
+ }
15
+
16
+ export interface QyUploadResult {
17
+ url: string
18
+ name?: string
19
+ }
20
+
21
+ export interface QyUploadRequestContext {
22
+ file: File
23
+ formData: FormData
24
+ api: string
25
+ name: string
26
+ tokenKey: string
27
+ extraData: Record<string, unknown>
28
+ }
29
+
30
+ export type QyUploadRequest = (
31
+ context: QyUploadRequestContext
32
+ ) => Promise<QyUploadResult>
33
+
34
+ export interface QyUploadInvalidDetail {
35
+ code: QyUploadInvalidCode
36
+ file: File
37
+ message: string
38
+ }
39
+
40
+ export interface QyUploadProps {
41
+ modelValue?: QyUploadValue | string[] | string
42
+ selectedFiles?: File[]
43
+ autoUpload?: boolean
44
+ variant?: QyUploadVariant
45
+ defaultValue?: { files?: string | string[]; text?: string }
46
+ valueFormat?: QyUploadValueFormat
47
+ showText?: boolean
48
+ showPasteInput?: boolean
49
+ pastePlaceholder?: string
50
+ multiple?: boolean
51
+ disabled?: boolean
52
+ fileType?: string[]
53
+ fileSize?: number
54
+ limit?: number
55
+ isShowTip?: boolean
56
+ api?: string
57
+ name?: string
58
+ tokenKey?: string
59
+ supportVideo?: boolean
60
+ size?: string
61
+ disableDrag?: boolean
62
+ callBack?: (value: QyUploadValue) => void
63
+ extraData?: Record<string, unknown>
64
+ uploadRequest?: QyUploadRequest
65
+ }
66
+
67
+ export interface QyUploadExposed {
68
+ openFileDialog(): void
69
+ clearFiles(): void
70
+ getPathList(): string[]
71
+ getValue(): QyUploadValue
72
+ getModelValue(): QyUploadValue | string[] | string
73
+ }
74
+
75
+ export type QyUploadEmits = {
76
+ 'update:modelValue': (value: QyUploadValue | string[] | string) => void
77
+ 'update:selectedFiles': (files: File[]) => void
78
+ selectedFilesChange: (files: File[]) => void
79
+ change: (value: QyUploadValue) => void
80
+ success: (result: QyUploadResult) => void
81
+ error: (error: unknown) => void
82
+ remove: (file: unknown, files: unknown[]) => void
83
+ invalid: (detail: QyUploadInvalidDetail) => void
84
+ }
85
+
86
+ declare const QyUpload: DefineComponent<
87
+ QyUploadProps,
88
+ QyUploadExposed,
89
+ {},
90
+ {},
91
+ {},
92
+ ComponentOptionsMixin,
93
+ ComponentOptionsMixin,
94
+ QyUploadEmits
95
+ > &
96
+ Plugin
97
+
98
+ export { QyUpload }
99
+ export default QyUpload
@@ -1 +0,0 @@
1
- "use strict";const e=require("vue"),M=require("./_plugin-vue_export-helper-BHFhmbuH.cjs"),V=["accept","disabled"],D=["tabindex","aria-disabled","onKeydown"],z={class:"qy-file-picker__label"},B={key:0,class:"qy-file-picker__hint"},q=["disabled"],E=e.defineComponent({name:"QyFilePicker",__name:"index",props:{modelValue:{default:null},extensions:{default:()=>[]},maxSizeMb:{default:20},disabled:{type:Boolean,default:!1},drag:{type:Boolean,default:!0},placeholder:{default:"请选择文件"}},emits:["update:modelValue","change","clear","invalid"],setup(a,{expose:h,emit:b}){const i=a,o=b,d=e.ref(null),s=e.ref(!1),c=e.computed(()=>i.extensions.map(t=>t.trim().replace(/^\./,"").toLowerCase()).filter(Boolean)),g=e.computed(()=>c.value.map(t=>`.${t}`).join(","));function u(){var t;i.disabled||(t=d.value)==null||t.click()}function p(){f(),o("update:modelValue",null),o("change",null),o("clear")}function k(){i.disabled||p()}function y(t){var r;const l=(r=t.target.files)==null?void 0:r[0];if(i.disabled||!l){f();return}v(l)}function m(){!i.disabled&&i.drag&&(s.value=!0)}function x(){s.value=!1}function w(t){var l,r;if(s.value=!1,i.disabled||!i.drag)return;const n=(r=(l=t.dataTransfer)==null?void 0:l.files)==null?void 0:r[0];n&&v(n)}function v(t){const n=C(t);if(f(),n){o("invalid",n);return}o("update:modelValue",t),o("change",t)}function C(t){return c.value.length>0&&!c.value.includes(_(t.name))?{code:"extension",file:t,message:`文件后缀必须为 ${c.value.map(n=>`.${n}`).join("、")}`}:i.maxSizeMb>0&&t.size>i.maxSizeMb*1024*1024?{code:"size",file:t,message:`文件大小不能超过 ${i.maxSizeMb}MB`}:null}function _(t){const n=t.lastIndexOf(".");return n<=0||n===t.length-1?"":t.slice(n+1).toLowerCase()}function f(){d.value&&(d.value.value="")}return h({openFileDialog:u,clear:p}),(t,n)=>{var l;return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["qy-file-picker",{"is-disabled":a.disabled,"is-dragover":s.value}])},[e.createElementVNode("input",{ref_key:"inputRef",ref:d,class:"qy-file-picker__input",type:"file",accept:g.value,disabled:a.disabled,onChange:y},null,40,V),e.createElementVNode("div",{class:e.normalizeClass(["qy-file-picker__dropzone",{"is-click-only":!a.drag}]),role:"button",tabindex:a.disabled?-1:0,"aria-disabled":a.disabled?"true":void 0,onClick:u,onKeydown:[e.withKeys(e.withModifiers(u,["prevent"]),["enter"]),e.withKeys(e.withModifiers(u,["prevent"]),["space"])],onDragenter:e.withModifiers(m,["prevent"]),onDragover:e.withModifiers(m,["prevent"]),onDragleave:e.withModifiers(x,["prevent"]),onDrop:e.withModifiers(w,["prevent"])},[e.createElementVNode("span",z,e.toDisplayString(((l=a.modelValue)==null?void 0:l.name)||a.placeholder),1),a.drag?(e.openBlock(),e.createElementBlock("span",B," 点击选择或拖拽单个文件到此处 ")):e.createCommentVNode("",!0)],42,D),a.modelValue?(e.openBlock(),e.createElementBlock("button",{key:0,class:"qy-file-picker__clear",type:"button",disabled:a.disabled,onClick:e.withModifiers(k,["stop"])}," 清空 ",8,q)):e.createCommentVNode("",!0)],2)}}}),F=M._export_sfc(E,[["__scopeId","data-v-dd254c99"]]);exports.FilePicker=F;
@@ -1,129 +0,0 @@
1
- import { defineComponent as E, ref as y, computed as k, openBlock as p, createElementBlock as m, normalizeClass as x, createElementVNode as v, withModifiers as i, withKeys as _, toDisplayString as I, createCommentVNode as C } from "vue";
2
- import { _ as $ } from "./_plugin-vue_export-helper-CHgC5LLL.mjs";
3
- const K = ["accept", "disabled"], j = ["tabindex", "aria-disabled", "onKeydown"], L = { class: "qy-file-picker__label" }, P = {
4
- key: 0,
5
- class: "qy-file-picker__hint"
6
- }, R = ["disabled"], O = /* @__PURE__ */ E({
7
- name: "QyFilePicker",
8
- __name: "index",
9
- props: {
10
- modelValue: { default: null },
11
- extensions: { default: () => [] },
12
- maxSizeMb: { default: 20 },
13
- disabled: { type: Boolean, default: !1 },
14
- drag: { type: Boolean, default: !0 },
15
- placeholder: { default: "请选择文件" }
16
- },
17
- emits: ["update:modelValue", "change", "clear", "invalid"],
18
- setup(n, { expose: D, emit: z }) {
19
- const t = n, o = z, s = y(null), r = y(!1), c = k(
20
- () => t.extensions.map((e) => e.trim().replace(/^\./, "").toLowerCase()).filter(Boolean)
21
- ), V = k(
22
- () => c.value.map((e) => `.${e}`).join(",")
23
- );
24
- function u() {
25
- var e;
26
- t.disabled || (e = s.value) == null || e.click();
27
- }
28
- function b() {
29
- f(), o("update:modelValue", null), o("change", null), o("clear");
30
- }
31
- function q() {
32
- t.disabled || b();
33
- }
34
- function w(e) {
35
- var d;
36
- const l = (d = e.target.files) == null ? void 0 : d[0];
37
- if (t.disabled || !l) {
38
- f();
39
- return;
40
- }
41
- h(l);
42
- }
43
- function g() {
44
- !t.disabled && t.drag && (r.value = !0);
45
- }
46
- function B() {
47
- r.value = !1;
48
- }
49
- function F(e) {
50
- var l, d;
51
- if (r.value = !1, t.disabled || !t.drag) return;
52
- const a = (d = (l = e.dataTransfer) == null ? void 0 : l.files) == null ? void 0 : d[0];
53
- a && h(a);
54
- }
55
- function h(e) {
56
- const a = M(e);
57
- if (f(), a) {
58
- o("invalid", a);
59
- return;
60
- }
61
- o("update:modelValue", e), o("change", e);
62
- }
63
- function M(e) {
64
- return c.value.length > 0 && !c.value.includes(S(e.name)) ? {
65
- code: "extension",
66
- file: e,
67
- message: `文件后缀必须为 ${c.value.map((a) => `.${a}`).join("、")}`
68
- } : t.maxSizeMb > 0 && e.size > t.maxSizeMb * 1024 * 1024 ? {
69
- code: "size",
70
- file: e,
71
- message: `文件大小不能超过 ${t.maxSizeMb}MB`
72
- } : null;
73
- }
74
- function S(e) {
75
- const a = e.lastIndexOf(".");
76
- return a <= 0 || a === e.length - 1 ? "" : e.slice(a + 1).toLowerCase();
77
- }
78
- function f() {
79
- s.value && (s.value.value = "");
80
- }
81
- return D({
82
- openFileDialog: u,
83
- clear: b
84
- }), (e, a) => {
85
- var l;
86
- return p(), m("div", {
87
- class: x(["qy-file-picker", { "is-disabled": n.disabled, "is-dragover": r.value }])
88
- }, [
89
- v("input", {
90
- ref_key: "inputRef",
91
- ref: s,
92
- class: "qy-file-picker__input",
93
- type: "file",
94
- accept: V.value,
95
- disabled: n.disabled,
96
- onChange: w
97
- }, null, 40, K),
98
- v("div", {
99
- class: x(["qy-file-picker__dropzone", { "is-click-only": !n.drag }]),
100
- role: "button",
101
- tabindex: n.disabled ? -1 : 0,
102
- "aria-disabled": n.disabled ? "true" : void 0,
103
- onClick: u,
104
- onKeydown: [
105
- _(i(u, ["prevent"]), ["enter"]),
106
- _(i(u, ["prevent"]), ["space"])
107
- ],
108
- onDragenter: i(g, ["prevent"]),
109
- onDragover: i(g, ["prevent"]),
110
- onDragleave: i(B, ["prevent"]),
111
- onDrop: i(F, ["prevent"])
112
- }, [
113
- v("span", L, I(((l = n.modelValue) == null ? void 0 : l.name) || n.placeholder), 1),
114
- n.drag ? (p(), m("span", P, " 点击选择或拖拽单个文件到此处 ")) : C("", !0)
115
- ], 42, j),
116
- n.modelValue ? (p(), m("button", {
117
- key: 0,
118
- class: "qy-file-picker__clear",
119
- type: "button",
120
- disabled: n.disabled,
121
- onClick: i(q, ["stop"])
122
- }, " 清空 ", 8, R)) : C("", !0)
123
- ], 2);
124
- };
125
- }
126
- }), A = /* @__PURE__ */ $(O, [["__scopeId", "data-v-dd254c99"]]);
127
- export {
128
- A as F
129
- };