yuyeon 0.0.46 → 0.0.47-rc.10
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/yuyeon.js +2329 -2240
- package/dist/yuyeon.umd.cjs +5 -5
- package/lib/components/dialog/YDialog.mjs +25 -0
- package/lib/components/dialog/YDialog.mjs.map +1 -1
- package/lib/components/dropdown/YDropdown.mjs +5 -1
- package/lib/components/dropdown/YDropdown.mjs.map +1 -1
- package/lib/components/hover/YHover.mjs +47 -0
- package/lib/components/hover/YHover.mjs.map +1 -0
- package/lib/components/layer/YLayer.mjs +5 -3
- package/lib/components/layer/YLayer.mjs.map +1 -1
- package/lib/components/layer/base.mjs +40 -5
- package/lib/components/layer/base.mjs.map +1 -1
- package/lib/components/pagination/YPagination.mjs +13 -1
- package/lib/components/pagination/YPagination.mjs.map +1 -1
- package/lib/components/snackbar/YSnackbar.mjs +20 -2
- package/lib/components/snackbar/YSnackbar.mjs.map +1 -1
- package/lib/components/table/YDataTableBody.mjs +13 -7
- package/lib/components/table/YDataTableBody.mjs.map +1 -1
- package/lib/components/table/YDataTableRow.mjs +8 -3
- package/lib/components/table/YDataTableRow.mjs.map +1 -1
- package/lib/components/table/composibles/selection.mjs +11 -2
- package/lib/components/table/composibles/selection.mjs.map +1 -1
- package/lib/components/table/types/common.mjs +2 -0
- package/lib/components/table/types/common.mjs.map +1 -0
- package/lib/components/table/types/header.mjs +2 -0
- package/lib/components/table/types/header.mjs.map +1 -0
- package/lib/components/table/types/index.mjs.map +1 -1
- package/lib/components/table/types/item.mjs +2 -0
- package/lib/components/table/types/item.mjs.map +1 -0
- package/lib/components/table/types/row.mjs +2 -0
- package/lib/components/table/types/row.mjs.map +1 -0
- package/lib/composables/coordinate/arrangement.mjs +1 -1
- package/lib/composables/coordinate/arrangement.mjs.map +1 -1
- package/lib/composables/coordinate/levitation.mjs +15 -10
- package/lib/composables/coordinate/levitation.mjs.map +1 -1
- package/lib/composables/coordinate/types.mjs.map +1 -1
- package/lib/composables/resize-observer.mjs +1 -1
- package/lib/composables/resize-observer.mjs.map +1 -1
- package/lib/composables/timing.mjs +31 -6
- package/lib/composables/timing.mjs.map +1 -1
- package/lib/locales/en.mjs +2 -1
- package/lib/locales/en.mjs.map +1 -1
- package/lib/locales/ko.mjs +2 -1
- package/lib/locales/ko.mjs.map +1 -1
- package/lib/util/vue-component.mjs +8 -2
- package/lib/util/vue-component.mjs.map +1 -1
- package/package.json +1 -1
- package/types/components/dialog/YDialog.d.ts +16 -0
- package/types/components/dropdown/YDropdown.d.ts +11 -2
- package/types/components/layer/YLayer.d.ts +7 -0
- package/types/components/layer/base.d.ts +11 -4
- package/types/components/menu/YMenu.d.ts +5 -0
- package/types/components/pagination/YPagination.d.ts +7 -0
- package/types/components/select/YSelect.d.ts +21 -0
- package/types/components/snackbar/YSnackbar.d.ts +9 -0
- package/types/components/table/YDataTable.d.ts +27 -0
- package/types/components/table/YDataTableBody.d.ts +8 -1
- package/types/components/table/YDataTableRow.d.ts +26 -5
- package/types/components/table/YDataTableServer.d.ts +27 -0
- package/types/components/table/composibles/header.d.ts +2 -2
- package/types/components/table/composibles/selection.d.ts +13 -0
- package/types/components/table/types/common.d.ts +1 -0
- package/types/components/table/types/header.d.ts +22 -0
- package/types/components/table/types/index.d.ts +6 -42
- package/types/components/table/types/item.d.ts +20 -0
- package/types/components/table/types/row.d.ts +3 -0
- package/types/components/tooltip/YTooltip.d.ts +4 -0
- package/types/composables/coordinate/types.d.ts +1 -1
- package/types/composables/timing.d.ts +6 -2
- package/types/locales/en.d.ts +1 -0
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import { computed, nextTick, onScopeDispose, ref, watch } from
|
|
2
|
-
import {
|
|
1
|
+
import { computed, nextTick, onScopeDispose, ref, watch } from 'vue';
|
|
2
|
+
import { flipAlign, flipCorner, flipSide, getAxis, parseAnchor } from "../../util/anchor.mjs";
|
|
3
|
+
import { clamp } from "../../util/common.mjs";
|
|
3
4
|
import { $computed } from "../../util/reactivity.mjs";
|
|
5
|
+
import { MutableRect, getOverflow } from "../../util/rect.mjs";
|
|
4
6
|
import { getScrollParents } from "../../util/scroll.mjs";
|
|
5
7
|
import { getBoundingPureRect, pixelCeil, pixelRound, toStyleSizeValue } from "../../util/ui.mjs";
|
|
6
8
|
import { anchorToPoint, getOffset } from "./utils/point.mjs";
|
|
7
|
-
import { flipAlign, flipCorner, flipSide, getAxis, parseAnchor } from "../../util/anchor.mjs";
|
|
8
|
-
import { clamp } from "../../util/common.mjs";
|
|
9
9
|
export function applyLevitation(props, state, coordinate, coordinateStyles) {
|
|
10
10
|
const {
|
|
11
11
|
contentEl,
|
|
12
|
-
|
|
12
|
+
base,
|
|
13
13
|
active
|
|
14
14
|
} = state;
|
|
15
15
|
const isRtl = ref(false);
|
|
@@ -40,11 +40,11 @@ export function applyLevitation(props, state, coordinate, coordinateStyles) {
|
|
|
40
40
|
const resizeObserver = new ResizeObserver(() => {
|
|
41
41
|
if (observe) updateCoordinate();
|
|
42
42
|
});
|
|
43
|
-
watch([state.
|
|
43
|
+
watch([state.base, state.contentEl], (_ref, _ref2) => {
|
|
44
44
|
let [neoBaseEl, neoContentEl] = _ref;
|
|
45
45
|
let [oldBaseEl, oldContentEl] = _ref2;
|
|
46
|
-
if (oldBaseEl) resizeObserver.unobserve(oldBaseEl);
|
|
47
|
-
if (neoBaseEl) resizeObserver.observe(neoBaseEl);
|
|
46
|
+
if (oldBaseEl && !Array.isArray(oldBaseEl) && oldBaseEl.nodeType === 1) resizeObserver.unobserve(oldBaseEl);
|
|
47
|
+
if (neoBaseEl && !Array.isArray(neoBaseEl) && neoBaseEl.nodeType === 1) resizeObserver.observe(neoBaseEl);
|
|
48
48
|
if (oldContentEl) resizeObserver.unobserve(oldContentEl);
|
|
49
49
|
if (neoContentEl) resizeObserver.observe(neoContentEl);
|
|
50
50
|
}, {
|
|
@@ -61,7 +61,7 @@ export function applyLevitation(props, state, coordinate, coordinateStyles) {
|
|
|
61
61
|
}
|
|
62
62
|
function updateCoordinate() {
|
|
63
63
|
observe = false;
|
|
64
|
-
const $base =
|
|
64
|
+
const $base = base.value;
|
|
65
65
|
const $content = contentEl.value;
|
|
66
66
|
requestAnimationFrame(() => {
|
|
67
67
|
requestAnimationFrame(() => observe = true);
|
|
@@ -70,7 +70,12 @@ export function applyLevitation(props, state, coordinate, coordinateStyles) {
|
|
|
70
70
|
const {
|
|
71
71
|
viewportMargin
|
|
72
72
|
} = props;
|
|
73
|
-
const baseRect = $base
|
|
73
|
+
const baseRect = Array.isArray($base) ? new MutableRect({
|
|
74
|
+
x: $base?.[0] ?? 0,
|
|
75
|
+
y: $base?.[1] ?? 0,
|
|
76
|
+
width: 0,
|
|
77
|
+
height: 0
|
|
78
|
+
}) : $base.getBoundingClientRect();
|
|
74
79
|
const contentRect = getIgnoreInsetRect($content);
|
|
75
80
|
const scrollParents = getScrollParents($content);
|
|
76
81
|
if (scrollParents.length < 1) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"levitation.mjs","names":["computed","nextTick","onScopeDispose","ref","watch","MutableRect","getOverflow","$computed","getScrollParents","getBoundingPureRect","pixelCeil","pixelRound","toStyleSizeValue","anchorToPoint","getOffset","flipAlign","flipCorner","flipSide","getAxis","parseAnchor","clamp","applyLevitation","props","state","coordinate","coordinateStyles","contentEl","baseEl","active","isRtl","minWidth","minHeight","maxWidth","maxHeight","map","key","val","parseFloat","isNaN","Infinity","offset","Array","isArray","split","length","push","observe","resizeObserver","ResizeObserver","updateCoordinate","_ref","_ref2","neoBaseEl","neoContentEl","oldBaseEl","oldContentEl","unobserve","immediate","disconnect","getIgnoreInsetRect","el","rect","x","style","left","y","top","$base","value","$content","requestAnimationFrame","viewportMargin","baseRect","getBoundingClientRect","contentRect","scrollParents","document","documentElement","viewport","reduce","box","scrollBox","width","clientWidth","height","clientHeight","Math","max","min","right","bottom","undefined","preferredAnchor","preferredOrigin","location","position","align","parsedAnchor","parsedOrigin","origin","side","placement","anchor","checkOverflow","_placement","targetPoint","contentPoint","overflows","available","flipped","resets","_x","_y","axis","hasOverflowX","before","after","hasOverflowY","reset","forEach","newPlacement","flip","newOverflows","Object","assign","transformOrigin","result"],"sources":["../../../src/composables/coordinate/levitation.ts"],"sourcesContent":["import type { CSSProperties, Ref } from 'vue';\nimport { computed, nextTick, onScopeDispose, ref, watch } from \"vue\";\n\nimport { MutableRect, Rect, getOverflow } from '../../util/rect';\nimport { $computed } from '../../util/reactivity';\nimport { getScrollParents } from '../../util/scroll';\nimport { getBoundingPureRect, pixelCeil, pixelRound, toStyleSizeValue } from \"../../util/ui\";\nimport {\n anchorToPoint,\n getOffset,\n} from './utils/point';\n\nimport { CoordinateState } from './types';\nimport { Anchor, flipAlign, flipCorner, flipSide, getAxis, parseAnchor } from \"../../util/anchor\";\nimport { clamp } from \"../../util/common\";\n\nexport function applyLevitation(\n props: any,\n state: CoordinateState,\n coordinate: Ref<Rect | undefined>,\n coordinateStyles: Ref<CSSProperties>,\n) {\n const { contentEl, baseEl, active } = state;\n\n const isRtl = ref(false);\n\n /* Content Limitations */\n const [minWidth, minHeight, maxWidth, maxHeight] = (\n ['minWidth', 'minHeight', 'maxWidth', 'maxHeight'] as const\n ).map((key) => {\n return computed(() => {\n const val = parseFloat(props[key]!);\n return isNaN(val) ? Infinity : val;\n });\n });\n\n /* Offset */\n const offset = computed(() => {\n if (Array.isArray(props.offset)) {\n return props.offset;\n }\n if (typeof props.offset === 'string') {\n const offset = props.offset.split(' ').map(parseFloat);\n if (offset.length < 2) offset.push(0);\n return offset;\n }\n return typeof props.offset === 'number' ? [props.offset, 0] : [0, 0];\n });\n\n /* Observing Update */\n let observe = false;\n const resizeObserver = new ResizeObserver(() => {\n if (observe) updateCoordinate();\n });\n watch(\n [state.baseEl, state.contentEl],\n ([neoBaseEl, neoContentEl], [oldBaseEl, oldContentEl]) => {\n if (oldBaseEl) resizeObserver.unobserve(oldBaseEl);\n if (neoBaseEl) resizeObserver.observe(neoBaseEl);\n\n if (oldContentEl) resizeObserver.unobserve(oldContentEl);\n if (neoContentEl) resizeObserver.observe(neoContentEl);\n },\n { immediate: true },\n );\n onScopeDispose(() => {\n resizeObserver.disconnect();\n });\n\n function getIgnoreInsetRect(el: HTMLElement) {\n const rect = getBoundingPureRect(el);\n rect.x -= parseFloat(el.style.left || '0');\n rect.y -= parseFloat(el.style.top || '0');\n return rect;\n }\n\n function updateCoordinate(): any {\n observe = false;\n const $base = baseEl.value;\n const $content = contentEl.value;\n requestAnimationFrame(() => {\n requestAnimationFrame(() => (observe = true));\n });\n\n if (!$base || !$content) return;\n\n const { viewportMargin } = props;\n\n const baseRect = $base.getBoundingClientRect();\n const contentRect = getIgnoreInsetRect($content);\n const scrollParents = getScrollParents($content);\n\n if (scrollParents.length < 1) {\n scrollParents.push(document.documentElement);\n }\n\n /**\n * Viewport area\n */\n const viewport = scrollParents.reduce<MutableRect>(\n (box: MutableRect | undefined, el) => {\n const rect = el.getBoundingClientRect();\n const scrollBox = new MutableRect({\n x: el === document.documentElement ? 0 : rect.x,\n y: el === document.documentElement ? 0 : rect.y,\n width: el.clientWidth,\n height: el.clientHeight,\n });\n\n if (box) {\n return new MutableRect({\n x: Math.max(box.left, scrollBox.left),\n y: Math.max(box.top, scrollBox.top),\n width:\n Math.min(box.right, scrollBox.right) -\n Math.max(box.left, scrollBox.left),\n height:\n Math.min(box.bottom, scrollBox.bottom) -\n Math.max(box.top, scrollBox.top),\n });\n }\n return scrollBox;\n },\n undefined!,\n );\n viewport.x += viewportMargin;\n viewport.y += viewportMargin;\n viewport.width -= viewportMargin * 2;\n viewport.height -= viewportMargin * 2;\n\n const { preferredAnchor, preferredOrigin } = $computed(() => {\n const location = `${props.position} ${props.align}` as Anchor;\n const parsedAnchor = parseAnchor(location, false);\n const parsedOrigin =\n props.origin === 'overlap'\n ? parsedAnchor\n : props.origin === 'auto'\n ? flipSide(parsedAnchor)\n : parseAnchor(props.origin, false);\n\n // Some combinations of props may produce an invalid origin\n if (\n parsedAnchor.side === parsedOrigin.side &&\n parsedAnchor.align === flipAlign(parsedOrigin).align\n ) {\n return {\n preferredAnchor: flipCorner(parsedAnchor),\n preferredOrigin: flipCorner(parsedOrigin),\n };\n } else {\n return {\n preferredAnchor: parsedAnchor,\n preferredOrigin: parsedOrigin,\n };\n }\n });\n\n let placement = {\n anchor: preferredAnchor.value,\n origin: preferredOrigin.value,\n };\n\n function checkOverflow(_placement: typeof placement) {\n const box = new MutableRect(contentRect);\n const targetPoint = anchorToPoint(_placement.anchor, baseRect);\n const contentPoint = anchorToPoint(_placement.origin, box);\n\n let { x, y } = getOffset(targetPoint, contentPoint);\n\n switch (_placement.anchor.side) {\n case 'top':\n y -= offset.value[0];\n break;\n case 'bottom':\n y += offset.value[0];\n break;\n case 'left':\n x -= offset.value[0];\n break;\n case 'right':\n x += offset.value[0];\n break;\n }\n\n switch (_placement.anchor.align) {\n case 'top':\n y -= offset.value[1];\n break;\n case 'bottom':\n y += offset.value[1];\n break;\n case 'left':\n x -= offset.value[1];\n break;\n case 'right':\n x += offset.value[1];\n break;\n }\n\n box.x += x;\n box.y += y;\n\n box.width = Math.min(box.width, maxWidth.value);\n box.height = Math.min(box.height, maxHeight.value);\n\n const overflows = getOverflow(box, viewport);\n\n return { overflows, x, y };\n }\n\n let x = 0;\n let y = 0;\n const available = { x: 0, y: 0 };\n const flipped = { x: false, y: false };\n let resets = -1;\n while (true) {\n if (resets++ > 10) {\n break;\n }\n\n const { x: _x, y: _y, overflows } = checkOverflow(placement);\n\n x += _x;\n y += _y;\n\n contentRect.x += _x;\n contentRect.y += _y;\n\n // flip\n {\n const axis = getAxis(placement.anchor);\n const hasOverflowX = overflows.x.before || overflows.x.after;\n const hasOverflowY = overflows.y.before || overflows.y.after;\n\n let reset = false;\n ['x', 'y'].forEach((key) => {\n if (\n (key === 'x' && hasOverflowX && !flipped.x) ||\n (key === 'y' && hasOverflowY && !flipped.y)\n ) {\n const newPlacement = {\n anchor: { ...placement.anchor },\n origin: { ...placement.origin },\n };\n const flip =\n key === 'x'\n ? axis === 'y'\n ? flipAlign\n : flipSide\n : axis === 'y'\n ? flipSide\n : flipAlign;\n newPlacement.anchor = flip(newPlacement.anchor);\n newPlacement.origin = flip(newPlacement.origin);\n const { overflows: newOverflows } = checkOverflow(newPlacement);\n if (\n (newOverflows[key].before <= overflows[key].before &&\n newOverflows[key].after <= overflows[key].after) ||\n newOverflows[key].before + newOverflows[key].after <\n (overflows[key].before + overflows[key].after) / 2\n ) {\n placement = newPlacement;\n reset = flipped[key] = true;\n }\n }\n });\n if (reset) continue;\n }\n\n // shift\n if (overflows.x.before) {\n x += overflows.x.before;\n contentRect.x += overflows.x.before;\n }\n if (overflows.x.after) {\n x -= overflows.x.after;\n contentRect.x -= overflows.x.after;\n }\n if (overflows.y.before) {\n y += overflows.y.before;\n contentRect.y += overflows.y.before;\n }\n if (overflows.y.after) {\n y -= overflows.y.after;\n contentRect.y -= overflows.y.after;\n }\n\n // size\n {\n const overflows = getOverflow(contentRect, viewport);\n available.x = viewport.width - overflows.x.before - overflows.x.after;\n available.y = viewport.height - overflows.y.before - overflows.y.after;\n\n x += overflows.x.before;\n contentRect.x += overflows.x.before;\n y += overflows.y.before;\n contentRect.y += overflows.y.before;\n }\n\n break;\n }\n\n const axis = getAxis(placement.anchor);\n\n Object.assign(coordinateStyles.value, {\n '--y-levitation-anchor-origin': `${placement.anchor.side} ${placement.anchor.align}`,\n transformOrigin: `${placement.origin.side} ${placement.origin.align}`,\n top: toStyleSizeValue(pixelRound(y)),\n left: isRtl.value ? undefined : toStyleSizeValue(pixelRound(x)),\n right: isRtl.value ? toStyleSizeValue(pixelRound(-x)) : undefined,\n minWidth: toStyleSizeValue(\n axis === 'y'\n ? Math.min(minWidth.value, baseRect.width)\n : minWidth.value,\n ),\n maxWidth: toStyleSizeValue(\n pixelCeil(\n clamp(\n available.x,\n minWidth.value === Infinity ? 0 : minWidth.value,\n maxWidth.value,\n ),\n ),\n ),\n maxHeight: toStyleSizeValue(\n pixelCeil(\n clamp(\n available.y,\n minHeight.value === Infinity ? 0 : minHeight.value,\n maxHeight.value,\n ),\n ),\n ),\n });\n\n return {\n available,\n contentRect,\n };\n }\n\n watch(\n () => [\n props.offset,\n props.minWidth,\n props.minHeight,\n props.maxWidth,\n props.maxHeight,\n ],\n () => updateCoordinate(),\n );\n\n nextTick(() => {\n const result = updateCoordinate();\n if (!result) return;\n const { available, contentRect } = result;\n if (contentRect.height > available.y) {\n requestAnimationFrame(() => {\n updateCoordinate();\n requestAnimationFrame(() => {\n updateCoordinate();\n });\n });\n }\n });\n\n return {\n updateCoordinate,\n };\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"levitation.mjs","names":["computed","nextTick","onScopeDispose","ref","watch","flipAlign","flipCorner","flipSide","getAxis","parseAnchor","clamp","$computed","MutableRect","getOverflow","getScrollParents","getBoundingPureRect","pixelCeil","pixelRound","toStyleSizeValue","anchorToPoint","getOffset","applyLevitation","props","state","coordinate","coordinateStyles","contentEl","base","active","isRtl","minWidth","minHeight","maxWidth","maxHeight","map","key","val","parseFloat","isNaN","Infinity","offset","Array","isArray","split","length","push","observe","resizeObserver","ResizeObserver","updateCoordinate","_ref","_ref2","neoBaseEl","neoContentEl","oldBaseEl","oldContentEl","nodeType","unobserve","immediate","disconnect","getIgnoreInsetRect","el","rect","x","style","left","y","top","$base","value","$content","requestAnimationFrame","viewportMargin","baseRect","width","height","getBoundingClientRect","contentRect","scrollParents","document","documentElement","viewport","reduce","box","scrollBox","clientWidth","clientHeight","Math","max","min","right","bottom","undefined","preferredAnchor","preferredOrigin","location","position","align","parsedAnchor","parsedOrigin","origin","side","placement","anchor","checkOverflow","_placement","targetPoint","contentPoint","overflows","available","flipped","resets","_x","_y","axis","hasOverflowX","before","after","hasOverflowY","reset","forEach","newPlacement","flip","newOverflows","Object","assign","transformOrigin","result"],"sources":["../../../src/composables/coordinate/levitation.ts"],"sourcesContent":["import type { CSSProperties, Ref } from 'vue';\nimport { computed, nextTick, onScopeDispose, ref, watch } from 'vue';\n\nimport {\n Anchor,\n flipAlign,\n flipCorner,\n flipSide,\n getAxis,\n parseAnchor,\n} from '../../util/anchor';\nimport { clamp } from '../../util/common';\nimport { $computed } from '../../util/reactivity';\nimport { MutableRect, Rect, getOverflow } from '../../util/rect';\nimport { getScrollParents } from '../../util/scroll';\nimport {\n getBoundingPureRect,\n pixelCeil,\n pixelRound,\n toStyleSizeValue,\n} from '../../util/ui';\nimport { CoordinateState } from './types';\nimport { anchorToPoint, getOffset } from './utils/point';\n\nexport function applyLevitation(\n props: any,\n state: CoordinateState,\n coordinate: Ref<Rect | undefined>,\n coordinateStyles: Ref<CSSProperties>,\n) {\n const { contentEl, base, active } = state;\n\n const isRtl = ref(false);\n\n /* Content Limitations */\n const [minWidth, minHeight, maxWidth, maxHeight] = (\n ['minWidth', 'minHeight', 'maxWidth', 'maxHeight'] as const\n ).map((key) => {\n return computed(() => {\n const val = parseFloat(props[key]!);\n return isNaN(val) ? Infinity : val;\n });\n });\n\n /* Offset */\n const offset = computed(() => {\n if (Array.isArray(props.offset)) {\n return props.offset;\n }\n if (typeof props.offset === 'string') {\n const offset = props.offset.split(' ').map(parseFloat);\n if (offset.length < 2) offset.push(0);\n return offset;\n }\n return typeof props.offset === 'number' ? [props.offset, 0] : [0, 0];\n });\n\n /* Observing Update */\n let observe = false;\n const resizeObserver = new ResizeObserver(() => {\n if (observe) updateCoordinate();\n });\n watch(\n [state.base, state.contentEl],\n ([neoBaseEl, neoContentEl], [oldBaseEl, oldContentEl]) => {\n if (oldBaseEl && !Array.isArray(oldBaseEl) && oldBaseEl.nodeType === 1)\n resizeObserver.unobserve(oldBaseEl);\n if (neoBaseEl && !Array.isArray(neoBaseEl) && neoBaseEl.nodeType === 1)\n resizeObserver.observe(neoBaseEl);\n\n if (oldContentEl) resizeObserver.unobserve(oldContentEl);\n if (neoContentEl) resizeObserver.observe(neoContentEl);\n },\n { immediate: true },\n );\n onScopeDispose(() => {\n resizeObserver.disconnect();\n });\n\n function getIgnoreInsetRect(el: HTMLElement) {\n const rect = getBoundingPureRect(el);\n rect.x -= parseFloat(el.style.left || '0');\n rect.y -= parseFloat(el.style.top || '0');\n return rect;\n }\n\n function updateCoordinate(): any {\n observe = false;\n const $base = base.value;\n const $content = contentEl.value;\n requestAnimationFrame(() => {\n requestAnimationFrame(() => (observe = true));\n });\n\n if (!$base || !$content) return;\n\n const { viewportMargin } = props;\n\n const baseRect = Array.isArray($base)\n ? new MutableRect({\n x: $base?.[0] ?? 0,\n y: $base?.[1] ?? 0,\n width: 0,\n height: 0,\n })\n : $base.getBoundingClientRect();\n const contentRect = getIgnoreInsetRect($content);\n const scrollParents = getScrollParents($content);\n\n if (scrollParents.length < 1) {\n scrollParents.push(document.documentElement);\n }\n\n /**\n * Viewport area\n */\n const viewport = scrollParents.reduce<MutableRect>(\n (box: MutableRect | undefined, el) => {\n const rect = el.getBoundingClientRect();\n const scrollBox = new MutableRect({\n x: el === document.documentElement ? 0 : rect.x,\n y: el === document.documentElement ? 0 : rect.y,\n width: el.clientWidth,\n height: el.clientHeight,\n });\n\n if (box) {\n return new MutableRect({\n x: Math.max(box.left, scrollBox.left),\n y: Math.max(box.top, scrollBox.top),\n width:\n Math.min(box.right, scrollBox.right) -\n Math.max(box.left, scrollBox.left),\n height:\n Math.min(box.bottom, scrollBox.bottom) -\n Math.max(box.top, scrollBox.top),\n });\n }\n return scrollBox;\n },\n undefined!,\n );\n viewport.x += viewportMargin;\n viewport.y += viewportMargin;\n viewport.width -= viewportMargin * 2;\n viewport.height -= viewportMargin * 2;\n\n const { preferredAnchor, preferredOrigin } = $computed(() => {\n const location = `${props.position} ${props.align}` as Anchor;\n const parsedAnchor = parseAnchor(location, false);\n const parsedOrigin =\n props.origin === 'overlap'\n ? parsedAnchor\n : props.origin === 'auto'\n ? flipSide(parsedAnchor)\n : parseAnchor(props.origin, false);\n\n // Some combinations of props may produce an invalid origin\n if (\n parsedAnchor.side === parsedOrigin.side &&\n parsedAnchor.align === flipAlign(parsedOrigin).align\n ) {\n return {\n preferredAnchor: flipCorner(parsedAnchor),\n preferredOrigin: flipCorner(parsedOrigin),\n };\n } else {\n return {\n preferredAnchor: parsedAnchor,\n preferredOrigin: parsedOrigin,\n };\n }\n });\n\n let placement = {\n anchor: preferredAnchor.value,\n origin: preferredOrigin.value,\n };\n\n function checkOverflow(_placement: typeof placement) {\n const box = new MutableRect(contentRect);\n const targetPoint = anchorToPoint(_placement.anchor, baseRect);\n const contentPoint = anchorToPoint(_placement.origin, box);\n\n let { x, y } = getOffset(targetPoint, contentPoint);\n\n switch (_placement.anchor.side) {\n case 'top':\n y -= offset.value[0];\n break;\n case 'bottom':\n y += offset.value[0];\n break;\n case 'left':\n x -= offset.value[0];\n break;\n case 'right':\n x += offset.value[0];\n break;\n }\n\n switch (_placement.anchor.align) {\n case 'top':\n y -= offset.value[1];\n break;\n case 'bottom':\n y += offset.value[1];\n break;\n case 'left':\n x -= offset.value[1];\n break;\n case 'right':\n x += offset.value[1];\n break;\n }\n\n box.x += x;\n box.y += y;\n\n box.width = Math.min(box.width, maxWidth.value);\n box.height = Math.min(box.height, maxHeight.value);\n\n const overflows = getOverflow(box, viewport);\n\n return { overflows, x, y };\n }\n\n let x = 0;\n let y = 0;\n const available = { x: 0, y: 0 };\n const flipped = { x: false, y: false };\n let resets = -1;\n while (true) {\n if (resets++ > 10) {\n break;\n }\n\n const { x: _x, y: _y, overflows } = checkOverflow(placement);\n\n x += _x;\n y += _y;\n\n contentRect.x += _x;\n contentRect.y += _y;\n\n // flip\n {\n const axis = getAxis(placement.anchor);\n const hasOverflowX = overflows.x.before || overflows.x.after;\n const hasOverflowY = overflows.y.before || overflows.y.after;\n\n let reset = false;\n ['x', 'y'].forEach((key) => {\n if (\n (key === 'x' && hasOverflowX && !flipped.x) ||\n (key === 'y' && hasOverflowY && !flipped.y)\n ) {\n const newPlacement = {\n anchor: { ...placement.anchor },\n origin: { ...placement.origin },\n };\n const flip =\n key === 'x'\n ? axis === 'y'\n ? flipAlign\n : flipSide\n : axis === 'y'\n ? flipSide\n : flipAlign;\n newPlacement.anchor = flip(newPlacement.anchor);\n newPlacement.origin = flip(newPlacement.origin);\n const { overflows: newOverflows } = checkOverflow(newPlacement);\n if (\n (newOverflows[key].before <= overflows[key].before &&\n newOverflows[key].after <= overflows[key].after) ||\n newOverflows[key].before + newOverflows[key].after <\n (overflows[key].before + overflows[key].after) / 2\n ) {\n placement = newPlacement;\n reset = flipped[key] = true;\n }\n }\n });\n if (reset) continue;\n }\n\n // shift\n if (overflows.x.before) {\n x += overflows.x.before;\n contentRect.x += overflows.x.before;\n }\n if (overflows.x.after) {\n x -= overflows.x.after;\n contentRect.x -= overflows.x.after;\n }\n if (overflows.y.before) {\n y += overflows.y.before;\n contentRect.y += overflows.y.before;\n }\n if (overflows.y.after) {\n y -= overflows.y.after;\n contentRect.y -= overflows.y.after;\n }\n\n // size\n {\n const overflows = getOverflow(contentRect, viewport);\n available.x = viewport.width - overflows.x.before - overflows.x.after;\n available.y = viewport.height - overflows.y.before - overflows.y.after;\n\n x += overflows.x.before;\n contentRect.x += overflows.x.before;\n y += overflows.y.before;\n contentRect.y += overflows.y.before;\n }\n\n break;\n }\n\n const axis = getAxis(placement.anchor);\n\n Object.assign(coordinateStyles.value, {\n '--y-levitation-anchor-origin': `${placement.anchor.side} ${placement.anchor.align}`,\n transformOrigin: `${placement.origin.side} ${placement.origin.align}`,\n top: toStyleSizeValue(pixelRound(y)),\n left: isRtl.value ? undefined : toStyleSizeValue(pixelRound(x)),\n right: isRtl.value ? toStyleSizeValue(pixelRound(-x)) : undefined,\n minWidth: toStyleSizeValue(\n axis === 'y'\n ? Math.min(minWidth.value, baseRect.width)\n : minWidth.value,\n ),\n maxWidth: toStyleSizeValue(\n pixelCeil(\n clamp(\n available.x,\n minWidth.value === Infinity ? 0 : minWidth.value,\n maxWidth.value,\n ),\n ),\n ),\n maxHeight: toStyleSizeValue(\n pixelCeil(\n clamp(\n available.y,\n minHeight.value === Infinity ? 0 : minHeight.value,\n maxHeight.value,\n ),\n ),\n ),\n });\n\n return {\n available,\n contentRect,\n };\n }\n\n watch(\n () => [\n props.offset,\n props.minWidth,\n props.minHeight,\n props.maxWidth,\n props.maxHeight,\n ],\n () => updateCoordinate(),\n );\n\n nextTick(() => {\n const result = updateCoordinate();\n if (!result) return;\n const { available, contentRect } = result;\n if (contentRect.height > available.y) {\n requestAnimationFrame(() => {\n updateCoordinate();\n requestAnimationFrame(() => {\n updateCoordinate();\n });\n });\n }\n });\n\n return {\n updateCoordinate,\n };\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.mjs","names":[],"sources":["../../../src/composables/coordinate/types.ts"],"sourcesContent":["import type { Ref } from \"vue\";\r\n\r\nexport interface CoordinateState {\r\n contentEl: Ref<HTMLElement | undefined>;\r\n
|
|
1
|
+
{"version":3,"file":"types.mjs","names":[],"sources":["../../../src/composables/coordinate/types.ts"],"sourcesContent":["import type { Ref } from \"vue\";\r\n\r\nexport interface CoordinateState {\r\n contentEl: Ref<HTMLElement | undefined>;\r\n base: Ref<HTMLElement | [x: number, y: number] | undefined>;\r\n active: Ref<boolean>;\r\n}\r\n"],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resize-observer.mjs","names":["readonly","ref","onBeforeUnmount","watch","getHtmlElement","useResizeObserver","callback","resizeObservedRef","contentRect","window","observer","ResizeObserver","entries","length","value","disconnect","neo","old","unobserve","undefined","observe","flush"],"sources":["../../src/composables/resize-observer.ts"],"sourcesContent":["import { readonly, ref } from 'vue';\r\nimport { onBeforeUnmount } from 'vue';\r\nimport { watch } from 'vue';\r\n\r\nimport { getHtmlElement } from '../util/vue-component';\r\n\r\nexport function useResizeObserver(callback?: ResizeObserverCallback) {\r\n const resizeObservedRef = ref<HTMLElement>();\r\n const contentRect = ref<DOMRectReadOnly>();\r\n if (window) {\r\n const observer = new ResizeObserver((entries, observer) => {\r\n callback?.(entries, observer);\r\n if (!entries.length) return;\r\n contentRect.value = entries[0].contentRect;\r\n });\r\n\r\n onBeforeUnmount(() => {\r\n observer.disconnect();\r\n });\r\n\r\n watch(\r\n resizeObservedRef,\r\n (neo, old) => {\r\n if (old) {\r\n observer.unobserve(old);\r\n contentRect.value = undefined;\r\n }\r\n if (neo) {\r\n observer.observe(getHtmlElement(neo));\r\n }\r\n },\r\n { flush: 'post' },\r\n );\r\n }\r\n\r\n return {\r\n resizeObservedRef,\r\n contentRect: readonly(contentRect),\r\n };\r\n}\r\n"],"mappings":"AAAA,SAASA,QAAQ,EAAEC,GAAG,QAAQ,KAAK;AACnC,SAASC,eAAe,QAAQ,KAAK;AACrC,SAASC,KAAK,QAAQ,KAAK;AAAC,SAEnBC,cAAc;AAEvB,OAAO,SAASC,iBAAiBA,CAACC,QAAiC,EAAE;EACnE,MAAMC,iBAAiB,GAAGN,GAAG,CAAc,CAAC;EAC5C,MAAMO,WAAW,GAAGP,GAAG,CAAkB,CAAC;EAC1C,IAAIQ,MAAM,EAAE;IACV,MAAMC,QAAQ,GAAG,IAAIC,cAAc,CAAC,CAACC,OAAO,EAAEF,QAAQ,KAAK;MACzDJ,QAAQ,GAAGM,OAAO,EAAEF,QAAQ,CAAC;MAC7B,IAAI,CAACE,OAAO,CAACC,MAAM,EAAE;MACrBL,WAAW,CAACM,KAAK,GAAGF,OAAO,CAAC,CAAC,CAAC,CAACJ,WAAW;IAC5C,CAAC,CAAC;IAEFN,eAAe,CAAC,MAAM;MACpBQ,QAAQ,CAACK,UAAU,CAAC,CAAC;IACvB,CAAC,CAAC;IAEFZ,KAAK,CACDI,iBAAiB,EACjB,CAACS,GAAG,EAAEC,GAAG,KAAK;MACZ,IAAIA,GAAG,EAAE;QACPP,QAAQ,CAACQ,SAAS,
|
|
1
|
+
{"version":3,"file":"resize-observer.mjs","names":["readonly","ref","onBeforeUnmount","watch","getHtmlElement","useResizeObserver","callback","resizeObservedRef","contentRect","window","observer","ResizeObserver","entries","length","value","disconnect","neo","old","unobserve","undefined","observe","flush"],"sources":["../../src/composables/resize-observer.ts"],"sourcesContent":["import { readonly, ref } from 'vue';\r\nimport { onBeforeUnmount } from 'vue';\r\nimport { watch } from 'vue';\r\n\r\nimport { getHtmlElement } from '../util/vue-component';\r\n\r\nexport function useResizeObserver(callback?: ResizeObserverCallback) {\r\n const resizeObservedRef = ref<HTMLElement>();\r\n const contentRect = ref<DOMRectReadOnly>();\r\n if (window) {\r\n const observer = new ResizeObserver((entries, observer) => {\r\n callback?.(entries, observer);\r\n if (!entries.length) return;\r\n contentRect.value = entries[0].contentRect;\r\n });\r\n\r\n onBeforeUnmount(() => {\r\n observer.disconnect();\r\n });\r\n\r\n watch(\r\n resizeObservedRef,\r\n (neo, old) => {\r\n if (old) {\r\n observer.unobserve(getHtmlElement(old));\r\n contentRect.value = undefined;\r\n }\r\n if (neo) {\r\n observer.observe(getHtmlElement(neo));\r\n }\r\n },\r\n { flush: 'post' },\r\n );\r\n }\r\n\r\n return {\r\n resizeObservedRef,\r\n contentRect: readonly(contentRect),\r\n };\r\n}\r\n"],"mappings":"AAAA,SAASA,QAAQ,EAAEC,GAAG,QAAQ,KAAK;AACnC,SAASC,eAAe,QAAQ,KAAK;AACrC,SAASC,KAAK,QAAQ,KAAK;AAAC,SAEnBC,cAAc;AAEvB,OAAO,SAASC,iBAAiBA,CAACC,QAAiC,EAAE;EACnE,MAAMC,iBAAiB,GAAGN,GAAG,CAAc,CAAC;EAC5C,MAAMO,WAAW,GAAGP,GAAG,CAAkB,CAAC;EAC1C,IAAIQ,MAAM,EAAE;IACV,MAAMC,QAAQ,GAAG,IAAIC,cAAc,CAAC,CAACC,OAAO,EAAEF,QAAQ,KAAK;MACzDJ,QAAQ,GAAGM,OAAO,EAAEF,QAAQ,CAAC;MAC7B,IAAI,CAACE,OAAO,CAACC,MAAM,EAAE;MACrBL,WAAW,CAACM,KAAK,GAAGF,OAAO,CAAC,CAAC,CAAC,CAACJ,WAAW;IAC5C,CAAC,CAAC;IAEFN,eAAe,CAAC,MAAM;MACpBQ,QAAQ,CAACK,UAAU,CAAC,CAAC;IACvB,CAAC,CAAC;IAEFZ,KAAK,CACDI,iBAAiB,EACjB,CAACS,GAAG,EAAEC,GAAG,KAAK;MACZ,IAAIA,GAAG,EAAE;QACPP,QAAQ,CAACQ,SAAS,CAACd,cAAc,CAACa,GAAG,CAAC,CAAC;QACvCT,WAAW,CAACM,KAAK,GAAGK,SAAS;MAC/B;MACA,IAAIH,GAAG,EAAE;QACPN,QAAQ,CAACU,OAAO,CAAChB,cAAc,CAACY,GAAG,CAAC,CAAC;MACvC;IACF,CAAC,EACD;MAAEK,KAAK,EAAE;IAAO,CACpB,CAAC;EACH;EAEA,OAAO;IACLd,iBAAiB;IACjBC,WAAW,EAAER,QAAQ,CAACQ,WAAW;EACnC,CAAC;AACH"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { computed, ref, watch } from 'vue';
|
|
1
|
+
import { computed, ref, watch, unref } from 'vue';
|
|
2
2
|
export function useLazy(eager, updated) {
|
|
3
3
|
const tick = ref(false);
|
|
4
4
|
const tack = ref();
|
|
@@ -27,16 +27,14 @@ export function useLazy(eager, updated) {
|
|
|
27
27
|
onAfterUpdate
|
|
28
28
|
};
|
|
29
29
|
}
|
|
30
|
-
export function useTimer(cb) {
|
|
31
|
-
let duration = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1000;
|
|
32
|
-
let options = arguments.length > 2 ? arguments[2] : undefined;
|
|
30
|
+
export function useTimer(cb, duration, options) {
|
|
33
31
|
const {
|
|
34
32
|
tickDuration
|
|
35
33
|
} = options ?? {};
|
|
36
34
|
let tickInterval = tickDuration ?? 100;
|
|
37
35
|
let timer = -1;
|
|
38
36
|
const tickStart = ref(0);
|
|
39
|
-
const drift = ref(duration);
|
|
37
|
+
const drift = ref(unref(duration));
|
|
40
38
|
const isWork = ref(false);
|
|
41
39
|
function tick() {
|
|
42
40
|
const now = Date.now();
|
|
@@ -64,7 +62,7 @@ export function useTimer(cb) {
|
|
|
64
62
|
}
|
|
65
63
|
function reset() {
|
|
66
64
|
stop();
|
|
67
|
-
drift.value = duration;
|
|
65
|
+
drift.value = unref(duration);
|
|
68
66
|
}
|
|
69
67
|
return {
|
|
70
68
|
start,
|
|
@@ -74,4 +72,31 @@ export function useTimer(cb) {
|
|
|
74
72
|
isWork
|
|
75
73
|
};
|
|
76
74
|
}
|
|
75
|
+
export function useDelay(props, callback) {
|
|
76
|
+
const state = {};
|
|
77
|
+
function clearDelay(propKey) {
|
|
78
|
+
state[propKey] && window.clearTimeout(state[propKey]);
|
|
79
|
+
delete state[propKey];
|
|
80
|
+
}
|
|
81
|
+
function setDelay(propKey, timeout, resolve) {
|
|
82
|
+
state[propKey] = window.setTimeout(() => {
|
|
83
|
+
const active = propKey === 'openDelay';
|
|
84
|
+
callback?.(active);
|
|
85
|
+
resolve(active);
|
|
86
|
+
}, timeout);
|
|
87
|
+
}
|
|
88
|
+
const generateDelay = propKey => () => {
|
|
89
|
+
clearDelay('openDelay');
|
|
90
|
+
clearDelay('closeDelay');
|
|
91
|
+
const delayTime = props[propKey] ?? 0;
|
|
92
|
+
return new Promise(resolve => {
|
|
93
|
+
const delay = parseInt(String(delayTime), 10);
|
|
94
|
+
setDelay(propKey, delay, resolve);
|
|
95
|
+
});
|
|
96
|
+
};
|
|
97
|
+
return {
|
|
98
|
+
startOpenDelay: generateDelay('openDelay'),
|
|
99
|
+
startCloseDelay: generateDelay('closeDelay')
|
|
100
|
+
};
|
|
101
|
+
}
|
|
77
102
|
//# sourceMappingURL=timing.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timing.mjs","names":["computed","ref","watch","useLazy","eager","updated","tick","tack","value","lazyValue","onAfterUpdate","entered","useTimer","cb","duration","
|
|
1
|
+
{"version":3,"file":"timing.mjs","names":["computed","ref","watch","unref","useLazy","eager","updated","tick","tack","value","lazyValue","onAfterUpdate","entered","useTimer","cb","duration","options","tickDuration","tickInterval","timer","tickStart","drift","isWork","now","Date","realTick","tickDrift","nextInterval","window","setTimeout","start","stop","clearTimeout","reset","useDelay","props","callback","state","clearDelay","propKey","setDelay","timeout","resolve","active","generateDelay","delayTime","Promise","delay","parseInt","String","startOpenDelay","startCloseDelay"],"sources":["../../src/composables/timing.ts"],"sourcesContent":["import { Ref, computed, ref, watch, MaybeRef, unref } from 'vue';\r\n\r\nexport function useLazy(eager: Ref<boolean | undefined>, updated: Ref<any>) {\r\n const tick = ref(false);\r\n const tack = ref();\r\n tack.value = updated.value;\r\n const lazyValue = computed(() => {\r\n if (eager.value) return updated.value;\r\n return tack.value;\r\n });\r\n watch(updated, () => {\r\n if (!tick.value) {\r\n tack.value = updated.value;\r\n }\r\n if (!eager.value) {\r\n tick.value = true;\r\n }\r\n });\r\n function onAfterUpdate() {\r\n tack.value = updated.value;\r\n if (!eager.value) {\r\n tick.value = false;\r\n }\r\n }\r\n return {\r\n entered: tick,\r\n lazyValue,\r\n onAfterUpdate,\r\n };\r\n}\r\n\r\nexport function useTimer(\r\n cb: () => void,\r\n duration: MaybeRef<number>,\r\n options?: { tickDuration: number },\r\n) {\r\n const { tickDuration } = options ?? {};\r\n let tickInterval = tickDuration ?? 100;\r\n let timer = -1;\r\n\r\n const tickStart = ref(0);\r\n const drift = ref(unref(duration));\r\n const isWork = ref(false);\r\n\r\n function tick() {\r\n const now = Date.now();\r\n const realTick = now - tickStart.value;\r\n drift.value = drift.value - realTick;\r\n if (drift.value < 1) {\r\n cb();\r\n } else {\r\n const tickDrift = now - tickStart.value + tickInterval;\r\n const nextInterval = tickDrift >= 1 ? tickDrift : tickInterval;\r\n tickStart.value = now;\r\n timer = window.setTimeout(tick, nextInterval);\r\n }\r\n }\r\n\r\n function start() {\r\n if (isWork.value) return;\r\n isWork.value = true;\r\n tickStart.value = Date.now();\r\n timer = window.setTimeout(tick, tickInterval);\r\n }\r\n\r\n function stop() {\r\n window.clearTimeout(timer);\r\n timer = -1;\r\n isWork.value = false;\r\n }\r\n\r\n function reset() {\r\n stop();\r\n drift.value = unref(duration);\r\n }\r\n\r\n return {\r\n start,\r\n stop,\r\n reset,\r\n drift,\r\n isWork,\r\n }\r\n}\r\n\r\ntype DelayType = 'closeDelay' | 'openDelay';\r\n\r\nexport function useDelay(props: any, callback?: (active: boolean) => void) {\r\n const state: Partial<Record<DelayType, number>> = {};\r\n\r\n function clearDelay(propKey: DelayType) {\r\n state[propKey] && window.clearTimeout(state[propKey]);\r\n delete state[propKey];\r\n }\r\n\r\n function setDelay(propKey: DelayType, timeout: number, resolve: any) {\r\n state[propKey] = window.setTimeout(() => {\r\n const active = propKey === 'openDelay';\r\n callback?.(active);\r\n resolve(active);\r\n }, timeout);\r\n }\r\n\r\n const generateDelay = (propKey: DelayType) => () => {\r\n clearDelay('openDelay');\r\n clearDelay('closeDelay');\r\n const delayTime = props[propKey] ?? 0;\r\n return new Promise<boolean>((resolve) => {\r\n const delay = parseInt(String(delayTime), 10);\r\n setDelay(propKey, delay, resolve);\r\n });\r\n };\r\n\r\n return {\r\n startOpenDelay: generateDelay('openDelay'),\r\n startCloseDelay: generateDelay('closeDelay'),\r\n };\r\n}\r\n\r\n"],"mappings":"AAAA,SAAcA,QAAQ,EAAEC,GAAG,EAAEC,KAAK,EAAYC,KAAK,QAAQ,KAAK;AAEhE,OAAO,SAASC,OAAOA,CAACC,KAA+B,EAAEC,OAAiB,EAAE;EAC1E,MAAMC,IAAI,GAAGN,GAAG,CAAC,KAAK,CAAC;EACvB,MAAMO,IAAI,GAAGP,GAAG,CAAC,CAAC;EAClBO,IAAI,CAACC,KAAK,GAAGH,OAAO,CAACG,KAAK;EAC1B,MAAMC,SAAS,GAAGV,QAAQ,CAAC,MAAM;IAC/B,IAAIK,KAAK,CAACI,KAAK,EAAE,OAAOH,OAAO,CAACG,KAAK;IACrC,OAAOD,IAAI,CAACC,KAAK;EACnB,CAAC,CAAC;EACFP,KAAK,CAACI,OAAO,EAAE,MAAM;IACnB,IAAI,CAACC,IAAI,CAACE,KAAK,EAAE;MACfD,IAAI,CAACC,KAAK,GAAGH,OAAO,CAACG,KAAK;IAC5B;IACA,IAAI,CAACJ,KAAK,CAACI,KAAK,EAAE;MAChBF,IAAI,CAACE,KAAK,GAAG,IAAI;IACnB;EACF,CAAC,CAAC;EACF,SAASE,aAAaA,CAAA,EAAG;IACvBH,IAAI,CAACC,KAAK,GAAGH,OAAO,CAACG,KAAK;IAC1B,IAAI,CAACJ,KAAK,CAACI,KAAK,EAAE;MAChBF,IAAI,CAACE,KAAK,GAAG,KAAK;IACpB;EACF;EACA,OAAO;IACLG,OAAO,EAAEL,IAAI;IACbG,SAAS;IACTC;EACF,CAAC;AACH;AAEA,OAAO,SAASE,QAAQA,CACtBC,EAAc,EACdC,QAA0B,EAC1BC,OAAkC,EAClC;EACA,MAAM;IAAEC;EAAa,CAAC,GAAGD,OAAO,IAAI,CAAC,CAAC;EACtC,IAAIE,YAAY,GAAGD,YAAY,IAAI,GAAG;EACtC,IAAIE,KAAK,GAAG,CAAC,CAAC;EAEd,MAAMC,SAAS,GAAGnB,GAAG,CAAC,CAAC,CAAC;EACxB,MAAMoB,KAAK,GAAGpB,GAAG,CAACE,KAAK,CAACY,QAAQ,CAAC,CAAC;EAClC,MAAMO,MAAM,GAAGrB,GAAG,CAAC,KAAK,CAAC;EAEzB,SAASM,IAAIA,CAAA,EAAG;IACd,MAAMgB,GAAG,GAAGC,IAAI,CAACD,GAAG,CAAC,CAAC;IACtB,MAAME,QAAQ,GAAGF,GAAG,GAAGH,SAAS,CAACX,KAAK;IACtCY,KAAK,CAACZ,KAAK,GAAGY,KAAK,CAACZ,KAAK,GAAGgB,QAAQ;IACpC,IAAIJ,KAAK,CAACZ,KAAK,GAAG,CAAC,EAAE;MACnBK,EAAE,CAAC,CAAC;IACN,CAAC,MAAM;MACL,MAAMY,SAAS,GAAGH,GAAG,GAAGH,SAAS,CAACX,KAAK,GAAGS,YAAY;MACtD,MAAMS,YAAY,GAAGD,SAAS,IAAI,CAAC,GAAGA,SAAS,GAAGR,YAAY;MAC9DE,SAAS,CAACX,KAAK,GAAGc,GAAG;MACrBJ,KAAK,GAAGS,MAAM,CAACC,UAAU,CAACtB,IAAI,EAAEoB,YAAY,CAAC;IAC/C;EACF;EAEA,SAASG,KAAKA,CAAA,EAAG;IACf,IAAIR,MAAM,CAACb,KAAK,EAAE;IAClBa,MAAM,CAACb,KAAK,GAAG,IAAI;IACnBW,SAAS,CAACX,KAAK,GAAGe,IAAI,CAACD,GAAG,CAAC,CAAC;IAC5BJ,KAAK,GAAGS,MAAM,CAACC,UAAU,CAACtB,IAAI,EAAEW,YAAY,CAAC;EAC/C;EAEA,SAASa,IAAIA,CAAA,EAAG;IACdH,MAAM,CAACI,YAAY,CAACb,KAAK,CAAC;IAC1BA,KAAK,GAAG,CAAC,CAAC;IACVG,MAAM,CAACb,KAAK,GAAG,KAAK;EACtB;EAEA,SAASwB,KAAKA,CAAA,EAAG;IACfF,IAAI,CAAC,CAAC;IACNV,KAAK,CAACZ,KAAK,GAAGN,KAAK,CAACY,QAAQ,CAAC;EAC/B;EAEA,OAAO;IACLe,KAAK;IACLC,IAAI;IACJE,KAAK;IACLZ,KAAK;IACLC;EACF,CAAC;AACH;AAIA,OAAO,SAASY,QAAQA,CAACC,KAAU,EAAEC,QAAoC,EAAE;EACzE,MAAMC,KAAyC,GAAG,CAAC,CAAC;EAEpD,SAASC,UAAUA,CAACC,OAAkB,EAAE;IACtCF,KAAK,CAACE,OAAO,CAAC,IAAIX,MAAM,CAACI,YAAY,CAACK,KAAK,CAACE,OAAO,CAAC,CAAC;IACrD,OAAOF,KAAK,CAACE,OAAO,CAAC;EACvB;EAEA,SAASC,QAAQA,CAACD,OAAkB,EAAEE,OAAe,EAAEC,OAAY,EAAE;IACnEL,KAAK,CAACE,OAAO,CAAC,GAAGX,MAAM,CAACC,UAAU,CAAC,MAAM;MACvC,MAAMc,MAAM,GAAGJ,OAAO,KAAK,WAAW;MACtCH,QAAQ,GAAGO,MAAM,CAAC;MAClBD,OAAO,CAACC,MAAM,CAAC;IACjB,CAAC,EAAEF,OAAO,CAAC;EACb;EAEA,MAAMG,aAAa,GAAIL,OAAkB,IAAK,MAAM;IAClDD,UAAU,CAAC,WAAW,CAAC;IACvBA,UAAU,CAAC,YAAY,CAAC;IACxB,MAAMO,SAAS,GAAGV,KAAK,CAACI,OAAO,CAAC,IAAI,CAAC;IACrC,OAAO,IAAIO,OAAO,CAAWJ,OAAO,IAAK;MACvC,MAAMK,KAAK,GAAGC,QAAQ,CAACC,MAAM,CAACJ,SAAS,CAAC,EAAE,EAAE,CAAC;MAC7CL,QAAQ,CAACD,OAAO,EAAEQ,KAAK,EAAEL,OAAO,CAAC;IACnC,CAAC,CAAC;EACJ,CAAC;EAED,OAAO;IACLQ,cAAc,EAAEN,aAAa,CAAC,WAAW,CAAC;IAC1CO,eAAe,EAAEP,aAAa,CAAC,YAAY;EAC7C,CAAC;AACH"}
|
package/lib/locales/en.mjs
CHANGED
package/lib/locales/en.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"en.mjs","names":["search","noItems"],"sources":["../../src/locales/en.ts"],"sourcesContent":["export default {\r\n search: 'search',\r\n noItems: 'No Options'\r\n};\r\n"],"mappings":"AAAA,eAAe;EACbA,MAAM,EAAE,QAAQ;EAChBC,OAAO,EAAE;
|
|
1
|
+
{"version":3,"file":"en.mjs","names":["search","noItems","noData"],"sources":["../../src/locales/en.ts"],"sourcesContent":["export default {\r\n search: 'search',\r\n noItems: 'No Options',\r\n noData: 'No Data'\r\n};\r\n"],"mappings":"AAAA,eAAe;EACbA,MAAM,EAAE,QAAQ;EAChBC,OAAO,EAAE,YAAY;EACrBC,MAAM,EAAE;AACV,CAAC"}
|
package/lib/locales/ko.mjs
CHANGED
package/lib/locales/ko.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ko.mjs","names":["search","noItems"],"sources":["../../src/locales/ko.ts"],"sourcesContent":["export default {\r\n search: '검색',\r\n noItems: '항목이 없습니다.'\r\n};\r\n"],"mappings":"AAAA,eAAe;EACbA,MAAM,EAAE,IAAI;EACZC,OAAO,EAAE;
|
|
1
|
+
{"version":3,"file":"ko.mjs","names":["search","noItems","noData"],"sources":["../../src/locales/ko.ts"],"sourcesContent":["export default {\r\n search: '검색',\r\n noItems: '항목이 없습니다.',\r\n noData: '데이터가 없습니다.'\r\n};\r\n"],"mappings":"AAAA,eAAe;EACbA,MAAM,EAAE,IAAI;EACZC,OAAO,EAAE,WAAW;EACpBC,MAAM,EAAE;AACV,CAAC"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { capitalize } from '@vue/runtime-core';
|
|
2
2
|
import { getCurrentInstance } from 'vue';
|
|
3
|
-
import { hasOwnProperty } from "./common.mjs";
|
|
4
3
|
export function getSlot(vm) {
|
|
5
4
|
let name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'default';
|
|
6
5
|
let data = arguments.length > 2 ? arguments[2] : undefined;
|
|
@@ -43,7 +42,14 @@ export function bindClasses(classes) {
|
|
|
43
42
|
return boundClasses;
|
|
44
43
|
}
|
|
45
44
|
export function getHtmlElement(node) {
|
|
46
|
-
|
|
45
|
+
if (node && '$el' in node) {
|
|
46
|
+
const el = node.$el;
|
|
47
|
+
if (el.nodeType === Node.TEXT_NODE) {
|
|
48
|
+
return el.nextElementSibling;
|
|
49
|
+
}
|
|
50
|
+
return el;
|
|
51
|
+
}
|
|
52
|
+
return node;
|
|
47
53
|
}
|
|
48
54
|
export function findChildrenWithProvide(key, vnode) {
|
|
49
55
|
if (!vnode || typeof vnode !== 'object') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vue-component.mjs","names":["capitalize","getCurrentInstance","hasOwnProperty","getSlot","vm","name","arguments","length","undefined","data","optional","$slots","slot","Function","filter","node","el","nodeType","getUid","uid","chooseProps","props","target","Object","keys","reduce","acc","prop","bindClasses","classes","boundClasses","Array","isArray","clas","getHtmlElement","$el","findChildrenWithProvide","key","vnode","map","child","flat","children","component","getOwnPropertySymbols","provides","includes","subTree","propsFactory","source","defaults","options","option","isObjectOption","objectOption","type","default","hasEventProp","onType","EventPropOption"],"sources":["../../src/util/vue-component.ts"],"sourcesContent":["import { ComponentInternalInstance, capitalize } from '@vue/runtime-core';\nimport type { IfAny } from '@vue/shared';\nimport type {\n ComponentObjectPropsOptions,\n ComponentPublicInstance,\n ExtractPropTypes,\n InjectionKey,\n Prop,\n PropType,\n VNode,\n VNodeChild,\n} from 'vue';\nimport { getCurrentInstance } from 'vue';\n\nimport { hasOwnProperty } from './common';\n\nexport function getSlot(\n vm: ComponentPublicInstance | any,\n // eslint-disable-next-line default-param-last\n name = 'default',\n data?: any | (() => any),\n optional = false,\n): VNode[] | undefined {\n if (vm.$slots?.[name]) {\n const slot = vm.$slots[name]!(data instanceof Function ? data() : data);\n return slot.filter((node: VNode) => {\n return node.el?.nodeType !== 8;\n });\n }\n return undefined;\n}\n\nexport function getUid() {\n const vm = getCurrentInstance();\n return vm?.uid;\n}\n\nexport function chooseProps<PropsOptions extends ComponentObjectPropsOptions>(\n props: any,\n target: PropsOptions,\n): ExtractPropTypes<PropsOptions> {\n return Object.keys(target).reduce((acc, prop) => {\n if (props && prop in props) {\n acc[prop as keyof ExtractPropTypes<PropsOptions>] = props[prop];\n }\n return acc;\n }, {} as ExtractPropTypes<PropsOptions>);\n}\n\nexport function bindClasses(\n classes: string | string[] | Record<string, any> | undefined,\n) {\n const boundClasses = {} as Record<string, boolean>;\n if (typeof classes === 'string') {\n boundClasses[classes] = true;\n } else if (Array.isArray(classes)) {\n (classes as string[]).reduce((acc, clas) => {\n acc[clas] = true;\n return acc;\n }, boundClasses);\n } else if (typeof classes === 'object') {\n Object.keys(classes).reduce((acc, clas) => {\n acc[clas] = !!classes[clas];\n return acc;\n }, boundClasses);\n }\n return boundClasses;\n}\n\nexport function getHtmlElement<N extends object | undefined>(\n node: N,\n): Exclude<N, ComponentPublicInstance> | HTMLElement {\n return node && hasOwnProperty(node, '$el')\n ? ((node as ComponentPublicInstance).$el as HTMLElement)\n : (node as HTMLElement);\n}\n\nexport function findChildrenWithProvide(\n key: InjectionKey<any> | symbol,\n vnode?: VNodeChild,\n): ComponentInternalInstance[] {\n if (!vnode || typeof vnode !== 'object') {\n return [];\n }\n\n if (Array.isArray(vnode)) {\n return vnode.map((child) => findChildrenWithProvide(key, child)).flat(1);\n } else if (Array.isArray(vnode.children)) {\n return vnode.children\n .map((child) => findChildrenWithProvide(key, child))\n .flat(1);\n } else if (vnode.component) {\n if (\n Object.getOwnPropertySymbols((vnode.component as any).provides).includes(\n key as symbol,\n )\n ) {\n return [vnode.component];\n } else if (vnode.component.subTree) {\n return findChildrenWithProvide(key, vnode.component.subTree).flat(1);\n }\n }\n\n return [];\n}\n\nexport function propsFactory<PropsOptions extends ComponentObjectPropsOptions>(\n props: PropsOptions,\n source: string,\n) {\n return <Defaults extends PartialKeys<PropsOptions> = {}>(\n defaults?: Defaults,\n ): OverwrittenPropOptions<PropsOptions, Defaults> => {\n return Object.keys(props).reduce<any>((options, prop) => {\n const option = props[prop];\n const isObjectOption =\n typeof option === 'object' && option != null && !Array.isArray(option);\n const objectOption = isObjectOption ? option : { type: option };\n if (defaults && prop in defaults) {\n options[prop] = {\n ...objectOption,\n default: defaults[prop],\n };\n } else {\n options[prop] = objectOption;\n }\n\n if (source && !options[prop].source) {\n options[prop].source = source;\n }\n return options;\n }, {} as PropsOptions);\n };\n}\n\nexport function hasEventProp(props: Record<string, any>, type: string) {\n const onType = `on${capitalize(type)}`;\n return !!(\n props[onType] ||\n props[`${onType}Once`] ||\n props[`${onType}Capture`] ||\n props[`${onType}OnceCapture`] ||\n props[`${onType}CaptureOnce`]\n );\n}\n\ntype OverwrittenPropOptions<\n T extends ComponentObjectPropsOptions,\n D extends PartialKeys<T>,\n> = {\n [P in keyof T]-?: unknown extends D[P]\n ? T[P]\n : T[P] extends Record<string, unknown>\n ? Omit<T[P], 'type' | 'default'> & {\n type: PropType<MergeDefault<T[P], D[P]>>;\n default: MergeDefault<T[P], D[P]>;\n }\n : {\n type: PropType<MergeDefault<T[P], D[P]>>;\n default: MergeDefault<T[P], D[P]>;\n };\n};\n\ntype MergeDefault<T, D> = unknown extends D\n ? InferPropType<T>\n : NonNullable<InferPropType<T>> | D;\n\ntype FollowPropType<T, P, D> = [T] extends [PropType<unknown>]\n ? T\n : PropType<MergeDefault<P, D>>;\n\ntype PartialKeys<T> = { [P in keyof T]?: unknown };\n\n// Copied from Vue\ntype InferPropType<T> = [T] extends [null]\n ? any // null & true would fail to infer\n : [T] extends [{ type: null | true }]\n ? // As TS issue https://github.com/Microsoft/TypeScript/issues/14829\n // somehow `ObjectConstructor` when inferred from { (): T } becomes `any`\n // `BooleanConstructor` when inferred from PropConstructor(with PropMethod) becomes `Boolean`\n any\n : [T] extends [ObjectConstructor | { type: ObjectConstructor }]\n ? Record<string, any>\n : [T] extends [BooleanConstructor | { type: BooleanConstructor }]\n ? boolean\n : [T] extends [DateConstructor | { type: DateConstructor }]\n ? Date\n : [T] extends [(infer U)[] | { type: (infer U)[] }]\n ? U extends DateConstructor\n ? Date | InferPropType<U>\n : InferPropType<U>\n : [T] extends [Prop<infer V, infer D>]\n ? unknown extends V\n ? IfAny<V, V, D>\n : V\n : T;\n\nexport type EventProp<T extends any[] = any[], F = (...args: T) => any> =\n | F\n | F[];\n\nexport const EventPropOption = <T extends any[] = any[]>() =>\n [Function, Array] as PropType<EventProp<T>>;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"vue-component.mjs","names":["capitalize","getCurrentInstance","getSlot","vm","name","arguments","length","undefined","data","optional","$slots","slot","Function","filter","node","el","nodeType","getUid","uid","chooseProps","props","target","Object","keys","reduce","acc","prop","bindClasses","classes","boundClasses","Array","isArray","clas","getHtmlElement","$el","Node","TEXT_NODE","nextElementSibling","findChildrenWithProvide","key","vnode","map","child","flat","children","component","getOwnPropertySymbols","provides","includes","subTree","propsFactory","source","defaults","options","option","isObjectOption","objectOption","type","default","hasEventProp","onType","EventPropOption"],"sources":["../../src/util/vue-component.ts"],"sourcesContent":["import { ComponentInternalInstance, capitalize } from '@vue/runtime-core';\nimport type { IfAny } from '@vue/shared';\nimport type {\n ComponentObjectPropsOptions,\n ComponentPublicInstance,\n ExtractPropTypes,\n InjectionKey,\n Prop,\n PropType,\n VNode,\n VNodeChild,\n} from 'vue';\nimport { getCurrentInstance } from 'vue';\n\nimport { hasOwnProperty } from './common';\n\nexport function getSlot(\n vm: ComponentPublicInstance | any,\n // eslint-disable-next-line default-param-last\n name = 'default',\n data?: any | (() => any),\n optional = false,\n): VNode[] | undefined {\n if (vm.$slots?.[name]) {\n const slot = vm.$slots[name]!(data instanceof Function ? data() : data);\n return slot.filter((node: VNode) => {\n return node.el?.nodeType !== 8;\n });\n }\n return undefined;\n}\n\nexport function getUid() {\n const vm = getCurrentInstance();\n return vm?.uid;\n}\n\nexport function chooseProps<PropsOptions extends ComponentObjectPropsOptions>(\n props: any,\n target: PropsOptions,\n): ExtractPropTypes<PropsOptions> {\n return Object.keys(target).reduce((acc, prop) => {\n if (props && prop in props) {\n acc[prop as keyof ExtractPropTypes<PropsOptions>] = props[prop];\n }\n return acc;\n }, {} as ExtractPropTypes<PropsOptions>);\n}\n\nexport function bindClasses(\n classes: string | string[] | Record<string, any> | undefined,\n) {\n const boundClasses = {} as Record<string, boolean>;\n if (typeof classes === 'string') {\n boundClasses[classes] = true;\n } else if (Array.isArray(classes)) {\n (classes as string[]).reduce((acc, clas) => {\n acc[clas] = true;\n return acc;\n }, boundClasses);\n } else if (typeof classes === 'object') {\n Object.keys(classes).reduce((acc, clas) => {\n acc[clas] = !!classes[clas];\n return acc;\n }, boundClasses);\n }\n return boundClasses;\n}\n\nexport function getHtmlElement<N extends object | undefined>(\n node: N,\n): Exclude<N, ComponentPublicInstance> | HTMLElement {\n if (node && '$el' in node) {\n const el = ((node as ComponentPublicInstance).$el as HTMLElement);\n if (el.nodeType === Node.TEXT_NODE) {\n return el.nextElementSibling as HTMLElement;\n }\n return el;\n }\n return (node as HTMLElement);\n}\n\nexport function findChildrenWithProvide(\n key: InjectionKey<any> | symbol,\n vnode?: VNodeChild,\n): ComponentInternalInstance[] {\n if (!vnode || typeof vnode !== 'object') {\n return [];\n }\n\n if (Array.isArray(vnode)) {\n return vnode.map((child) => findChildrenWithProvide(key, child)).flat(1);\n } else if (Array.isArray(vnode.children)) {\n return vnode.children\n .map((child) => findChildrenWithProvide(key, child))\n .flat(1);\n } else if (vnode.component) {\n if (\n Object.getOwnPropertySymbols((vnode.component as any).provides).includes(\n key as symbol,\n )\n ) {\n return [vnode.component];\n } else if (vnode.component.subTree) {\n return findChildrenWithProvide(key, vnode.component.subTree).flat(1);\n }\n }\n\n return [];\n}\n\nexport function propsFactory<PropsOptions extends ComponentObjectPropsOptions>(\n props: PropsOptions,\n source: string,\n) {\n return <Defaults extends PartialKeys<PropsOptions> = {}>(\n defaults?: Defaults,\n ): OverwrittenPropOptions<PropsOptions, Defaults> => {\n return Object.keys(props).reduce<any>((options, prop) => {\n const option = props[prop];\n const isObjectOption =\n typeof option === 'object' && option != null && !Array.isArray(option);\n const objectOption = isObjectOption ? option : { type: option };\n if (defaults && prop in defaults) {\n options[prop] = {\n ...objectOption,\n default: defaults[prop],\n };\n } else {\n options[prop] = objectOption;\n }\n\n if (source && !options[prop].source) {\n options[prop].source = source;\n }\n return options;\n }, {} as PropsOptions);\n };\n}\n\nexport function hasEventProp(props: Record<string, any>, type: string) {\n const onType = `on${capitalize(type)}`;\n return !!(\n props[onType] ||\n props[`${onType}Once`] ||\n props[`${onType}Capture`] ||\n props[`${onType}OnceCapture`] ||\n props[`${onType}CaptureOnce`]\n );\n}\n\ntype OverwrittenPropOptions<\n T extends ComponentObjectPropsOptions,\n D extends PartialKeys<T>,\n> = {\n [P in keyof T]-?: unknown extends D[P]\n ? T[P]\n : T[P] extends Record<string, unknown>\n ? Omit<T[P], 'type' | 'default'> & {\n type: PropType<MergeDefault<T[P], D[P]>>;\n default: MergeDefault<T[P], D[P]>;\n }\n : {\n type: PropType<MergeDefault<T[P], D[P]>>;\n default: MergeDefault<T[P], D[P]>;\n };\n};\n\ntype MergeDefault<T, D> = unknown extends D\n ? InferPropType<T>\n : NonNullable<InferPropType<T>> | D;\n\ntype FollowPropType<T, P, D> = [T] extends [PropType<unknown>]\n ? T\n : PropType<MergeDefault<P, D>>;\n\ntype PartialKeys<T> = { [P in keyof T]?: unknown };\n\n// Copied from Vue\ntype InferPropType<T> = [T] extends [null]\n ? any // null & true would fail to infer\n : [T] extends [{ type: null | true }]\n ? // As TS issue https://github.com/Microsoft/TypeScript/issues/14829\n // somehow `ObjectConstructor` when inferred from { (): T } becomes `any`\n // `BooleanConstructor` when inferred from PropConstructor(with PropMethod) becomes `Boolean`\n any\n : [T] extends [ObjectConstructor | { type: ObjectConstructor }]\n ? Record<string, any>\n : [T] extends [BooleanConstructor | { type: BooleanConstructor }]\n ? boolean\n : [T] extends [DateConstructor | { type: DateConstructor }]\n ? Date\n : [T] extends [(infer U)[] | { type: (infer U)[] }]\n ? U extends DateConstructor\n ? Date | InferPropType<U>\n : InferPropType<U>\n : [T] extends [Prop<infer V, infer D>]\n ? unknown extends V\n ? IfAny<V, V, D>\n : V\n : T;\n\nexport type EventProp<T extends any[] = any[], F = (...args: T) => any> =\n | F\n | F[];\n\nexport const EventPropOption = <T extends any[] = any[]>() =>\n [Function, Array] as PropType<EventProp<T>>;\n"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -14,6 +14,7 @@ export declare const pressYDialogPropsOptions: <Defaults extends {
|
|
|
14
14
|
openOnHover?: unknown;
|
|
15
15
|
openDelay?: unknown;
|
|
16
16
|
closeDelay?: unknown;
|
|
17
|
+
base?: unknown;
|
|
17
18
|
coordinateStrategy?: unknown;
|
|
18
19
|
position?: unknown;
|
|
19
20
|
align?: unknown;
|
|
@@ -27,6 +28,7 @@ export declare const pressYDialogPropsOptions: <Defaults extends {
|
|
|
27
28
|
persistent?: unknown;
|
|
28
29
|
dialogClasses?: unknown;
|
|
29
30
|
maximized?: unknown;
|
|
31
|
+
focusTrap?: unknown;
|
|
30
32
|
offset?: unknown;
|
|
31
33
|
} = {}>(defaults?: Defaults | undefined) => {
|
|
32
34
|
disabled: unknown extends Defaults["disabled"] ? {
|
|
@@ -145,6 +147,10 @@ export declare const pressYDialogPropsOptions: <Defaults extends {
|
|
|
145
147
|
type: PropType<unknown extends Defaults["closeDelay"] ? number : number | Defaults["closeDelay"]>;
|
|
146
148
|
default: unknown extends Defaults["closeDelay"] ? number : number | Defaults["closeDelay"];
|
|
147
149
|
};
|
|
150
|
+
base: unknown extends Defaults["base"] ? PropType<import("../layer/base").BaseType> : {
|
|
151
|
+
type: PropType<unknown extends Defaults["base"] ? import("../layer/base").BaseType : Defaults["base"] | NonNullable<import("../layer/base").BaseType>>;
|
|
152
|
+
default: unknown extends Defaults["base"] ? import("../layer/base").BaseType : Defaults["base"] | NonNullable<import("../layer/base").BaseType>;
|
|
153
|
+
};
|
|
148
154
|
coordinateStrategy: unknown extends Defaults["coordinateStrategy"] ? {
|
|
149
155
|
type: PropType<"levitation" | "arrangement" | import("../../composables/coordinate").CoordinateStrategyFn>;
|
|
150
156
|
default: string;
|
|
@@ -255,6 +261,10 @@ export declare const pressYDialogPropsOptions: <Defaults extends {
|
|
|
255
261
|
type: PropType<unknown extends Defaults["maximized"] ? boolean : boolean | Defaults["maximized"]>;
|
|
256
262
|
default: unknown extends Defaults["maximized"] ? boolean : boolean | Defaults["maximized"];
|
|
257
263
|
};
|
|
264
|
+
focusTrap: unknown extends Defaults["focusTrap"] ? PropType<string | false | string[] | HTMLElement> : {
|
|
265
|
+
type: PropType<unknown extends Defaults["focusTrap"] ? string | false | string[] | HTMLElement : Defaults["focusTrap"] | NonNullable<string | false | string[] | HTMLElement>>;
|
|
266
|
+
default: unknown extends Defaults["focusTrap"] ? string | false | string[] | HTMLElement : Defaults["focusTrap"] | NonNullable<string | false | string[] | HTMLElement>;
|
|
267
|
+
};
|
|
258
268
|
offset: unknown extends Defaults["offset"] ? {
|
|
259
269
|
type: PropType<string>;
|
|
260
270
|
} : Omit<{
|
|
@@ -309,6 +319,7 @@ export declare const YDialog: import("vue").DefineComponent<{
|
|
|
309
319
|
type: PropType<number>;
|
|
310
320
|
default: number;
|
|
311
321
|
};
|
|
322
|
+
base: PropType<import("../layer/base").BaseType>;
|
|
312
323
|
coordinateStrategy: {
|
|
313
324
|
type: PropType<"levitation" | "arrangement" | import("../../composables/coordinate").CoordinateStrategyFn>;
|
|
314
325
|
default: string;
|
|
@@ -347,6 +358,7 @@ export declare const YDialog: import("vue").DefineComponent<{
|
|
|
347
358
|
type: PropType<string | string[] | Record<string, any>>;
|
|
348
359
|
};
|
|
349
360
|
maximized: PropType<boolean>;
|
|
361
|
+
focusTrap: PropType<string | false | string[] | HTMLElement>;
|
|
350
362
|
offset: {
|
|
351
363
|
type: PropType<string>;
|
|
352
364
|
};
|
|
@@ -384,6 +396,7 @@ export declare const YDialog: import("vue").DefineComponent<{
|
|
|
384
396
|
type: NumberConstructor;
|
|
385
397
|
default: number;
|
|
386
398
|
};
|
|
399
|
+
base: PropType<import("../layer/base").BaseType>;
|
|
387
400
|
transition: {
|
|
388
401
|
type: PropType<string | (import("vue").TransitionProps & {
|
|
389
402
|
is?: import("vue").Component | undefined;
|
|
@@ -2050,6 +2063,7 @@ export declare const YDialog: import("vue").DefineComponent<{
|
|
|
2050
2063
|
type: NumberConstructor;
|
|
2051
2064
|
default: number;
|
|
2052
2065
|
};
|
|
2066
|
+
base: PropType<import("../layer/base").BaseType>;
|
|
2053
2067
|
transition: {
|
|
2054
2068
|
type: PropType<string | (import("vue").TransitionProps & {
|
|
2055
2069
|
is?: import("vue").Component | undefined;
|
|
@@ -2170,6 +2184,7 @@ export declare const YDialog: import("vue").DefineComponent<{
|
|
|
2170
2184
|
type: PropType<number>;
|
|
2171
2185
|
default: number;
|
|
2172
2186
|
};
|
|
2187
|
+
base: PropType<import("../layer/base").BaseType>;
|
|
2173
2188
|
coordinateStrategy: {
|
|
2174
2189
|
type: PropType<"levitation" | "arrangement" | import("../../composables/coordinate").CoordinateStrategyFn>;
|
|
2175
2190
|
default: string;
|
|
@@ -2208,6 +2223,7 @@ export declare const YDialog: import("vue").DefineComponent<{
|
|
|
2208
2223
|
type: PropType<string | string[] | Record<string, any>>;
|
|
2209
2224
|
};
|
|
2210
2225
|
maximized: PropType<boolean>;
|
|
2226
|
+
focusTrap: PropType<string | false | string[] | HTMLElement>;
|
|
2211
2227
|
offset: {
|
|
2212
2228
|
type: PropType<string>;
|
|
2213
2229
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { PropType } from 'vue';
|
|
1
|
+
import { PropType, SlotsType } from 'vue';
|
|
2
2
|
import { YIconIconProp } from '../icon';
|
|
3
3
|
export declare const pressYDropdownPropsOptions: <Defaults extends {
|
|
4
4
|
items?: unknown;
|
|
@@ -237,4 +237,13 @@ export declare const YDropdown: import("vue").DefineComponent<{
|
|
|
237
237
|
itemText: string;
|
|
238
238
|
itemChildren: string | boolean;
|
|
239
239
|
dropdownIcon: YIconIconProp;
|
|
240
|
-
}, {
|
|
240
|
+
}, SlotsType<{
|
|
241
|
+
base: any;
|
|
242
|
+
default: any;
|
|
243
|
+
'dropdown-icon': any;
|
|
244
|
+
menu: any;
|
|
245
|
+
item: {
|
|
246
|
+
text: string;
|
|
247
|
+
item: any;
|
|
248
|
+
};
|
|
249
|
+
}>>;
|
|
@@ -12,6 +12,7 @@ export declare const pressYLayerProps: <Defaults extends {
|
|
|
12
12
|
origin?: unknown;
|
|
13
13
|
offset?: unknown;
|
|
14
14
|
viewportMargin?: unknown;
|
|
15
|
+
base?: unknown;
|
|
15
16
|
transition?: unknown;
|
|
16
17
|
theme?: unknown;
|
|
17
18
|
modelValue?: unknown;
|
|
@@ -109,6 +110,10 @@ export declare const pressYLayerProps: <Defaults extends {
|
|
|
109
110
|
type: PropType<unknown extends Defaults["viewportMargin"] ? number : number | Defaults["viewportMargin"]>;
|
|
110
111
|
default: unknown extends Defaults["viewportMargin"] ? number : number | Defaults["viewportMargin"];
|
|
111
112
|
};
|
|
113
|
+
base: unknown extends Defaults["base"] ? PropType<import("./base").BaseType> : {
|
|
114
|
+
type: PropType<unknown extends Defaults["base"] ? import("./base").BaseType : NonNullable<import("./base").BaseType> | Defaults["base"]>;
|
|
115
|
+
default: unknown extends Defaults["base"] ? import("./base").BaseType : NonNullable<import("./base").BaseType> | Defaults["base"];
|
|
116
|
+
};
|
|
112
117
|
transition: unknown extends Defaults["transition"] ? {
|
|
113
118
|
type: PropType<string | (import("vue").TransitionProps & {
|
|
114
119
|
is?: import("vue").Component | undefined;
|
|
@@ -272,6 +277,7 @@ export declare const YLayer: import("vue").DefineComponent<{
|
|
|
272
277
|
type: NumberConstructor;
|
|
273
278
|
default: number;
|
|
274
279
|
};
|
|
280
|
+
base: PropType<import("./base").BaseType>;
|
|
275
281
|
transition: {
|
|
276
282
|
type: PropType<string | (import("vue").TransitionProps & {
|
|
277
283
|
is?: import("vue").Component | undefined;
|
|
@@ -1938,6 +1944,7 @@ export declare const YLayer: import("vue").DefineComponent<{
|
|
|
1938
1944
|
type: NumberConstructor;
|
|
1939
1945
|
default: number;
|
|
1940
1946
|
};
|
|
1947
|
+
base: PropType<import("./base").BaseType>;
|
|
1941
1948
|
transition: {
|
|
1942
1949
|
type: PropType<string | (import("vue").TransitionProps & {
|
|
1943
1950
|
is?: import("vue").Component | undefined;
|
|
@@ -1,13 +1,20 @@
|
|
|
1
|
+
import { ComponentPublicInstance, PropType } from 'vue';
|
|
2
|
+
export type BaseType = string | Element | ComponentPublicInstance | [x: number, y: number] | undefined;
|
|
1
3
|
export declare const pressBasePropsOptions: <Defaults extends {
|
|
2
4
|
base?: unknown;
|
|
3
5
|
} = {}>(defaults?: Defaults | undefined) => {
|
|
4
|
-
base: unknown extends Defaults["base"] ?
|
|
5
|
-
type:
|
|
6
|
-
default: unknown extends Defaults["base"] ?
|
|
6
|
+
base: unknown extends Defaults["base"] ? PropType<BaseType> : {
|
|
7
|
+
type: PropType<unknown extends Defaults["base"] ? BaseType : NonNullable<BaseType> | Defaults["base"]>;
|
|
8
|
+
default: unknown extends Defaults["base"] ? BaseType : NonNullable<BaseType> | Defaults["base"];
|
|
7
9
|
};
|
|
8
10
|
};
|
|
9
|
-
|
|
11
|
+
interface BaseProps {
|
|
12
|
+
base: BaseType;
|
|
13
|
+
}
|
|
14
|
+
export declare function useBase(props: BaseProps): {
|
|
10
15
|
base$: import("vue").Ref<any>;
|
|
11
16
|
baseEl: import("vue").Ref<HTMLElement | undefined>;
|
|
12
17
|
baseSlot: import("vue").Ref<any>;
|
|
18
|
+
base: import("vue").ComputedRef<any>;
|
|
13
19
|
};
|
|
20
|
+
export {};
|