hisonvue 1.0.0
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/LICENSE +21 -0
- package/README.md +248 -0
- package/dist/HAccordion-CPtgQUK0.js +1 -0
- package/dist/HAccordion-ll-4cIAw.mjs +262 -0
- package/dist/HBaggie-D6omQoFh.js +1 -0
- package/dist/HBaggie-D_7mEiuV.mjs +283 -0
- package/dist/HBanner-DmcMOFqS.mjs +420 -0
- package/dist/HBanner-Io4SdGGs.js +1 -0
- package/dist/HButton-DAVuDmOQ.js +1 -0
- package/dist/HButton-DAriO81x.mjs +256 -0
- package/dist/HCalendar-DKwGatUk.js +2 -0
- package/dist/HCalendar-w18iIB90.mjs +3387 -0
- package/dist/HCaption-6CbSqRA7.js +1 -0
- package/dist/HCaption-DwsXHDNK.mjs +275 -0
- package/dist/HChart-C86JXUyW.js +1 -0
- package/dist/HChart-CcArHFr0.mjs +179 -0
- package/dist/HDrawer-DG1O42iF.mjs +439 -0
- package/dist/HDrawer-U5VC_okK.js +1 -0
- package/dist/HDropdown-Bs7AfefJ.mjs +393 -0
- package/dist/HDropdown-D4RAGmjE.js +1 -0
- package/dist/HFileset-BGuP9O4l.mjs +578 -0
- package/dist/HFileset-CuPR6Hwf.js +2 -0
- package/dist/HGap-BPAdnOQz.js +1 -0
- package/dist/HGap-DzGrfWVt.mjs +233 -0
- package/dist/HGrid-BiIhVCv_.mjs +345 -0
- package/dist/HGrid-C3EV_pgM.js +1 -0
- package/dist/HImagebox-D_DKeCrO.mjs +654 -0
- package/dist/HImagebox-t_UdFjQO.js +2 -0
- package/dist/HInput-BEyJqYkD.mjs +1103 -0
- package/dist/HInput-DMGLY473.js +1 -0
- package/dist/HInputGroup-D37WTYoI.mjs +281 -0
- package/dist/HInputGroup-Dcfr23sZ.js +1 -0
- package/dist/HLabel-B2FOqSiS.mjs +369 -0
- package/dist/HLabel-Dm48mSwn.js +1 -0
- package/dist/HLayout-BbCEm_aO.mjs +196 -0
- package/dist/HLayout-C1e4BZ_K.js +1 -0
- package/dist/HList-CAeYb-hz.mjs +419 -0
- package/dist/HList-eNXmMf27.js +1 -0
- package/dist/HModal-BDBEEpKm.mjs +778 -0
- package/dist/HModal-GODLq3wH.js +1 -0
- package/dist/HNote-CWnUjt3_.mjs +934 -0
- package/dist/HNote-D_Xwu9oL.js +1 -0
- package/dist/HPagination-Db_L9wv-.js +1 -0
- package/dist/HPagination-e5e2a5GS.mjs +496 -0
- package/dist/HParagraph-BRuSeOMU.js +1 -0
- package/dist/HParagraph-DYuB-qjY.mjs +463 -0
- package/dist/HPopup-Brp1FVpm.mjs +431 -0
- package/dist/HPopup-ChkoI3xm.js +1 -0
- package/dist/HSpinner-DDtU9PL_.js +1 -0
- package/dist/HSpinner-DOq2k5kT.mjs +281 -0
- package/dist/HTable-DGFnzD4u.js +1 -0
- package/dist/HTable-GCDP5O_J.mjs +620 -0
- package/dist/_plugin-vue_export-helper-BHFhmbuH.js +1 -0
- package/dist/_plugin-vue_export-helper-CHgC5LLL.mjs +9 -0
- package/dist/ar.es-CKau4tBl.js +5 -0
- package/dist/ar.es-XxSuE68c.mjs +57 -0
- package/dist/bg.es-BJ7fu6yy.mjs +57 -0
- package/dist/bg.es-Melqx1M5.js +5 -0
- package/dist/bn.es-CYlBkxc5.mjs +57 -0
- package/dist/bn.es-ClbAZ4WP.js +5 -0
- package/dist/bs.es-KjOcbE96.js +5 -0
- package/dist/bs.es-yMnaKmdi.mjs +57 -0
- package/dist/ca.es-BaGTENcW.js +5 -0
- package/dist/ca.es-DIhlxmQc.mjs +67 -0
- package/dist/cs.es-BN8oxRXQ.mjs +57 -0
- package/dist/cs.es-ChOlHqBr.js +5 -0
- package/dist/da.es-DJB5lAli.mjs +57 -0
- package/dist/da.es-DOFXbf8-.js +5 -0
- package/dist/de.es-DwE82Kaw.js +5 -0
- package/dist/de.es-glb8GeJh.mjs +57 -0
- package/dist/drag-and-drop.es-4ttM1tRs.js +5 -0
- package/dist/drag-and-drop.es-Ckzp6XEn.mjs +183 -0
- package/dist/el.es-CNrCgzYI.js +5 -0
- package/dist/el.es-_bBZf22h.mjs +76 -0
- package/dist/en.es-CV9nmQGr.mjs +57 -0
- package/dist/en.es-CgL601qd.js +5 -0
- package/dist/es.es-CZjcWK54.mjs +57 -0
- package/dist/es.es-IdFGKY7Q.js +5 -0
- package/dist/et.es-BygWmV3P.js +5 -0
- package/dist/et.es-CjvQAzNF.mjs +57 -0
- package/dist/fa.es-DW_0SmsT.js +5 -0
- package/dist/fa.es-DykeFwDA.mjs +57 -0
- package/dist/fi.es-Bl7Pp7AO.mjs +57 -0
- package/dist/fi.es-pgfJlZ8i.js +5 -0
- package/dist/fr.es-CNKVhFfO.mjs +57 -0
- package/dist/fr.es-OENguFuM.js +5 -0
- package/dist/he.es-bixEnAeH.js +5 -0
- package/dist/he.es-nF4GFhjH.mjs +57 -0
- package/dist/hisonvue.cjs.js +1 -0
- package/dist/hisonvue.css +1 -0
- package/dist/hisonvue.d.ts +19934 -0
- package/dist/hisonvue.es.js +114 -0
- package/dist/hr.es-CkRAP94O.js +5 -0
- package/dist/hr.es-QFfz660j.mjs +57 -0
- package/dist/hu.es-Ck2rE01V.mjs +57 -0
- package/dist/hu.es-DG6HeiQJ.js +5 -0
- package/dist/id.es-D4tPi6wP.js +5 -0
- package/dist/id.es-Je7FEUJ5.mjs +57 -0
- package/dist/index-BmKMHsSZ.js +153 -0
- package/dist/index-DUh7pai4.mjs +19976 -0
- package/dist/is.es-CDFqLYCV.js +5 -0
- package/dist/is.es-bzprHvXI.mjs +57 -0
- package/dist/it.es-BHgrw_C6.js +5 -0
- package/dist/it.es-CJtfqmNS.mjs +57 -0
- package/dist/ja.es-BaiGjqZ6.mjs +57 -0
- package/dist/ja.es-D-lxWwyb.js +5 -0
- package/dist/ka.es-CnnB6q4A.js +5 -0
- package/dist/ka.es-x9QJo_dl.mjs +57 -0
- package/dist/ko.es-6c447eTS.mjs +57 -0
- package/dist/ko.es-b18aaB3V.js +5 -0
- package/dist/lt.es-2twYdvmJ.mjs +57 -0
- package/dist/lt.es-BY9UQ6wZ.js +5 -0
- package/dist/mn.es-BLQRG1uu.mjs +57 -0
- package/dist/mn.es-YFS7gSdf.js +5 -0
- package/dist/nl.es-BEx-4hnj.js +5 -0
- package/dist/nl.es-bB1qWR_S.mjs +57 -0
- package/dist/no.es-BQnRWlWR.js +5 -0
- package/dist/no.es-CWDVXpTf.mjs +57 -0
- package/dist/pl.es-CKCsZ_02.js +5 -0
- package/dist/pl.es-Dzct23w9.mjs +57 -0
- package/dist/pt-br.es-BeBuiitI.mjs +57 -0
- package/dist/pt-br.es-oH7qh6Fd.js +5 -0
- package/dist/pt-pt.es-BeBuiitI.mjs +57 -0
- package/dist/pt-pt.es-DLk5I0ej.js +5 -0
- package/dist/ro.es-DfMVJ30M.mjs +57 -0
- package/dist/ro.es-DgTen1Dh.js +5 -0
- package/dist/ru.es-Bv9UvrBe.mjs +67 -0
- package/dist/ru.es-jGIQfREl.js +5 -0
- package/dist/scrollManager-BGnq4wyt.mjs +14 -0
- package/dist/scrollManager-CEEWQwoK.js +1 -0
- package/dist/setButtonCssEvent-B9WTs2X7.js +1 -0
- package/dist/setButtonCssEvent-dBs1GcAh.mjs +70 -0
- package/dist/sk.es-CUOTpLuL.mjs +57 -0
- package/dist/sk.es-D2bhVb26.js +5 -0
- package/dist/sl.es-DeIGgZbR.mjs +57 -0
- package/dist/sl.es-TV8Uraa1.js +5 -0
- package/dist/sq.es-CQJJrZHv.mjs +67 -0
- package/dist/sq.es-Cc65zxbr.js +5 -0
- package/dist/sr.es-CKS0AkiW.mjs +57 -0
- package/dist/sr.es-D5VNA_GW.js +5 -0
- package/dist/sv.es-ChHQRrAe.mjs +57 -0
- package/dist/sv.es-dBeK_DZs.js +5 -0
- package/dist/tr.es-B3v90gVv.mjs +57 -0
- package/dist/tr.es-BUz4S13G.js +5 -0
- package/dist/uk.es-B8uaeLcK.js +5 -0
- package/dist/uk.es-CiR4NnbN.mjs +67 -0
- package/dist/vi.es-2OFMtbQI.js +5 -0
- package/dist/vi.es-DFDi5l7p.mjs +67 -0
- package/dist/zh-cn.es-9cbEAuAi.mjs +67 -0
- package/dist/zh-cn.es-fDHCbCIg.js +5 -0
- package/dist/zh-hk.es-COzeh5F8.js +5 -0
- package/dist/zh-hk.es-z0tio4jE.mjs +67 -0
- package/nuxt/module.mjs +39 -0
- package/nuxt/plugin.mjs +21 -0
- package/package.json +53 -0
|
@@ -0,0 +1,431 @@
|
|
|
1
|
+
import { defineComponent as Ie, ref as o, computed as d, onMounted as Re, onBeforeUnmount as Me, watch as n, unref as F, nextTick as Z, resolveComponent as Ee, createElementBlock as ne, openBlock as se, normalizeClass as B, createCommentVNode as G, createElementVNode as V, normalizeStyle as J, renderSlot as W, createVNode as He, createSlots as Ve, withCtx as ae } from "vue";
|
|
2
|
+
import { S as We, i as c, g as De, u as qe, j as Xe, t as ie, e as xe, b as re, h as z, r as Ue, c as Ye, d as je } from "./index-DUh7pai4.mjs";
|
|
3
|
+
import { a as Fe, r as Ze } from "./scrollManager-BGnq4wyt.mjs";
|
|
4
|
+
import { _ as Ge } from "./_plugin-vue_export-helper-CHgC5LLL.mjs";
|
|
5
|
+
const Je = {
|
|
6
|
+
/**
|
|
7
|
+
* Unique identifier for the popup instance.
|
|
8
|
+
* - You can later retrieve its methods via `hison.component.getPopup(id)`
|
|
9
|
+
* - Duplicate `id` values will throw an error at mount time
|
|
10
|
+
*/
|
|
11
|
+
id: { type: String, required: !1 },
|
|
12
|
+
/**
|
|
13
|
+
* Custom class applied to the popup wrapper scope.
|
|
14
|
+
* - Accepts string/array/object (Vue class binding formats)
|
|
15
|
+
* - You can use responsive tokens such as `hison-col-*`, `hison-size-*`, `hison-color-*`
|
|
16
|
+
* - Processed internally to apply device-specific classes
|
|
17
|
+
*/
|
|
18
|
+
class: {
|
|
19
|
+
type: [String, Array, Object],
|
|
20
|
+
required: !1
|
|
21
|
+
},
|
|
22
|
+
/**
|
|
23
|
+
* Inline style(s) for the popup **dialog element** (not the overlay nor the fixed wrapper).
|
|
24
|
+
* - Accepts string, object, or array of objects (Vue style binding formats)
|
|
25
|
+
* - Note: inline width/height here override `width`/`height` props
|
|
26
|
+
*/
|
|
27
|
+
style: {
|
|
28
|
+
type: [String, Object, Array],
|
|
29
|
+
required: !1
|
|
30
|
+
},
|
|
31
|
+
/**
|
|
32
|
+
* Initial visibility of the popup.
|
|
33
|
+
* - Runtime visibility is controlled **only** via methods (`open/close/toggle/setVisible`)
|
|
34
|
+
* - Default: `false`
|
|
35
|
+
*/
|
|
36
|
+
visible: { type: Boolean, default: !1 },
|
|
37
|
+
/**
|
|
38
|
+
* Whether the popup has the thick border/topbar style.
|
|
39
|
+
* - When `false`, the topbar background becomes “empty”
|
|
40
|
+
* - Default: `true`
|
|
41
|
+
*/
|
|
42
|
+
border: { type: Boolean, default: !0 },
|
|
43
|
+
/**
|
|
44
|
+
* Stacking order for this popup **wrapper** (fixed container).
|
|
45
|
+
* - Applied to `.hison-popup-wrapper`; the overlay uses `zIndex - 1`
|
|
46
|
+
* - Default: `1200`
|
|
47
|
+
*/
|
|
48
|
+
zIndex: { type: Number, default: 1200 },
|
|
49
|
+
/**
|
|
50
|
+
* On-screen position of the **fixed wrapper** (where the popup is anchored).
|
|
51
|
+
* - Tokens: 'top-left' | 'top-center' | 'top-right' |
|
|
52
|
+
* 'middle-left' | 'middle-center' | 'middle-right' |
|
|
53
|
+
* 'bottom-left' | 'bottom-center' | 'bottom-right'
|
|
54
|
+
* - Default: `middle-center`
|
|
55
|
+
* - Note: Ignored when `left`/`top` are provided (absolute mode)
|
|
56
|
+
*/
|
|
57
|
+
position: {
|
|
58
|
+
type: String,
|
|
59
|
+
default: c.middleCenter,
|
|
60
|
+
validator: (t) => We.includes(t)
|
|
61
|
+
},
|
|
62
|
+
/**
|
|
63
|
+
* Absolute X position in pixels for the wrapper.
|
|
64
|
+
* - If either `left` or `top` is set, popup switches to **absolute mode**
|
|
65
|
+
* - The missing axis defaults to `0`
|
|
66
|
+
* - Overrides `popupPosition`
|
|
67
|
+
*/
|
|
68
|
+
left: { type: Number, default: null },
|
|
69
|
+
/**
|
|
70
|
+
* Absolute Y position in pixels for the wrapper.
|
|
71
|
+
* - If either `left` or `top` is set, popup switches to **absolute mode**
|
|
72
|
+
* - The missing axis defaults to `0`
|
|
73
|
+
* - Overrides `popupPosition`
|
|
74
|
+
*/
|
|
75
|
+
top: { type: Number, default: null },
|
|
76
|
+
/**
|
|
77
|
+
* Dialog width in pixels.
|
|
78
|
+
* - If omitted, width is determined by content and/or responsive classes
|
|
79
|
+
* - Inline `style.width` (if provided) takes precedence over this prop
|
|
80
|
+
*/
|
|
81
|
+
width: { type: Number, default: null },
|
|
82
|
+
/**
|
|
83
|
+
* Dialog height in pixels.
|
|
84
|
+
* - If omitted, height is determined by content
|
|
85
|
+
* - Inline `style.height` (if provided) takes precedence over this prop
|
|
86
|
+
*/
|
|
87
|
+
height: { type: Number, default: null },
|
|
88
|
+
/**
|
|
89
|
+
* Enables dragging the popup by its topbar.
|
|
90
|
+
* - When `false`, pointer down on topbar does not move the popup
|
|
91
|
+
* - Default: `true`
|
|
92
|
+
*/
|
|
93
|
+
draggable: { type: Boolean, default: !0 },
|
|
94
|
+
/**
|
|
95
|
+
* Whether the overlay (backdrop) is rendered at all.
|
|
96
|
+
* - Default: `true`
|
|
97
|
+
*/
|
|
98
|
+
showOverlay: { type: Boolean, default: !0 },
|
|
99
|
+
/**
|
|
100
|
+
* Whether clicking the overlay closes the popup.
|
|
101
|
+
* - Default: `true`
|
|
102
|
+
*/
|
|
103
|
+
closeClickOverlay: { type: Boolean, default: !0 },
|
|
104
|
+
/**
|
|
105
|
+
* Styles applied to the overlay element.
|
|
106
|
+
* - Accepts string/object/array; merged with an internal `{ zIndex: (zIndex - 1) }`
|
|
107
|
+
*/
|
|
108
|
+
overlayStyle: {
|
|
109
|
+
type: [String, Object, Array],
|
|
110
|
+
required: !1
|
|
111
|
+
},
|
|
112
|
+
/**
|
|
113
|
+
* Locks page scroll while the popup is open (reference-counted across nested overlays).
|
|
114
|
+
* - Default: `true`
|
|
115
|
+
*/
|
|
116
|
+
scrollLock: { type: Boolean, default: !0 },
|
|
117
|
+
/**
|
|
118
|
+
* Optional enter animation class for the dialog.
|
|
119
|
+
* - Default: internal `'hison-popup-enter'` if not provided
|
|
120
|
+
*/
|
|
121
|
+
enterAnimationClass: { type: String, required: !1 },
|
|
122
|
+
/**
|
|
123
|
+
* Optional leave animation class for the dialog.
|
|
124
|
+
* - Default: internal `'hison-popup-leave'` if not provided
|
|
125
|
+
*/
|
|
126
|
+
leaveAnimationClass: { type: String, required: !1 }
|
|
127
|
+
}, Ke = Ie({
|
|
128
|
+
name: "HPopup",
|
|
129
|
+
props: Je,
|
|
130
|
+
inheritAttrs: !1,
|
|
131
|
+
emits: ["mounted", "responsive-change", "open", "close"],
|
|
132
|
+
setup(t, { emit: v, slots: ue }) {
|
|
133
|
+
const i = t.id || De(), I = `hpopup:${i}`, D = qe(), T = o(null), p = o(null), s = o(t.visible), ce = o(!0), y = o(t.zIndex ?? 1100), O = o(t.position), r = o(t.left ?? null), u = o(t.top ?? null), b = o(t.width ?? null), h = o(t.height ?? null), A = o(t.showOverlay), P = o(t.closeClickOverlay), g = o(t.scrollLock), f = o(t.enterAnimationClass || "hison-popup-enter"), m = o(t.leaveAnimationClass || "hison-popup-leave"), ve = d(() => s.value ? "" : "hison-display-none"), R = o([]), q = () => {
|
|
134
|
+
R.value = xe(ie(t.class) || "", D.value), re(R.value, "size", z.componentStyle.size), re(R.value, "color", "primary");
|
|
135
|
+
}, de = d(() => [
|
|
136
|
+
...Xe(ie(t.class) || "", "color")
|
|
137
|
+
]), pe = d(() => s.value && A.value), fe = () => {
|
|
138
|
+
P.value && k();
|
|
139
|
+
}, me = d(() => {
|
|
140
|
+
const e = { zIndex: y.value, position: "fixed" };
|
|
141
|
+
if (r.value != null || u.value != null)
|
|
142
|
+
return e.left = `${r.value ?? 0}px`, e.top = `${u.value ?? 0}px`, e;
|
|
143
|
+
switch (e.left = "", e.right = "", e.top = "", e.bottom = "", e.transform = "none", O.value) {
|
|
144
|
+
case c.topLeft:
|
|
145
|
+
e.left = "0", e.top = "0";
|
|
146
|
+
break;
|
|
147
|
+
case c.topCenter:
|
|
148
|
+
e.left = "50%", e.top = "0", e.transform = "translateX(-50%)";
|
|
149
|
+
break;
|
|
150
|
+
case c.topRight:
|
|
151
|
+
e.right = "0", e.top = "0";
|
|
152
|
+
break;
|
|
153
|
+
case c.middleLeft:
|
|
154
|
+
e.left = "0", e.top = "50%", e.transform = "translateY(-50%)";
|
|
155
|
+
break;
|
|
156
|
+
case c.middleCenter:
|
|
157
|
+
e.left = "50%", e.top = "50%", e.transform = "translate(-50%, -50%)";
|
|
158
|
+
break;
|
|
159
|
+
case c.middleRight:
|
|
160
|
+
e.right = "0", e.top = "50%", e.transform = "translateY(-50%)";
|
|
161
|
+
break;
|
|
162
|
+
case c.bottomLeft:
|
|
163
|
+
e.left = "0", e.bottom = "0";
|
|
164
|
+
break;
|
|
165
|
+
case c.bottomCenter:
|
|
166
|
+
e.left = "50%", e.bottom = "0", e.transform = "translateX(-50%)";
|
|
167
|
+
break;
|
|
168
|
+
case c.bottomRight:
|
|
169
|
+
e.right = "0", e.bottom = "0";
|
|
170
|
+
break;
|
|
171
|
+
}
|
|
172
|
+
return e;
|
|
173
|
+
}), ye = d(() => {
|
|
174
|
+
const l = { zIndex: (y.value ?? 1100) - 1 }, a = t.overlayStyle;
|
|
175
|
+
return a ? Array.isArray(a) ? [{ ...l }, ...a] : typeof a == "string" ? [l, a] : { ...l, ...a } : l;
|
|
176
|
+
}), be = d(() => {
|
|
177
|
+
const e = {};
|
|
178
|
+
return b.value != null && (e.width = `${b.value}px`), h.value != null && (e.height = `${h.value}px`), e;
|
|
179
|
+
}), C = o(t.border), he = d(() => C.value ? "hison-border" : "hison-border-none"), ge = d(() => C.value ? "filled" : "empty"), M = () => {
|
|
180
|
+
g.value && Fe(i);
|
|
181
|
+
}, E = () => {
|
|
182
|
+
g.value && Ze(i);
|
|
183
|
+
}, K = async () => {
|
|
184
|
+
const e = p.value;
|
|
185
|
+
!e || !f.value || (e.classList.remove(m.value), e.offsetWidth, e.classList.add(f.value));
|
|
186
|
+
}, Ce = async () => {
|
|
187
|
+
const e = p.value;
|
|
188
|
+
!e || !m.value || (e.classList.remove(f.value), e.offsetWidth, e.classList.add(m.value), await new Promise((l) => setTimeout(l, 200)));
|
|
189
|
+
}, H = async () => {
|
|
190
|
+
s.value || (s.value = !0, M(), await Z(), K(), v("open", F(w)));
|
|
191
|
+
}, k = async () => {
|
|
192
|
+
if (s.value)
|
|
193
|
+
try {
|
|
194
|
+
await Ce();
|
|
195
|
+
} finally {
|
|
196
|
+
s.value = !1, E(), v("close", F(w));
|
|
197
|
+
}
|
|
198
|
+
}, ke = async () => s.value ? k() : H(), Le = () => {
|
|
199
|
+
k();
|
|
200
|
+
}, L = o(t.draggable), $ = o(!1);
|
|
201
|
+
let Q = 0, _ = 0, ee = 0, te = 0, S = null, N = null;
|
|
202
|
+
const Se = () => {
|
|
203
|
+
if (r.value == null && u.value == null) {
|
|
204
|
+
const e = T.value;
|
|
205
|
+
if (!e) return;
|
|
206
|
+
const l = e.getBoundingClientRect();
|
|
207
|
+
r.value = Math.round(l.left), u.value = Math.round(l.top);
|
|
208
|
+
}
|
|
209
|
+
}, we = (e, l) => {
|
|
210
|
+
const a = T.value;
|
|
211
|
+
if (!a) return { l: e, t: l };
|
|
212
|
+
const Y = window.innerWidth, j = window.innerHeight, Oe = a.offsetWidth, Ae = a.offsetHeight, Pe = 0, $e = 0, Ne = Math.max(0, Y - Oe), ze = Math.max(0, j - Ae);
|
|
213
|
+
return { l: Math.min(Math.max(e, Pe), Ne), t: Math.min(Math.max(l, $e), ze) };
|
|
214
|
+
}, Be = (e, l) => {
|
|
215
|
+
N = { l: e, t: l }, S == null && (S = requestAnimationFrame(() => {
|
|
216
|
+
N && (r.value = N.l, u.value = N.t, N = null), S = null;
|
|
217
|
+
}));
|
|
218
|
+
}, X = (e) => {
|
|
219
|
+
if (!$.value) return;
|
|
220
|
+
const l = e.clientX - Q, a = e.clientY - _, { l: Y, t: j } = we(ee + l, te + a);
|
|
221
|
+
Be(Y, j);
|
|
222
|
+
}, x = () => {
|
|
223
|
+
$.value && ($.value = !1, document.removeEventListener("pointermove", X, !0), document.removeEventListener("pointerup", x, !0), document.body.style.userSelect = "");
|
|
224
|
+
}, Te = (e) => {
|
|
225
|
+
!L.value || e.target.closest(".hison-popup-close-btn") || (Se(), $.value = !0, Q = e.clientX, _ = e.clientY, ee = r.value ?? 0, te = u.value ?? 0, document.body.style.userSelect = "none", document.addEventListener("pointermove", X, !0), document.addEventListener("pointerup", x, !0));
|
|
226
|
+
}, U = () => {
|
|
227
|
+
S != null && (cancelAnimationFrame(S), S = null), document.removeEventListener("pointermove", X, !0), document.removeEventListener("pointerup", x, !0), document.body.style.userSelect = "", $.value = !1;
|
|
228
|
+
}, w = o(null), le = () => {
|
|
229
|
+
z.component.popupList[i] && z.component.popupList[i].isHisonvueComponent && console.warn(`[Hisonvue] The popup ID is at risk of being duplicated. ${i}`), Ue(I, () => {
|
|
230
|
+
oe(), Z(le);
|
|
231
|
+
}), q(), s.value && (M(), Z(K)), w.value = {
|
|
232
|
+
isHisonvueComponent: !0,
|
|
233
|
+
getId: () => i,
|
|
234
|
+
getType: () => "popup",
|
|
235
|
+
isVisible: () => s.value,
|
|
236
|
+
open: H,
|
|
237
|
+
close: k,
|
|
238
|
+
toggle: ke,
|
|
239
|
+
setVisible: (e) => e ? H() : k(),
|
|
240
|
+
getZIndex: () => y.value,
|
|
241
|
+
setZIndex: (e) => {
|
|
242
|
+
y.value = e;
|
|
243
|
+
},
|
|
244
|
+
getPosition: () => O.value,
|
|
245
|
+
setPosition: (e) => {
|
|
246
|
+
O.value = e;
|
|
247
|
+
},
|
|
248
|
+
getLeft: () => r.value,
|
|
249
|
+
setLeft: (e) => {
|
|
250
|
+
r.value = e;
|
|
251
|
+
},
|
|
252
|
+
getTop: () => u.value,
|
|
253
|
+
setTop: (e) => {
|
|
254
|
+
u.value = e;
|
|
255
|
+
},
|
|
256
|
+
getWidth: () => b.value,
|
|
257
|
+
setWidth: (e) => {
|
|
258
|
+
b.value = e;
|
|
259
|
+
},
|
|
260
|
+
getHeight: () => h.value,
|
|
261
|
+
setHeight: (e) => {
|
|
262
|
+
h.value = e;
|
|
263
|
+
},
|
|
264
|
+
isDraggable: () => L.value,
|
|
265
|
+
setDraggable: (e) => {
|
|
266
|
+
L.value = e, e || U();
|
|
267
|
+
},
|
|
268
|
+
isOverlayShown: () => A.value,
|
|
269
|
+
setOverlayShown: (e) => {
|
|
270
|
+
A.value = e;
|
|
271
|
+
},
|
|
272
|
+
isCloseClickOverlay: () => P.value,
|
|
273
|
+
setCloseClickOverlay: (e) => {
|
|
274
|
+
P.value = e;
|
|
275
|
+
},
|
|
276
|
+
isScrollLocked: () => g.value,
|
|
277
|
+
setScrollLock: (e) => {
|
|
278
|
+
g.value = e, s.value && (e ? M() : E());
|
|
279
|
+
},
|
|
280
|
+
isBorder: () => C.value,
|
|
281
|
+
setBorder: (e) => {
|
|
282
|
+
C.value = e;
|
|
283
|
+
},
|
|
284
|
+
getAnimationClasses: () => ({ enter: f.value, leave: m.value }),
|
|
285
|
+
setAnimationClasses: (e) => {
|
|
286
|
+
"enter" in e && (f.value = e.enter || ""), "leave" in e && (m.value = e.leave || "");
|
|
287
|
+
},
|
|
288
|
+
reload: () => Ye(I)
|
|
289
|
+
}, z.component.popupList[i] = w.value, v("mounted", w.value);
|
|
290
|
+
}, oe = () => {
|
|
291
|
+
U(), je(I), delete z.component.popupList[i], s.value && E();
|
|
292
|
+
};
|
|
293
|
+
return Re(le), Me(oe), n(D, (e) => {
|
|
294
|
+
q(), v("responsive-change", e);
|
|
295
|
+
}), n(() => t.visible, (e) => {
|
|
296
|
+
const l = !!e;
|
|
297
|
+
l !== s.value && (l ? H() : k());
|
|
298
|
+
}), n(() => t.zIndex, (e) => {
|
|
299
|
+
const l = Number(e ?? 1100);
|
|
300
|
+
l !== y.value && (y.value = l);
|
|
301
|
+
}), n(() => t.position, (e) => {
|
|
302
|
+
e && e !== O.value && (O.value = e);
|
|
303
|
+
}), n(() => t.left, (e) => {
|
|
304
|
+
const l = e == null ? null : Number(e);
|
|
305
|
+
l !== r.value && (r.value = l);
|
|
306
|
+
}), n(() => t.top, (e) => {
|
|
307
|
+
const l = e == null ? null : Number(e);
|
|
308
|
+
l !== u.value && (u.value = l);
|
|
309
|
+
}), n(() => t.width, (e) => {
|
|
310
|
+
const l = e == null ? null : Number(e);
|
|
311
|
+
l !== b.value && (b.value = l);
|
|
312
|
+
}), n(() => t.height, (e) => {
|
|
313
|
+
const l = e == null ? null : Number(e);
|
|
314
|
+
l !== h.value && (h.value = l);
|
|
315
|
+
}), n(() => t.draggable, (e) => {
|
|
316
|
+
const l = !!e;
|
|
317
|
+
l !== L.value && (L.value = l, l || U());
|
|
318
|
+
}), n(() => t.showOverlay, (e) => {
|
|
319
|
+
const l = !!e;
|
|
320
|
+
l !== A.value && (A.value = l);
|
|
321
|
+
}), n(() => t.closeClickOverlay, (e) => {
|
|
322
|
+
const l = !!e;
|
|
323
|
+
l !== P.value && (P.value = l);
|
|
324
|
+
}), n(() => t.scrollLock, (e) => {
|
|
325
|
+
const l = !!e;
|
|
326
|
+
l !== g.value && (g.value = l, s.value && (l ? M() : E()));
|
|
327
|
+
}), n(() => t.border, (e) => {
|
|
328
|
+
const l = !!e;
|
|
329
|
+
l !== C.value && (C.value = l);
|
|
330
|
+
}), n(() => t.enterAnimationClass, (e) => {
|
|
331
|
+
const l = e || "hison-popup-enter";
|
|
332
|
+
l !== f.value && (f.value = l);
|
|
333
|
+
}), n(() => t.leaveAnimationClass, (e) => {
|
|
334
|
+
const l = e || "hison-popup-leave";
|
|
335
|
+
l !== m.value && (m.value = l);
|
|
336
|
+
}), n(() => t.class, () => {
|
|
337
|
+
q();
|
|
338
|
+
}), {
|
|
339
|
+
id: i,
|
|
340
|
+
props: t,
|
|
341
|
+
popupRef: p,
|
|
342
|
+
popupWrapperRef: T,
|
|
343
|
+
visibleClass: ve,
|
|
344
|
+
responsiveClassList: R,
|
|
345
|
+
childClassList: de,
|
|
346
|
+
borderClass: he,
|
|
347
|
+
wrapperStyle: me,
|
|
348
|
+
overlayStyleWithZ: ye,
|
|
349
|
+
isOverlayVisible: pe,
|
|
350
|
+
sizeStyle: be,
|
|
351
|
+
closeButtonVisible: ce,
|
|
352
|
+
closeButtonBackgroundType: ge,
|
|
353
|
+
closeButtonText: "X",
|
|
354
|
+
closeButtonTitle: "Close",
|
|
355
|
+
draggable: L,
|
|
356
|
+
onClickCloseButton: Le,
|
|
357
|
+
onOverlayClick: fe,
|
|
358
|
+
onTopbarPointerDown: Te,
|
|
359
|
+
popupMethods: d(() => F(w))
|
|
360
|
+
};
|
|
361
|
+
}
|
|
362
|
+
}), Qe = {
|
|
363
|
+
class: /* @__PURE__ */ B(["hison-popup-body"])
|
|
364
|
+
};
|
|
365
|
+
function _e(t, v, ue, i, I, D) {
|
|
366
|
+
const T = Ee("HButton");
|
|
367
|
+
return se(), ne("div", {
|
|
368
|
+
class: B(["hison-layer-host", t.visibleClass])
|
|
369
|
+
}, [
|
|
370
|
+
t.isOverlayVisible ? (se(), ne("div", {
|
|
371
|
+
key: 0,
|
|
372
|
+
class: "hison-popup-overlay",
|
|
373
|
+
style: J(t.overlayStyleWithZ),
|
|
374
|
+
onClick: v[0] || (v[0] = (...p) => t.onOverlayClick && t.onOverlayClick(...p))
|
|
375
|
+
}, null, 4)) : G("", !0),
|
|
376
|
+
V("div", {
|
|
377
|
+
ref: "popupWrapperRef",
|
|
378
|
+
class: B(["hison-popup-wrapper", ...t.responsiveClassList]),
|
|
379
|
+
style: J(t.wrapperStyle)
|
|
380
|
+
}, [
|
|
381
|
+
V("div", {
|
|
382
|
+
ref: "popupRef",
|
|
383
|
+
class: B(["hison-popup", t.borderClass]),
|
|
384
|
+
style: J([t.sizeStyle, t.props.style]),
|
|
385
|
+
role: "dialog"
|
|
386
|
+
}, [
|
|
387
|
+
V("div", {
|
|
388
|
+
class: B(["hison-popup-topbar", t.draggable ? "hison-draggable" : ""]),
|
|
389
|
+
onPointerdown: v[1] || (v[1] = (...p) => t.onTopbarPointerDown && t.onTopbarPointerDown(...p))
|
|
390
|
+
}, [
|
|
391
|
+
t.closeButtonVisible ? W(t.$slots, "close-button", {
|
|
392
|
+
key: 0,
|
|
393
|
+
onClick: t.onClickCloseButton,
|
|
394
|
+
text: t.closeButtonText,
|
|
395
|
+
title: t.closeButtonTitle || "Close"
|
|
396
|
+
}, () => [
|
|
397
|
+
He(T, {
|
|
398
|
+
id: `hison_popup_close_${t.id}`,
|
|
399
|
+
class: B(["hison-popup-close-btn", "hison-pos-right", "hison-pos-vertical-center", "hison-size-s", ...t.childClassList]),
|
|
400
|
+
text: t.closeButtonText,
|
|
401
|
+
title: t.closeButtonTitle || "Close",
|
|
402
|
+
border: !1,
|
|
403
|
+
"background-type": t.closeButtonBackgroundType,
|
|
404
|
+
onClick: t.onClickCloseButton
|
|
405
|
+
}, Ve({
|
|
406
|
+
default: ae(() => [
|
|
407
|
+
t.$slots["close-label"] ? W(t.$slots, "close-label", { key: 0 }) : G("", !0)
|
|
408
|
+
]),
|
|
409
|
+
_: 2
|
|
410
|
+
}, [
|
|
411
|
+
t.$slots["close-icon"] ? {
|
|
412
|
+
name: "icon",
|
|
413
|
+
fn: ae(() => [
|
|
414
|
+
W(t.$slots, "close-icon")
|
|
415
|
+
]),
|
|
416
|
+
key: "0"
|
|
417
|
+
} : void 0
|
|
418
|
+
]), 1032, ["id", "class", "text", "title", "background-type", "onClick"])
|
|
419
|
+
]) : G("", !0)
|
|
420
|
+
], 34),
|
|
421
|
+
V("div", Qe, [
|
|
422
|
+
W(t.$slots, "default")
|
|
423
|
+
])
|
|
424
|
+
], 6)
|
|
425
|
+
], 6)
|
|
426
|
+
], 2);
|
|
427
|
+
}
|
|
428
|
+
const nt = /* @__PURE__ */ Ge(Ke, [["render", _e]]);
|
|
429
|
+
export {
|
|
430
|
+
nt as default
|
|
431
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("vue"),n=require("./index-BmKMHsSZ.js"),Z=require("./scrollManager-CEEWQwoK.js"),ge=require("./_plugin-vue_export-helper-BHFhmbuH.js"),Ce={id:{type:String,required:!1},class:{type:[String,Array,Object],required:!1},style:{type:[String,Object,Array],required:!1},visible:{type:Boolean,default:!1},border:{type:Boolean,default:!0},zIndex:{type:Number,default:1200},position:{type:String,default:n.ScreenPosition.middleCenter,validator:l=>n.SCREEN_POSITION_VALUES.includes(l)},left:{type:Number,default:null},top:{type:Number,default:null},width:{type:Number,default:null},height:{type:Number,default:null},draggable:{type:Boolean,default:!0},showOverlay:{type:Boolean,default:!0},closeClickOverlay:{type:Boolean,default:!0},overlayStyle:{type:[String,Object,Array],required:!1},scrollLock:{type:Boolean,default:!0},enterAnimationClass:{type:String,required:!1},leaveAnimationClass:{type:String,required:!1}},Se=t.defineComponent({name:"HPopup",props:Ce,inheritAttrs:!1,emits:["mounted","responsive-change","open","close"],setup(l,{emit:c,slots:G}){const i=l.id||n.getUUID(),z=`hpopup:${i}`,E=n.useDevice(),w=t.ref(null),v=t.ref(null),s=t.ref(l.visible),J=t.ref(!0),f=t.ref(l.zIndex??1100),L=t.ref(l.position),r=t.ref(l.left??null),u=t.ref(l.top??null),m=t.ref(l.width??null),h=t.ref(l.height??null),B=t.ref(l.showOverlay),P=t.ref(l.closeClickOverlay),y=t.ref(l.scrollLock),d=t.ref(l.enterAnimationClass||"hison-popup-enter"),p=t.ref(l.leaveAnimationClass||"hison-popup-leave"),K=t.computed(()=>s.value?"":"hison-display-none"),N=t.ref([]),I=()=>{N.value=n.extractResponsiveClasses(n.toClassString(l.class)||"",E.value),n.addComponentNameToClass(N.value,"size",n.hisonCloser.componentStyle.size),n.addComponentNameToClass(N.value,"color","primary")},Q=t.computed(()=>[...n.extractPrefixedClasses(n.toClassString(l.class)||"","color")]),_=t.computed(()=>s.value&&B.value),ee=()=>{P.value&&g()},te=t.computed(()=>{const e={zIndex:f.value,position:"fixed"};if(r.value!=null||u.value!=null)return e.left=`${r.value??0}px`,e.top=`${u.value??0}px`,e;switch(e.left="",e.right="",e.top="",e.bottom="",e.transform="none",L.value){case n.ScreenPosition.topLeft:e.left="0",e.top="0";break;case n.ScreenPosition.topCenter:e.left="50%",e.top="0",e.transform="translateX(-50%)";break;case n.ScreenPosition.topRight:e.right="0",e.top="0";break;case n.ScreenPosition.middleLeft:e.left="0",e.top="50%",e.transform="translateY(-50%)";break;case n.ScreenPosition.middleCenter:e.left="50%",e.top="50%",e.transform="translate(-50%, -50%)";break;case n.ScreenPosition.middleRight:e.right="0",e.top="50%",e.transform="translateY(-50%)";break;case n.ScreenPosition.bottomLeft:e.left="0",e.bottom="0";break;case n.ScreenPosition.bottomCenter:e.left="50%",e.bottom="0",e.transform="translateX(-50%)";break;case n.ScreenPosition.bottomRight:e.right="0",e.bottom="0";break}return e}),le=t.computed(()=>{const o={zIndex:(f.value??1100)-1},a=l.overlayStyle;return a?Array.isArray(a)?[{...o},...a]:typeof a=="string"?[o,a]:{...o,...a}:o}),oe=t.computed(()=>{const e={};return m.value!=null&&(e.width=`${m.value}px`),h.value!=null&&(e.height=`${h.value}px`),e}),b=t.ref(l.border),ne=t.computed(()=>b.value?"hison-border":"hison-border-none"),se=t.computed(()=>b.value?"filled":"empty"),A=()=>{y.value&&Z.acquireScrollLock(i)},V=()=>{y.value&&Z.releaseScrollLock(i)},D=async()=>{const e=v.value;!e||!d.value||(e.classList.remove(p.value),e.offsetWidth,e.classList.add(d.value))},ae=async()=>{const e=v.value;!e||!p.value||(e.classList.remove(d.value),e.offsetWidth,e.classList.add(p.value),await new Promise(o=>setTimeout(o,200)))},$=async()=>{s.value||(s.value=!0,A(),await t.nextTick(),D(),c("open",t.unref(k)))},g=async()=>{if(s.value)try{await ae()}finally{s.value=!1,V(),c("close",t.unref(k))}},ie=async()=>s.value?g():$(),re=()=>{g()},C=t.ref(l.draggable),T=t.ref(!1);let x=0,X=0,U=0,Y=0,S=null,O=null;const ue=()=>{if(r.value==null&&u.value==null){const e=w.value;if(!e)return;const o=e.getBoundingClientRect();r.value=Math.round(o.left),u.value=Math.round(o.top)}},ce=(e,o)=>{const a=w.value;if(!a)return{l:e,t:o};const q=window.innerWidth,W=window.innerHeight,pe=a.offsetWidth,fe=a.offsetHeight,me=0,he=0,ye=Math.max(0,q-pe),be=Math.max(0,W-fe);return{l:Math.min(Math.max(e,me),ye),t:Math.min(Math.max(o,he),be)}},ve=(e,o)=>{O={l:e,t:o},S==null&&(S=requestAnimationFrame(()=>{O&&(r.value=O.l,u.value=O.t,O=null),S=null}))},M=e=>{if(!T.value)return;const o=e.clientX-x,a=e.clientY-X,{l:q,t:W}=ce(U+o,Y+a);ve(q,W)},R=()=>{T.value&&(T.value=!1,document.removeEventListener("pointermove",M,!0),document.removeEventListener("pointerup",R,!0),document.body.style.userSelect="")},de=e=>{!C.value||e.target.closest(".hison-popup-close-btn")||(ue(),T.value=!0,x=e.clientX,X=e.clientY,U=r.value??0,Y=u.value??0,document.body.style.userSelect="none",document.addEventListener("pointermove",M,!0),document.addEventListener("pointerup",R,!0))},H=()=>{S!=null&&(cancelAnimationFrame(S),S=null),document.removeEventListener("pointermove",M,!0),document.removeEventListener("pointerup",R,!0),document.body.style.userSelect="",T.value=!1},k=t.ref(null),j=()=>{n.hisonCloser.component.popupList[i]&&n.hisonCloser.component.popupList[i].isHisonvueComponent&&console.warn(`[Hisonvue] The popup ID is at risk of being duplicated. ${i}`),n.registerReloadable(z,()=>{F(),t.nextTick(j)}),I(),s.value&&(A(),t.nextTick(D)),k.value={isHisonvueComponent:!0,getId:()=>i,getType:()=>"popup",isVisible:()=>s.value,open:$,close:g,toggle:ie,setVisible:e=>e?$():g(),getZIndex:()=>f.value,setZIndex:e=>{f.value=e},getPosition:()=>L.value,setPosition:e=>{L.value=e},getLeft:()=>r.value,setLeft:e=>{r.value=e},getTop:()=>u.value,setTop:e=>{u.value=e},getWidth:()=>m.value,setWidth:e=>{m.value=e},getHeight:()=>h.value,setHeight:e=>{h.value=e},isDraggable:()=>C.value,setDraggable:e=>{C.value=e,e||H()},isOverlayShown:()=>B.value,setOverlayShown:e=>{B.value=e},isCloseClickOverlay:()=>P.value,setCloseClickOverlay:e=>{P.value=e},isScrollLocked:()=>y.value,setScrollLock:e=>{y.value=e,s.value&&(e?A():V())},isBorder:()=>b.value,setBorder:e=>{b.value=e},getAnimationClasses:()=>({enter:d.value,leave:p.value}),setAnimationClasses:e=>{"enter"in e&&(d.value=e.enter||""),"leave"in e&&(p.value=e.leave||"")},reload:()=>n.reloadHisonComponent(z)},n.hisonCloser.component.popupList[i]=k.value,c("mounted",k.value)},F=()=>{H(),n.unregisterReloadable(z),delete n.hisonCloser.component.popupList[i],s.value&&V()};return t.onMounted(j),t.onBeforeUnmount(F),t.watch(E,e=>{I(),c("responsive-change",e)}),t.watch(()=>l.visible,e=>{const o=!!e;o!==s.value&&(o?$():g())}),t.watch(()=>l.zIndex,e=>{const o=Number(e??1100);o!==f.value&&(f.value=o)}),t.watch(()=>l.position,e=>{e&&e!==L.value&&(L.value=e)}),t.watch(()=>l.left,e=>{const o=e==null?null:Number(e);o!==r.value&&(r.value=o)}),t.watch(()=>l.top,e=>{const o=e==null?null:Number(e);o!==u.value&&(u.value=o)}),t.watch(()=>l.width,e=>{const o=e==null?null:Number(e);o!==m.value&&(m.value=o)}),t.watch(()=>l.height,e=>{const o=e==null?null:Number(e);o!==h.value&&(h.value=o)}),t.watch(()=>l.draggable,e=>{const o=!!e;o!==C.value&&(C.value=o,o||H())}),t.watch(()=>l.showOverlay,e=>{const o=!!e;o!==B.value&&(B.value=o)}),t.watch(()=>l.closeClickOverlay,e=>{const o=!!e;o!==P.value&&(P.value=o)}),t.watch(()=>l.scrollLock,e=>{const o=!!e;o!==y.value&&(y.value=o,s.value&&(o?A():V()))}),t.watch(()=>l.border,e=>{const o=!!e;o!==b.value&&(b.value=o)}),t.watch(()=>l.enterAnimationClass,e=>{const o=e||"hison-popup-enter";o!==d.value&&(d.value=o)}),t.watch(()=>l.leaveAnimationClass,e=>{const o=e||"hison-popup-leave";o!==p.value&&(p.value=o)}),t.watch(()=>l.class,()=>{I()}),{id:i,props:l,popupRef:v,popupWrapperRef:w,visibleClass:K,responsiveClassList:N,childClassList:Q,borderClass:ne,wrapperStyle:te,overlayStyleWithZ:le,isOverlayVisible:_,sizeStyle:oe,closeButtonVisible:J,closeButtonBackgroundType:se,closeButtonText:"X",closeButtonTitle:"Close",draggable:C,onClickCloseButton:re,onOverlayClick:ee,onTopbarPointerDown:de,popupMethods:t.computed(()=>t.unref(k))}}}),ke={class:t.normalizeClass(["hison-popup-body"])};function we(l,c,G,i,z,E){const w=t.resolveComponent("HButton");return t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["hison-layer-host",l.visibleClass])},[l.isOverlayVisible?(t.openBlock(),t.createElementBlock("div",{key:0,class:"hison-popup-overlay",style:t.normalizeStyle(l.overlayStyleWithZ),onClick:c[0]||(c[0]=(...v)=>l.onOverlayClick&&l.onOverlayClick(...v))},null,4)):t.createCommentVNode("",!0),t.createElementVNode("div",{ref:"popupWrapperRef",class:t.normalizeClass(["hison-popup-wrapper",...l.responsiveClassList]),style:t.normalizeStyle(l.wrapperStyle)},[t.createElementVNode("div",{ref:"popupRef",class:t.normalizeClass(["hison-popup",l.borderClass]),style:t.normalizeStyle([l.sizeStyle,l.props.style]),role:"dialog"},[t.createElementVNode("div",{class:t.normalizeClass(["hison-popup-topbar",l.draggable?"hison-draggable":""]),onPointerdown:c[1]||(c[1]=(...v)=>l.onTopbarPointerDown&&l.onTopbarPointerDown(...v))},[l.closeButtonVisible?t.renderSlot(l.$slots,"close-button",{key:0,onClick:l.onClickCloseButton,text:l.closeButtonText,title:l.closeButtonTitle||"Close"},()=>[t.createVNode(w,{id:`hison_popup_close_${l.id}`,class:t.normalizeClass(["hison-popup-close-btn","hison-pos-right","hison-pos-vertical-center","hison-size-s",...l.childClassList]),text:l.closeButtonText,title:l.closeButtonTitle||"Close",border:!1,"background-type":l.closeButtonBackgroundType,onClick:l.onClickCloseButton},t.createSlots({default:t.withCtx(()=>[l.$slots["close-label"]?t.renderSlot(l.$slots,"close-label",{key:0}):t.createCommentVNode("",!0)]),_:2},[l.$slots["close-icon"]?{name:"icon",fn:t.withCtx(()=>[t.renderSlot(l.$slots,"close-icon")]),key:"0"}:void 0]),1032,["id","class","text","title","background-type","onClick"])]):t.createCommentVNode("",!0)],34),t.createElementVNode("div",ke,[t.renderSlot(l.$slots,"default")])],6)],6)],2)}const Le=ge._export_sfc(Se,[["render",we]]);exports.default=Le;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),t=require("./index-BmKMHsSZ.js"),V=require("./scrollManager-CEEWQwoK.js"),A=require("./_plugin-vue_export-helper-BHFhmbuH.js"),H={id:{type:String,required:!1},class:{type:[String,Array,Object],required:!1},style:{type:[String,Object,Array],required:!1},visible:{type:Boolean,default:!1},zIndex:{type:Number,default:1500},position:{type:String,default:t.ScreenPosition.middleCenter,validator:s=>t.SCREEN_POSITION_VALUES.includes(s)},overlayStyle:{type:[String,Object,Array],required:!1},timeoutMs:{type:Number,default:0},spinnerType:{type:String,default:"ring",validator:s=>["ring","dots","bars","pulse"].includes(s)}},O=e.defineComponent({name:"HSpinner",props:H,inheritAttrs:!1,emits:["mounted","responsive-change","open","close","toggle"],setup(s,{emit:o}){const l=s.id||t.getUUID(),y=`hspinner:${l}`,k=t.useDevice(),N=e.ref(null),I=e.ref(null),i=e.ref(s.visible),c=e.ref(s.zIndex??1400),m=e.ref(s.position),f=e.ref(s.overlayStyle),p=e.ref(s.timeoutMs??0),u=e.ref(s.spinnerType),B=e.computed(()=>i.value?"":"hison-display-none"),L=e.computed(()=>`hison-spinner-type-${u.value}`),h=e.ref([]),C=()=>{h.value=t.extractResponsiveClasses(t.toClassString(s.class)||"",k.value),t.addComponentNameToClass(h.value,"size",t.hisonCloser.componentStyle.size),t.addComponentNameToClass(h.value,"color","primary")},R=e.computed(()=>{const n={zIndex:c.value};switch(n.left="",n.right="",n.top="",n.bottom="",n.transform="none",m.value){case t.ScreenPosition.topLeft:n.left="5%",n.top="5%";break;case t.ScreenPosition.topCenter:n.left="50%",n.top="5%",n.transform="translateX(-50%)";break;case t.ScreenPosition.topRight:n.right="5%",n.top="5%";break;case t.ScreenPosition.middleLeft:n.left="5%",n.top="50%",n.transform="translateY(-50%)";break;case t.ScreenPosition.middleCenter:n.left="50%",n.top="50%",n.transform="translate(-50%, -50%)";break;case t.ScreenPosition.middleRight:n.right="5%",n.top="50%",n.transform="translateY(-50%)";break;case t.ScreenPosition.bottomLeft:n.left="5%",n.bottom="5%";break;case t.ScreenPosition.bottomCenter:n.left="50%",n.bottom="5%",n.transform="translateX(-50%)";break;case t.ScreenPosition.bottomRight:n.right="5%",n.bottom="5%";break}return n}),M=e.computed(()=>{const r={zIndex:(c.value??1400)-1},d=f.value;return d?Array.isArray(d)?[{...r},...d]:typeof d=="string"?[r,d]:{...r,...d}:r});let g=null;const T=()=>{g!=null&&(clearTimeout(g),g=null)},b=()=>{T(),p.value>0&&(g=window.setTimeout(()=>{v()},p.value))},w=()=>V.acquireScrollLock(l),E=()=>V.releaseScrollLock(l),S=async()=>{i.value||(i.value=!0,w(),await e.nextTick(),b(),o("open",e.unref(a)))},v=async()=>{if(i.value)try{T()}finally{i.value=!1,E(),o("close",e.unref(a))}},q=async()=>{i.value?await v():await S(),o("toggle",e.unref(a))},a=e.ref(null),z=()=>{t.hisonCloser.component.spinnerList[l]&&t.hisonCloser.component.spinnerList[l].isHisonvueComponent&&console.warn(`[Hisonvue] The spinner ID is at risk of being duplicated. ${l}`),t.registerReloadable(y,()=>{P(),e.nextTick(z)}),C(),i.value&&(w(),b()),a.value={isHisonvueComponent:!0,getId:()=>l,getType:()=>"spinner",isVisible:()=>i.value,open:S,close:v,toggle:q,setVisible:n=>n?S():v(),getZIndex:()=>c.value,setZIndex:n=>{c.value=n},getPosition:()=>m.value,setPosition:n=>{m.value=n},getTimeout:()=>p.value,setTimeout:n=>{p.value=Math.max(0,Number(n)||0),i.value&&b()},getSpinnerType:()=>u.value,setSpinnerType:n=>{u.value=n},getOverlayStyle:()=>f.value,setOverlayStyle:n=>{f.value=n},reload:()=>t.reloadHisonComponent(y)},t.hisonCloser.component.spinnerList[l]=a.value,o("mounted",a.value)},P=()=>{t.unregisterReloadable(y),delete t.hisonCloser.component.spinnerList[l],T(),i.value&&E()};return e.onMounted(z),e.onBeforeUnmount(P),e.watch(k,n=>{C(),o("responsive-change",n)}),e.watch(()=>s.visible,n=>{const r=!!n;r!==i.value&&(r?S():v())}),e.watch(()=>s.zIndex,n=>{const r=Number(n??1400);r!==c.value&&(c.value=r)}),e.watch(()=>s.position,n=>{n&&n!==m.value&&(m.value=n)}),e.watch(()=>s.overlayStyle,n=>{n!==f.value&&(f.value=n)}),e.watch(()=>s.timeoutMs,n=>{const r=Math.max(0,Number(n)||0);r!==p.value&&(p.value=r,i.value&&b())}),e.watch(()=>s.spinnerType,n=>{n&&n!==u.value&&(u.value=n)}),e.watch(()=>s.class,()=>{C()}),{id:l,props:s,wrapperRef:N,spinnerRef:I,visible:i,visibleClass:B,responsiveClassList:h,overlayStyleWithZ:M,wrapperStyle:R,spinnerType:u,spinnerTypeClass:L,spinnerMethods:e.computed(()=>e.unref(a))}}}),$={key:0,class:"hison-spinner-ring"},j={key:1,class:"hison-spinner-dots"},U={key:2,class:"hison-spinner-bars"},Z={key:3,class:"hison-spinner-pulse"};function x(s,o,l,y,k,N){return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["hison-layer-host",s.visibleClass])},[s.visible?(e.openBlock(),e.createElementBlock("div",{key:0,class:"hison-spinner-overlay",style:e.normalizeStyle(s.overlayStyleWithZ)},null,4)):e.createCommentVNode("",!0),e.createElementVNode("div",{ref:"wrapperRef",class:e.normalizeClass(["hison-spinner-wrapper",...s.responsiveClassList]),style:e.normalizeStyle(s.wrapperStyle)},[e.createElementVNode("div",{ref:"spinnerRef",class:e.normalizeClass(["hison-spinner",s.spinnerTypeClass]),style:e.normalizeStyle(s.props.style),role:"status","aria-live":"polite","aria-busy":"true"},[e.renderSlot(s.$slots,"spinner",{spinnerEl:s.spinnerRef,spinner:s.spinnerMethods,type:s.spinnerType},()=>[s.spinnerType==="ring"?(e.openBlock(),e.createElementBlock("div",$,o[0]||(o[0]=[e.createStaticVNode('<span class="hison-spinner-ring-seg"></span><span class="hison-spinner-ring-seg"></span><span class="hison-spinner-ring-seg"></span><span class="hison-spinner-ring-seg"></span><span class="hison-spinner-ring-seg"></span><span class="hison-spinner-ring-seg"></span><span class="hison-spinner-ring-seg"></span>',7)]))):s.spinnerType==="dots"?(e.openBlock(),e.createElementBlock("div",j,o[1]||(o[1]=[e.createElementVNode("span",{class:"hison-spinner-dot"},null,-1),e.createElementVNode("span",{class:"hison-spinner-dot"},null,-1),e.createElementVNode("span",{class:"hison-spinner-dot"},null,-1)]))):s.spinnerType==="bars"?(e.openBlock(),e.createElementBlock("div",U,o[2]||(o[2]=[e.createElementVNode("span",{class:"hison-spinner-bar"},null,-1),e.createElementVNode("span",{class:"hison-spinner-bar"},null,-1),e.createElementVNode("span",{class:"hison-spinner-bar"},null,-1),e.createElementVNode("span",{class:"hison-spinner-bar"},null,-1)]))):(e.openBlock(),e.createElementBlock("div",Z,o[3]||(o[3]=[e.createElementVNode("span",{class:"hison-spinner-pulse-span"},null,-1)])))])],6)],6)],2)}const D=A._export_sfc(O,[["render",x]]);exports.default=D;
|