@qynpm/ui 0.0.2 → 1.0.4
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.
- package/README.md +183 -8
- package/dist/_virtual/plugin-vue_export-helper.cjs +1 -0
- package/dist/_virtual/plugin-vue_export-helper.mjs +9 -0
- package/dist/index.cjs +1 -0
- package/dist/index.mjs +17 -0
- package/dist/lib/dialog/index.vue.cjs +1 -0
- package/dist/lib/dialog/index.vue.mjs +326 -0
- package/dist/lib/index.cjs +1 -0
- package/dist/lib/index.mjs +40 -0
- package/dist/lib/qy-action-bar/index.vue.cjs +1 -0
- package/dist/lib/qy-action-bar/index.vue.mjs +56 -0
- package/dist/lib/qy-form-section/index.vue.cjs +1 -0
- package/dist/lib/qy-form-section/index.vue.mjs +89 -0
- package/dist/lib/qy-input/index.vue.cjs +1 -0
- package/dist/lib/qy-input/index.vue.mjs +142 -0
- package/dist/lib/qy-record-quote-search/index.vue.cjs +1 -0
- package/dist/lib/qy-record-quote-search/index.vue.mjs +206 -0
- package/dist/lib/qy-search-input/index.vue.cjs +1 -0
- package/dist/lib/qy-search-input/index.vue.mjs +277 -0
- package/dist/lib/qy-select/index.vue.cjs +1 -0
- package/dist/lib/qy-select/index.vue.mjs +137 -0
- package/dist/lib/remark-image/index.vue.cjs +1 -0
- package/dist/lib/remark-image/index.vue.mjs +198 -0
- package/dist/lib/remark-image/utils.cjs +1 -0
- package/dist/lib/remark-image/utils.mjs +22 -0
- package/dist/lib/upload/index.vue.cjs +1 -0
- package/dist/lib/upload/index.vue.mjs +382 -0
- package/dist/lib/utils/auth.cjs +1 -0
- package/dist/lib/utils/auth.mjs +8 -0
- package/dist/lib/utils/install.cjs +1 -0
- package/dist/lib/utils/install.mjs +8 -0
- package/dist/node_modules/.pnpm/js-cookie@3.0.1/node_modules/js-cookie/dist/js.cookie.cjs +1 -0
- package/dist/node_modules/.pnpm/js-cookie@3.0.1/node_modules/js-cookie/dist/js.cookie.mjs +74 -0
- package/dist/qy-action-bar/index.cjs +1 -0
- package/dist/qy-action-bar/index.mjs +6 -0
- package/dist/qy-dialog/index.cjs +1 -0
- package/dist/qy-dialog/index.mjs +6 -0
- package/dist/qy-form-section/index.cjs +1 -0
- package/dist/qy-form-section/index.mjs +6 -0
- package/dist/qy-input/index.cjs +1 -0
- package/dist/qy-input/index.mjs +6 -0
- package/dist/qy-record-quote-search/index.cjs +1 -0
- package/dist/qy-record-quote-search/index.mjs +6 -0
- package/dist/qy-remark-image/index.cjs +2 -0
- package/dist/qy-remark-image/index.mjs +7 -0
- package/dist/qy-search-input/index.cjs +1 -0
- package/dist/qy-search-input/index.mjs +6 -0
- package/dist/qy-select/index.cjs +1 -0
- package/dist/qy-select/index.mjs +6 -0
- package/dist/qy-upload/index.cjs +1 -0
- package/dist/qy-upload/index.mjs +6 -0
- package/index.d.ts +16 -4
- package/package.json +60 -7
- package/qy-action-bar/index.d.ts +5 -0
- package/qy-action-bar/index.js +4 -0
- package/qy-dialog/index.d.ts +5 -0
- package/qy-dialog/index.js +4 -0
- package/qy-form-section/index.d.ts +5 -0
- package/qy-form-section/index.js +4 -0
- package/qy-input/index.d.ts +5 -0
- package/qy-input/index.js +4 -0
- package/qy-record-quote-search/index.d.ts +5 -0
- package/qy-record-quote-search/index.js +4 -0
- package/qy-remark-image/index.d.ts +5 -0
- package/qy-remark-image/index.js +4 -0
- package/qy-search-input/index.d.ts +5 -0
- package/qy-search-input/index.js +4 -0
- package/qy-select/index.d.ts +5 -0
- package/qy-select/index.js +4 -0
- package/qy-upload/index.d.ts +5 -0
- package/qy-upload/index.js +4 -0
- package/dist/ui.es.js +0 -994
- package/dist/ui.umd.js +0 -2
- package/index.js +0 -9
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# @qynpm/ui
|
|
2
2
|
|
|
3
|
-
起印体系内抽离出来的 Vue 3 UI
|
|
3
|
+
起印体系内抽离出来的 Vue 3 UI 组件包,当前主要包含基础输入组件、选择器组件、区块容器、底部操作栏,以及上传、弹窗、备注图文等通用能力。
|
|
4
4
|
|
|
5
5
|
## 安装
|
|
6
6
|
|
|
@@ -32,12 +32,36 @@ app.use(QyUI)
|
|
|
32
32
|
也可以按需引入:
|
|
33
33
|
|
|
34
34
|
```ts
|
|
35
|
-
import {
|
|
35
|
+
import {
|
|
36
|
+
QyUpload,
|
|
37
|
+
QyDialog,
|
|
38
|
+
QyRemarkImage,
|
|
39
|
+
QyInput,
|
|
40
|
+
QySelect,
|
|
41
|
+
QyFormSection,
|
|
42
|
+
QyActionBar,
|
|
43
|
+
QySearchInput,
|
|
44
|
+
QyRecordQuoteSearch
|
|
45
|
+
} from '@qynpm/ui'
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
也可以按需引入单个组件入口:
|
|
49
|
+
|
|
50
|
+
```ts
|
|
51
|
+
import QyInput from '@qynpm/ui/qy-input'
|
|
52
|
+
import QySelect from '@qynpm/ui/qy-select'
|
|
53
|
+
import QyFormSection from '@qynpm/ui/qy-form-section'
|
|
54
|
+
import QyActionBar from '@qynpm/ui/qy-action-bar'
|
|
55
|
+
import QySearchInput from '@qynpm/ui/qy-search-input'
|
|
56
|
+
import QyRecordQuoteSearch from '@qynpm/ui/qy-record-quote-search'
|
|
57
|
+
import QyDialog from '@qynpm/ui/qy-dialog'
|
|
58
|
+
import QyUpload from '@qynpm/ui/qy-upload'
|
|
59
|
+
import QyRemarkImage from '@qynpm/ui/qy-remark-image'
|
|
36
60
|
```
|
|
37
61
|
|
|
38
62
|
## 组件说明
|
|
39
63
|
|
|
40
|
-
### `
|
|
64
|
+
### `QyUpload`
|
|
41
65
|
|
|
42
66
|
上传组件,支持:
|
|
43
67
|
|
|
@@ -70,6 +94,74 @@ import { Upload, QyDialog } from '@qynpm/ui'
|
|
|
70
94
|
- 自定义 footer
|
|
71
95
|
- 移动端自动全屏
|
|
72
96
|
|
|
97
|
+
### `QyInput`
|
|
98
|
+
|
|
99
|
+
输入组件,第一版定位为 `ElInput` 的轻量包装层,重点支持:
|
|
100
|
+
|
|
101
|
+
- 保持和 `ElInput` 接近的使用方式
|
|
102
|
+
- `removeSpace`
|
|
103
|
+
- `trimMode`
|
|
104
|
+
- `enter`
|
|
105
|
+
- `textarea`
|
|
106
|
+
- 兼容常见 slots 与 expose 方法
|
|
107
|
+
|
|
108
|
+
### `QySelect`
|
|
109
|
+
|
|
110
|
+
选择器组件,第一版定位为 `ElSelect` 的轻量包装层,重点支持:
|
|
111
|
+
|
|
112
|
+
- `options` 直出
|
|
113
|
+
- `labelKey / valueKey / disabledKey` 映射
|
|
114
|
+
- 单选 / 多选
|
|
115
|
+
- `collapse-tags`
|
|
116
|
+
- 默认弹层挂载策略
|
|
117
|
+
- 保留原生 slot 扩展
|
|
118
|
+
|
|
119
|
+
### `QyFormSection`
|
|
120
|
+
|
|
121
|
+
区块容器组件,适合录单页面的表单区块外壳,重点支持:
|
|
122
|
+
|
|
123
|
+
- 标题
|
|
124
|
+
- 描述
|
|
125
|
+
- 操作区 slot
|
|
126
|
+
- 提示区
|
|
127
|
+
- 简单折叠
|
|
128
|
+
- 统一边框、背景和间距
|
|
129
|
+
|
|
130
|
+
### `QyActionBar`
|
|
131
|
+
|
|
132
|
+
底部操作栏组件,适合录单页面底部按钮区,重点支持:
|
|
133
|
+
|
|
134
|
+
- sticky 吸底
|
|
135
|
+
- 左右分区
|
|
136
|
+
- 窄屏换行
|
|
137
|
+
- 边框 / 阴影
|
|
138
|
+
- 底部安全区适配
|
|
139
|
+
|
|
140
|
+
### `QySearchInput`
|
|
141
|
+
|
|
142
|
+
搜索输入组件,支持:
|
|
143
|
+
|
|
144
|
+
- 基于 `ElAutocomplete` 的等价封装
|
|
145
|
+
- 搜索按钮
|
|
146
|
+
- 回车搜索
|
|
147
|
+
- 本地建议项
|
|
148
|
+
- 远程建议项
|
|
149
|
+
- 兼容 `fetch-suggestions(queryString, cb)` 回调风格
|
|
150
|
+
- 高亮匹配词
|
|
151
|
+
- 默认使用 Element Plus 弹层挂载策略,避免被父级裁剪
|
|
152
|
+
- 平铺项和分组项两种建议结构
|
|
153
|
+
|
|
154
|
+
### `QyRecordQuoteSearch`
|
|
155
|
+
|
|
156
|
+
录单报价单号搜索组件,支持:
|
|
157
|
+
|
|
158
|
+
- 报价单号输入
|
|
159
|
+
- 报价单号提取与规范化
|
|
160
|
+
- 搜索触发
|
|
161
|
+
- 建议项选择
|
|
162
|
+
- 局部状态提示
|
|
163
|
+
- `loading-change / success / error` 事件
|
|
164
|
+
|
|
73
165
|
## 样式说明
|
|
74
166
|
|
|
75
167
|
- 包内样式会跟随构建产物一起注入
|
|
@@ -78,11 +170,11 @@ import { Upload, QyDialog } from '@qynpm/ui'
|
|
|
78
170
|
|
|
79
171
|
## 使用示例
|
|
80
172
|
|
|
81
|
-
###
|
|
173
|
+
### QyUpload
|
|
82
174
|
|
|
83
175
|
```vue
|
|
84
176
|
<template>
|
|
85
|
-
<
|
|
177
|
+
<QyUpload
|
|
86
178
|
api="/permission-api/common/uploads"
|
|
87
179
|
token-key="Admin-Token"
|
|
88
180
|
@change="handleChange"
|
|
@@ -94,9 +186,86 @@ import { Upload, QyDialog } from '@qynpm/ui'
|
|
|
94
186
|
|
|
95
187
|
```vue
|
|
96
188
|
<template>
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
189
|
+
<QyDialog title="标题" @confirm="handleConfirm">
|
|
190
|
+
内容区域
|
|
191
|
+
</QyDialog>
|
|
192
|
+
</template>
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
### QyInput
|
|
196
|
+
|
|
197
|
+
```vue
|
|
198
|
+
<template>
|
|
199
|
+
<QyInput
|
|
200
|
+
v-model="quoteOrderCode"
|
|
201
|
+
remove-space
|
|
202
|
+
trim-mode="blur"
|
|
203
|
+
placeholder="填写报价单,回车搜索"
|
|
204
|
+
@enter="handleSearch"
|
|
205
|
+
/>
|
|
206
|
+
</template>
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
### QySelect
|
|
210
|
+
|
|
211
|
+
```vue
|
|
212
|
+
<template>
|
|
213
|
+
<QySelect
|
|
214
|
+
v-model="shopCode"
|
|
215
|
+
:options="shopOptions"
|
|
216
|
+
placeholder="请选择店铺"
|
|
217
|
+
/>
|
|
218
|
+
</template>
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
### QyFormSection
|
|
222
|
+
|
|
223
|
+
```vue
|
|
224
|
+
<template>
|
|
225
|
+
<QyFormSection title="订单信息" description="这里放订单表单区块">
|
|
226
|
+
<el-form>...</el-form>
|
|
227
|
+
</QyFormSection>
|
|
228
|
+
</template>
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
### QyActionBar
|
|
232
|
+
|
|
233
|
+
```vue
|
|
234
|
+
<template>
|
|
235
|
+
<QyActionBar>
|
|
236
|
+
<template #left>
|
|
237
|
+
<el-button plain>开票</el-button>
|
|
238
|
+
</template>
|
|
239
|
+
<template #right>
|
|
240
|
+
<el-button>保存</el-button>
|
|
241
|
+
<el-button type="primary">提交</el-button>
|
|
242
|
+
</template>
|
|
243
|
+
</QyActionBar>
|
|
244
|
+
</template>
|
|
245
|
+
```
|
|
246
|
+
|
|
247
|
+
### QySearchInput
|
|
248
|
+
|
|
249
|
+
```vue
|
|
250
|
+
<template>
|
|
251
|
+
<QySearchInput
|
|
252
|
+
v-model="keyword"
|
|
253
|
+
:fetch-suggestions-method="querySearch"
|
|
254
|
+
@search="handleSearch"
|
|
255
|
+
/>
|
|
256
|
+
</template>
|
|
257
|
+
```
|
|
258
|
+
|
|
259
|
+
### QyRecordQuoteSearch
|
|
260
|
+
|
|
261
|
+
```vue
|
|
262
|
+
<template>
|
|
263
|
+
<QyRecordQuoteSearch
|
|
264
|
+
v-model="quoteOrderCode"
|
|
265
|
+
:fetch-suggestions="fetchQuoteSuggestions"
|
|
266
|
+
:search-method="handleQuoteSearch"
|
|
267
|
+
@search="handleSearch"
|
|
268
|
+
/>
|
|
100
269
|
</template>
|
|
101
270
|
```
|
|
102
271
|
|
|
@@ -104,6 +273,12 @@ import { Upload, QyDialog } from '@qynpm/ui'
|
|
|
104
273
|
|
|
105
274
|
- 当前版本更适合体系内拆包复用
|
|
106
275
|
- 上传默认值仍然保留了现有项目约定,后续如果完全独立对外,可以再继续抽离
|
|
276
|
+
- `QyInput` 第一版优先兼容 `ElInput`,后续再逐步补统一输入规则
|
|
277
|
+
- `QySelect` 第一版优先兼容 `ElSelect`,不内置远程字典或复杂请求能力
|
|
278
|
+
- `QyFormSection` 只负责区块壳,不替代 `@qiyin/form` 的 schema / 校验能力
|
|
279
|
+
- `QyActionBar` 只负责底部布局壳,不负责编排按钮业务逻辑
|
|
280
|
+
- `QySearchInput` 第一版已经覆盖建议搜索场景,但仍然不承接页面级副作用
|
|
281
|
+
- `QyRecordQuoteSearch` 只承接报价单搜索入口逻辑,不直接改整页录单状态
|
|
107
282
|
|
|
108
283
|
## 当前联调说明
|
|
109
284
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const u=(e,o)=>{const t=e.__vccOpts||e;for(const[r,s]of o)t[r]=s;return t};exports.default=u;
|
package/dist/index.cjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./lib/index.cjs"),a=require("./lib/remark-image/utils.cjs");exports.QyActionBar=e.QyActionBar;exports.QyDialog=e.QyDialog;exports.QyFormSection=e.QyFormSection;exports.QyInput=e.QyInput;exports.QyRecordQuoteSearch=e.QyRecordQuoteSearch;exports.QyRemarkImage=e.QyRemarkImage;exports.QySearchInput=e.QySearchInput;exports.QySelect=e.QySelect;exports.QyUpload=e.QyUpload;exports.default=e.default;exports.formatRemarkText=a.formatRemarkText;exports.parseRemarkText=a.parseRemarkText;exports.parseRemarkWithImage=a.parseRemarkWithImage;
|
package/dist/index.mjs
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { QyActionBar as a, QyDialog as t, QyFormSection as o, QyInput as m, QyRecordQuoteSearch as Q, QyRemarkImage as y, QySearchInput as p, QySelect as c, QyUpload as R, default as f } from "./lib/index.mjs";
|
|
2
|
+
import { formatRemarkText as k, parseRemarkText as l, parseRemarkWithImage as n } from "./lib/remark-image/utils.mjs";
|
|
3
|
+
export {
|
|
4
|
+
a as QyActionBar,
|
|
5
|
+
t as QyDialog,
|
|
6
|
+
o as QyFormSection,
|
|
7
|
+
m as QyInput,
|
|
8
|
+
Q as QyRecordQuoteSearch,
|
|
9
|
+
y as QyRemarkImage,
|
|
10
|
+
p as QySearchInput,
|
|
11
|
+
c as QySelect,
|
|
12
|
+
R as QyUpload,
|
|
13
|
+
f as default,
|
|
14
|
+
k as formatRemarkText,
|
|
15
|
+
l as parseRemarkText,
|
|
16
|
+
n as parseRemarkWithImage
|
|
17
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const Z=require("element-plus/es"),e=require("vue"),U=require("clsx"),A=require("element-plus"),H=require("@vueuse/core");;/* empty css */const X={class:"text-lg flex items-center pt-2 pl-[var(--content-padding)]"},W={key:0},Y={key:1},G={key:0,class:"icon-[material-symbols--square-outline-rounded]",role:"img","aria-hidden":"true"},J={key:1,class:"icon-[tdesign--fullscreen-exit-1]",role:"img","aria-hidden":"true"},K={key:0,class:"fixed -right-12 top-2 h-9 w-9 hover:bg-gray-600/80 transition-all"},Q={class:"flex justify-between h-[var(--footer-height)] px-[var(--content-padding)] items-center"},ee={class:"flex items-center justify-between w-full pl-1 pr-4 h-full ml-2"},te={class:"flex items-center gap-2"},oe={class:"text-sm text-gray-700 truncate max-w-[200px]"},le={class:"flex items-center gap-2"},L=5,C=2e3,ne=e.defineComponent({__name:"index",props:e.mergeModels({layout:{type:[Array,String,Boolean],default:()=>["confirm","cancel"]},fullscreen:{type:Boolean,default:!1},showFullscreen:{type:Boolean,default:!1},confirmProps:{default:()=>({})},size:{default:"default"},zIndex:{default:2e3}},{modelValue:{default:!0},modelModifiers:{}}),emits:e.mergeModels(["confirm","cancel","close","opened","ok"],["update:modelValue"]),setup(E,{expose:O,emit:j}){const l=E,y=e.useSlots(),M=e.ref(!0),v=e.ref(!1),b=e.ref(C),P=H.useBreakpoints({mobile:0,tablet:640,laptop:1024,desktop:1280}).isSmaller("tablet"),w=e.computed(()=>{if(Array.isArray(l.layout))return l.layout;if(typeof l.layout=="string")return l.layout.split(",").map(o=>o.trim())}),B=e.computed(()=>({CancelButton:e.createVNode(I),ConfirmButton:e.createVNode(S)})),z=e.computed(()=>y.footer||l.layout!==!1),h=e.ref(!1),s=e.ref(l.showFullscreen&&P?!0:l.fullscreen),d=j,x=e.useModel(E,"modelValue");e.watchEffect(()=>{x.value&&(h.value=!1)}),O({});const k=e.useAttrs(),i=`qy-dialog-${Math.random().toString(36).slice(2,11)}`,a=e.ref(!1),u=e.ref(null);window.minimizedCount||(window.minimizedCount=0);const{x:q,y:_}=H.useDraggable(u,{initialValue:{x:5,y:window.innerHeight-100-(window.minimizedCount||0)*60},onMove(o){var t;(t=u.value)==null||t.classList.add("dragging"),document.body.classList.add("qy-dialog--dragging"),q.value=Math.max(0,Math.min(window.innerWidth-300,o.x)),_.value=Math.max(0,Math.min(window.innerHeight-50,o.y))},onEnd(){var o;(o=u.value)==null||o.classList.remove("dragging"),document.body.classList.remove("qy-dialog--dragging")}}),T=e.computed(()=>({transform:`translate(${q.value}px, ${_.value}px)`,willChange:"transform"}));function V(o){const t=o.target,{scrollTop:n,scrollHeight:r,clientHeight:f}=t;M.value=n<=L,v.value=r-(n+f)<=L}function F(){document.querySelector(`.${i}.el-dialog`).addEventListener("scroll",V),m(),d("opened")}function N(){s.value=!s.value,m()}function c(){h.value||(h.value=!0,a.value=!1,x.value=!1,d("cancel"),d("close"))}function R(o){l.showFullscreen&&o.detail>=2&&N()}function S(){return e.h(A.ElButton,{...e.unref(l.confirmProps),type:"primary",class:"dialog__footerBtn",onClick:()=>{d("confirm"),d("ok")}},()=>e.unref(l.confirmProps).title||"确 认")}function I(){return e.h(A.ElButton,{class:"dialog__footerBtn",onClick:()=>c()},()=>"取 消")}e.onMounted(()=>{typeof window.qyDialogMaxZIndex>"u"&&(window.qyDialogMaxZIndex=C),m()});function m(){var $;const o=Array.from(document.querySelectorAll(".el-overlay")).filter(p=>window.getComputedStyle(p).display!=="none"&&!p.classList.contains("is-message")),t=($=document.querySelector(`.${i}`))==null?void 0:$.closest(".el-overlay"),n=document.querySelector(`.${i}.el-dialog`);if(!t||!n)return;const r=C;window.qyDialogMaxZIndex=window.qyDialogMaxZIndex||r;const g=Math.max(window.qyDialogMaxZIndex,...o.map(p=>parseInt(window.getComputedStyle(p).zIndex||r.toString())))+2;window.qyDialogMaxZIndex=g,e.nextTick(()=>{t.style.zIndex=g.toString(),n.style.zIndex=(g+1).toString(),b.value=g+1})}e.onUnmounted(()=>{const o=document.querySelector(`.${i} .qy-dialog__wrapper-container`);o&&o.removeEventListener("scroll",V),a.value&&window.minimizedCount--});function D(){var t;a.value=!a.value;const o=(t=document.querySelector(`.${i}`))==null?void 0:t.closest(".el-overlay");a.value?(o.style.display="none",window.minimizedCount++,_.value=window.innerHeight-50-(window.minimizedCount||0)*60):(o.style.display="block",window.minimizedCount--,m())}return(o,t)=>{const n=e.resolveComponent("Close"),r=Z.ElIcon,f=Z.ElDialog;return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(f,e.mergeProps({ref:"dialogRef",class:["qy-dialog",[l.size==="small"&&"[&_.el-dialog__header]:!hidden",i]],"model-value":x.value,"align-center":"","append-to-body":"",style:{"--el-dialog-padding-primary":0},"show-close":!1,fullscreen:s.value,"z-index":b.value,onClosed:c,onOpened:F,draggable:""},e.unref(k)),e.createSlots({header:e.withCtx(()=>[l.size==="default"?(e.openBlock(),e.createElementBlock("div",{key:0,style:e.normalizeStyle({borderBottom:"1px solid",borderColor:M.value?"transparent":"var(--block-outline-color)",transition:"border-color .2s linear"}),class:"flex justify-between h-[var(--header-height)]",onDblclick:R},[e.createElementVNode("div",X,[e.unref(y).header?e.unref(y).header?(e.openBlock(),e.createElementBlock("div",Y,[e.renderSlot(o.$slots,"header")])):e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("span",W,e.toDisplayString(e.unref(k).title),1))]),e.createElementVNode("div",{class:"flex",onMousedown:t[3]||(t[3]=e.withModifiers(()=>{},["stop"]))},[l.size==="default"?(e.openBlock(),e.createElementBlock("div",{key:0,class:"qy-dialog__btn qy-dialog__btn--default",onClick:e.withModifiers(D,["stop"]),onMousedown:t[0]||(t[0]=e.withModifiers(()=>{},["stop"]))},t[4]||(t[4]=[e.createElementVNode("span",{class:"icon-[material-symbols--minimize] text-xl mb-3",role:"img","aria-hidden":"true"},null,-1)]),32)):e.createCommentVNode("",!0),l.showFullscreen?(e.openBlock(),e.createElementBlock("div",{key:1,class:"qy-dialog__btn qy-dialog__btn--default",onClick:e.withModifiers(N,["stop"]),onMousedown:t[1]||(t[1]=e.withModifiers(()=>{},["stop"]))},[s.value?(e.openBlock(),e.createElementBlock("span",J)):(e.openBlock(),e.createElementBlock("span",G))],32)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:"qy-dialog__btn qy-dialog__btn--danger",onClick:e.withModifiers(c,["stop"]),onMousedown:t[2]||(t[2]=e.withModifiers(()=>{},["stop"]))},t[5]||(t[5]=[e.createElementVNode("span",{class:"icon-[ri--close-line] text-xl",role:"img","aria-hidden":"true"},null,-1)]),32)],32)],36)):e.createCommentVNode("",!0)]),default:e.withCtx(()=>[e.createElementVNode("div",{class:e.normalizeClass(["qy-dialog__wrapper",e.unref(U)(s.value&&"qy-dialog__wrapper--fullscreen")]),style:e.normalizeStyle({maxHeight:z.value?"calc(100vh - var(--header-height) - var(--footer-height) - var(--sides-gap))":"calc(100vh - var(--header-height) - var(--sides-gap))",padding:l.size==="small"?"var(--small-content-padding)":"var(--content-padding)"})},[l.size==="small"?(e.openBlock(),e.createElementBlock("div",K,[e.createVNode(r,{size:36,class:"cursor-pointer text-gray-100 active:scale-75 rounded-sm transition-all",onClick:c},{default:e.withCtx(()=>[e.createVNode(n)]),_:1})])):e.createCommentVNode("",!0),e.renderSlot(o.$slots,"default")],6)]),_:2},[!o.$slots.footer&&Array.isArray(w.value)?{name:"footer",fn:e.withCtx(()=>[e.createElementVNode("div",Q,[e.createElementVNode("div",null,[e.renderSlot(o.$slots,"footer-left")]),e.createElementVNode("div",{class:e.normalizeClass([{"qy-dialog__footer--outline":v.value},"qy-dialog__footer flex items-center justify-end"])},[w.value.includes("cancel")?(e.openBlock(),e.createBlock(I,{key:0})):e.createCommentVNode("",!0),w.value.includes("confirm")?(e.openBlock(),e.createBlock(S,{key:1})):e.createCommentVNode("",!0),e.renderSlot(o.$slots,"footer-append")],2)])]),key:"0"}:z.value?{name:"footer",fn:e.withCtx(()=>[e.createElementVNode("div",{class:e.normalizeClass([{"qy-dialog__footer--outline":v.value},"qy-dialog__footer px-[var(--content-padding)] min-h-[var(--footer-height)] flex items-center justify-end"])},[e.renderSlot(o.$slots,"footer",{layouts:B.value,layoutsNode:Object.values(B.value)})],2)]),key:"1"}:void 0]),1040,["class","model-value","fullscreen","z-index"]),e.withDirectives(e.createElementVNode("div",{ref_key:"minimizedRef",ref:u,class:"fixed left-0 top-0 bg-white rounded shadow-lg cursor-pointer z-[9999] hover:bg-gray-50",style:e.normalizeStyle([T.value,{width:"300px",height:"50px","will-change":"transform"}])},[e.createElementVNode("div",ee,[e.createElementVNode("div",te,[t[6]||(t[6]=e.createElementVNode("div",{class:"icon-[mdi--window-restore] text-gray-600"},null,-1)),e.createElementVNode("span",oe,e.toDisplayString(e.unref(k).title),1)]),e.createElementVNode("div",le,[e.createElementVNode("div",{class:"p-1 hover:bg-gray-200 rounded",onClick:e.withModifiers(D,["stop"])},t[7]||(t[7]=[e.createElementVNode("div",{class:"icon-[mdi--window-maximize] text-gray-600"},null,-1)])),e.createElementVNode("div",{class:"p-1 hover:bg-red-100 rounded",onClick:e.withModifiers(c,["stop"])},t[8]||(t[8]=[e.createElementVNode("div",{class:"icon-[mdi--close] text-red-600"},null,-1)]))])])],4),[[e.vShow,a.value]])])}}});exports.default=ne;
|
|
@@ -0,0 +1,326 @@
|
|
|
1
|
+
import { ElDialog as ae, ElIcon as se } from "element-plus/es";
|
|
2
|
+
import { defineComponent as re, mergeModels as W, useSlots as de, ref as d, computed as C, createVNode as v, useModel as ue, watchEffect as ce, useAttrs as me, h as Y, unref as s, onMounted as fe, nextTick as ge, onUnmounted as pe, resolveComponent as ye, createElementBlock as i, openBlock as n, withDirectives as ve, mergeProps as we, createSlots as he, withCtx as w, createElementVNode as t, normalizeStyle as $, normalizeClass as Z, createCommentVNode as u, renderSlot as h, toDisplayString as G, withModifiers as a, createBlock as J, vShow as xe } from "vue";
|
|
3
|
+
import _e from "clsx";
|
|
4
|
+
import { ElButton as K } from "element-plus";
|
|
5
|
+
import { useBreakpoints as be, useDraggable as ke } from "@vueuse/core";
|
|
6
|
+
/* empty css */
|
|
7
|
+
const ze = { class: "text-lg flex items-center pt-2 pl-[var(--content-padding)]" }, Ce = { key: 0 }, qe = { key: 1 }, Me = {
|
|
8
|
+
key: 0,
|
|
9
|
+
class: "icon-[material-symbols--square-outline-rounded]",
|
|
10
|
+
role: "img",
|
|
11
|
+
"aria-hidden": "true"
|
|
12
|
+
}, Se = {
|
|
13
|
+
key: 1,
|
|
14
|
+
class: "icon-[tdesign--fullscreen-exit-1]",
|
|
15
|
+
role: "img",
|
|
16
|
+
"aria-hidden": "true"
|
|
17
|
+
}, Ie = {
|
|
18
|
+
key: 0,
|
|
19
|
+
class: "fixed -right-12 top-2 h-9 w-9 hover:bg-gray-600/80 transition-all"
|
|
20
|
+
}, Be = { class: "flex justify-between h-[var(--footer-height)] px-[var(--content-padding)] items-center" }, De = { class: "flex items-center justify-between w-full pl-1 pr-4 h-full ml-2" }, Ee = { class: "flex items-center gap-2" }, $e = { class: "text-sm text-gray-700 truncate max-w-[200px]" }, Ze = { class: "flex items-center gap-2" }, Q = 5, A = 2e3, Te = re({
|
|
21
|
+
__name: "index",
|
|
22
|
+
props: /* @__PURE__ */ W({
|
|
23
|
+
layout: { type: [Array, String, Boolean], default: () => ["confirm", "cancel"] },
|
|
24
|
+
fullscreen: { type: Boolean, default: !1 },
|
|
25
|
+
showFullscreen: { type: Boolean, default: !1 },
|
|
26
|
+
confirmProps: { default: () => ({}) },
|
|
27
|
+
size: { default: "default" },
|
|
28
|
+
zIndex: { default: 2e3 }
|
|
29
|
+
}, {
|
|
30
|
+
modelValue: { default: !0 },
|
|
31
|
+
modelModifiers: {}
|
|
32
|
+
}),
|
|
33
|
+
emits: /* @__PURE__ */ W(["confirm", "cancel", "close", "opened", "ok"], ["update:modelValue"]),
|
|
34
|
+
setup(H, { expose: ee, emit: oe }) {
|
|
35
|
+
const l = H, q = de(), L = d(!0), M = d(!1), O = d(A), te = be({
|
|
36
|
+
mobile: 0,
|
|
37
|
+
tablet: 640,
|
|
38
|
+
laptop: 1024,
|
|
39
|
+
desktop: 1280
|
|
40
|
+
}).isSmaller("tablet"), S = C(() => {
|
|
41
|
+
if (Array.isArray(l.layout)) return l.layout;
|
|
42
|
+
if (typeof l.layout == "string")
|
|
43
|
+
return l.layout.split(",").map((o) => o.trim());
|
|
44
|
+
}), V = C(() => ({
|
|
45
|
+
CancelButton: v(R),
|
|
46
|
+
ConfirmButton: v(P)
|
|
47
|
+
})), j = C(() => q.footer || l.layout !== !1), I = d(!1), g = d(
|
|
48
|
+
l.showFullscreen && te ? !0 : l.fullscreen
|
|
49
|
+
), p = oe, B = ue(H, "modelValue");
|
|
50
|
+
ce(() => {
|
|
51
|
+
B.value && (I.value = !1);
|
|
52
|
+
}), ee({});
|
|
53
|
+
const D = me(), c = `qy-dialog-${Math.random().toString(36).slice(2, 11)}`, m = d(!1), x = d(null);
|
|
54
|
+
window.minimizedCount || (window.minimizedCount = 0);
|
|
55
|
+
const { x: N, y: E } = ke(x, {
|
|
56
|
+
initialValue: {
|
|
57
|
+
x: 5,
|
|
58
|
+
y: window.innerHeight - 100 - (window.minimizedCount || 0) * 60
|
|
59
|
+
},
|
|
60
|
+
onMove(o) {
|
|
61
|
+
var e;
|
|
62
|
+
(e = x.value) == null || e.classList.add("dragging"), document.body.classList.add("qy-dialog--dragging"), N.value = Math.max(
|
|
63
|
+
0,
|
|
64
|
+
Math.min(window.innerWidth - 300, o.x)
|
|
65
|
+
), E.value = Math.max(
|
|
66
|
+
0,
|
|
67
|
+
Math.min(window.innerHeight - 50, o.y)
|
|
68
|
+
);
|
|
69
|
+
},
|
|
70
|
+
onEnd() {
|
|
71
|
+
var o;
|
|
72
|
+
(o = x.value) == null || o.classList.remove("dragging"), document.body.classList.remove("qy-dialog--dragging");
|
|
73
|
+
}
|
|
74
|
+
}), le = C(() => ({
|
|
75
|
+
transform: `translate(${N.value}px, ${E.value}px)`,
|
|
76
|
+
willChange: "transform"
|
|
77
|
+
}));
|
|
78
|
+
function F(o) {
|
|
79
|
+
const e = o.target, { scrollTop: r, scrollHeight: f, clientHeight: b } = e;
|
|
80
|
+
L.value = r <= Q, M.value = f - (r + b) <= Q;
|
|
81
|
+
}
|
|
82
|
+
function ne() {
|
|
83
|
+
document.querySelector(`.${c}.el-dialog`).addEventListener("scroll", F), _(), p("opened");
|
|
84
|
+
}
|
|
85
|
+
function T() {
|
|
86
|
+
g.value = !g.value, _();
|
|
87
|
+
}
|
|
88
|
+
function y() {
|
|
89
|
+
I.value || (I.value = !0, m.value = !1, B.value = !1, p("cancel"), p("close"));
|
|
90
|
+
}
|
|
91
|
+
function ie(o) {
|
|
92
|
+
l.showFullscreen && o.detail >= 2 && T();
|
|
93
|
+
}
|
|
94
|
+
function P() {
|
|
95
|
+
return Y(
|
|
96
|
+
K,
|
|
97
|
+
{
|
|
98
|
+
...s(l.confirmProps),
|
|
99
|
+
type: "primary",
|
|
100
|
+
class: "dialog__footerBtn",
|
|
101
|
+
onClick: () => {
|
|
102
|
+
p("confirm"), p("ok");
|
|
103
|
+
}
|
|
104
|
+
},
|
|
105
|
+
() => s(l.confirmProps).title || "确 认"
|
|
106
|
+
);
|
|
107
|
+
}
|
|
108
|
+
function R() {
|
|
109
|
+
return Y(
|
|
110
|
+
K,
|
|
111
|
+
{ class: "dialog__footerBtn", onClick: () => y() },
|
|
112
|
+
() => "取 消"
|
|
113
|
+
);
|
|
114
|
+
}
|
|
115
|
+
fe(() => {
|
|
116
|
+
typeof window.qyDialogMaxZIndex > "u" && (window.qyDialogMaxZIndex = A), _();
|
|
117
|
+
});
|
|
118
|
+
function _() {
|
|
119
|
+
var X;
|
|
120
|
+
const o = Array.from(
|
|
121
|
+
document.querySelectorAll(".el-overlay")
|
|
122
|
+
).filter((z) => window.getComputedStyle(z).display !== "none" && !z.classList.contains("is-message")), e = (X = document.querySelector(`.${c}`)) == null ? void 0 : X.closest(".el-overlay"), r = document.querySelector(
|
|
123
|
+
`.${c}.el-dialog`
|
|
124
|
+
);
|
|
125
|
+
if (!e || !r) return;
|
|
126
|
+
const f = A;
|
|
127
|
+
window.qyDialogMaxZIndex = window.qyDialogMaxZIndex || f;
|
|
128
|
+
const k = Math.max(
|
|
129
|
+
window.qyDialogMaxZIndex,
|
|
130
|
+
...o.map(
|
|
131
|
+
(z) => parseInt(window.getComputedStyle(z).zIndex || f.toString())
|
|
132
|
+
)
|
|
133
|
+
) + 2;
|
|
134
|
+
window.qyDialogMaxZIndex = k, ge(() => {
|
|
135
|
+
e.style.zIndex = k.toString(), r.style.zIndex = (k + 1).toString(), O.value = k + 1;
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
pe(() => {
|
|
139
|
+
const o = document.querySelector(
|
|
140
|
+
`.${c} .qy-dialog__wrapper-container`
|
|
141
|
+
);
|
|
142
|
+
o && o.removeEventListener("scroll", F), m.value && window.minimizedCount--;
|
|
143
|
+
});
|
|
144
|
+
function U() {
|
|
145
|
+
var e;
|
|
146
|
+
m.value = !m.value;
|
|
147
|
+
const o = (e = document.querySelector(`.${c}`)) == null ? void 0 : e.closest(".el-overlay");
|
|
148
|
+
m.value ? (o.style.display = "none", window.minimizedCount++, E.value = window.innerHeight - 50 - (window.minimizedCount || 0) * 60) : (o.style.display = "block", window.minimizedCount--, _());
|
|
149
|
+
}
|
|
150
|
+
return (o, e) => {
|
|
151
|
+
const r = ye("Close"), f = se, b = ae;
|
|
152
|
+
return n(), i("div", null, [
|
|
153
|
+
v(b, we({
|
|
154
|
+
ref: "dialogRef",
|
|
155
|
+
class: ["qy-dialog", [
|
|
156
|
+
l.size === "small" && "[&_.el-dialog__header]:!hidden",
|
|
157
|
+
c
|
|
158
|
+
]],
|
|
159
|
+
"model-value": B.value,
|
|
160
|
+
"align-center": "",
|
|
161
|
+
"append-to-body": "",
|
|
162
|
+
style: {
|
|
163
|
+
"--el-dialog-padding-primary": 0
|
|
164
|
+
},
|
|
165
|
+
"show-close": !1,
|
|
166
|
+
fullscreen: g.value,
|
|
167
|
+
"z-index": O.value,
|
|
168
|
+
onClosed: y,
|
|
169
|
+
onOpened: ne,
|
|
170
|
+
draggable: ""
|
|
171
|
+
}, s(D)), he({
|
|
172
|
+
header: w(() => [
|
|
173
|
+
l.size === "default" ? (n(), i("div", {
|
|
174
|
+
key: 0,
|
|
175
|
+
style: $({
|
|
176
|
+
borderBottom: "1px solid",
|
|
177
|
+
borderColor: L.value ? "transparent" : "var(--block-outline-color)",
|
|
178
|
+
transition: "border-color .2s linear"
|
|
179
|
+
}),
|
|
180
|
+
class: "flex justify-between h-[var(--header-height)]",
|
|
181
|
+
onDblclick: ie
|
|
182
|
+
}, [
|
|
183
|
+
t("div", ze, [
|
|
184
|
+
s(q).header ? s(q).header ? (n(), i("div", qe, [
|
|
185
|
+
h(o.$slots, "header")
|
|
186
|
+
])) : u("", !0) : (n(), i("span", Ce, G(s(D).title), 1))
|
|
187
|
+
]),
|
|
188
|
+
t("div", {
|
|
189
|
+
class: "flex",
|
|
190
|
+
onMousedown: e[3] || (e[3] = a(() => {
|
|
191
|
+
}, ["stop"]))
|
|
192
|
+
}, [
|
|
193
|
+
l.size === "default" ? (n(), i("div", {
|
|
194
|
+
key: 0,
|
|
195
|
+
class: "qy-dialog__btn qy-dialog__btn--default",
|
|
196
|
+
onClick: a(U, ["stop"]),
|
|
197
|
+
onMousedown: e[0] || (e[0] = a(() => {
|
|
198
|
+
}, ["stop"]))
|
|
199
|
+
}, e[4] || (e[4] = [
|
|
200
|
+
t("span", {
|
|
201
|
+
class: "icon-[material-symbols--minimize] text-xl mb-3",
|
|
202
|
+
role: "img",
|
|
203
|
+
"aria-hidden": "true"
|
|
204
|
+
}, null, -1)
|
|
205
|
+
]), 32)) : u("", !0),
|
|
206
|
+
l.showFullscreen ? (n(), i("div", {
|
|
207
|
+
key: 1,
|
|
208
|
+
class: "qy-dialog__btn qy-dialog__btn--default",
|
|
209
|
+
onClick: a(T, ["stop"]),
|
|
210
|
+
onMousedown: e[1] || (e[1] = a(() => {
|
|
211
|
+
}, ["stop"]))
|
|
212
|
+
}, [
|
|
213
|
+
g.value ? (n(), i("span", Se)) : (n(), i("span", Me))
|
|
214
|
+
], 32)) : u("", !0),
|
|
215
|
+
t("div", {
|
|
216
|
+
class: "qy-dialog__btn qy-dialog__btn--danger",
|
|
217
|
+
onClick: a(y, ["stop"]),
|
|
218
|
+
onMousedown: e[2] || (e[2] = a(() => {
|
|
219
|
+
}, ["stop"]))
|
|
220
|
+
}, e[5] || (e[5] = [
|
|
221
|
+
t("span", {
|
|
222
|
+
class: "icon-[ri--close-line] text-xl",
|
|
223
|
+
role: "img",
|
|
224
|
+
"aria-hidden": "true"
|
|
225
|
+
}, null, -1)
|
|
226
|
+
]), 32)
|
|
227
|
+
], 32)
|
|
228
|
+
], 36)) : u("", !0)
|
|
229
|
+
]),
|
|
230
|
+
default: w(() => [
|
|
231
|
+
t("div", {
|
|
232
|
+
class: Z(["qy-dialog__wrapper", s(_e)(g.value && "qy-dialog__wrapper--fullscreen")]),
|
|
233
|
+
style: $({
|
|
234
|
+
maxHeight: j.value ? "calc(100vh - var(--header-height) - var(--footer-height) - var(--sides-gap))" : "calc(100vh - var(--header-height) - var(--sides-gap))",
|
|
235
|
+
padding: l.size === "small" ? "var(--small-content-padding)" : "var(--content-padding)"
|
|
236
|
+
})
|
|
237
|
+
}, [
|
|
238
|
+
l.size === "small" ? (n(), i("div", Ie, [
|
|
239
|
+
v(f, {
|
|
240
|
+
size: 36,
|
|
241
|
+
class: "cursor-pointer text-gray-100 active:scale-75 rounded-sm transition-all",
|
|
242
|
+
onClick: y
|
|
243
|
+
}, {
|
|
244
|
+
default: w(() => [
|
|
245
|
+
v(r)
|
|
246
|
+
]),
|
|
247
|
+
_: 1
|
|
248
|
+
})
|
|
249
|
+
])) : u("", !0),
|
|
250
|
+
h(o.$slots, "default")
|
|
251
|
+
], 6)
|
|
252
|
+
]),
|
|
253
|
+
_: 2
|
|
254
|
+
}, [
|
|
255
|
+
!o.$slots.footer && Array.isArray(S.value) ? {
|
|
256
|
+
name: "footer",
|
|
257
|
+
fn: w(() => [
|
|
258
|
+
t("div", Be, [
|
|
259
|
+
t("div", null, [
|
|
260
|
+
h(o.$slots, "footer-left")
|
|
261
|
+
]),
|
|
262
|
+
t("div", {
|
|
263
|
+
class: Z([{
|
|
264
|
+
"qy-dialog__footer--outline": M.value
|
|
265
|
+
}, "qy-dialog__footer flex items-center justify-end"])
|
|
266
|
+
}, [
|
|
267
|
+
S.value.includes("cancel") ? (n(), J(R, { key: 0 })) : u("", !0),
|
|
268
|
+
S.value.includes("confirm") ? (n(), J(P, { key: 1 })) : u("", !0),
|
|
269
|
+
h(o.$slots, "footer-append")
|
|
270
|
+
], 2)
|
|
271
|
+
])
|
|
272
|
+
]),
|
|
273
|
+
key: "0"
|
|
274
|
+
} : j.value ? {
|
|
275
|
+
name: "footer",
|
|
276
|
+
fn: w(() => [
|
|
277
|
+
t("div", {
|
|
278
|
+
class: Z([{
|
|
279
|
+
"qy-dialog__footer--outline": M.value
|
|
280
|
+
}, "qy-dialog__footer px-[var(--content-padding)] min-h-[var(--footer-height)] flex items-center justify-end"])
|
|
281
|
+
}, [
|
|
282
|
+
h(o.$slots, "footer", {
|
|
283
|
+
layouts: V.value,
|
|
284
|
+
layoutsNode: Object.values(V.value)
|
|
285
|
+
})
|
|
286
|
+
], 2)
|
|
287
|
+
]),
|
|
288
|
+
key: "1"
|
|
289
|
+
} : void 0
|
|
290
|
+
]), 1040, ["class", "model-value", "fullscreen", "z-index"]),
|
|
291
|
+
ve(t("div", {
|
|
292
|
+
ref_key: "minimizedRef",
|
|
293
|
+
ref: x,
|
|
294
|
+
class: "fixed left-0 top-0 bg-white rounded shadow-lg cursor-pointer z-[9999] hover:bg-gray-50",
|
|
295
|
+
style: $([le.value, { width: "300px", height: "50px", "will-change": "transform" }])
|
|
296
|
+
}, [
|
|
297
|
+
t("div", De, [
|
|
298
|
+
t("div", Ee, [
|
|
299
|
+
e[6] || (e[6] = t("div", { class: "icon-[mdi--window-restore] text-gray-600" }, null, -1)),
|
|
300
|
+
t("span", $e, G(s(D).title), 1)
|
|
301
|
+
]),
|
|
302
|
+
t("div", Ze, [
|
|
303
|
+
t("div", {
|
|
304
|
+
class: "p-1 hover:bg-gray-200 rounded",
|
|
305
|
+
onClick: a(U, ["stop"])
|
|
306
|
+
}, e[7] || (e[7] = [
|
|
307
|
+
t("div", { class: "icon-[mdi--window-maximize] text-gray-600" }, null, -1)
|
|
308
|
+
])),
|
|
309
|
+
t("div", {
|
|
310
|
+
class: "p-1 hover:bg-red-100 rounded",
|
|
311
|
+
onClick: a(y, ["stop"])
|
|
312
|
+
}, e[8] || (e[8] = [
|
|
313
|
+
t("div", { class: "icon-[mdi--close] text-red-600" }, null, -1)
|
|
314
|
+
]))
|
|
315
|
+
])
|
|
316
|
+
])
|
|
317
|
+
], 4), [
|
|
318
|
+
[xe, m.value]
|
|
319
|
+
])
|
|
320
|
+
]);
|
|
321
|
+
};
|
|
322
|
+
}
|
|
323
|
+
});
|
|
324
|
+
export {
|
|
325
|
+
Te as default
|
|
326
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});;/* empty css */const y=require("./upload/index.vue.cjs"),s=require("./dialog/index.vue.cjs"),d=require("./remark-image/index.vue.cjs"),m=require("./qy-input/index.vue.cjs"),I=require("./qy-search-input/index.vue.cjs"),S=require("./qy-record-quote-search/index.vue.cjs"),h=require("./qy-select/index.vue.cjs"),f=require("./qy-form-section/index.vue.cjs"),q=require("./qy-action-bar/index.vue.cjs"),t=require("./utils/install.cjs"),n=t.withInstall(y.default,"QyUpload"),o=t.withInstall(s.default,"QyDialog"),c=t.withInstall(d.default,"QyRemarkImage"),r=t.withInstall(m.default,"QyInput"),l=t.withInstall(I.default,"QySearchInput"),i=t.withInstall(S.default,"QyRecordQuoteSearch"),a=t.withInstall(h.default,"QySelect"),Q=t.withInstall(f.default,"QyFormSection"),u=t.withInstall(q.default,"QyActionBar"),g=e=>{e.component("QyDialog",o),e.component("QyUpload",n),e.component("QyRemarkImage",c),e.component("QyInput",r),e.component("QySearchInput",l),e.component("QyRecordQuoteSearch",i),e.component("QySelect",a),e.component("QyFormSection",Q),e.component("QyActionBar",u)},x={install:g,QyUpload:n,QyDialog:o,QyInput:r,QySearchInput:l,QyRecordQuoteSearch:i,QySelect:a,QyFormSection:Q,QyActionBar:u,QyRemarkImage:c};exports.QyActionBar=u;exports.QyDialog=o;exports.QyFormSection=Q;exports.QyInput=r;exports.QyRecordQuoteSearch=i;exports.QyRemarkImage=c;exports.QySearchInput=l;exports.QySelect=a;exports.QyUpload=n;exports.default=x;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/* empty css */
|
|
2
|
+
import s from "./upload/index.vue.mjs";
|
|
3
|
+
import p from "./dialog/index.vue.mjs";
|
|
4
|
+
import l from "./remark-image/index.vue.mjs";
|
|
5
|
+
import S from "./qy-input/index.vue.mjs";
|
|
6
|
+
import f from "./qy-search-input/index.vue.mjs";
|
|
7
|
+
import u from "./qy-record-quote-search/index.vue.mjs";
|
|
8
|
+
import I from "./qy-select/index.vue.mjs";
|
|
9
|
+
import d from "./qy-form-section/index.vue.mjs";
|
|
10
|
+
import h from "./qy-action-bar/index.vue.mjs";
|
|
11
|
+
import { withInstall as t } from "./utils/install.mjs";
|
|
12
|
+
const n = t(s, "QyUpload"), c = t(p, "QyDialog"), e = t(l, "QyRemarkImage"), r = t(S, "QyInput"), m = t(f, "QySearchInput"), Q = t(
|
|
13
|
+
u,
|
|
14
|
+
"QyRecordQuoteSearch"
|
|
15
|
+
), y = t(I, "QySelect"), i = t(d, "QyFormSection"), a = t(h, "QyActionBar"), R = (o) => {
|
|
16
|
+
o.component("QyDialog", c), o.component("QyUpload", n), o.component("QyRemarkImage", e), o.component("QyInput", r), o.component("QySearchInput", m), o.component("QyRecordQuoteSearch", Q), o.component("QySelect", y), o.component("QyFormSection", i), o.component("QyActionBar", a);
|
|
17
|
+
}, b = {
|
|
18
|
+
install: R,
|
|
19
|
+
QyUpload: n,
|
|
20
|
+
QyDialog: c,
|
|
21
|
+
QyInput: r,
|
|
22
|
+
QySearchInput: m,
|
|
23
|
+
QyRecordQuoteSearch: Q,
|
|
24
|
+
QySelect: y,
|
|
25
|
+
QyFormSection: i,
|
|
26
|
+
QyActionBar: a,
|
|
27
|
+
QyRemarkImage: e
|
|
28
|
+
};
|
|
29
|
+
export {
|
|
30
|
+
a as QyActionBar,
|
|
31
|
+
c as QyDialog,
|
|
32
|
+
i as QyFormSection,
|
|
33
|
+
r as QyInput,
|
|
34
|
+
Q as QyRecordQuoteSearch,
|
|
35
|
+
e as QyRemarkImage,
|
|
36
|
+
m as QySearchInput,
|
|
37
|
+
y as QySelect,
|
|
38
|
+
n as QyUpload,
|
|
39
|
+
b as default
|
|
40
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue");;/* empty css */const s=require("../../_virtual/plugin-vue_export-helper.cjs"),l={key:0,class:"qy-action-bar__left"},n={key:1,class:"qy-action-bar__center"},d={key:2,class:"qy-action-bar__right"},i=e.defineComponent({name:"QyActionBar",__name:"index",props:{sticky:{type:Boolean,default:!0},offsetBottom:{default:0},bordered:{type:Boolean,default:!0},shadow:{type:Boolean,default:!1},wrap:{type:Boolean,default:!0},justify:{default:"between"},background:{default:"#fff"}},setup(r){const o=r,a=e.computed(()=>({bottom:`${o.offsetBottom}px`,background:o.background}));return(t,c)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["qy-action-bar",[`is-justify-${t.justify}`,{"is-sticky":t.sticky,"is-bordered":t.bordered,"is-shadow":t.shadow,"is-wrap":t.wrap}]]),style:e.normalizeStyle(a.value)},[t.$slots.left?(e.openBlock(),e.createElementBlock("div",l,[e.renderSlot(t.$slots,"left",{},void 0,!0)])):e.createCommentVNode("",!0),t.$slots.default?(e.openBlock(),e.createElementBlock("div",n,[e.renderSlot(t.$slots,"default",{},void 0,!0)])):e.createCommentVNode("",!0),t.$slots.right?(e.openBlock(),e.createElementBlock("div",d,[e.renderSlot(t.$slots,"right",{},void 0,!0)])):e.createCommentVNode("",!0)],6))}}),u=s.default(i,[["__scopeId","data-v-86002d5a"]]);exports.default=u;
|