morghulis 1.0.11 → 1.0.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,33 +1,124 @@
1
- # morghulis
1
+ # Morghulis UI 组件库
2
2
 
3
- This template should help get you started developing with Vue 3 in Vite.
3
+ 基于Vue 3和TypeScript的数据库便捷搭建UI组件库,集成了Element Plus和FontAwesome图标,提供丰富的数据库操作界面组件。
4
4
 
5
- ## Recommended IDE Setup
5
+ ## 特性
6
6
 
7
- [VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur).
7
+ - 基于Vue 3和TypeScript开发
8
+ - 自动集成Element Plus,无需额外安装
9
+ - 集成FontAwesome图标
10
+ - 提供高度可定制的对话框组件,适用于数据库操作交互
11
+ - 简化数据库表单创建和管理流程
12
+ - 内置常用数据库操作UI模板
8
13
 
9
- ## Type Support for `.vue` Imports in TS
14
+ ## 安装
10
15
 
11
- TypeScript cannot handle type information for `.vue` imports by default, so we replace the `tsc` CLI with `vue-tsc` for type checking. In editors, we need [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) to make the TypeScript language service aware of `.vue` types.
16
+ ```bash
17
+ npm install morghulis
18
+ ```
19
+
20
+
21
+
22
+ ```bash
23
+ yarn add morghulis
24
+ ```
25
+
26
+ ## 快速开始
12
27
 
13
- ## Customize configuration
28
+ 在你的Vue 3项目中引入并使用组件库:
14
29
 
