hzzt-plus 0.0.1-dev-05 → 0.0.1-dev-07
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/dist/index.full.js +119 -15
- package/dist/index.full.min.js +13 -13
- package/dist/index.full.min.js.map +1 -1
- package/dist/index.full.min.mjs +9 -9
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +117 -16
- package/es/components/tab/index.d.ts +1 -0
- package/es/components/tab/src/index.mjs.map +1 -1
- package/es/components/tab/src/index.vue.d.ts +1 -0
- package/es/directives/blur/index.d.ts +3 -0
- package/es/directives/blur/index.mjs +10 -0
- package/es/directives/blur/index.mjs.map +1 -0
- package/es/directives/download/index.d.ts +3 -0
- package/es/directives/download/index.mjs +21 -0
- package/es/directives/download/index.mjs.map +1 -0
- package/es/directives/height/index.d.ts +3 -0
- package/es/directives/height/index.mjs +80 -0
- package/es/directives/height/index.mjs.map +1 -0
- package/es/directives/index.d.ts +3 -0
- package/es/directives/index.mjs +4 -0
- package/es/directives/index.mjs.map +1 -0
- package/es/index.d.ts +1 -0
- package/es/index.mjs +4 -0
- package/es/index.mjs.map +1 -1
- package/lib/components/tab/index.d.ts +1 -0
- package/lib/components/tab/src/index.js.map +1 -1
- package/lib/components/tab/src/index.vue.d.ts +1 -0
- package/lib/directives/blur/index.d.ts +3 -0
- package/lib/directives/blur/index.js +14 -0
- package/lib/directives/blur/index.js.map +1 -0
- package/lib/directives/download/index.d.ts +3 -0
- package/lib/directives/download/index.js +25 -0
- package/lib/directives/download/index.js.map +1 -0
- package/lib/directives/height/index.d.ts +3 -0
- package/lib/directives/height/index.js +84 -0
- package/lib/directives/height/index.js.map +1 -0
- package/lib/directives/index.d.ts +3 -0
- package/lib/directives/index.js +14 -0
- package/lib/directives/index.js.map +1 -0
- package/lib/index.d.ts +1 -0
- package/lib/index.js +18 -11
- package/lib/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.full.mjs
CHANGED
|
@@ -4057,12 +4057,12 @@ function isMatchWith(object, source, customizer) {
|
|
|
4057
4057
|
}
|
|
4058
4058
|
|
|
4059
4059
|
var numberTag = "[object Number]";
|
|
4060
|
-
function isNumber(value) {
|
|
4060
|
+
function isNumber$1(value) {
|
|
4061
4061
|
return typeof value == "number" || isObjectLike(value) && baseGetTag(value) == numberTag;
|
|
4062
4062
|
}
|
|
4063
4063
|
|
|
4064
4064
|
function isNaN(value) {
|
|
4065
|
-
return isNumber(value) && value != +value;
|
|
4065
|
+
return isNumber$1(value) && value != +value;
|
|
4066
4066
|
}
|
|
4067
4067
|
|
|
4068
4068
|
var isMaskable = coreJsData ? isFunction : stubFalse;
|
|
@@ -6053,7 +6053,7 @@ var lang = {
|
|
|
6053
6053
|
isNative,
|
|
6054
6054
|
isNil,
|
|
6055
6055
|
isNull,
|
|
6056
|
-
isNumber,
|
|
6056
|
+
isNumber: isNumber$1,
|
|
6057
6057
|
isObject,
|
|
6058
6058
|
isObjectLike,
|
|
6059
6059
|
isPlainObject,
|
|
@@ -6821,6 +6821,7 @@ if (symIterator) {
|
|
|
6821
6821
|
* Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
|
|
6822
6822
|
*/
|
|
6823
6823
|
|
|
6824
|
+
const isNumber = (val) => typeof val === "number";
|
|
6824
6825
|
const isEmpty = (val) => !val && val !== 0 || isArray$1(val) && val.length === 0 || isObject$1(val) && !Object.keys(val).length;
|
|
6825
6826
|
|
|
6826
6827
|
const keysOf = (arr) => Object.keys(arr);
|
|
@@ -7109,19 +7110,19 @@ const isElement = (e) => {
|
|
|
7109
7110
|
return e instanceof Element;
|
|
7110
7111
|
};
|
|
7111
7112
|
|
|
7112
|
-
const nodeList = /* @__PURE__ */ new Map();
|
|
7113
|
+
const nodeList$1 = /* @__PURE__ */ new Map();
|
|
7113
7114
|
let startClick;
|
|
7114
7115
|
if (isClient) {
|
|
7115
7116
|
document.addEventListener("mousedown", (e) => startClick = e);
|
|
7116
7117
|
document.addEventListener("mouseup", (e) => {
|
|
7117
|
-
for (const handlers of nodeList.values()) {
|
|
7118
|
+
for (const handlers of nodeList$1.values()) {
|
|
7118
7119
|
for (const { documentHandler } of handlers) {
|
|
7119
7120
|
documentHandler(e, startClick);
|
|
7120
7121
|
}
|
|
7121
7122
|
}
|
|
7122
7123
|
});
|
|
7123
7124
|
}
|
|
7124
|
-
function createDocumentHandler(el, binding) {
|
|
7125
|
+
function createDocumentHandler$1(el, binding) {
|
|
7125
7126
|
let excludes = [];
|
|
7126
7127
|
if (Array.isArray(binding.arg)) {
|
|
7127
7128
|
excludes = binding.arg;
|
|
@@ -7146,22 +7147,22 @@ function createDocumentHandler(el, binding) {
|
|
|
7146
7147
|
}
|
|
7147
7148
|
const ClickOutside = {
|
|
7148
7149
|
beforeMount(el, binding) {
|
|
7149
|
-
if (!nodeList.has(el)) {
|
|
7150
|
-
nodeList.set(el, []);
|
|
7150
|
+
if (!nodeList$1.has(el)) {
|
|
7151
|
+
nodeList$1.set(el, []);
|
|
7151
7152
|
}
|
|
7152
|
-
nodeList.get(el).push({
|
|
7153
|
-
documentHandler: createDocumentHandler(el, binding),
|
|
7153
|
+
nodeList$1.get(el).push({
|
|
7154
|
+
documentHandler: createDocumentHandler$1(el, binding),
|
|
7154
7155
|
bindingFn: binding.value
|
|
7155
7156
|
});
|
|
7156
7157
|
},
|
|
7157
7158
|
updated(el, binding) {
|
|
7158
|
-
if (!nodeList.has(el)) {
|
|
7159
|
-
nodeList.set(el, []);
|
|
7159
|
+
if (!nodeList$1.has(el)) {
|
|
7160
|
+
nodeList$1.set(el, []);
|
|
7160
7161
|
}
|
|
7161
|
-
const handlers = nodeList.get(el);
|
|
7162
|
+
const handlers = nodeList$1.get(el);
|
|
7162
7163
|
const oldHandlerIndex = handlers.findIndex((item) => item.bindingFn === binding.oldValue);
|
|
7163
7164
|
const newHandler = {
|
|
7164
|
-
documentHandler: createDocumentHandler(el, binding),
|
|
7165
|
+
documentHandler: createDocumentHandler$1(el, binding),
|
|
7165
7166
|
bindingFn: binding.value
|
|
7166
7167
|
};
|
|
7167
7168
|
if (oldHandlerIndex >= 0) {
|
|
@@ -7171,7 +7172,7 @@ const ClickOutside = {
|
|
|
7171
7172
|
}
|
|
7172
7173
|
},
|
|
7173
7174
|
unmounted(el) {
|
|
7174
|
-
nodeList.delete(el);
|
|
7175
|
+
nodeList$1.delete(el);
|
|
7175
7176
|
}
|
|
7176
7177
|
};
|
|
7177
7178
|
|
|
@@ -7445,7 +7446,107 @@ var Plugins = [];
|
|
|
7445
7446
|
|
|
7446
7447
|
var installer = makeInstaller([...Components, ...Plugins]);
|
|
7447
7448
|
|
|
7449
|
+
let handler$1;
|
|
7450
|
+
const Download = {
|
|
7451
|
+
mounted(el, binding) {
|
|
7452
|
+
const { path, name = "download" } = binding.value || {};
|
|
7453
|
+
handler$1 = function(e) {
|
|
7454
|
+
e.preventDefault();
|
|
7455
|
+
const a = document.createElement("a");
|
|
7456
|
+
a.href = path;
|
|
7457
|
+
a.download = name;
|
|
7458
|
+
a.click();
|
|
7459
|
+
a.remove();
|
|
7460
|
+
};
|
|
7461
|
+
el.addEventListener("click", handler$1);
|
|
7462
|
+
},
|
|
7463
|
+
unmounted(el) {
|
|
7464
|
+
el.removeEventListener("click", handler$1);
|
|
7465
|
+
}
|
|
7466
|
+
};
|
|
7467
|
+
|
|
7468
|
+
const nodeList = /* @__PURE__ */ new Map();
|
|
7469
|
+
if (isClient) {
|
|
7470
|
+
window.addEventListener("resize", handler);
|
|
7471
|
+
document.addEventListener("fullscreenchange", handler);
|
|
7472
|
+
}
|
|
7473
|
+
function handler() {
|
|
7474
|
+
for (const handlers of nodeList.values()) {
|
|
7475
|
+
for (const { documentHandler } of handlers) {
|
|
7476
|
+
documentHandler();
|
|
7477
|
+
}
|
|
7478
|
+
}
|
|
7479
|
+
}
|
|
7480
|
+
const Height = {
|
|
7481
|
+
mounted(el, binding) {
|
|
7482
|
+
const { element, distY, type } = getEffectiveValue(el, binding.value);
|
|
7483
|
+
if (!nodeList.has(element)) {
|
|
7484
|
+
nodeList.set(element, []);
|
|
7485
|
+
}
|
|
7486
|
+
nodeList.get(el).push({
|
|
7487
|
+
documentHandler: createDocumentHandler(element, distY, type),
|
|
7488
|
+
bindingFn: binding.value
|
|
7489
|
+
});
|
|
7490
|
+
},
|
|
7491
|
+
updated(el, binding) {
|
|
7492
|
+
const { element, distY, type } = getEffectiveValue(el, binding.value);
|
|
7493
|
+
if (!nodeList.has(element)) {
|
|
7494
|
+
nodeList.set(element, []);
|
|
7495
|
+
}
|
|
7496
|
+
const handlers = nodeList.get(element);
|
|
7497
|
+
const oldHandlerIndex = handlers.findIndex((item) => item.bindingFn === binding.oldValue);
|
|
7498
|
+
const newHandler = {
|
|
7499
|
+
documentHandler: createDocumentHandler(element, distY, type),
|
|
7500
|
+
bindingFn: binding.value
|
|
7501
|
+
};
|
|
7502
|
+
if (oldHandlerIndex >= 0) {
|
|
7503
|
+
handlers.splice(oldHandlerIndex, 1, newHandler);
|
|
7504
|
+
} else {
|
|
7505
|
+
handlers.push(newHandler);
|
|
7506
|
+
}
|
|
7507
|
+
},
|
|
7508
|
+
unmounted(el, binding) {
|
|
7509
|
+
const { element } = getEffectiveValue(el, binding.value);
|
|
7510
|
+
nodeList.delete(element);
|
|
7511
|
+
}
|
|
7512
|
+
};
|
|
7513
|
+
function createDocumentHandler(el, distY, type) {
|
|
7514
|
+
const cssProp = type ? type + "Height" : "height";
|
|
7515
|
+
el.style[cssProp] = el.clientHeight + distY + "px";
|
|
7516
|
+
return function() {
|
|
7517
|
+
el.style[cssProp] = el.clientHeight + distY + "px";
|
|
7518
|
+
};
|
|
7519
|
+
}
|
|
7520
|
+
function getEffectiveValue(el, val) {
|
|
7521
|
+
let element = el.parentElement;
|
|
7522
|
+
let distY = 0;
|
|
7523
|
+
let type = "";
|
|
7524
|
+
if (!val) {
|
|
7525
|
+
element = el.parentElement;
|
|
7526
|
+
distY = 0;
|
|
7527
|
+
} else if (val instanceof HTMLElement) {
|
|
7528
|
+
element = val;
|
|
7529
|
+
distY = 0;
|
|
7530
|
+
} else if (isNumber(val)) {
|
|
7531
|
+
element = el.parentElement;
|
|
7532
|
+
distY = val;
|
|
7533
|
+
} else if (isObject$1(val)) {
|
|
7534
|
+
element = (val == null ? void 0 : val.el) || el.parentElement;
|
|
7535
|
+
distY = (val == null ? void 0 : val.distY) || 0;
|
|
7536
|
+
type = (val == null ? void 0 : val.type) || "";
|
|
7537
|
+
}
|
|
7538
|
+
return { element, distY, type };
|
|
7539
|
+
}
|
|
7540
|
+
|
|
7541
|
+
const Blur = {
|
|
7542
|
+
beforeMount(el) {
|
|
7543
|
+
el.addEventListener("click", () => {
|
|
7544
|
+
el.blur();
|
|
7545
|
+
});
|
|
7546
|
+
}
|
|
7547
|
+
};
|
|
7548
|
+
|
|
7448
7549
|
const install = installer.install;
|
|
7449
7550
|
const version = installer.version;
|
|
7450
7551
|
|
|
7451
|
-
export { HzztCollapse, HzztConfigProvider, HzztDropdown, HzztTab, HzztTitle, INSTALLED_KEY, SIZE_INJECTION_KEY, WEEK_DAYS, buildLocaleContext, buildTranslator, componentSizeMap, componentSizes, configProviderContextKey, configProviderProps, datePickTypes, installer as default, install, localeContextKey, makeInstaller, provideGlobalConfig, translate, useGlobalConfig, useGlobalSize, useLocale, useSizeProp, useSizeProps, version };
|
|
7552
|
+
export { Blur, Download, Height, HzztCollapse, HzztConfigProvider, HzztDropdown, HzztTab, HzztTitle, INSTALLED_KEY, SIZE_INJECTION_KEY, WEEK_DAYS, buildLocaleContext, buildTranslator, componentSizeMap, componentSizes, configProviderContextKey, configProviderProps, datePickTypes, installer as default, install, localeContextKey, makeInstaller, provideGlobalConfig, translate, useGlobalConfig, useGlobalSize, useLocale, useSizeProp, useSizeProps, version };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../../../../../packages/components/tab/src/index.vue"],"sourcesContent":["<template>\n <div class=\"hzzt-tab flex align-items-center justify-content-between wrap\">\n <div class=\"flex align-items-center\">\n <div class=\"flex\">\n <div :key=\"tab.key\" @click=\"tabClick(tab, $event)\" class=\"hzzt-tab-pane\" v-for=\"tab in customTabList\">\n <div class=\"hzzt-tab-badge\">\n <p :class=\"{ active: modelValue === tab.name }\" class=\"hzzt-tab-badge-text\">{{ tab.label }}</p>\n <p class=\"hzzt-tab-badge-count\" v-if=\"tab.number && tab.number !== 0\">{{\n tab.number > 999 ? '999+' : tab.number\n }}</p>\n </div>\n </div>\n </div>\n <slot name=\"filter\"></slot>\n <slot name=\"extra\" />\n </div>\n <div class=\"flex wrap\">\n <slot name=\"right\" />\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\n\n import {computed} from 'vue';\n\n defineOptions({\n name: 'HzztTab'\n })\n\n declare type Tab = {\n name: string,\n number: number,\n hide: boolean\n }\n\n const props = defineProps({\n tabList: {\n type: Array,\n default: () => [],\n },\n modelValue: {\n type: [Number, String, Array],\n },\n })\n\n const emit = defineEmits(['update:modelValue', 'tab-click'])\n\n const customTabList = computed(() => props.tabList.map(value => {\n const tab = value as Tab;\n return {\n key: (tab.name + '-' + tab.number) as string,\n ...tab,\n number: Number(tab.number || 0),\n hide: tab.hide,\n }\n }).filter((tab) => !tab.hide))\n\n function tabClick(tab, event) {\n if (tab.name === props.modelValue) return;\n emit('update:modelValue', tab.name);\n emit('tab-click', tab, event);\n }\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;;mCA0BgB,CAAA;AAAA,EACZ,IAAM,EAAA,SAAA;AACR,CAAA,CAAA,CAAA;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../../../../packages/components/tab/src/index.vue"],"sourcesContent":["<template>\n <div class=\"hzzt-tab flex align-items-center justify-content-between wrap\">\n <div class=\"flex align-items-center\">\n <div class=\"flex\">\n <div :key=\"tab.key\" @click=\"tabClick(tab, $event)\" class=\"hzzt-tab-pane\" v-for=\"tab in customTabList\">\n <div class=\"hzzt-tab-badge\">\n <p :class=\"{ active: modelValue === tab.name }\" class=\"hzzt-tab-badge-text\">{{ tab.label }}</p>\n <p class=\"hzzt-tab-badge-count\" v-if=\"tab.number && tab.number !== 0\">{{\n tab.number > 999 ? '999+' : tab.number\n }}</p>\n </div>\n </div>\n </div>\n <slot name=\"filter\"></slot>\n <slot name=\"extra\" />\n </div>\n <div class=\"flex wrap\">\n <slot name=\"right\" />\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\n\n import {computed} from 'vue';\n\n defineOptions({\n name: 'HzztTab'\n })\n\n declare type Tab = {\n name: string,\n label: string,\n number: number,\n hide: boolean\n }\n\n const props = defineProps({\n tabList: {\n type: Array,\n default: () => [],\n },\n modelValue: {\n type: [Number, String, Array],\n },\n })\n\n const emit = defineEmits(['update:modelValue', 'tab-click'])\n\n const customTabList = computed(() => props.tabList.map(value => {\n const tab = value as Tab;\n return {\n key: (tab.name + '-' + tab.number) as string,\n ...tab,\n number: Number(tab.number || 0),\n hide: tab.hide,\n }\n }).filter((tab) => !tab.hide))\n\n function tabClick(tab, event) {\n if (tab.name === props.modelValue) return;\n emit('update:modelValue', tab.name);\n emit('tab-click', tab, event);\n }\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;;mCA0BgB,CAAA;AAAA,EACZ,IAAM,EAAA,SAAA;AACR,CAAA,CAAA,CAAA;;;;;;;;;;;;;;;AAqBA,IAAA,MAAM,gBAAgB,QAAS,CAAA,MAAM,KAAM,CAAA,OAAA,CAAQ,IAAI,CAAS,KAAA,KAAA;AAC9D,MAAA,MAAM,GAAM,GAAA,KAAA,CAAA;AACZ,MAAO,OAAA;AAAA,QACL,GAAM,EAAA,GAAA,CAAI,IAAO,GAAA,GAAA,GAAM,GAAI,CAAA,MAAA;AAAA,QAC3B,GAAG,GAAA;AAAA,QACH,MAAQ,EAAA,MAAA,CAAO,GAAI,CAAA,MAAA,IAAU,CAAC,CAAA;AAAA,QAC9B,MAAM,GAAI,CAAA,IAAA;AAAA,OACZ,CAAA;AAAA,KACD,EAAE,MAAO,CAAA,CAAC,QAAQ,CAAC,GAAA,CAAI,IAAI,CAAC,CAAA,CAAA;AAE7B,IAAA,SAAA,QAAA,CAAkB,KAAK,KAAO,EAAA;AAC5B,MAAI,IAAA,GAAA,CAAI,SAAS,KAAM,CAAA,UAAA;AAAY,QAAA,OAAA;AACnC,MAAK,IAAA,CAAA,mBAAA,EAAqB,IAAI,IAAI,CAAA,CAAA;AAClC,MAAK,IAAA,CAAA,WAAA,EAAa,KAAK,KAAK,CAAA,CAAA;AAAA,KAC9B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../../../packages/directives/blur/index.ts"],"sourcesContent":["import type {\n ObjectDirective,\n} from 'vue'\n\nconst Blur: ObjectDirective = {\n // 只调用一次,指令第一次绑定到元素时调用。在这里可以进行一次性的初始化设置。\n beforeMount(el: HTMLElement) {\n el.addEventListener('click', () => {\n el.blur();\n });\n },\n};\n\nexport default Blur;\n"],"names":[],"mappings":"AAAK,MAAC,IAAI,GAAG;AACb,EAAE,WAAW,CAAC,EAAE,EAAE;AAClB,IAAI,EAAE,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM;AACvC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC;AAChB,KAAK,CAAC,CAAC;AACP,GAAG;AACH;;;;"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
let handler;
|
|
2
|
+
const Download = {
|
|
3
|
+
mounted(el, binding) {
|
|
4
|
+
const { path, name = "download" } = binding.value || {};
|
|
5
|
+
handler = function(e) {
|
|
6
|
+
e.preventDefault();
|
|
7
|
+
const a = document.createElement("a");
|
|
8
|
+
a.href = path;
|
|
9
|
+
a.download = name;
|
|
10
|
+
a.click();
|
|
11
|
+
a.remove();
|
|
12
|
+
};
|
|
13
|
+
el.addEventListener("click", handler);
|
|
14
|
+
},
|
|
15
|
+
unmounted(el) {
|
|
16
|
+
el.removeEventListener("click", handler);
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
export { Download as default };
|
|
21
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../../../packages/directives/download/index.ts"],"sourcesContent":["import type {\n DirectiveBinding,\n ObjectDirective,\n} from 'vue'\n\nlet handler;\nconst Download: ObjectDirective = {\n // 只调用一次,指令第一次绑定到元素时调用。在这里可以进行一次性的初始化设置。\n mounted(el: HTMLElement, binding: DirectiveBinding) {\n const {path, name = 'download'} = binding.value || {};\n\n handler = function (e) {\n e.preventDefault();\n const a = document.createElement('a');\n a.href = path;\n a.download = name;\n a.click();\n a.remove();\n };\n el.addEventListener('click', handler);\n },\n // 只调用一次,指令与元素解绑时调用。\n unmounted(el: HTMLElement) {\n el.removeEventListener('click', handler);\n },\n};\n\nexport default Download;\n\n"],"names":[],"mappings":"AAAA,IAAI,OAAO,CAAC;AACP,MAAC,QAAQ,GAAG;AACjB,EAAE,OAAO,CAAC,EAAE,EAAE,OAAO,EAAE;AACvB,IAAI,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,UAAU,EAAE,GAAG,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;AAC5D,IAAI,OAAO,GAAG,SAAS,CAAC,EAAE;AAC1B,MAAM,CAAC,CAAC,cAAc,EAAE,CAAC;AACzB,MAAM,MAAM,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;AAC5C,MAAM,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC;AACpB,MAAM,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC;AACxB,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC;AAChB,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC;AACjB,KAAK,CAAC;AACN,IAAI,EAAE,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAC1C,GAAG;AACH,EAAE,SAAS,CAAC,EAAE,EAAE;AAChB,IAAI,EAAE,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAC7C,GAAG;AACH;;;;"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import '../../utils/index.mjs';
|
|
2
|
+
import { isClient } from '@vueuse/core';
|
|
3
|
+
import { isNumber } from '../../utils/types.mjs';
|
|
4
|
+
import { isObject } from '@vue/shared';
|
|
5
|
+
|
|
6
|
+
const nodeList = /* @__PURE__ */ new Map();
|
|
7
|
+
if (isClient) {
|
|
8
|
+
window.addEventListener("resize", handler);
|
|
9
|
+
document.addEventListener("fullscreenchange", handler);
|
|
10
|
+
}
|
|
11
|
+
function handler() {
|
|
12
|
+
for (const handlers of nodeList.values()) {
|
|
13
|
+
for (const { documentHandler } of handlers) {
|
|
14
|
+
documentHandler();
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
const Height = {
|
|
19
|
+
mounted(el, binding) {
|
|
20
|
+
const { element, distY, type } = getEffectiveValue(el, binding.value);
|
|
21
|
+
if (!nodeList.has(element)) {
|
|
22
|
+
nodeList.set(element, []);
|
|
23
|
+
}
|
|
24
|
+
nodeList.get(el).push({
|
|
25
|
+
documentHandler: createDocumentHandler(element, distY, type),
|
|
26
|
+
bindingFn: binding.value
|
|
27
|
+
});
|
|
28
|
+
},
|
|
29
|
+
updated(el, binding) {
|
|
30
|
+
const { element, distY, type } = getEffectiveValue(el, binding.value);
|
|
31
|
+
if (!nodeList.has(element)) {
|
|
32
|
+
nodeList.set(element, []);
|
|
33
|
+
}
|
|
34
|
+
const handlers = nodeList.get(element);
|
|
35
|
+
const oldHandlerIndex = handlers.findIndex((item) => item.bindingFn === binding.oldValue);
|
|
36
|
+
const newHandler = {
|
|
37
|
+
documentHandler: createDocumentHandler(element, distY, type),
|
|
38
|
+
bindingFn: binding.value
|
|
39
|
+
};
|
|
40
|
+
if (oldHandlerIndex >= 0) {
|
|
41
|
+
handlers.splice(oldHandlerIndex, 1, newHandler);
|
|
42
|
+
} else {
|
|
43
|
+
handlers.push(newHandler);
|
|
44
|
+
}
|
|
45
|
+
},
|
|
46
|
+
unmounted(el, binding) {
|
|
47
|
+
const { element } = getEffectiveValue(el, binding.value);
|
|
48
|
+
nodeList.delete(element);
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
function createDocumentHandler(el, distY, type) {
|
|
52
|
+
const cssProp = type ? type + "Height" : "height";
|
|
53
|
+
el.style[cssProp] = el.clientHeight + distY + "px";
|
|
54
|
+
return function() {
|
|
55
|
+
el.style[cssProp] = el.clientHeight + distY + "px";
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
function getEffectiveValue(el, val) {
|
|
59
|
+
let element = el.parentElement;
|
|
60
|
+
let distY = 0;
|
|
61
|
+
let type = "";
|
|
62
|
+
if (!val) {
|
|
63
|
+
element = el.parentElement;
|
|
64
|
+
distY = 0;
|
|
65
|
+
} else if (val instanceof HTMLElement) {
|
|
66
|
+
element = val;
|
|
67
|
+
distY = 0;
|
|
68
|
+
} else if (isNumber(val)) {
|
|
69
|
+
element = el.parentElement;
|
|
70
|
+
distY = val;
|
|
71
|
+
} else if (isObject(val)) {
|
|
72
|
+
element = (val == null ? void 0 : val.el) || el.parentElement;
|
|
73
|
+
distY = (val == null ? void 0 : val.distY) || 0;
|
|
74
|
+
type = (val == null ? void 0 : val.type) || "";
|
|
75
|
+
}
|
|
76
|
+
return { element, distY, type };
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
export { Height as default };
|
|
80
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../../../packages/directives/height/index.ts"],"sourcesContent":["import {isClient, isNumber, isObject} from '@hzzt-plus/utils'\n\nimport type {\n DirectiveBinding,\n ObjectDirective,\n} from 'vue'\n\ntype DocumentHandler = <T>() => void\ntype FlushList = Map<\n HTMLElement,\n {\n documentHandler: DocumentHandler\n bindingFn: (...args: unknown[]) => unknown\n }[]\n>\n\nconst nodeList: FlushList = new Map();\n\nif (isClient) {\n window.addEventListener('resize', handler);\n document.addEventListener('fullscreenchange', handler);\n}\n\nfunction handler() {\n for (const handlers of nodeList.values()) {\n for (const {documentHandler} of handlers) {\n documentHandler()\n }\n }\n}\n\n// v-height\n// 默认高度为当前元素的父元素高度\n\n// v-height = el\n// 当前元素的高度设置为el的高度\n\n// v-height = 60\n// 当前元素的高度设置为父元素高度+60px\n\n// v-height = {el: el, distY: 60}\n// 当前元素的高度设置为el的高度+60px\nconst Height: ObjectDirective = {\n // 当被绑定的元素插入到 DOM 中时……\n mounted(el: HTMLElement, binding: DirectiveBinding) {\n const {element, distY, type} = getEffectiveValue(el, binding.value);\n if (!nodeList.has(element)) {\n nodeList.set(element, []);\n }\n nodeList.get(el)!.push({\n documentHandler: createDocumentHandler(element, distY, type),\n bindingFn: binding.value,\n })\n },\n updated(el: HTMLElement, binding: DirectiveBinding) {\n const {element, distY, type} = getEffectiveValue(el, binding.value);\n if (!nodeList.has(element)) {\n nodeList.set(element, []);\n }\n const handlers = nodeList.get(element)!\n const oldHandlerIndex = handlers.findIndex(\n (item) => item.bindingFn === binding.oldValue\n )\n const newHandler = {\n documentHandler: createDocumentHandler(element, distY, type),\n bindingFn: binding.value,\n }\n\n if (oldHandlerIndex >= 0) {\n // replace the old handler to the new handler\n handlers.splice(oldHandlerIndex, 1, newHandler)\n } else {\n handlers.push(newHandler)\n }\n },\n // 只调用一次,指令与元素解绑时调用。\n unmounted(el: HTMLElement, binding: DirectiveBinding) {\n const {element} = getEffectiveValue(el, binding.value);\n nodeList.delete(element);\n },\n};\n\nfunction createDocumentHandler(el: HTMLElement, distY: number, type: string) {\n const cssProp = type ? (type + 'Height') : 'height';\n el.style[cssProp] = el.clientHeight + distY + 'px';\n return function () {\n el.style[cssProp] = el.clientHeight + distY + 'px';\n }\n}\n\nfunction getEffectiveValue(el, val) {\n let element = el.parentElement;\n let distY = 0;\n let type = '';\n if (!val) {\n element = el.parentElement;\n distY = 0;\n } else if (val instanceof HTMLElement) {\n element = val;\n distY = 0;\n } else if (isNumber(val)) {\n element = el.parentElement;\n distY = val;\n } else if (isObject(val)) {\n element = val?.el || el.parentElement;\n distY = val?.distY || 0;\n type = val?.type || '';\n }\n return {element, distY, type};\n}\n\nexport default Height;\n\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
|
package/es/index.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import installer from './defaults';
|
|
2
2
|
export * from 'hzzt-plus/es/components';
|
|
3
3
|
export * from 'hzzt-plus/es/constants';
|
|
4
|
+
export * from 'hzzt-plus/es/directives';
|
|
4
5
|
export * from 'hzzt-plus/es/hooks';
|
|
5
6
|
export * from './make-installer';
|
|
6
7
|
export declare const install: (app: import("vue").App<any>, options?: Partial<import("hzzt-plus/es/components").ConfigProviderProps> | undefined) => void;
|
package/es/index.mjs
CHANGED
|
@@ -2,6 +2,7 @@ import installer from './defaults.mjs';
|
|
|
2
2
|
export { default } from './defaults.mjs';
|
|
3
3
|
import './components/index.mjs';
|
|
4
4
|
import './constants/index.mjs';
|
|
5
|
+
import './directives/index.mjs';
|
|
5
6
|
import './hooks/index.mjs';
|
|
6
7
|
export { makeInstaller } from './make-installer.mjs';
|
|
7
8
|
export { HzztTitle } from './components/title/index.mjs';
|
|
@@ -15,6 +16,9 @@ export { HzztTab } from './components/tab/index.mjs';
|
|
|
15
16
|
export { INSTALLED_KEY } from './constants/key.mjs';
|
|
16
17
|
export { componentSizeMap, componentSizes } from './constants/size.mjs';
|
|
17
18
|
export { WEEK_DAYS, datePickTypes } from './constants/date.mjs';
|
|
19
|
+
export { default as Download } from './directives/download/index.mjs';
|
|
20
|
+
export { default as Height } from './directives/height/index.mjs';
|
|
21
|
+
export { default as Blur } from './directives/blur/index.mjs';
|
|
18
22
|
export { buildLocaleContext, buildTranslator, localeContextKey, translate, useLocale } from './hooks/use-locale/index.mjs';
|
|
19
23
|
export { SIZE_INJECTION_KEY, useGlobalSize, useSizeProp, useSizeProps } from './hooks/use-size/index.mjs';
|
|
20
24
|
|
package/es/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../../packages/hzzt-plus/index.ts"],"sourcesContent":["import installer from './defaults'\nexport * from '@hzzt-plus/components'\nexport * from '@hzzt-plus/constants'\nexport * from '@hzzt-plus/hooks'\nexport * from './make-installer'\n\nexport const install = installer.install\nexport const version = installer.version\nexport default installer;\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../packages/hzzt-plus/index.ts"],"sourcesContent":["import installer from './defaults'\nexport * from '@hzzt-plus/components'\nexport * from '@hzzt-plus/constants'\nexport * from '@hzzt-plus/directives'\nexport * from '@hzzt-plus/hooks'\nexport * from './make-installer'\n\nexport const install = installer.install\nexport const version = installer.version\nexport default installer;\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAMY,MAAC,OAAO,GAAG,SAAS,CAAC,QAAQ;AAC7B,MAAC,OAAO,GAAG,SAAS,CAAC;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../../packages/components/tab/src/index.vue"],"sourcesContent":["<template>\n <div class=\"hzzt-tab flex align-items-center justify-content-between wrap\">\n <div class=\"flex align-items-center\">\n <div class=\"flex\">\n <div :key=\"tab.key\" @click=\"tabClick(tab, $event)\" class=\"hzzt-tab-pane\" v-for=\"tab in customTabList\">\n <div class=\"hzzt-tab-badge\">\n <p :class=\"{ active: modelValue === tab.name }\" class=\"hzzt-tab-badge-text\">{{ tab.label }}</p>\n <p class=\"hzzt-tab-badge-count\" v-if=\"tab.number && tab.number !== 0\">{{\n tab.number > 999 ? '999+' : tab.number\n }}</p>\n </div>\n </div>\n </div>\n <slot name=\"filter\"></slot>\n <slot name=\"extra\" />\n </div>\n <div class=\"flex wrap\">\n <slot name=\"right\" />\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\n\n import {computed} from 'vue';\n\n defineOptions({\n name: 'HzztTab'\n })\n\n declare type Tab = {\n name: string,\n number: number,\n hide: boolean\n }\n\n const props = defineProps({\n tabList: {\n type: Array,\n default: () => [],\n },\n modelValue: {\n type: [Number, String, Array],\n },\n })\n\n const emit = defineEmits(['update:modelValue', 'tab-click'])\n\n const customTabList = computed(() => props.tabList.map(value => {\n const tab = value as Tab;\n return {\n key: (tab.name + '-' + tab.number) as string,\n ...tab,\n number: Number(tab.number || 0),\n hide: tab.hide,\n }\n }).filter((tab) => !tab.hide))\n\n function tabClick(tab, event) {\n if (tab.name === props.modelValue) return;\n emit('update:modelValue', tab.name);\n emit('tab-click', tab, event);\n }\n</script>\n"],"names":["computed"],"mappings":";;;;;;;;;;;;;;;;;uCA0BgB,CAAA;AAAA,EACZ,IAAM,EAAA,SAAA;AACR,CAAA,CAAA,CAAA;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../../packages/components/tab/src/index.vue"],"sourcesContent":["<template>\n <div class=\"hzzt-tab flex align-items-center justify-content-between wrap\">\n <div class=\"flex align-items-center\">\n <div class=\"flex\">\n <div :key=\"tab.key\" @click=\"tabClick(tab, $event)\" class=\"hzzt-tab-pane\" v-for=\"tab in customTabList\">\n <div class=\"hzzt-tab-badge\">\n <p :class=\"{ active: modelValue === tab.name }\" class=\"hzzt-tab-badge-text\">{{ tab.label }}</p>\n <p class=\"hzzt-tab-badge-count\" v-if=\"tab.number && tab.number !== 0\">{{\n tab.number > 999 ? '999+' : tab.number\n }}</p>\n </div>\n </div>\n </div>\n <slot name=\"filter\"></slot>\n <slot name=\"extra\" />\n </div>\n <div class=\"flex wrap\">\n <slot name=\"right\" />\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\n\n import {computed} from 'vue';\n\n defineOptions({\n name: 'HzztTab'\n })\n\n declare type Tab = {\n name: string,\n label: string,\n number: number,\n hide: boolean\n }\n\n const props = defineProps({\n tabList: {\n type: Array,\n default: () => [],\n },\n modelValue: {\n type: [Number, String, Array],\n },\n })\n\n const emit = defineEmits(['update:modelValue', 'tab-click'])\n\n const customTabList = computed(() => props.tabList.map(value => {\n const tab = value as Tab;\n return {\n key: (tab.name + '-' + tab.number) as string,\n ...tab,\n number: Number(tab.number || 0),\n hide: tab.hide,\n }\n }).filter((tab) => !tab.hide))\n\n function tabClick(tab, event) {\n if (tab.name === props.modelValue) return;\n emit('update:modelValue', tab.name);\n emit('tab-click', tab, event);\n }\n</script>\n"],"names":["computed"],"mappings":";;;;;;;;;;;;;;;;;uCA0BgB,CAAA;AAAA,EACZ,IAAM,EAAA,SAAA;AACR,CAAA,CAAA,CAAA;;;;;;;;;;;;;;;AAqBA,IAAA,MAAM,gBAAgBA,YAAS,CAAA,MAAM,KAAM,CAAA,OAAA,CAAQ,IAAI,CAAS,KAAA,KAAA;AAC9D,MAAA,MAAM,GAAM,GAAA,KAAA,CAAA;AACZ,MAAO,OAAA;AAAA,QACL,GAAM,EAAA,GAAA,CAAI,IAAO,GAAA,GAAA,GAAM,GAAI,CAAA,MAAA;AAAA,QAC3B,GAAG,GAAA;AAAA,QACH,MAAQ,EAAA,MAAA,CAAO,GAAI,CAAA,MAAA,IAAU,CAAC,CAAA;AAAA,QAC9B,MAAM,GAAI,CAAA,IAAA;AAAA,OACZ,CAAA;AAAA,KACD,EAAE,MAAO,CAAA,CAAC,QAAQ,CAAC,GAAA,CAAI,IAAI,CAAC,CAAA,CAAA;AAE7B,IAAA,SAAA,QAAA,CAAkB,KAAK,KAAO,EAAA;AAC5B,MAAI,IAAA,GAAA,CAAI,SAAS,KAAM,CAAA,UAAA;AAAY,QAAA,OAAA;AACnC,MAAK,IAAA,CAAA,mBAAA,EAAqB,IAAI,IAAI,CAAA,CAAA;AAClC,MAAK,IAAA,CAAA,WAAA,EAAa,KAAK,KAAK,CAAA,CAAA;AAAA,KAC9B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
const Blur = {
|
|
6
|
+
beforeMount(el) {
|
|
7
|
+
el.addEventListener("click", () => {
|
|
8
|
+
el.blur();
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
exports["default"] = Blur;
|
|
14
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../packages/directives/blur/index.ts"],"sourcesContent":["import type {\n ObjectDirective,\n} from 'vue'\n\nconst Blur: ObjectDirective = {\n // 只调用一次,指令第一次绑定到元素时调用。在这里可以进行一次性的初始化设置。\n beforeMount(el: HTMLElement) {\n el.addEventListener('click', () => {\n el.blur();\n });\n },\n};\n\nexport default Blur;\n"],"names":[],"mappings":";;;;AAAK,MAAC,IAAI,GAAG;AACb,EAAE,WAAW,CAAC,EAAE,EAAE;AAClB,IAAI,EAAE,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM;AACvC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC;AAChB,KAAK,CAAC,CAAC;AACP,GAAG;AACH;;;;"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
let handler;
|
|
6
|
+
const Download = {
|
|
7
|
+
mounted(el, binding) {
|
|
8
|
+
const { path, name = "download" } = binding.value || {};
|
|
9
|
+
handler = function(e) {
|
|
10
|
+
e.preventDefault();
|
|
11
|
+
const a = document.createElement("a");
|
|
12
|
+
a.href = path;
|
|
13
|
+
a.download = name;
|
|
14
|
+
a.click();
|
|
15
|
+
a.remove();
|
|
16
|
+
};
|
|
17
|
+
el.addEventListener("click", handler);
|
|
18
|
+
},
|
|
19
|
+
unmounted(el) {
|
|
20
|
+
el.removeEventListener("click", handler);
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
exports["default"] = Download;
|
|
25
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../packages/directives/download/index.ts"],"sourcesContent":["import type {\n DirectiveBinding,\n ObjectDirective,\n} from 'vue'\n\nlet handler;\nconst Download: ObjectDirective = {\n // 只调用一次,指令第一次绑定到元素时调用。在这里可以进行一次性的初始化设置。\n mounted(el: HTMLElement, binding: DirectiveBinding) {\n const {path, name = 'download'} = binding.value || {};\n\n handler = function (e) {\n e.preventDefault();\n const a = document.createElement('a');\n a.href = path;\n a.download = name;\n a.click();\n a.remove();\n };\n el.addEventListener('click', handler);\n },\n // 只调用一次,指令与元素解绑时调用。\n unmounted(el: HTMLElement) {\n el.removeEventListener('click', handler);\n },\n};\n\nexport default Download;\n\n"],"names":[],"mappings":";;;;AAAA,IAAI,OAAO,CAAC;AACP,MAAC,QAAQ,GAAG;AACjB,EAAE,OAAO,CAAC,EAAE,EAAE,OAAO,EAAE;AACvB,IAAI,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,UAAU,EAAE,GAAG,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;AAC5D,IAAI,OAAO,GAAG,SAAS,CAAC,EAAE;AAC1B,MAAM,CAAC,CAAC,cAAc,EAAE,CAAC;AACzB,MAAM,MAAM,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;AAC5C,MAAM,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC;AACpB,MAAM,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC;AACxB,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC;AAChB,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC;AACjB,KAAK,CAAC;AACN,IAAI,EAAE,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAC1C,GAAG;AACH,EAAE,SAAS,CAAC,EAAE,EAAE;AAChB,IAAI,EAAE,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAC7C,GAAG;AACH;;;;"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
require('../../utils/index.js');
|
|
6
|
+
var core = require('@vueuse/core');
|
|
7
|
+
var types = require('../../utils/types.js');
|
|
8
|
+
var shared = require('@vue/shared');
|
|
9
|
+
|
|
10
|
+
const nodeList = /* @__PURE__ */ new Map();
|
|
11
|
+
if (core.isClient) {
|
|
12
|
+
window.addEventListener("resize", handler);
|
|
13
|
+
document.addEventListener("fullscreenchange", handler);
|
|
14
|
+
}
|
|
15
|
+
function handler() {
|
|
16
|
+
for (const handlers of nodeList.values()) {
|
|
17
|
+
for (const { documentHandler } of handlers) {
|
|
18
|
+
documentHandler();
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
const Height = {
|
|
23
|
+
mounted(el, binding) {
|
|
24
|
+
const { element, distY, type } = getEffectiveValue(el, binding.value);
|
|
25
|
+
if (!nodeList.has(element)) {
|
|
26
|
+
nodeList.set(element, []);
|
|
27
|
+
}
|
|
28
|
+
nodeList.get(el).push({
|
|
29
|
+
documentHandler: createDocumentHandler(element, distY, type),
|
|
30
|
+
bindingFn: binding.value
|
|
31
|
+
});
|
|
32
|
+
},
|
|
33
|
+
updated(el, binding) {
|
|
34
|
+
const { element, distY, type } = getEffectiveValue(el, binding.value);
|
|
35
|
+
if (!nodeList.has(element)) {
|
|
36
|
+
nodeList.set(element, []);
|
|
37
|
+
}
|
|
38
|
+
const handlers = nodeList.get(element);
|
|
39
|
+
const oldHandlerIndex = handlers.findIndex((item) => item.bindingFn === binding.oldValue);
|
|
40
|
+
const newHandler = {
|
|
41
|
+
documentHandler: createDocumentHandler(element, distY, type),
|
|
42
|
+
bindingFn: binding.value
|
|
43
|
+
};
|
|
44
|
+
if (oldHandlerIndex >= 0) {
|
|
45
|
+
handlers.splice(oldHandlerIndex, 1, newHandler);
|
|
46
|
+
} else {
|
|
47
|
+
handlers.push(newHandler);
|
|
48
|
+
}
|
|
49
|
+
},
|
|
50
|
+
unmounted(el, binding) {
|
|
51
|
+
const { element } = getEffectiveValue(el, binding.value);
|
|
52
|
+
nodeList.delete(element);
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
function createDocumentHandler(el, distY, type) {
|
|
56
|
+
const cssProp = type ? type + "Height" : "height";
|
|
57
|
+
el.style[cssProp] = el.clientHeight + distY + "px";
|
|
58
|
+
return function() {
|
|
59
|
+
el.style[cssProp] = el.clientHeight + distY + "px";
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
function getEffectiveValue(el, val) {
|
|
63
|
+
let element = el.parentElement;
|
|
64
|
+
let distY = 0;
|
|
65
|
+
let type = "";
|
|
66
|
+
if (!val) {
|
|
67
|
+
element = el.parentElement;
|
|
68
|
+
distY = 0;
|
|
69
|
+
} else if (val instanceof HTMLElement) {
|
|
70
|
+
element = val;
|
|
71
|
+
distY = 0;
|
|
72
|
+
} else if (types.isNumber(val)) {
|
|
73
|
+
element = el.parentElement;
|
|
74
|
+
distY = val;
|
|
75
|
+
} else if (shared.isObject(val)) {
|
|
76
|
+
element = (val == null ? void 0 : val.el) || el.parentElement;
|
|
77
|
+
distY = (val == null ? void 0 : val.distY) || 0;
|
|
78
|
+
type = (val == null ? void 0 : val.type) || "";
|
|
79
|
+
}
|
|
80
|
+
return { element, distY, type };
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
exports["default"] = Height;
|
|
84
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../packages/directives/height/index.ts"],"sourcesContent":["import {isClient, isNumber, isObject} from '@hzzt-plus/utils'\n\nimport type {\n DirectiveBinding,\n ObjectDirective,\n} from 'vue'\n\ntype DocumentHandler = <T>() => void\ntype FlushList = Map<\n HTMLElement,\n {\n documentHandler: DocumentHandler\n bindingFn: (...args: unknown[]) => unknown\n }[]\n>\n\nconst nodeList: FlushList = new Map();\n\nif (isClient) {\n window.addEventListener('resize', handler);\n document.addEventListener('fullscreenchange', handler);\n}\n\nfunction handler() {\n for (const handlers of nodeList.values()) {\n for (const {documentHandler} of handlers) {\n documentHandler()\n }\n }\n}\n\n// v-height\n// 默认高度为当前元素的父元素高度\n\n// v-height = el\n// 当前元素的高度设置为el的高度\n\n// v-height = 60\n// 当前元素的高度设置为父元素高度+60px\n\n// v-height = {el: el, distY: 60}\n// 当前元素的高度设置为el的高度+60px\nconst Height: ObjectDirective = {\n // 当被绑定的元素插入到 DOM 中时……\n mounted(el: HTMLElement, binding: DirectiveBinding) {\n const {element, distY, type} = getEffectiveValue(el, binding.value);\n if (!nodeList.has(element)) {\n nodeList.set(element, []);\n }\n nodeList.get(el)!.push({\n documentHandler: createDocumentHandler(element, distY, type),\n bindingFn: binding.value,\n })\n },\n updated(el: HTMLElement, binding: DirectiveBinding) {\n const {element, distY, type} = getEffectiveValue(el, binding.value);\n if (!nodeList.has(element)) {\n nodeList.set(element, []);\n }\n const handlers = nodeList.get(element)!\n const oldHandlerIndex = handlers.findIndex(\n (item) => item.bindingFn === binding.oldValue\n )\n const newHandler = {\n documentHandler: createDocumentHandler(element, distY, type),\n bindingFn: binding.value,\n }\n\n if (oldHandlerIndex >= 0) {\n // replace the old handler to the new handler\n handlers.splice(oldHandlerIndex, 1, newHandler)\n } else {\n handlers.push(newHandler)\n }\n },\n // 只调用一次,指令与元素解绑时调用。\n unmounted(el: HTMLElement, binding: DirectiveBinding) {\n const {element} = getEffectiveValue(el, binding.value);\n nodeList.delete(element);\n },\n};\n\nfunction createDocumentHandler(el: HTMLElement, distY: number, type: string) {\n const cssProp = type ? (type + 'Height') : 'height';\n el.style[cssProp] = el.clientHeight + distY + 'px';\n return function () {\n el.style[cssProp] = el.clientHeight + distY + 'px';\n }\n}\n\nfunction getEffectiveValue(el, val) {\n let element = el.parentElement;\n let distY = 0;\n let type = '';\n if (!val) {\n element = el.parentElement;\n distY = 0;\n } else if (val instanceof HTMLElement) {\n element = val;\n distY = 0;\n } else if (isNumber(val)) {\n element = el.parentElement;\n distY = val;\n } else if (isObject(val)) {\n element = val?.el || el.parentElement;\n distY = val?.distY || 0;\n type = val?.type || '';\n }\n return {element, distY, type};\n}\n\nexport default Height;\n\n"],"names":["isClient","isNumber","isObject"],"mappings":"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"}
|