hzzt-plus 0.0.1-dev-07 → 0.0.1-dev-08

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.
@@ -7483,7 +7483,7 @@ const Height = {
7483
7483
  if (!nodeList.has(element)) {
7484
7484
  nodeList.set(element, []);
7485
7485
  }
7486
- nodeList.get(el).push({
7486
+ nodeList.get(element).push({
7487
7487
  documentHandler: createDocumentHandler(element, distY, type),
7488
7488
  bindingFn: binding.value
7489
7489
  });
@@ -21,7 +21,7 @@ const Height = {
21
21
  if (!nodeList.has(element)) {
22
22
  nodeList.set(element, []);
23
23
  }
24
- nodeList.get(el).push({
24
+ nodeList.get(element).push({
25
25
  documentHandler: createDocumentHandler(element, distY, type),
26
26
  bindingFn: binding.value
27
27
  });
@@ -1 +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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"}
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(element)!.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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"}
@@ -25,7 +25,7 @@ const Height = {
25
25
  if (!nodeList.has(element)) {
26
26
  nodeList.set(element, []);
27
27
  }
28
- nodeList.get(el).push({
28
+ nodeList.get(element).push({
29
29
  documentHandler: createDocumentHandler(element, distY, type),
30
30
  bindingFn: binding.value
31
31
  });
@@ -1 +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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"}
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(element)!.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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hzzt-plus",
3
- "version": "0.0.1-dev-07",
3
+ "version": "0.0.1-dev-08",
4
4
  "description": "A Component Library for Vue 3",
5
5
  "keywords": [
6
6
  "hzzt-plus",