15
- See [Vite Configuration Reference](https://vite.dev/config/).
30
+ ```js
31
+ // main.ts 或 main.js
32
+ import { createApp } from 'vue'
33
+ import App from './App.vue'
34
+ import { createMorghulis } from 'morghulis'
16
35
 
17
- ## Project Setup
36
+ const app = createApp(App)
18
37
 
19
- ```sh
20
- npm install
38
+ // 使用Morghulis UI,自动集成Element Plus
39
+ app.use(createMorghulis())
40
+
41
+ app.mount('#app')
21
42
  ```
22
43
 
23
- ### Compile and Hot-Reload for Development
44
+ ## 组件
45
+
46
+ ### MDialog 对话框组件
47
+
48
+ 一个基于Element Plus Dialog的增强对话框组件,专为数据库操作设计,提供表单验证、数据预览和批量操作等功能,让数据库操作更加直观和高效。
49
+
50
+ #### 基本用法
51
+
52
+ ```vue
53
+ <template>
54
+ <div>
55
+ <el-button @click="dialogVisible = true">打开对话框</el-button>
56
+
57
+ <MDialog
58
+ v-model="dialogVisible"
59
+ title="对话框标题"
60
+ sub-title="副标题"
61
+ :confirm="handleConfirm"
62
+ >
63
+ <p>这是对话框的内容</p>
64
+ </MDialog>
65
+ </div>
66
+ </template>
24
67
 
25
- ```sh
26
- npm run dev
68
+ <script setup>
69
+ import { ref } from 'vue'
70
+
71
+ const dialogVisible = ref(false)
72
+
73
+ const handleConfirm = () => {
74
+ // 处理确认逻辑
75
+ console.log('确认')
76
+ dialogVisible.value = false
77
+ return Promise.resolve()
78
+ }
79
+ </script>
27
80
  ```
28
81
 
29
- ### Type-Check, Compile and Minify for Production
82
+ #### 属性
83
+
84
+ | 属性名 | 类型 | 默认值 | 说明 |
85
+ | --- | --- | --- | --- |
86
+ | modelValue / v-model | boolean | false | 控制对话框是否显示 |
87
+ | title | string | '对话框' | 对话框标题 |
88
+ | subTitle | string | - | 对话框副标题 |
89
+ | width | string / number | 600 | 对话框宽度 |
90
+ | fullscreen | boolean | false | 是否全屏显示 |
91
+ | confirm | Function | - | 确认按钮点击时的回调函数,返回Promise |
92
+ | cancel | Function | - | 取消按钮点击时的回调函数 |
93
+ | confirmButtonText | string | '确定' | 确认按钮文本 |
94
+ | cancelButtonText | string | '取消' | 取消按钮文本 |
95
+
96
+ 组件还支持Element Plus Dialog的所有属性。
97
+
98
+ #### 插槽
30
99
 
31
- ```sh
32
- npm run build
100
+ | 插槽名 | 说明 |
101
+ | --- | --- |
102
+ | default | 对话框内容 |
103
+ | title | 自定义标题区域 |
104
+ | sub-title | 自定义副标题区域 |
105
+ | header | 自定义头部区域 |
106
+ | footer | 自定义底部区域 |
107
+
108
+ ## 配置选项
109
+
110
+ 创建Morghulis实例时可以传入配置选项:
111
+
112
+ ```js
113
+ app.use(createMorghulis({
114
+ baseUrl: 'https://api.example.com',
115
+ timeout: 5000,
116
+ headers: {
117
+ 'X-Custom-Header': 'value'
118
+ }
119
+ }))
33
120
  ```
121
+
122
+ ## 许可证
123
+
124
+ MIT
@@ -1,23 +1,430 @@
1
- import { defineComponent as c, createElementBlock as r, openBlock as p, renderSlot as a } from "vue";
2
- const l = c({
3
- name: "LypButton"
4
- }), u = (t, n) => {
5
- const o = t.__vccOpts || t;
6
- for (const [e, s] of n)
7
- o[e] = s;
8
- return o;
9
- }, _ = { class: "my-button" };
10
- function d(t, n, o, e, s, i) {
11
- return p(), r("button", _, [
12
- a(t.$slots, "default")
13
- ]);
14
- }
15
- const f = /* @__PURE__ */ u(l, [["render", d]]), y = {
16
- install(t) {
17
- t.component("LypButton", f);
1
+ import Y from "element-plus";
2
+ import { defineComponent as W, mergeDefaults as q, useSlots as G, computed as E, ref as p, resolveComponent as d, resolveDirective as J, openBlock as m, createBlock as M, mergeProps as Q, unref as V, withKeys as X, createSlots as Z, withCtx as l, createElementVNode as S, renderSlot as F, createVNode as n, createTextVNode as f, toDisplayString as C, createElementBlock as A, Fragment as z, createCommentVNode as v, withDirectives as ee } from "vue";
3
+ import ue from "lodash";
4
+ import { library as oe } from "@fortawesome/fontawesome-svg-core";
5
+ import { fas as te } from "@fortawesome/free-solid-svg-icons";
6
+ import { FontAwesomeIcon as le } from "@fortawesome/vue-fontawesome";
7
+ const ae = (u = {}) => (u.baseUrl, u.timeout, u.headers, {
8
+ // 发送消息
9
+ send: (t, a) => (console.log(`发送消息: ${t}`, a), Promise.resolve({ success: !0 })),
10
+ // 接收消息
11
+ on: (t, a) => (console.log(`监听事件: ${t}`), () => {
12
+ console.log(`取消监听: ${t}`);
13
+ }),
14
+ // 关闭通道
15
+ close: () => {
16
+ console.log("关闭通道");
17
+ }
18
+ });
19
+ var ne = {
20
+ name: "zh-cn",
21
+ el: {
22
+ breadcrumb: {
23
+ label: "面包屑"
24
+ },
25
+ colorpicker: {
26
+ confirm: "确定",
27
+ clear: "清空",
28
+ defaultLabel: "颜色选择器",
29
+ description: "当前颜色 {color},按 Enter 键选择新颜色",
30
+ alphaLabel: "选择透明度的值"
31
+ },
32
+ datepicker: {
33
+ now: "此刻",
34
+ today: "今天",
35
+ cancel: "取消",
36
+ clear: "清空",
37
+ confirm: "确定",
38
+ dateTablePrompt: "使用方向键与 Enter 键可选择日期",
39
+ monthTablePrompt: "使用方向键与 Enter 键可选择月份",
40
+ yearTablePrompt: "使用方向键与 Enter 键可选择年份",
41
+ selectedDate: "已选日期",
42
+ selectDate: "选择日期",
43
+ selectTime: "选择时间",
44
+ startDate: "开始日期",
45
+ startTime: "开始时间",
46
+ endDate: "结束日期",
47
+ endTime: "结束时间",
48
+ prevYear: "前一年",
49
+ nextYear: "后一年",
50
+ prevMonth: "上个月",
51
+ nextMonth: "下个月",
52
+ year: "年",
53
+ month1: "1 月",
54
+ month2: "2 月",
55
+ month3: "3 月",
56
+ month4: "4 月",
57
+ month5: "5 月",
58
+ month6: "6 月",
59
+ month7: "7 月",
60
+ month8: "8 月",
61
+ month9: "9 月",
62
+ month10: "10 月",
63
+ month11: "11 月",
64
+ month12: "12 月",
65
+ weeks: {
66
+ sun: "日",
67
+ mon: "一",
68
+ tue: "二",
69
+ wed: "三",
70
+ thu: "四",
71
+ fri: "五",
72
+ sat: "六"
73
+ },
74
+ weeksFull: {
75
+ sun: "星期日",
76
+ mon: "星期一",
77
+ tue: "星期二",
78
+ wed: "星期三",
79
+ thu: "星期四",
80
+ fri: "星期五",
81
+ sat: "星期六"
82
+ },
83
+ months: {
84
+ jan: "一月",
85
+ feb: "二月",
86
+ mar: "三月",
87
+ apr: "四月",
88
+ may: "五月",
89
+ jun: "六月",
90
+ jul: "七月",
91
+ aug: "八月",
92
+ sep: "九月",
93
+ oct: "十月",
94
+ nov: "十一月",
95
+ dec: "十二月"
96
+ }
97
+ },
98
+ inputNumber: {
99
+ decrease: "减少数值",
100
+ increase: "增加数值"
101
+ },
102
+ select: {
103
+ loading: "加载中",
104
+ noMatch: "无匹配数据",
105
+ noData: "无数据",
106
+ placeholder: "请选择"
107
+ },
108
+ dropdown: {
109
+ toggleDropdown: "切换下拉选项"
110
+ },
111
+ mention: {
112
+ loading: "加载中"
113
+ },
114
+ cascader: {
115
+ noMatch: "无匹配数据",
116
+ loading: "加载中",
117
+ placeholder: "请选择",
118
+ noData: "暂无数据"
119
+ },
120
+ pagination: {
121
+ goto: "前往",
122
+ pagesize: "条/页",
123
+ total: "共 {total} 条",
124
+ pageClassifier: "页",
125
+ page: "页",
126
+ prev: "上一页",
127
+ next: "下一页",
128
+ currentPage: "第 {pager} 页",
129
+ prevPages: "向前 {pager} 页",
130
+ nextPages: "向后 {pager} 页",
131
+ deprecationWarning: "你使用了一些已被废弃的用法,请参考 el-pagination 的官方文档"
132
+ },
133
+ dialog: {
134
+ close: "关闭此对话框"
135
+ },
136
+ drawer: {
137
+ close: "关闭此对话框"
138
+ },
139
+ messagebox: {
140
+ title: "提示",
141
+ confirm: "确定",
142
+ cancel: "取消",
143
+ error: "输入的数据不合法!",
144
+ close: "关闭此对话框"
145
+ },
146
+ upload: {
147
+ deleteTip: "按 delete 键可删除",
148
+ delete: "删除",
149
+ preview: "查看图片",
150
+ continue: "继续上传"
151
+ },
152
+ slider: {
153
+ defaultLabel: "滑块介于 {min} 至 {max}",
154
+ defaultRangeStartLabel: "选择起始值",
155
+ defaultRangeEndLabel: "选择结束值"
156
+ },
157
+ table: {
158
+ emptyText: "暂无数据",
159
+ confirmFilter: "筛选",
160
+ resetFilter: "重置",
161
+ clearFilter: "全部",
162
+ sumText: "合计"
163
+ },
164
+ tour: {
165
+ next: "下一步",
166
+ previous: "上一步",
167
+ finish: "结束导览"
168
+ },
169
+ tree: {
170
+ emptyText: "暂无数据"
171
+ },
172
+ transfer: {
173
+ noMatch: "无匹配数据",
174
+ noData: "无数据",
175
+ titles: ["列表 1", "列表 2"],
176
+ filterPlaceholder: "请输入搜索内容",
177
+ noCheckedFormat: "共 {total} 项",
178
+ hasCheckedFormat: "已选 {checked}/{total} 项"
179
+ },
180
+ image: {
181
+ error: "加载失败"
182
+ },
183
+ pageHeader: {
184
+ title: "返回"
185
+ },
186
+ popconfirm: {
187
+ confirmButtonText: "确定",
188
+ cancelButtonText: "取消"
189
+ },
190
+ carousel: {
191
+ leftArrow: "上一张幻灯片",
192
+ rightArrow: "下一张幻灯片",
193
+ indicator: "幻灯片切换至索引 {index}"
194
+ }
195
+ }
196
+ };
197
+ const re = {
198
+ title: "对话框",
199
+ width: 600,
200
+ fullscreen: !1,
201
+ top: "30px",
202
+ modal: !0,
203
+ modalClass: "mor-dialog-modal",
204
+ headerClass: "mor-dialog-header",
205
+ bodyClass: "mor-dialog-body-wrapper",
206
+ footerClass: "mor-dialog-footer",
207
+ appendToBody: !0,
208
+ appendTo: "body",
209
+ lockScroll: !0,
210
+ openDelay: 0,
211
+ closeDelay: 0,
212
+ closeOnClickModal: !1,
213
+ closeOnPressEscape: !1,
214
+ showClose: !1,
215
+ beforeClose: (u) => u(),
216
+ draggable: !0,
217
+ overFlow: !1,
218
+ center: !1,
219
+ alignCenter: !1,
220
+ destroyOnClose: !0,
221
+ closeIcon: "close",
222
+ confirmButtonText: "确认",
223
+ cancelButtonText: "取消"
224
+ }, se = {
225
+ class: "mor-dialog-body",
226
+ "element-loading-background": "rgba(0,0,0,0.1)",
227
+ "element-loading-text": "加载中..."
228
+ }, ie = /* @__PURE__ */ W({
229
+ __name: "MDialog",
230
+ props: /* @__PURE__ */ q({
231
+ modelValue: { type: Boolean },
232
+ title: {},
233
+ subTitle: {},
234
+ width: {},
235
+ fullscreen: { type: Boolean },
236
+ top: {},
237
+ modal: { type: Boolean },
238
+ modalClass: {},
239
+ headerClass: {},
240
+ bodyClass: {},
241
+ footerClass: {},
242
+ appendToBody: { type: Boolean },
243
+ appendTo: {},
244
+ lockScroll: { type: Boolean },
245
+ openDelay: {},
246
+ closeDelay: {},
247
+ closeOnClickModal: { type: Boolean },
248
+ closeOnPressEscape: { type: Boolean },
249
+ showClose: { type: Boolean },
250
+ beforeClose: { type: Function },
251
+ draggable: { type: Boolean },
252
+ overFlow: { type: Boolean },
253
+ center: { type: Boolean },
254
+ alignCenter: { type: Boolean },
255
+ destroyOnClose: { type: Boolean },
256
+ closeIcon: {},
257
+ zIndex: {},
258
+ headerAriaLevel: {},
259
+ confirm: { type: Function },
260
+ cancel: { type: Function },
261
+ confirmButtonText: {},
262
+ cancelButtonText: {}
263
+ }, re),
264
+ emits: ["close", "update:title", "update:subTitle", "update:modelValue"],
265
+ setup(u, { expose: t, emit: a }) {
266
+ let c = a, r = u;
267
+ const T = G(), L = E(() => !!T.header), _ = E(() => !!T.footer), O = _.value || !!r.confirm, i = p(!1), s = p({}), w = p(""), k = p(""), N = E({
268
+ get: () => r.title,
269
+ set: (e) => {
270
+ c("update:title", e), w.value = e || "对话框";
271
+ }
272
+ }), x = E({
273
+ get: () => r.subTitle,
274
+ set: (e) => {
275
+ c("update:subTitle", e), k.value = e || "";
276
+ }
277
+ }), I = p({}), $ = E({
278
+ get: () => r.modelValue,
279
+ set: (e) => {
280
+ c("update:modelValue", e);
281
+ }
282
+ });
283
+ function j(e = {}, o) {
284
+ if (o) {
285
+ const { title: B, subTitle: g } = o;
286
+ N.value = B, x.value = g;
287
+ }
288
+ I.value = e, s.value = ue.cloneDeep(e), c("update:modelValue", !0);
289
+ }
290
+ function D() {
291
+ i.value = !1, c("update:modelValue", !1);
292
+ }
293
+ function H() {
294
+ i.value = !0, r.confirm && r.confirm(s.value, D);
295
+ }
296
+ function h() {
297
+ i.value = !0, r.cancel ? r.cancel(s.value, D) : D();
298
+ }
299
+ return t({ open: j, close: D }), (e, o) => {
300
+ const B = d("el-text"), g = d("el-divider"), K = d("fa"), y = d("el-button"), P = d("el-space"), R = d("el-dialog"), U = J("loading");
301
+ return m(), M(R, Q({
302
+ class: "mor-dialog",
303
+ modelValue: $.value,
304
+ "onUpdate:modelValue": o[0] || (o[0] = (b) => $.value = b)
305
+ }, { ...e.$props, ...e.$attrs }, {
306
+ onClose: o[1] || (o[1] = (b) => V(c)("close")),
307
+ onKeydown: o[2] || (o[2] = X((b) => h(), ["esc"]))
308
+ }), Z({
309
+ header: l(() => [
310
+ S("div", null, [
311
+ F(e.$slots, "title", { data: s.value }, () => [
312
+ n(B, {
313
+ size: "large",
314
+ tag: "b"
315
+ }, {
316
+ default: l(() => [
317
+ f(C(w.value), 1)
318
+ ]),
319
+ _: 1
320
+ })
321
+ ]),
322
+ F(e.$slots, "sub-title", { data: s.value }, () => [
323
+ x.value ? (m(), A(z, { key: 0 }, [
324
+ n(g, { direction: "vertical" }),
325
+ n(B, {
326
+ tag: "b",
327
+ type: "info"
328
+ }, {
329
+ default: l(() => [
330
+ f(C(k.value), 1)
331
+ ]),
332
+ _: 1
333
+ })
334
+ ], 64)) : v("", !0)
335
+ ])
336
+ ]),
337
+ S("div", null, [
338
+ L.value ? (m(), A(z, { key: 0 }, [
339
+ F(e.$slots, "header", { data: s.value }),
340
+ n(g, { direction: "vertical" })
341
+ ], 64)) : v("", !0),
342
+ n(y, {
343
+ size: "small",
344
+ style: { padding: "3px 6px" },
345
+ type: "danger",
346
+ disabled: i.value,
347
+ onClick: h
348
+ }, {
349
+ default: l(() => [
350
+ n(K, { icon: "close" })
351
+ ]),
352
+ _: 1
353
+ }, 8, ["disabled"])
354
+ ])
355
+ ]),
356
+ default: l(() => [
357
+ ee((m(), A("div", se, [
358
+ F(e.$slots, "default", { data: s.value })
359
+ ])), [
360
+ [U, i.value]
361
+ ])
362
+ ]),
363
+ _: 2
364
+ }, [
365
+ V(O) ? {
366
+ name: "footer",
367
+ fn: l(() => [
368
+ n(P, null, {
369
+ default: l(() => [
370
+ _.value ? F(e.$slots, "footer", {
371
+ key: 0,
372
+ data: s.value
373
+ }) : v("", !0),
374
+ o[3] || (o[3] = f("   "))
375
+ ]),
376
+ _: 3
377
+ }),
378
+ e.confirm ? (m(), M(P, { key: 0 }, {
379
+ default: l(() => [
380
+ n(y, {
381
+ type: "success",
382
+ disabled: i.value,
383
+ onClick: H
384
+ }, {
385
+ default: l(() => [
386
+ f(C(e.confirmButtonText), 1)
387
+ ]),
388
+ _: 1
389
+ }, 8, ["disabled"]),
390
+ n(y, {
391
+ type: "info",
392
+ onClick: h,
393
+ disabled: i.value
394
+ }, {
395
+ default: l(() => [
396
+ f(C(e.cancelButtonText), 1)
397
+ ]),
398
+ _: 1
399
+ }, 8, ["disabled"])
400
+ ]),
401
+ _: 1
402
+ })) : v("", !0)
403
+ ]),
404
+ key: "0"
405
+ } : void 0
406
+ ]), 1040, ["modelValue"]);
407
+ };
408
+ }
409
+ });
410
+ oe.add(te);
411
+ const ce = (u) => {
412
+ const t = ae(u || {});
413
+ return {
414
+ install: (a) => {
415
+ a.provide("channel", t), a.component("MDialog", ie), a.use(Y, {
416
+ locale: ne
417
+ }), a.component("fa", le);
418
+ }
419
+ };
420
+ }, De = {
421
+ install: (u, t) => {
422
+ ce(t).install(u);
18
423
  }
19
424
  };
20
425
  export {
21
- f as LypButton,
22
- y as default
426
+ ie as MDialog,
427
+ ce as createMorghulis,
428
+ De as default
23
429
  };
430
+ //# sourceMappingURL=morghulis.es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"morghulis.es.js","sources":["../src/tools/sockets.ts","../node_modules/element-plus/es/locale/lang/zh-cn.mjs","../src/types/dialog.types.ts","../src/components/dialog/MDialog.vue","../src/index.ts"],"sourcesContent":["// 简单的通信通道实现\nexport const $channel = (options: any = {}) => {\n const baseUrl = options.baseUrl || '';\n const timeout = options.timeout || 30000;\n const headers = options.headers || {};\n \n // 这里可以实现实际的通信逻辑\n // 例如:WebSocket连接、HTTP请求等\n \n return {\n // 发送消息\n send: (event: string, data: any) => {\n console.log(`发送消息: ${event}`, data);\n // 实际发送逻辑\n return Promise.resolve({ success: true });\n },\n \n // 接收消息\n on: (event: string, callback: Function) => {\n console.log(`监听事件: ${event}`);\n // 实际监听逻辑\n return () => {\n console.log(`取消监听: ${event}`);\n // 取消监听逻辑\n };\n },\n \n // 关闭通道\n close: () => {\n console.log('关闭通道');\n // 实际关闭逻辑\n }\n };\n};","var zhCn = {\n name: \"zh-cn\",\n el: {\n breadcrumb: {\n label: \"\\u9762\\u5305\\u5C51\"\n },\n colorpicker: {\n confirm: \"\\u786E\\u5B9A\",\n clear: \"\\u6E05\\u7A7A\",\n defaultLabel: \"\\u989C\\u8272\\u9009\\u62E9\\u5668\",\n description: \"\\u5F53\\u524D\\u989C\\u8272 {color}\\uFF0C\\u6309 Enter \\u952E\\u9009\\u62E9\\u65B0\\u989C\\u8272\",\n alphaLabel: \"\\u9009\\u62E9\\u900F\\u660E\\u5EA6\\u7684\\u503C\"\n },\n datepicker: {\n now: \"\\u6B64\\u523B\",\n today: \"\\u4ECA\\u5929\",\n cancel: \"\\u53D6\\u6D88\",\n clear: \"\\u6E05\\u7A7A\",\n confirm: \"\\u786E\\u5B9A\",\n dateTablePrompt: \"\\u4F7F\\u7528\\u65B9\\u5411\\u952E\\u4E0E Enter \\u952E\\u53EF\\u9009\\u62E9\\u65E5\\u671F\",\n monthTablePrompt: \"\\u4F7F\\u7528\\u65B9\\u5411\\u952E\\u4E0E Enter \\u952E\\u53EF\\u9009\\u62E9\\u6708\\u4EFD\",\n yearTablePrompt: \"\\u4F7F\\u7528\\u65B9\\u5411\\u952E\\u4E0E Enter \\u952E\\u53EF\\u9009\\u62E9\\u5E74\\u4EFD\",\n selectedDate: \"\\u5DF2\\u9009\\u65E5\\u671F\",\n selectDate: \"\\u9009\\u62E9\\u65E5\\u671F\",\n selectTime: \"\\u9009\\u62E9\\u65F6\\u95F4\",\n startDate: \"\\u5F00\\u59CB\\u65E5\\u671F\",\n startTime: \"\\u5F00\\u59CB\\u65F6\\u95F4\",\n endDate: \"\\u7ED3\\u675F\\u65E5\\u671F\",\n endTime: \"\\u7ED3\\u675F\\u65F6\\u95F4\",\n prevYear: \"\\u524D\\u4E00\\u5E74\",\n nextYear: \"\\u540E\\u4E00\\u5E74\",\n prevMonth: \"\\u4E0A\\u4E2A\\u6708\",\n nextMonth: \"\\u4E0B\\u4E2A\\u6708\",\n year: \"\\u5E74\",\n month1: \"1 \\u6708\",\n month2: \"2 \\u6708\",\n month3: \"3 \\u6708\",\n month4: \"4 \\u6708\",\n month5: \"5 \\u6708\",\n month6: \"6 \\u6708\",\n month7: \"7 \\u6708\",\n month8: \"8 \\u6708\",\n month9: \"9 \\u6708\",\n month10: \"10 \\u6708\",\n month11: \"11 \\u6708\",\n month12: \"12 \\u6708\",\n weeks: {\n sun: \"\\u65E5\",\n mon: \"\\u4E00\",\n tue: \"\\u4E8C\",\n wed: \"\\u4E09\",\n thu: \"\\u56DB\",\n fri: \"\\u4E94\",\n sat: \"\\u516D\"\n },\n weeksFull: {\n sun: \"\\u661F\\u671F\\u65E5\",\n mon: \"\\u661F\\u671F\\u4E00\",\n tue: \"\\u661F\\u671F\\u4E8C\",\n wed: \"\\u661F\\u671F\\u4E09\",\n thu: \"\\u661F\\u671F\\u56DB\",\n fri: \"\\u661F\\u671F\\u4E94\",\n sat: \"\\u661F\\u671F\\u516D\"\n },\n months: {\n jan: \"\\u4E00\\u6708\",\n feb: \"\\u4E8C\\u6708\",\n mar: \"\\u4E09\\u6708\",\n apr: \"\\u56DB\\u6708\",\n may: \"\\u4E94\\u6708\",\n jun: \"\\u516D\\u6708\",\n jul: \"\\u4E03\\u6708\",\n aug: \"\\u516B\\u6708\",\n sep: \"\\u4E5D\\u6708\",\n oct: \"\\u5341\\u6708\",\n nov: \"\\u5341\\u4E00\\u6708\",\n dec: \"\\u5341\\u4E8C\\u6708\"\n }\n },\n inputNumber: {\n decrease: \"\\u51CF\\u5C11\\u6570\\u503C\",\n increase: \"\\u589E\\u52A0\\u6570\\u503C\"\n },\n select: {\n loading: \"\\u52A0\\u8F7D\\u4E2D\",\n noMatch: \"\\u65E0\\u5339\\u914D\\u6570\\u636E\",\n noData: \"\\u65E0\\u6570\\u636E\",\n placeholder: \"\\u8BF7\\u9009\\u62E9\"\n },\n dropdown: {\n toggleDropdown: \"\\u5207\\u6362\\u4E0B\\u62C9\\u9009\\u9879\"\n },\n mention: {\n loading: \"\\u52A0\\u8F7D\\u4E2D\"\n },\n cascader: {\n noMatch: \"\\u65E0\\u5339\\u914D\\u6570\\u636E\",\n loading: \"\\u52A0\\u8F7D\\u4E2D\",\n placeholder: \"\\u8BF7\\u9009\\u62E9\",\n noData: \"\\u6682\\u65E0\\u6570\\u636E\"\n },\n pagination: {\n goto: \"\\u524D\\u5F80\",\n pagesize: \"\\u6761/\\u9875\",\n total: \"\\u5171 {total} \\u6761\",\n pageClassifier: \"\\u9875\",\n page: \"\\u9875\",\n prev: \"\\u4E0A\\u4E00\\u9875\",\n next: \"\\u4E0B\\u4E00\\u9875\",\n currentPage: \"\\u7B2C {pager} \\u9875\",\n prevPages: \"\\u5411\\u524D {pager} \\u9875\",\n nextPages: \"\\u5411\\u540E {pager} \\u9875\",\n deprecationWarning: \"\\u4F60\\u4F7F\\u7528\\u4E86\\u4E00\\u4E9B\\u5DF2\\u88AB\\u5E9F\\u5F03\\u7684\\u7528\\u6CD5\\uFF0C\\u8BF7\\u53C2\\u8003 el-pagination \\u7684\\u5B98\\u65B9\\u6587\\u6863\"\n },\n dialog: {\n close: \"\\u5173\\u95ED\\u6B64\\u5BF9\\u8BDD\\u6846\"\n },\n drawer: {\n close: \"\\u5173\\u95ED\\u6B64\\u5BF9\\u8BDD\\u6846\"\n },\n messagebox: {\n title: \"\\u63D0\\u793A\",\n confirm: \"\\u786E\\u5B9A\",\n cancel: \"\\u53D6\\u6D88\",\n error: \"\\u8F93\\u5165\\u7684\\u6570\\u636E\\u4E0D\\u5408\\u6CD5!\",\n close: \"\\u5173\\u95ED\\u6B64\\u5BF9\\u8BDD\\u6846\"\n },\n upload: {\n deleteTip: \"\\u6309 delete \\u952E\\u53EF\\u5220\\u9664\",\n delete: \"\\u5220\\u9664\",\n preview: \"\\u67E5\\u770B\\u56FE\\u7247\",\n continue: \"\\u7EE7\\u7EED\\u4E0A\\u4F20\"\n },\n slider: {\n defaultLabel: \"\\u6ED1\\u5757\\u4ECB\\u4E8E {min} \\u81F3 {max}\",\n defaultRangeStartLabel: \"\\u9009\\u62E9\\u8D77\\u59CB\\u503C\",\n defaultRangeEndLabel: \"\\u9009\\u62E9\\u7ED3\\u675F\\u503C\"\n },\n table: {\n emptyText: \"\\u6682\\u65E0\\u6570\\u636E\",\n confirmFilter: \"\\u7B5B\\u9009\",\n resetFilter: \"\\u91CD\\u7F6E\",\n clearFilter: \"\\u5168\\u90E8\",\n sumText: \"\\u5408\\u8BA1\"\n },\n tour: {\n next: \"\\u4E0B\\u4E00\\u6B65\",\n previous: \"\\u4E0A\\u4E00\\u6B65\",\n finish: \"\\u7ED3\\u675F\\u5BFC\\u89C8\"\n },\n tree: {\n emptyText: \"\\u6682\\u65E0\\u6570\\u636E\"\n },\n transfer: {\n noMatch: \"\\u65E0\\u5339\\u914D\\u6570\\u636E\",\n noData: \"\\u65E0\\u6570\\u636E\",\n titles: [\"\\u5217\\u8868 1\", \"\\u5217\\u8868 2\"],\n filterPlaceholder: \"\\u8BF7\\u8F93\\u5165\\u641C\\u7D22\\u5185\\u5BB9\",\n noCheckedFormat: \"\\u5171 {total} \\u9879\",\n hasCheckedFormat: \"\\u5DF2\\u9009 {checked}/{total} \\u9879\"\n },\n image: {\n error: \"\\u52A0\\u8F7D\\u5931\\u8D25\"\n },\n pageHeader: {\n title: \"\\u8FD4\\u56DE\"\n },\n popconfirm: {\n confirmButtonText: \"\\u786E\\u5B9A\",\n cancelButtonText: \"\\u53D6\\u6D88\"\n },\n carousel: {\n leftArrow: \"\\u4E0A\\u4E00\\u5F20\\u5E7B\\u706F\\u7247\",\n rightArrow: \"\\u4E0B\\u4E00\\u5F20\\u5E7B\\u706F\\u7247\",\n indicator: \"\\u5E7B\\u706F\\u7247\\u5207\\u6362\\u81F3\\u7D22\\u5F15 {index}\"\n }\n }\n};\n\nexport { zhCn as default };\n//# sourceMappingURL=zh-cn.mjs.map\n","export interface MorDialogProps {\n modelValue?: boolean,\n title?: string,\n subTitle?: string,\n width?: string | number,\n fullscreen?: boolean,\n top?: string,\n modal?: boolean,\n modalClass?: string,\n headerClass?: string,\n bodyClass?: string,\n footerClass?: string,\n appendToBody?: boolean,\n appendTo?: string,\n lockScroll?: boolean,\n openDelay?: number,\n closeDelay?: number,\n closeOnClickModal?: boolean,\n closeOnPressEscape?: boolean,\n showClose?: boolean,\n beforeClose?: Function,\n draggable?: boolean,\n overFlow?: boolean,\n center?: boolean,\n alignCenter?: boolean,\n destroyOnClose?: boolean,\n closeIcon?: string,\n zIndex?: number,\n headerAriaLevel?: string,\n confirm?: Function,\n cancel?: Function,\n confirmButtonText?: string\n cancelButtonText?: string\n}\n\nexport const morDialogPropsDefault: MorDialogProps = {\n title: '对话框',\n width: 600,\n fullscreen: false,\n top: '30px',\n modal: true,\n modalClass: 'mor-dialog-modal',\n headerClass: 'mor-dialog-header',\n bodyClass: 'mor-dialog-body-wrapper',\n footerClass: 'mor-dialog-footer',\n appendToBody: true,\n appendTo: 'body',\n lockScroll: true,\n openDelay: 0,\n closeDelay: 0,\n closeOnClickModal: false,\n closeOnPressEscape: false,\n showClose: false,\n beforeClose: (done: Function) => done(),\n draggable: true,\n overFlow: false,\n center: false,\n alignCenter: false,\n destroyOnClose: true,\n closeIcon: 'close',\n confirmButtonText: '确认',\n cancelButtonText: '取消',\n}","<template>\n <el-dialog\n class=\"mor-dialog\"\n v-model=\"visible\"\n v-bind=\"{...$props, ...$attrs}\"\n @close=\"emits('close')\"\n @keydown.esc=\"handleCancel()\"\n >\n <template #header>\n <div>\n <slot name=\"title\" :data=\"$data\">\n <el-text size=\"large\" tag=\"b\">{{ __title }}</el-text>\n </slot>\n <slot name=\"sub-title\" :data=\"$data\">\n <template v-if=\"$subTitle\">\n <el-divider direction=\"vertical\"></el-divider>\n <el-text tag=\"b\" type=\"info\">{{ __subTitle }}</el-text>\n </template>\n </slot>\n </div>\n <div>\n <template v-if=\"hasHeader\">\n <slot name=\"header\" :data=\"$data\"></slot>\n <el-divider direction=\"vertical\"></el-divider>\n </template>\n <el-button\n size=\"small\"\n style=\"padding: 3px 6px\"\n type=\"danger\"\n :disabled=\"loading\"\n @click=\"handleCancel\"\n >\n <fa icon=\"close\"></fa>\n </el-button>\n </div>\n </template>\n <template #default>\n <div\n v-loading=\"loading\"\n class=\"mor-dialog-body\"\n element-loading-background=\"rgba(0,0,0,0.1)\"\n element-loading-text=\"加载中...\"\n >\n <slot :data=\"$data\"></slot>\n </div>\n </template>\n <template #footer v-if=\"showFooter\">\n <el-space>\n <slot v-if=\"hasFooter\" name=\"footer\" :data=\"$data\"/>\n &nbsp;\n </el-space>\n <el-space v-if=\"confirm\">\n <el-button\n type=\"success\"\n :disabled=\"loading\"\n @click=\"handleConfirm\"\n >\n {{ confirmButtonText }}\n </el-button>\n <el-button\n type=\"info\"\n @click=\"handleCancel\"\n :disabled=\"loading\"\n >\n {{ cancelButtonText }}\n </el-button>\n </el-space>\n </template>\n </el-dialog>\n</template>\n\n<script setup lang=\"ts\">\n\nimport {computed, ref, useSlots} from \"vue\";\nimport _ from 'lodash'\n\nimport {morDialogPropsDefault, type MorDialogProps} from \"../../types/dialog.types.ts\";\n\n// 已从types/dialog.types.ts导入MorDialogProps接口,无需重复定义\n\nlet emits = defineEmits(['close', 'update:title', 'update:subTitle', 'update:modelValue'])\nlet props = withDefaults(\n defineProps<MorDialogProps>(),\n morDialogPropsDefault\n)\n\n/**\n * 功能区\n */\nconst slots = useSlots();\nconst hasHeader = computed(() => !!slots.header)\nconst hasFooter = computed(() => !!slots.footer)\nconst showFooter = hasFooter.value || !!props.confirm\n\n\nconst loading = ref(false)\nconst $data: any = ref({})\nconst __title = ref('')\nconst __subTitle = ref('')\nconst $title = computed({\n get: () => props.title,\n set: (v) => {\n emits('update:title', v)\n __title.value = v || '对话框'\n }\n})\nconst $subTitle = computed({\n get: () => props.subTitle,\n set: (v) => {\n emits('update:subTitle', v)\n __subTitle.value = v || ''\n }\n})\n\nconst $origin = ref({})\n\n// 将visible与modelValue同步\nconst visible = computed({\n get: () => props.modelValue,\n set: (value) => {\n emits('update:modelValue', value)\n }\n})\n\nexport type MorDialogConfig = {\n title: string,\n subTitle: string\n}\n\nfunction open(data: any = {}, config?: MorDialogConfig) {\n if (config) {\n const {title, subTitle} = config\n $title.value = title\n $subTitle.value = subTitle\n }\n $origin.value = data\n $data.value = _.cloneDeep(data)\n emits('update:modelValue', true)\n}\n\nfunction close() {\n loading.value = false\n emits('update:modelValue', false)\n}\n\nfunction handleConfirm() {\n loading.value = true\n props.confirm && props.confirm($data.value, close)\n}\n\nfunction handleCancel() {\n loading.value = true\n if (props.cancel) {\n props.cancel($data.value, close)\n } else {\n close()\n }\n}\n\ndefineExpose({open, close})\n\n</script>\n\n<style>\n.mor-dialog {\n border: 2px solid #aaaaaa;\n}\n\n.mor-dialog-modal {\n background-color: rgba(4, 33, 71, 0.15) !important;\n}\n\n.mor-dialog-header {\n display: flex !important;\n align-items: center !important;\n justify-content: space-between !important;\n padding-left: 5px;\n}\n\n.mor-dialog-body-wrapper {\n padding: 0;\n background-color: transparent;\n}\n\n.mor-dialog-body {\n background-color: #ffffff;\n}\n\n.mor-dialog-footer {\n color: #aaa;\n padding-left: 5px;\n display: flex !important;\n align-items: center !important;\n justify-content: space-between !important;\n}\n</style>","import type {App} from \"vue\";\nimport ElementPlus from 'element-plus'\nimport 'element-plus/dist/index.css'\nimport {$channel} from \"./tools/sockets.ts\";\nimport 'font-awesome/css/font-awesome.css'\nimport type {MorOption} from \"./types/io.types.ts\";\nimport zhCn from 'element-plus/es/locale/lang/zh-cn'\nimport MDialog from \"./components/dialog/MDialog.vue\";\nimport {library} from '@fortawesome/fontawesome-svg-core';\nimport {fas} from '@fortawesome/free-solid-svg-icons'\nimport {FontAwesomeIcon} from '@fortawesome/vue-fontawesome';\n\n// 注册FontAwesome图标\nlibrary.add(fas);\n\n// 创建Morghulis实例的工厂函数\nexport const createMorghulis = (options?: MorOption) => {\n const channel = $channel(options || {})\n return {\n install: (Vue: App) => {\n Vue.provide('channel', channel)\n Vue.component('MDialog', MDialog)\n Vue.use(ElementPlus, {\n locale: zhCn,\n })\n Vue.component('fa', FontAwesomeIcon)\n }\n }\n}\n\n// 导出组件,方便单独引入\nexport {\n MDialog\n}\n\n// 导出类型定义\nexport type * from './types/dialog.types.ts'\nexport type * from './types/io.types.ts'\n\n// 默认导出\nexport default {\n install: (app: App, options?: MorOption) => {\n createMorghulis(options).install(app)\n }\n}"],"names":["$channel","options","event","data","callback","zhCn","morDialogPropsDefault","done","emits","__emit","props","__props","slots","useSlots","hasHeader","computed","hasFooter","showFooter","loading","ref","$data","__title","__subTitle","$title","v","$subTitle","$origin","visible","value","open","config","title","subTitle","_","close","handleConfirm","handleCancel","__expose","library","fas","createMorghulis","channel","Vue","MDialog","ElementPlus","FontAwesomeIcon","index","app"],"mappings":"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","x_google_ignoreList":[1]}
@@ -1 +1,2 @@
1
- (function(e,t){typeof exports=="object"&&typeof module<"u"?t(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],t):(e=typeof globalThis<"u"?globalThis:e||self,t(e.morghulis={},e.Vue))})(this,function(e,t){"use strict";const r=t.defineComponent({name:"LypButton"}),d=(n,u)=>{const o=n.__vccOpts||n;for(const[i,c]of u)o[i]=c;return o},f={class:"my-button"};function p(n,u,o,i,c,a){return t.openBlock(),t.createElementBlock("button",f,[t.renderSlot(n.$slots,"default")])}const s=d(r,[["render",p]]),l={install(n){n.component("LypButton",s)}};e.LypButton=s,e.default=l,Object.defineProperties(e,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
1
+ (function(o,d){typeof exports=="object"&&typeof module<"u"?d(exports,require("element-plus"),require("vue"),require("lodash"),require("@fortawesome/fontawesome-svg-core"),require("@fortawesome/free-solid-svg-icons"),require("@fortawesome/vue-fontawesome")):typeof define=="function"&&define.amd?define(["exports","element-plus","vue","lodash","@fortawesome/fontawesome-svg-core","@fortawesome/free-solid-svg-icons","@fortawesome/vue-fontawesome"],d):(o=typeof globalThis<"u"?globalThis:o||self,d(o.Morghulis={},o.ElementPlus,o.Vue,o._,o.FontawesomeCore,o.FontawesomeIcons,o.FontawesomeVue))})(this,function(o,d,e,k,_,A,V){"use strict";const U="",N=(t={})=>(t.baseUrl,t.timeout,t.headers,{send:(a,n)=>(console.log(`发送消息: ${a}`,n),Promise.resolve({success:!0})),on:(a,n)=>(console.log(`监听事件: ${a}`),()=>{console.log(`取消监听: ${a}`)}),close:()=>{console.log("关闭通道")}}),Y="";var $={name:"zh-cn",el:{breadcrumb:{label:"面包屑"},colorpicker:{confirm:"确定",clear:"清空",defaultLabel:"颜色选择器",description:"当前颜色 {color},按 Enter 键选择新颜色",alphaLabel:"选择透明度的值"},datepicker:{now:"此刻",today:"今天",cancel:"取消",clear:"清空",confirm:"确定",dateTablePrompt:"使用方向键与 Enter 键可选择日期",monthTablePrompt:"使用方向键与 Enter 键可选择月份",yearTablePrompt:"使用方向键与 Enter 键可选择年份",selectedDate:"已选日期",selectDate:"选择日期",selectTime:"选择时间",startDate:"开始日期",startTime:"开始时间",endDate:"结束日期",endTime:"结束时间",prevYear:"前一年",nextYear:"后一年",prevMonth:"上个月",nextMonth:"下个月",year:"年",month1:"1 月",month2:"2 月",month3:"3 月",month4:"4 月",month5:"5 月",month6:"6 月",month7:"7 月",month8:"8 月",month9:"9 月",month10:"10 月",month11:"11 月",month12:"12 月",weeks:{sun:"日",mon:"一",tue:"二",wed:"三",thu:"四",fri:"五",sat:"六"},weeksFull:{sun:"星期日",mon:"星期一",tue:"星期二",wed:"星期三",thu:"星期四",fri:"星期五",sat:"星期六"},months:{jan:"一月",feb:"二月",mar:"三月",apr:"四月",may:"五月",jun:"六月",jul:"七月",aug:"八月",sep:"九月",oct:"十月",nov:"十一月",dec:"十二月"}},inputNumber:{decrease:"减少数值",increase:"增加数值"},select:{loading:"加载中",noMatch:"无匹配数据",noData:"无数据",placeholder:"请选择"},dropdown:{toggleDropdown:"切换下拉选项"},mention:{loading:"加载中"},cascader:{noMatch:"无匹配数据",loading:"加载中",placeholder:"请选择",noData:"暂无数据"},pagination:{goto:"前往",pagesize:"条/页",total:"共 {total} 条",pageClassifier:"页",page:"页",prev:"上一页",next:"下一页",currentPage:"第 {pager} 页",prevPages:"向前 {pager} 页",nextPages:"向后 {pager} 页",deprecationWarning:"你使用了一些已被废弃的用法,请参考 el-pagination 的官方文档"},dialog:{close:"关闭此对话框"},drawer:{close:"关闭此对话框"},messagebox:{title:"提示",confirm:"确定",cancel:"取消",error:"输入的数据不合法!",close:"关闭此对话框"},upload:{deleteTip:"按 delete 键可删除",delete:"删除",preview:"查看图片",continue:"继续上传"},slider:{defaultLabel:"滑块介于 {min} 至 {max}",defaultRangeStartLabel:"选择起始值",defaultRangeEndLabel:"选择结束值"},table:{emptyText:"暂无数据",confirmFilter:"筛选",resetFilter:"重置",clearFilter:"全部",sumText:"合计"},tour:{next:"下一步",previous:"上一步",finish:"结束导览"},tree:{emptyText:"暂无数据"},transfer:{noMatch:"无匹配数据",noData:"无数据",titles:["列表 1","列表 2"],filterPlaceholder:"请输入搜索内容",noCheckedFormat:"共 {total} 项",hasCheckedFormat:"已选 {checked}/{total} 项"},image:{error:"加载失败"},pageHeader:{title:"返回"},popconfirm:{confirmButtonText:"确定",cancelButtonText:"取消"},carousel:{leftArrow:"上一张幻灯片",rightArrow:"下一张幻灯片",indicator:"幻灯片切换至索引 {index}"}}};const M={title:"对话框",width:600,fullscreen:!1,top:"30px",modal:!0,modalClass:"mor-dialog-modal",headerClass:"mor-dialog-header",bodyClass:"mor-dialog-body-wrapper",footerClass:"mor-dialog-footer",appendToBody:!0,appendTo:"body",lockScroll:!0,openDelay:0,closeDelay:0,closeOnClickModal:!1,closeOnPressEscape:!1,showClose:!1,beforeClose:t=>t(),draggable:!0,overFlow:!1,center:!1,alignCenter:!1,destroyOnClose:!0,closeIcon:"close",confirmButtonText:"确认",cancelButtonText:"取消"},S={class:"mor-dialog-body","element-loading-background":"rgba(0,0,0,0.1)","element-loading-text":"加载中..."},D=e.defineComponent({__name:"MDialog",props:e.mergeDefaults({modelValue:{type:Boolean},title:{},subTitle:{},width:{},fullscreen:{type:Boolean},top:{},modal:{type:Boolean},modalClass:{},headerClass:{},bodyClass:{},footerClass:{},appendToBody:{type:Boolean},appendTo:{},lockScroll:{type:Boolean},openDelay:{},closeDelay:{},closeOnClickModal:{type:Boolean},closeOnPressEscape:{type:Boolean},showClose:{type:Boolean},beforeClose:{type:Function},draggable:{type:Boolean},overFlow:{type:Boolean},center:{type:Boolean},alignCenter:{type:Boolean},destroyOnClose:{type:Boolean},closeIcon:{},zIndex:{},headerAriaLevel:{},confirm:{type:Function},cancel:{type:Function},confirmButtonText:{},cancelButtonText:{}},M),emits:["close","update:title","update:subTitle","update:modelValue"],setup(t,{expose:a,emit:n}){let c=n,r=t;const g=e.useSlots(),O=e.computed(()=>!!g.header),h=e.computed(()=>!!g.footer),q=h.value||!!r.confirm,i=e.ref(!1),s=e.ref({}),y=e.ref(""),w=e.ref(""),z=e.computed({get:()=>r.title,set:u=>{c("update:title",u),y.value=u||"对话框"}}),b=e.computed({get:()=>r.subTitle,set:u=>{c("update:subTitle",u),w.value=u||""}}),L=e.ref({}),T=e.computed({get:()=>r.modelValue,set:u=>{c("update:modelValue",u)}});function j(u={},l){if(l){const{title:m,subTitle:p}=l;z.value=m,b.value=p}L.value=u,s.value=k.cloneDeep(u),c("update:modelValue",!0)}function E(){i.value=!1,c("update:modelValue",!1)}function I(){i.value=!0,r.confirm&&r.confirm(s.value,E)}function f(){i.value=!0,r.cancel?r.cancel(s.value,E):E()}return a({open:j,close:E}),(u,l)=>{const m=e.resolveComponent("el-text"),p=e.resolveComponent("el-divider"),H=e.resolveComponent("fa"),F=e.resolveComponent("el-button"),x=e.resolveComponent("el-space"),K=e.resolveComponent("el-dialog"),R=e.resolveDirective("loading");return e.openBlock(),e.createBlock(K,e.mergeProps({class:"mor-dialog",modelValue:T.value,"onUpdate:modelValue":l[0]||(l[0]=B=>T.value=B)},{...u.$props,...u.$attrs},{onClose:l[1]||(l[1]=B=>e.unref(c)("close")),onKeydown:l[2]||(l[2]=e.withKeys(B=>f(),["esc"]))}),e.createSlots({header:e.withCtx(()=>[e.createElementVNode("div",null,[e.renderSlot(u.$slots,"title",{data:s.value},()=>[e.createVNode(m,{size:"large",tag:"b"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(y.value),1)]),_:1})]),e.renderSlot(u.$slots,"sub-title",{data:s.value},()=>[b.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createVNode(p,{direction:"vertical"}),e.createVNode(m,{tag:"b",type:"info"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(w.value),1)]),_:1})],64)):e.createCommentVNode("",!0)])]),e.createElementVNode("div",null,[O.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.renderSlot(u.$slots,"header",{data:s.value}),e.createVNode(p,{direction:"vertical"})],64)):e.createCommentVNode("",!0),e.createVNode(F,{size:"small",style:{padding:"3px 6px"},type:"danger",disabled:i.value,onClick:f},{default:e.withCtx(()=>[e.createVNode(H,{icon:"close"})]),_:1},8,["disabled"])])]),default:e.withCtx(()=>[e.withDirectives((e.openBlock(),e.createElementBlock("div",S,[e.renderSlot(u.$slots,"default",{data:s.value})])),[[R,i.value]])]),_:2},[e.unref(q)?{name:"footer",fn:e.withCtx(()=>[e.createVNode(x,null,{default:e.withCtx(()=>[h.value?e.renderSlot(u.$slots,"footer",{key:0,data:s.value}):e.createCommentVNode("",!0),l[3]||(l[3]=e.createTextVNode("   "))]),_:3}),u.confirm?(e.openBlock(),e.createBlock(x,{key:0},{default:e.withCtx(()=>[e.createVNode(F,{type:"success",disabled:i.value,onClick:I},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(u.confirmButtonText),1)]),_:1},8,["disabled"]),e.createVNode(F,{type:"info",onClick:f,disabled:i.value},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(u.cancelButtonText),1)]),_:1},8,["disabled"])]),_:1})):e.createCommentVNode("",!0)]),key:"0"}:void 0]),1040,["modelValue"])}}}),W="";_.library.add(A.fas);const C=t=>{const a=N(t||{});return{install:n=>{n.provide("channel",a),n.component("MDialog",D),n.use(d,{locale:$}),n.component("fa",V.FontAwesomeIcon)}}},P={install:(t,a)=>{C(a).install(t)}};o.MDialog=D,o.createMorghulis=C,o.default=P,Object.defineProperties(o,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
2
+ //# sourceMappingURL=morghulis.umd.js.map