pxd 0.1.2 → 0.1.3
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/components/_internal/calendar-day.vue +19 -19
- package/dist/components/_internal/dismiss-container.d.vue.ts +1 -1
- package/dist/components/_internal/dismiss-container.vue +19 -19
- package/dist/components/_internal/loading-mask.vue +9 -1
- package/dist/components/_internal/mention-editor.d.vue.ts +1 -1
- package/dist/components/_internal/mention-editor.vue +1 -1
- package/dist/components/_internal/popover-arrow.d.vue.ts +1 -1
- package/dist/components/_internal/popover-arrow.vue +1 -1
- package/dist/components/{steps → _internal}/step-item.d.vue.ts +1 -1
- package/dist/components/{steps → _internal}/step-item.vue +1 -1
- package/dist/components/_internal/tree-node.d.vue.ts +20 -20
- package/dist/components/_internal/tree-node.vue +53 -45
- package/dist/components/active-graph/index.d.vue.ts +2 -2
- package/dist/components/approval-card/index.d.vue.ts +1 -1
- package/dist/components/approval-card/index.vue +34 -17
- package/dist/components/approval-card/types.d.ts +1 -1
- package/dist/components/avatar/index.d.vue.ts +2 -2
- package/dist/components/avatar/index.vue +1 -1
- package/dist/components/backtop/index.d.vue.ts +3 -3
- package/dist/components/backtop/index.vue +17 -17
- package/dist/components/backtop/types.d.ts +1 -1
- package/dist/components/badge/index.d.vue.ts +3 -3
- package/dist/components/badge/index.vue +43 -43
- package/dist/components/badge/types.d.ts +1 -1
- package/dist/components/book/types.d.ts +1 -1
- package/dist/components/border-beam/index.vue +1 -1
- package/dist/components/border-beam/types.d.ts +1 -1
- package/dist/components/bubble/index.vue +1 -1
- package/dist/components/bubble-group/index.d.vue.ts +4 -4
- package/dist/components/button/index.d.vue.ts +5 -5
- package/dist/components/button/index.vue +13 -13
- package/dist/components/button/types.d.ts +1 -1
- package/dist/components/button-group/types.d.ts +1 -1
- package/dist/components/calendar/index.d.vue.ts +2 -2
- package/dist/components/calendar/index.vue +5 -5
- package/dist/components/calendar/types.d.ts +1 -1
- package/dist/components/card/types.d.ts +1 -1
- package/dist/components/carousel/index.d.vue.ts +7 -7
- package/dist/components/carousel/index.vue +1 -1
- package/dist/components/carousel/types.d.ts +1 -1
- package/dist/components/checkbox/index.vue +1 -1
- package/dist/components/checkbox/types.d.ts +1 -1
- package/dist/components/checkbox-group/index.d.vue.ts +2 -2
- package/dist/components/checkbox-group/types.d.ts +1 -1
- package/dist/components/chip/index.d.vue.ts +1 -1
- package/dist/components/chip/types.d.ts +1 -1
- package/dist/components/choicebox/index.d.vue.ts +3 -3
- package/dist/components/choicebox/types.d.ts +1 -1
- package/dist/components/choicebox-item/index.vue +8 -8
- package/dist/components/choicebox-item/types.d.ts +1 -1
- package/dist/components/collapse/index.vue +2 -2
- package/dist/components/collapse-group/index.vue +1 -1
- package/dist/components/collapse-group/types.d.ts +1 -1
- package/dist/components/command-menu/index.d.vue.ts +5 -5
- package/dist/components/command-menu/index.vue +10 -3
- package/dist/components/config-provider/index.d.vue.ts +40 -5
- package/dist/components/config-provider/types.d.ts +2 -1
- package/dist/components/confirm-popover/index.d.vue.ts +39 -0
- package/dist/components/confirm-popover/index.vue +177 -0
- package/dist/components/confirm-popover/types.d.ts +23 -0
- package/dist/components/copy-button/index.d.vue.ts +2 -6
- package/dist/components/copy-button/index.vue +4 -6
- package/dist/components/dash-line/index.d.vue.ts +1 -1
- package/dist/components/dash-line/index.vue +8 -8
- package/dist/components/dash-line/types.d.ts +1 -1
- package/dist/components/date-picker/index.d.vue.ts +1 -1
- package/dist/components/date-picker/index.vue +3 -3
- package/dist/components/date-picker/types.d.ts +1 -1
- package/dist/components/drawer/index.d.vue.ts +7 -7
- package/dist/components/drawer/index.vue +30 -15
- package/dist/components/drawer/types.d.ts +2 -2
- package/dist/components/effort-slider/index.vue +12 -18
- package/dist/components/effort-slider/types.d.ts +1 -1
- package/dist/components/ellipsis-text/index.d.vue.ts +2 -2
- package/dist/components/ellipsis-text/index.vue +75 -75
- package/dist/components/error/types.d.ts +1 -1
- package/dist/components/fader/index.vue +2 -2
- package/dist/components/fader/types.d.ts +1 -1
- package/dist/components/gauge/index.vue +2 -2
- package/dist/components/gauge/types.d.ts +1 -1
- package/dist/components/grid/types.d.ts +1 -1
- package/dist/components/grid-item/types.d.ts +1 -1
- package/dist/components/hint/index.d.vue.ts +32 -0
- package/dist/components/hint/index.vue +239 -0
- package/dist/components/hint/types.d.ts +17 -0
- package/dist/components/hold-button/index.d.vue.ts +4 -4
- package/dist/components/hold-button/index.vue +10 -10
- package/dist/components/index.d.ts +4 -0
- package/dist/components/index.js +4 -0
- package/dist/components/input/index.d.vue.ts +1 -1
- package/dist/components/input/index.vue +14 -7
- package/dist/components/input/types.d.ts +1 -1
- package/dist/components/intersection-observer/index.vue +3 -3
- package/dist/components/kbd/index.vue +2 -2
- package/dist/components/kbd/types.d.ts +1 -1
- package/dist/components/link-button/index.d.vue.ts +5 -5
- package/dist/components/list/index.d.vue.ts +4 -4
- package/dist/components/list/index.vue +126 -47
- package/dist/components/list/types.d.ts +1 -1
- package/dist/components/list-group/types.d.ts +1 -1
- package/dist/components/list-item/index.d.vue.ts +2 -2
- package/dist/components/list-item/index.vue +26 -8
- package/dist/components/loading-bar/index.vue +5 -5
- package/dist/components/marching-ants/index.d.vue.ts +2 -2
- package/dist/components/marching-ants/index.vue +56 -56
- package/dist/components/marching-ants/types.d.ts +1 -1
- package/dist/components/marquee/index.d.vue.ts +6 -6
- package/dist/components/marquee/index.vue +16 -16
- package/dist/components/marquee/types.d.ts +1 -1
- package/dist/components/material/index.d.vue.ts +3 -3
- package/dist/components/mention/index.d.vue.ts +5 -5
- package/dist/components/mention/index.vue +68 -68
- package/dist/components/menu/index.d.vue.ts +4 -4
- package/dist/components/menu/index.vue +10 -10
- package/dist/components/menu/types.d.ts +1 -1
- package/dist/components/message/index.d.vue.ts +1 -1
- package/dist/components/message/index.vue +19 -25
- package/dist/components/message/types.d.ts +1 -1
- package/dist/components/message-item/index.vue +2 -6
- package/dist/components/modal/index.d.vue.ts +7 -7
- package/dist/components/modal/index.vue +26 -11
- package/dist/components/modal/types.d.ts +2 -2
- package/dist/components/noise-background/types.d.ts +1 -1
- package/dist/components/note/index.vue +6 -2
- package/dist/components/note/types.d.ts +2 -1
- package/dist/components/number-input/index.d.vue.ts +11 -6
- package/dist/components/number-input/index.vue +57 -16
- package/dist/components/number-input/types.d.ts +2 -1
- package/dist/components/overlay/index.d.vue.ts +2 -3
- package/dist/components/overlay/index.vue +10 -62
- package/dist/components/overlay/types.d.ts +0 -2
- package/dist/components/page-number/index.vue +30 -29
- package/dist/components/page-number/types.d.ts +1 -1
- package/dist/components/pin-input/index.d.vue.ts +1 -1
- package/dist/components/pin-input/index.vue +6 -6
- package/dist/components/pin-input/types.d.ts +1 -1
- package/dist/components/popover/index.vue +49 -21
- package/dist/components/popover/types.d.ts +3 -1
- package/dist/components/progress/index.d.vue.ts +2 -2
- package/dist/components/progress/index.vue +12 -12
- package/dist/components/progress/types.d.ts +1 -1
- package/dist/components/project-banner/types.d.ts +1 -1
- package/dist/components/questionnaire/index.vue +14 -14
- package/dist/components/radio/index.vue +1 -1
- package/dist/components/radio/types.d.ts +1 -1
- package/dist/components/radio-group/index.d.vue.ts +2 -2
- package/dist/components/radio-group/types.d.ts +1 -1
- package/dist/components/rating/index.vue +28 -28
- package/dist/components/rating/types.d.ts +1 -1
- package/dist/components/resizable/index.d.vue.ts +1 -0
- package/dist/components/resizable/index.vue +130 -195
- package/dist/components/resizable/types.d.ts +2 -10
- package/dist/components/reveal/index.d.vue.ts +3 -3
- package/dist/components/reveal/index.vue +4 -4
- package/dist/components/reveal/types.d.ts +1 -1
- package/dist/components/rolling-number/index.d.vue.ts +2 -2
- package/dist/components/rolling-number/index.vue +15 -15
- package/dist/components/scalable-text/index.vue +9 -9
- package/dist/components/scroll-text/index.d.vue.ts +3 -3
- package/dist/components/scroll-text/index.vue +6 -6
- package/dist/components/scroll-text/types.d.ts +1 -1
- package/dist/components/scrollable/types.d.ts +2 -1
- package/dist/components/search-input/index.d.vue.ts +5 -5
- package/dist/components/search-input/index.vue +2 -1
- package/dist/components/select/index.d.vue.ts +12 -9
- package/dist/components/select/index.vue +165 -42
- package/dist/components/select/types.d.ts +3 -1
- package/dist/components/separator/index.d.vue.ts +1 -1
- package/dist/components/separator/types.d.ts +1 -1
- package/dist/components/skeleton/index.d.vue.ts +1 -1
- package/dist/components/skeleton/index.vue +11 -11
- package/dist/components/skeleton/types.d.ts +1 -1
- package/dist/components/slider/index.d.vue.ts +1 -1
- package/dist/components/slider/index.vue +1 -1
- package/dist/components/slider/types.d.ts +1 -1
- package/dist/components/snippet/index.d.vue.ts +3 -3
- package/dist/components/snippet/index.vue +7 -5
- package/dist/components/snippet/types.d.ts +1 -1
- package/dist/components/spinner/index.vue +5 -1
- package/dist/components/spinner-dots/index.d.vue.ts +1 -1
- package/dist/components/split-button/index.d.vue.ts +5 -5
- package/dist/components/split-button/types.d.ts +1 -1
- package/dist/components/stack/index.d.vue.ts +3 -3
- package/dist/components/stack/index.vue +28 -29
- package/dist/components/stack/types.d.ts +1 -1
- package/dist/components/status-dot/types.d.ts +1 -1
- package/dist/components/steps/index.d.vue.ts +2 -2
- package/dist/components/steps/index.vue +6 -6
- package/dist/components/steps/types.d.ts +1 -1
- package/dist/components/stick-to-bottom/types.d.ts +1 -1
- package/dist/components/swipe-cell/index.d.vue.ts +6 -6
- package/dist/components/swipe-cell/index.vue +64 -64
- package/dist/components/swipe-cell/types.d.ts +2 -1
- package/dist/components/switch/index.vue +1 -1
- package/dist/components/switch/types.d.ts +1 -1
- package/dist/components/switch-item/index.vue +1 -1
- package/dist/components/switch-item/types.d.ts +1 -1
- package/dist/components/tabs/index.d.vue.ts +1 -1
- package/dist/components/tabs/index.vue +48 -51
- package/dist/components/tabs/types.d.ts +1 -1
- package/dist/components/teleport/index.vue +2 -2
- package/dist/components/text/index.d.vue.ts +3 -3
- package/dist/components/text/index.vue +11 -11
- package/dist/components/text/types.d.ts +1 -1
- package/dist/components/textarea/index.vue +1 -1
- package/dist/components/textarea/types.d.ts +1 -1
- package/dist/components/theme-switcher/index.d.vue.ts +3 -2
- package/dist/components/theme-switcher/index.vue +15 -7
- package/dist/components/theme-switcher/types.d.ts +2 -2
- package/dist/components/time-ago/index.d.vue.ts +6 -0
- package/dist/components/time-ago/index.vue +143 -0
- package/dist/components/time-ago/types.d.ts +4 -0
- package/dist/components/time-picker/index.d.vue.ts +1 -1
- package/dist/components/time-picker/index.vue +7 -7
- package/dist/components/time-picker/types.d.ts +1 -1
- package/dist/components/toc/index.d.vue.ts +2 -2
- package/dist/components/toc/index.vue +1 -1
- package/dist/components/todo-list/index.d.vue.ts +4 -4
- package/dist/components/todo-list/index.vue +15 -15
- package/dist/components/todo-list/types.d.ts +1 -1
- package/dist/components/toggle/index.vue +3 -3
- package/dist/components/toggle/types.d.ts +1 -1
- package/dist/components/toggle-button/index.vue +14 -11
- package/dist/components/toggle-button/types.d.ts +2 -2
- package/dist/components/toggle-button-group/index.d.vue.ts +3 -3
- package/dist/components/toggle-button-group/index.vue +2 -2
- package/dist/components/toggle-button-group/types.d.ts +2 -2
- package/dist/components/tool-call/index.vue +5 -5
- package/dist/components/tooltip/index.d.vue.ts +4 -5
- package/dist/components/tooltip/index.vue +4 -49
- package/dist/components/tooltip/types.d.ts +3 -7
- package/dist/components/tour/index.d.vue.ts +33 -0
- package/dist/components/tour/index.vue +302 -0
- package/dist/components/tour/types.d.ts +29 -0
- package/dist/components/tree/index.d.vue.ts +24 -28
- package/dist/components/tree/index.vue +290 -223
- package/dist/components/tree/types.d.ts +38 -13
- package/dist/components/virtual-list/index.d.vue.ts +4 -4
- package/dist/composables/_internal/use-list-keyboard-controller.js +9 -10
- package/dist/composables/_internal/use-list-rows.d.ts +4 -0
- package/dist/composables/_internal/use-list-rows.js +12 -4
- package/dist/composables/_internal/use-list-selection.d.ts +1 -1
- package/dist/composables/_internal/use-lock-scroll.d.ts +8 -1
- package/dist/composables/_internal/use-lock-scroll.js +57 -36
- package/dist/composables/_internal/use-mention-editor.js +1 -1
- package/dist/composables/_internal/use-message-group.d.ts +22 -0
- package/dist/composables/_internal/use-message-group.js +143 -0
- package/dist/composables/_internal/use-overlay-dialog.js +1 -3
- package/dist/composables/_internal/use-overlay-manager.d.ts +4 -1
- package/dist/composables/_internal/use-overlay-manager.js +67 -8
- package/dist/composables/_internal/use-swipe-gesture.d.ts +1 -1
- package/dist/composables/_internal/use-tour-target.d.ts +29 -0
- package/dist/composables/_internal/use-tour-target.js +201 -0
- package/dist/composables/_internal/use-tree.d.ts +103 -0
- package/dist/composables/_internal/use-tree.js +676 -0
- package/dist/composables/_internal/use-word-limit.d.ts +1 -1
- package/dist/composables/index.d.ts +1 -0
- package/dist/composables/index.js +1 -0
- package/dist/composables/use-color-scheme.d.ts +1 -1
- package/dist/composables/use-color-scheme.js +7 -6
- package/dist/composables/use-delay-destroy.d.ts +1 -1
- package/dist/composables/use-document-hidden.d.ts +1 -1
- package/dist/composables/use-intersection-observer.d.ts +1 -1
- package/dist/composables/use-intersection-observer.js +1 -1
- package/dist/composables/{_internal/use-motion-reduce.js → use-motion-reduce.js} +2 -2
- package/dist/composables/use-mutation-observer.d.ts +1 -1
- package/dist/composables/use-mutation-observer.js +1 -1
- package/dist/composables/use-resize-observer.d.ts +1 -1
- package/dist/composables/use-resize-observer.js +1 -1
- package/dist/composables/use-view-transition.js +1 -0
- package/dist/composables/use-virtual-list.d.ts +1 -1
- package/dist/constants/tooltip-variants.d.ts +28 -0
- package/dist/constants/tooltip-variants.js +27 -0
- package/dist/contexts/avatar.js +1 -1
- package/dist/contexts/breadcrumb.js +1 -1
- package/dist/contexts/button.js +1 -1
- package/dist/contexts/checkbox.js +1 -1
- package/dist/contexts/choicebox.js +1 -1
- package/dist/contexts/collapse.js +1 -1
- package/dist/contexts/config-provider.js +1 -1
- package/dist/contexts/list.js +1 -1
- package/dist/contexts/radio.js +1 -1
- package/dist/contexts/switch.js +1 -1
- package/dist/contexts/toggle-button.js +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/locales/en-us.d.ts +35 -0
- package/dist/locales/en-us.js +20 -0
- package/dist/locales/zh-cn.d.ts +35 -0
- package/dist/locales/zh-cn.js +20 -0
- package/dist/styles/styles.css +1 -1
- package/dist/styles/tw.css +43 -30
- package/dist/utils/{context.js → _internal/context.js} +1 -1
- package/dist/utils/{observer.d.ts → _internal/observer.d.ts} +1 -1
- package/dist/utils/{observer.js → _internal/observer.js} +4 -4
- package/dist/{components/swipe-cell/instances.d.ts → utils/_internal/swipe-cell-instances.d.ts} +1 -1
- package/dist/utils/event.d.ts +2 -1
- package/dist/utils/event.js +3 -0
- package/package.json +26 -50
- package/volar.d.ts +4 -0
- package/dist/components/message/composables/use-group-expand.d.ts +0 -13
- package/dist/components/message/composables/use-group-expand.js +0 -50
- package/dist/components/message/composables/use-message-timer.d.ts +0 -9
- package/dist/components/message/composables/use-message-timer.js +0 -62
- package/dist/components/message/composables/use-promise-message.d.ts +0 -4
- package/dist/components/message/composables/use-promise-message.js +0 -49
- package/dist/components/resizable/utils.d.ts +0 -4
- package/dist/components/resizable/utils.js +0 -10
- package/dist/composables/_internal/use-tree-drag.d.ts +0 -23
- package/dist/composables/_internal/use-tree-drag.js +0 -196
- package/dist/composables/_internal/use-tree-move.d.ts +0 -20
- package/dist/composables/_internal/use-tree-move.js +0 -96
- package/dist/composables/_internal/use-tree-rows.d.ts +0 -46
- package/dist/composables/_internal/use-tree-rows.js +0 -101
- package/dist/composables/_internal/use-tree-selection.d.ts +0 -22
- package/dist/composables/_internal/use-tree-selection.js +0 -87
- package/dist/styles/source.css +0 -675
- package/dist/types/shared/index.d.ts +0 -2
- /package/dist/composables/{_internal/use-motion-reduce.d.ts → use-motion-reduce.d.ts} +0 -0
- /package/dist/utils/{context.d.ts → _internal/context.d.ts} +0 -0
- /package/dist/utils/{mention-html.d.ts → _internal/mention-html.d.ts} +0 -0
- /package/dist/utils/{mention-html.js → _internal/mention-html.js} +0 -0
- /package/dist/{components/swipe-cell/instances.js → utils/_internal/swipe-cell-instances.js} +0 -0
|
@@ -1,10 +1,12 @@
|
|
|
1
|
-
import type { ComponentClass, ComponentLabel, ComponentValue } from '../../types/shared'
|
|
1
|
+
import type { ComponentClass, ComponentLabel, ComponentValue } from '../../types/shared/props'
|
|
2
2
|
|
|
3
3
|
export interface TreeOption {
|
|
4
4
|
value: ComponentValue
|
|
5
5
|
label?: ComponentLabel
|
|
6
6
|
disabled?: boolean
|
|
7
7
|
children?: TreeOption[]
|
|
8
|
+
/** Marks a leaf under `lazy`: no arrow, and never handed to `load`. */
|
|
9
|
+
isLeaf?: boolean
|
|
8
10
|
keywords?: string[]
|
|
9
11
|
[key: string]: any
|
|
10
12
|
}
|
|
@@ -15,6 +17,30 @@ export type TreeModelValue = ComponentValue | ComponentValue[] | null
|
|
|
15
17
|
|
|
16
18
|
export type TreeFilterFn = (node: TreeOption, query: string) => boolean
|
|
17
19
|
|
|
20
|
+
/** Hands the tree the nodes a query matched, their ancestors included. */
|
|
21
|
+
export type TreeRemoteFilterFn = (query: string) => TreeOptions | Promise<TreeOptions>
|
|
22
|
+
|
|
23
|
+
/** Hands the children of a node to the tree. An empty array marks it a leaf. */
|
|
24
|
+
export type TreeLoadResolve = (children: TreeOptions) => void
|
|
25
|
+
|
|
26
|
+
/** Gives up on a node without children: the arrow stays, and the next expand asks again. */
|
|
27
|
+
export type TreeLoadReject = () => void
|
|
28
|
+
|
|
29
|
+
export interface TreeLoadDetail {
|
|
30
|
+
node: TreeOption
|
|
31
|
+
depth: number
|
|
32
|
+
parent?: TreeOption
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
export type TreeLoadFn = (
|
|
36
|
+
detail: TreeLoadDetail,
|
|
37
|
+
resolve: TreeLoadResolve,
|
|
38
|
+
reject: TreeLoadReject,
|
|
39
|
+
) => void
|
|
40
|
+
|
|
41
|
+
/** Keeps a node out of the model without the rest of `disabled`: it still expands and takes drops. */
|
|
42
|
+
export type TreeSelectableFn = (node: TreeOption) => boolean
|
|
43
|
+
|
|
18
44
|
export interface TreeNodeDetail {
|
|
19
45
|
value: ComponentValue
|
|
20
46
|
node: TreeOption
|
|
@@ -23,7 +49,6 @@ export interface TreeNodeDetail {
|
|
|
23
49
|
export interface TreeChangeDetail extends TreeNodeDetail {
|
|
24
50
|
checked: boolean
|
|
25
51
|
checkedValues: ComponentValue[]
|
|
26
|
-
/** Partially checked parents of the new selection, empty without the cascade. */
|
|
27
52
|
halfCheckedValues: ComponentValue[]
|
|
28
53
|
}
|
|
29
54
|
|
|
@@ -40,25 +65,19 @@ export interface TreeDropTarget {
|
|
|
40
65
|
}
|
|
41
66
|
|
|
42
67
|
export interface TreeMoveLocation {
|
|
43
|
-
/** The parent the node sat in, `undefined` at the root level. */
|
|
44
68
|
parentValue?: ComponentValue
|
|
45
|
-
/** Position inside that parent's children. */
|
|
46
69
|
index: number
|
|
47
70
|
}
|
|
48
71
|
|
|
49
72
|
export interface TreeDropInfo {
|
|
50
73
|
dragValue: ComponentValue
|
|
51
74
|
dragNode: TreeOption
|
|
52
|
-
/** The row the drop is aimed at. */
|
|
53
75
|
targetValue: ComponentValue
|
|
54
76
|
targetNode: TreeOption
|
|
55
77
|
position: TreeDropPosition
|
|
56
78
|
}
|
|
57
79
|
|
|
58
|
-
/**
|
|
59
|
-
* Decides whether a drop may land. Supplying it takes over the policy rules; the structural
|
|
60
|
-
* ones (a node never lands on itself or inside its own subtree) hold either way.
|
|
61
|
-
*/
|
|
80
|
+
/** Decides whether a drop may land; the structural rules hold either way. */
|
|
62
81
|
export type TreeAllowDropFn = (info: TreeDropInfo) => boolean
|
|
63
82
|
|
|
64
83
|
export interface TreeMoveDetail {
|
|
@@ -66,7 +85,6 @@ export interface TreeMoveDetail {
|
|
|
66
85
|
node: TreeOption
|
|
67
86
|
from: TreeMoveLocation
|
|
68
87
|
to: TreeMoveLocation & {
|
|
69
|
-
/** The row the drop was aimed at. */
|
|
70
88
|
targetValue: ComponentValue
|
|
71
89
|
position: TreeDropPosition
|
|
72
90
|
}
|
|
@@ -80,7 +98,6 @@ export interface TreeFlatNode {
|
|
|
80
98
|
parentValue?: ComponentValue
|
|
81
99
|
hasChildren: boolean
|
|
82
100
|
expanded: boolean
|
|
83
|
-
matched: boolean
|
|
84
101
|
}
|
|
85
102
|
|
|
86
103
|
export interface TreeProps {
|
|
@@ -89,10 +106,11 @@ export interface TreeProps {
|
|
|
89
106
|
multiple?: boolean
|
|
90
107
|
checkStrictly?: boolean
|
|
91
108
|
disabled?: boolean
|
|
92
|
-
|
|
109
|
+
selectable?: TreeSelectableFn
|
|
110
|
+
expandOnly?: boolean
|
|
93
111
|
draggable?: boolean
|
|
94
112
|
allowDrop?: TreeAllowDropFn
|
|
95
|
-
|
|
113
|
+
dropInsideLeaf?: boolean
|
|
96
114
|
virtual?: boolean
|
|
97
115
|
itemSize?: number
|
|
98
116
|
overScan?: number
|
|
@@ -101,8 +119,15 @@ export interface TreeProps {
|
|
|
101
119
|
expandedKeys?: ComponentValue[]
|
|
102
120
|
defaultExpandedKeys?: ComponentValue[]
|
|
103
121
|
childrenField?: string
|
|
122
|
+
/** Fetch the children of a node when it first opens, instead of reading them from `data`. */
|
|
123
|
+
lazy?: boolean
|
|
124
|
+
/** Fetches the children of a node neither `data` nor an earlier request provided. */
|
|
125
|
+
load?: TreeLoadFn
|
|
126
|
+
loading?: boolean
|
|
104
127
|
filterable?: boolean
|
|
105
128
|
filter?: TreeFilterFn
|
|
129
|
+
/** Fetches the nodes a query matched, their ancestors included: giving it searches remotely. */
|
|
130
|
+
remoteFilter?: TreeRemoteFilterFn
|
|
106
131
|
/** Render only the nodes the filter matched, instead of the hits plus their ancestors. */
|
|
107
132
|
searchMatchesOnly?: boolean
|
|
108
133
|
/** Highlights the query inside a label. Only a contiguous run of characters is marked: a
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import type { VirtualListProps } from './types';
|
|
2
2
|
import { type VirtualListItem } from '../../composables/use-virtual-list.js';
|
|
3
|
-
declare var
|
|
3
|
+
declare var __VLS_2: {
|
|
4
4
|
item: any;
|
|
5
5
|
virtualItem: VirtualListItem;
|
|
6
|
-
},
|
|
6
|
+
}, __VLS_4: {};
|
|
7
7
|
type __VLS_Slots = {} & {
|
|
8
|
-
item?: (props: typeof
|
|
8
|
+
item?: (props: typeof __VLS_2) => any;
|
|
9
9
|
} & {
|
|
10
|
-
message?: (props: typeof
|
|
10
|
+
message?: (props: typeof __VLS_4) => any;
|
|
11
11
|
};
|
|
12
12
|
declare const __VLS_base: import("vue").DefineComponent<VirtualListProps, {
|
|
13
13
|
totalSize: import("vue").ComputedRef<number>;
|
|
@@ -5,23 +5,22 @@ export function useListKeyboardController(options) {
|
|
|
5
5
|
if (toValue(options.enabled) === false || ev.isComposing || ev.key === "Process") {
|
|
6
6
|
return;
|
|
7
7
|
}
|
|
8
|
-
const preventDefaultKeys = toValue(options.preventDefaultKeys) ?? DEFAULT_PREVENT_DEFAULT_KEYS;
|
|
9
|
-
if (preventDefaultKeys.includes(ev.key)) {
|
|
10
|
-
ev.preventDefault();
|
|
11
|
-
return;
|
|
12
|
-
}
|
|
13
8
|
if (ev.ctrlKey || ev.metaKey || ev.altKey || ev.shiftKey) {
|
|
14
9
|
return;
|
|
15
10
|
}
|
|
16
11
|
const command = toValue(options.keymap)[ev.key];
|
|
17
|
-
if (
|
|
12
|
+
if (command) {
|
|
13
|
+
if (!options.onCommand(command, ev)) {
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
ev.preventDefault();
|
|
17
|
+
ev.stopPropagation();
|
|
18
18
|
return;
|
|
19
19
|
}
|
|
20
|
-
|
|
21
|
-
|
|
20
|
+
const preventDefaultKeys = toValue(options.preventDefaultKeys) ?? DEFAULT_PREVENT_DEFAULT_KEYS;
|
|
21
|
+
if (preventDefaultKeys.includes(ev.key)) {
|
|
22
|
+
ev.preventDefault();
|
|
22
23
|
}
|
|
23
|
-
ev.preventDefault();
|
|
24
|
-
ev.stopPropagation();
|
|
25
24
|
}
|
|
26
25
|
return { onKeydown };
|
|
27
26
|
}
|
|
@@ -11,6 +11,8 @@ export interface ListItemRow {
|
|
|
11
11
|
key: string;
|
|
12
12
|
option: ListOption;
|
|
13
13
|
navIndex: number;
|
|
14
|
+
/** Index of this row in the flattened render/virtualizer row list. */
|
|
15
|
+
rowIndex: number;
|
|
14
16
|
group?: ListOptionGroup;
|
|
15
17
|
groupIndex?: number;
|
|
16
18
|
itemIndex: number;
|
|
@@ -18,6 +20,8 @@ export interface ListItemRow {
|
|
|
18
20
|
export type ListRow = ListHeaderRow | ListItemRow;
|
|
19
21
|
export interface FlattenListOptionsResult {
|
|
20
22
|
rows: ListRow[];
|
|
23
|
+
/** Item rows indexed by their dense `navIndex`. */
|
|
24
|
+
itemRows: ListItemRow[];
|
|
21
25
|
navigableCount: number;
|
|
22
26
|
}
|
|
23
27
|
/**
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { isListOptionGroup } from "./use-selected-list-item.js";
|
|
2
2
|
export function flattenListOptions(options) {
|
|
3
3
|
const rows = [];
|
|
4
|
+
const itemRows = [];
|
|
4
5
|
let navIndex = 0;
|
|
5
6
|
for (let groupIndex = 0; groupIndex < options.length; groupIndex++) {
|
|
6
7
|
const entry = options[groupIndex];
|
|
@@ -14,28 +15,35 @@ export function flattenListOptions(options) {
|
|
|
14
15
|
});
|
|
15
16
|
for (let itemIndex = 0; itemIndex < entry.options.length; itemIndex++) {
|
|
16
17
|
const option = entry.options[itemIndex];
|
|
17
|
-
|
|
18
|
+
const row = {
|
|
18
19
|
type: "item",
|
|
19
20
|
key: String(option.value),
|
|
20
21
|
option,
|
|
21
22
|
navIndex: navIndex++,
|
|
23
|
+
rowIndex: rows.length,
|
|
22
24
|
group: entry,
|
|
23
25
|
groupIndex,
|
|
24
26
|
itemIndex
|
|
25
|
-
}
|
|
27
|
+
};
|
|
28
|
+
rows.push(row);
|
|
29
|
+
itemRows.push(row);
|
|
26
30
|
}
|
|
27
31
|
} else {
|
|
28
|
-
|
|
32
|
+
const row = {
|
|
29
33
|
type: "item",
|
|
30
34
|
key: String(entry.value),
|
|
31
35
|
option: entry,
|
|
32
36
|
navIndex: navIndex++,
|
|
37
|
+
rowIndex: rows.length,
|
|
33
38
|
itemIndex: groupIndex
|
|
34
|
-
}
|
|
39
|
+
};
|
|
40
|
+
rows.push(row);
|
|
41
|
+
itemRows.push(row);
|
|
35
42
|
}
|
|
36
43
|
}
|
|
37
44
|
return {
|
|
38
45
|
rows,
|
|
46
|
+
itemRows,
|
|
39
47
|
navigableCount: navIndex
|
|
40
48
|
};
|
|
41
49
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ListModelValue } from '../../components/list/types';
|
|
2
|
-
import type { ComponentValue } from '../../types/shared';
|
|
2
|
+
import type { ComponentValue } from '../../types/shared/props';
|
|
3
3
|
interface ListSelectionProps {
|
|
4
4
|
modelValue?: ListModelValue;
|
|
5
5
|
multiple?: boolean;
|
|
@@ -1,5 +1,12 @@
|
|
|
1
|
-
|
|
1
|
+
import type { MaybeElementRef } from '../../types/shared/utils';
|
|
2
|
+
interface LockScrollOptions {
|
|
3
|
+
/** Whether to keep looking up the ancestor chain when the anchor itself does not scroll. */
|
|
4
|
+
walkAncestors?: boolean;
|
|
5
|
+
}
|
|
6
|
+
/** Locks the scroll container that `target` sits in. */
|
|
7
|
+
export declare function useLockScroll(target: MaybeElementRef, options?: LockScrollOptions): {
|
|
2
8
|
isLocked: () => boolean;
|
|
3
9
|
lockScroll: () => void;
|
|
4
10
|
unlockScroll: () => void;
|
|
5
11
|
};
|
|
12
|
+
export {};
|
|
@@ -1,51 +1,72 @@
|
|
|
1
1
|
import { onScopeDispose } from "vue";
|
|
2
|
-
import { hasScrollbar, isScrollable } from "../../utils/dom.js";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
const
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
const
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
2
|
+
import { getElement, hasScrollbar, isScrollable } from "../../utils/dom.js";
|
|
3
|
+
const elementLocks = /* @__PURE__ */ new WeakMap();
|
|
4
|
+
function lockElementScroll(el) {
|
|
5
|
+
const locked = elementLocks.get(el);
|
|
6
|
+
if (locked) {
|
|
7
|
+
locked.count++;
|
|
8
|
+
return true;
|
|
9
|
+
}
|
|
10
|
+
const { x: xScrollable, y: yScrollable } = isScrollable(el);
|
|
11
|
+
if (!xScrollable && !yScrollable) {
|
|
12
|
+
return false;
|
|
13
|
+
}
|
|
14
|
+
const { y: yScrollbar } = hasScrollbar(el);
|
|
15
|
+
const styles = { "overflow-x": "hidden", "overflow-y": "hidden" };
|
|
16
|
+
if (yScrollbar && yScrollable) {
|
|
17
|
+
styles["scrollbar-gutter"] = "stable";
|
|
18
|
+
}
|
|
19
|
+
const lockedStyles = Object.entries(styles).map(([property, lockedValue]) => ({
|
|
20
|
+
property,
|
|
21
|
+
lockedValue,
|
|
22
|
+
prevValue: el.style.getPropertyValue(property),
|
|
23
|
+
prevPriority: el.style.getPropertyPriority(property)
|
|
24
|
+
}));
|
|
25
|
+
for (const { property, lockedValue } of lockedStyles) {
|
|
26
|
+
el.style.setProperty(property, lockedValue, "important");
|
|
27
|
+
}
|
|
28
|
+
elementLocks.set(el, { count: 1, styles: lockedStyles });
|
|
29
|
+
return true;
|
|
19
30
|
}
|
|
20
|
-
function
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
31
|
+
function unlockElementScroll(el) {
|
|
32
|
+
const lock = elementLocks.get(el);
|
|
33
|
+
if (!lock || --lock.count > 0) {
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
for (const { property, lockedValue, prevValue, prevPriority } of lock.styles) {
|
|
37
|
+
if (el.style.getPropertyValue(property) !== lockedValue) {
|
|
38
|
+
continue;
|
|
39
|
+
}
|
|
40
|
+
if (prevValue) {
|
|
41
|
+
el.style.setProperty(property, prevValue, prevPriority);
|
|
42
|
+
} else {
|
|
43
|
+
el.style.removeProperty(property);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
elementLocks.delete(el);
|
|
24
47
|
}
|
|
25
|
-
export function useLockScroll() {
|
|
26
|
-
|
|
48
|
+
export function useLockScroll(target, options = {}) {
|
|
49
|
+
const { walkAncestors = false } = options;
|
|
50
|
+
const lockedElements = [];
|
|
27
51
|
function isLocked() {
|
|
28
|
-
return
|
|
52
|
+
return lockedElements.length > 0;
|
|
29
53
|
}
|
|
30
54
|
function lockScroll() {
|
|
31
|
-
|
|
32
|
-
|
|
55
|
+
for (let el = getElement(target); el; el = walkAncestors ? el.parentElement : null) {
|
|
56
|
+
if (lockElementScroll(el)) {
|
|
57
|
+
lockedElements.push(el);
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
33
60
|
}
|
|
34
|
-
rootTouchMoveLocks++;
|
|
35
|
-
instanceTouchMoveLocks++;
|
|
36
61
|
}
|
|
37
62
|
function unlockScroll() {
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
instanceTouchMoveLocks--;
|
|
42
|
-
rootTouchMoveLocks--;
|
|
43
|
-
if (!rootTouchMoveLocks) {
|
|
44
|
-
unlockRootScroll();
|
|
63
|
+
const el = lockedElements.pop();
|
|
64
|
+
if (el) {
|
|
65
|
+
unlockElementScroll(el);
|
|
45
66
|
}
|
|
46
67
|
}
|
|
47
68
|
onScopeDispose(() => {
|
|
48
|
-
while (
|
|
69
|
+
while (lockedElements.length > 0) {
|
|
49
70
|
unlockScroll();
|
|
50
71
|
}
|
|
51
72
|
});
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { MessageItemConfig } from '../use-message.js';
|
|
2
|
+
import type { MaybeRefOrGetter } from 'vue';
|
|
3
|
+
interface UseMessageGroupOptions {
|
|
4
|
+
messages: MaybeRefOrGetter<MessageItemConfig[]>;
|
|
5
|
+
expand: MaybeRefOrGetter<boolean | undefined>;
|
|
6
|
+
onTimeout: (id: MessageItemConfig['id']) => void;
|
|
7
|
+
}
|
|
8
|
+
export declare function useMessageGroup({ messages, expand, onTimeout }: UseMessageGroupOptions): {
|
|
9
|
+
groupExpand: import("vue").ShallowRef<boolean | undefined, boolean | undefined>;
|
|
10
|
+
collapse: () => void;
|
|
11
|
+
onPointerEnter: () => void;
|
|
12
|
+
onPointerLeave: () => void;
|
|
13
|
+
startTimer: (message: MessageItemConfig) => void;
|
|
14
|
+
clearTimer: (message: MessageItemConfig) => void;
|
|
15
|
+
clearTimers: () => void;
|
|
16
|
+
pauseMessage: (message: MessageItemConfig) => void;
|
|
17
|
+
resumeMessage: (message: MessageItemConfig) => void;
|
|
18
|
+
pauseAll: () => void;
|
|
19
|
+
resumeAll: () => void;
|
|
20
|
+
handlePromiseMessage: (message: MessageItemConfig) => Promise<void>;
|
|
21
|
+
};
|
|
22
|
+
export {};
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
import { shallowRef, watchEffect } from "vue";
|
|
2
|
+
import { toValue } from "../../utils/helper.js";
|
|
3
|
+
import { isNil } from "../../utils/is.js";
|
|
4
|
+
const TRANSITION_LOCK_MS = 250;
|
|
5
|
+
const LEAVE_DEBOUNCE_MS = 200;
|
|
6
|
+
const NEARLY_EXPIRED_MS = 100;
|
|
7
|
+
export function useMessageGroup({ messages, expand, onTimeout }) {
|
|
8
|
+
const groupExpand = shallowRef(toValue(expand));
|
|
9
|
+
let leaveTimeoutId;
|
|
10
|
+
let isTransitioning = false;
|
|
11
|
+
function lockTransition() {
|
|
12
|
+
isTransitioning = true;
|
|
13
|
+
setTimeout(() => {
|
|
14
|
+
isTransitioning = false;
|
|
15
|
+
}, TRANSITION_LOCK_MS);
|
|
16
|
+
}
|
|
17
|
+
function onPointerEnter() {
|
|
18
|
+
clearTimeout(leaveTimeoutId);
|
|
19
|
+
if (groupExpand.value || isTransitioning) {
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
lockTransition();
|
|
23
|
+
groupExpand.value = true;
|
|
24
|
+
pauseAll();
|
|
25
|
+
}
|
|
26
|
+
function onPointerLeave() {
|
|
27
|
+
clearTimeout(leaveTimeoutId);
|
|
28
|
+
if (isTransitioning) {
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
leaveTimeoutId = setTimeout(() => {
|
|
32
|
+
resumeAll();
|
|
33
|
+
if (toValue(expand)) {
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
groupExpand.value = false;
|
|
37
|
+
lockTransition();
|
|
38
|
+
}, LEAVE_DEBOUNCE_MS);
|
|
39
|
+
}
|
|
40
|
+
function collapse() {
|
|
41
|
+
groupExpand.value = false;
|
|
42
|
+
}
|
|
43
|
+
function clearTimer(message) {
|
|
44
|
+
if (message._timerId) {
|
|
45
|
+
clearTimeout(message._timerId);
|
|
46
|
+
message._timerId = void 0;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
function startTimer(message) {
|
|
50
|
+
message._startedAtMs = Date.now();
|
|
51
|
+
if (isNil(message._remainingMs)) {
|
|
52
|
+
message._remainingMs = message.durations;
|
|
53
|
+
}
|
|
54
|
+
clearTimer(message);
|
|
55
|
+
message._timerId = setTimeout(() => {
|
|
56
|
+
onTimeout(message.id);
|
|
57
|
+
}, message._remainingMs);
|
|
58
|
+
}
|
|
59
|
+
function pauseMessage(message) {
|
|
60
|
+
if (!message.durations || message.durations <= 0) {
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
if (!message._timerId) {
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
clearTimer(message);
|
|
67
|
+
const elapsed = Date.now() - message._startedAtMs;
|
|
68
|
+
const remaining = message._remainingMs ?? message.durations;
|
|
69
|
+
message._remainingMs = Math.max(0, remaining - elapsed);
|
|
70
|
+
}
|
|
71
|
+
function resumeMessage(message) {
|
|
72
|
+
if (!message.durations || message.durations <= 0) {
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
75
|
+
if (message._startedAtMs == null) {
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
if ((message._remainingMs ?? 0) <= NEARLY_EXPIRED_MS) {
|
|
79
|
+
onTimeout(message.id);
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
82
|
+
startTimer(message);
|
|
83
|
+
}
|
|
84
|
+
function applyHandlerMessage(message, handler, data) {
|
|
85
|
+
const content = typeof handler === "function" ? handler(data) : handler;
|
|
86
|
+
if (!isNil(content)) {
|
|
87
|
+
message.message = content;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
async function handlePromiseMessage(message) {
|
|
91
|
+
if (!message.promise) {
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
let result;
|
|
95
|
+
try {
|
|
96
|
+
result = await message.promise;
|
|
97
|
+
message.type = "success";
|
|
98
|
+
applyHandlerMessage(message, message.success, result);
|
|
99
|
+
} catch (err) {
|
|
100
|
+
result = err;
|
|
101
|
+
message.type = "error";
|
|
102
|
+
applyHandlerMessage(message, message.error, err);
|
|
103
|
+
} finally {
|
|
104
|
+
applyHandlerMessage(message, message.finally, result);
|
|
105
|
+
message.promise = void 0;
|
|
106
|
+
message.success = void 0;
|
|
107
|
+
message.error = void 0;
|
|
108
|
+
message.finally = void 0;
|
|
109
|
+
const isAlive = toValue(messages).includes(message);
|
|
110
|
+
if (isAlive && message.durations && message.durations > 0) {
|
|
111
|
+
message._remainingMs = message.durations;
|
|
112
|
+
startTimer(message);
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
function clearTimers() {
|
|
117
|
+
toValue(messages).forEach(clearTimer);
|
|
118
|
+
}
|
|
119
|
+
function pauseAll() {
|
|
120
|
+
toValue(messages).forEach(pauseMessage);
|
|
121
|
+
}
|
|
122
|
+
function resumeAll() {
|
|
123
|
+
const snapshot = [...toValue(messages)];
|
|
124
|
+
snapshot.forEach(resumeMessage);
|
|
125
|
+
}
|
|
126
|
+
watchEffect(() => {
|
|
127
|
+
groupExpand.value = toValue(expand);
|
|
128
|
+
});
|
|
129
|
+
return {
|
|
130
|
+
groupExpand,
|
|
131
|
+
collapse,
|
|
132
|
+
onPointerEnter,
|
|
133
|
+
onPointerLeave,
|
|
134
|
+
startTimer,
|
|
135
|
+
clearTimer,
|
|
136
|
+
clearTimers,
|
|
137
|
+
pauseMessage,
|
|
138
|
+
resumeMessage,
|
|
139
|
+
pauseAll,
|
|
140
|
+
resumeAll,
|
|
141
|
+
handlePromiseMessage
|
|
142
|
+
};
|
|
143
|
+
}
|
|
@@ -3,9 +3,7 @@ import { isTruthyProp } from "../../utils/format.js";
|
|
|
3
3
|
import { useFocusTrap } from "./use-focus-trap.js";
|
|
4
4
|
export function useOverlayDialog({ props, emits, elementRef, onClose }) {
|
|
5
5
|
const focusTrapOptions = computed(() => ({
|
|
6
|
-
autoFocusElement: props.autoFocusElement
|
|
7
|
-
escapeDeactivates: props.closeOnPressEscape,
|
|
8
|
-
clickOutsideDeactivates: props.closeOnClickOverlay
|
|
6
|
+
autoFocusElement: props.autoFocusElement
|
|
9
7
|
}));
|
|
10
8
|
useFocusTrap(elementRef, focusTrapOptions);
|
|
11
9
|
function closeOverlayIfNeed() {
|
|
@@ -4,11 +4,14 @@ interface OverlayManagerOptions {
|
|
|
4
4
|
lockScrollOnVisible?: MaybeRefOrGetter<boolean>;
|
|
5
5
|
lockScroll: () => void;
|
|
6
6
|
unlockScroll: () => void;
|
|
7
|
-
|
|
7
|
+
/** Return `false` to let the next overlay below handle the event. */
|
|
8
|
+
onPressEscape?: (ev: KeyboardEvent) => boolean | void;
|
|
9
|
+
zIndex?: MaybeRefOrGetter<number | undefined>;
|
|
8
10
|
}
|
|
9
11
|
interface OverlayManagerEntry {
|
|
10
12
|
id: symbol;
|
|
11
13
|
onPressEscape: OverlayManagerOptions['onPressEscape'];
|
|
14
|
+
zIndex: OverlayManagerOptions['zIndex'];
|
|
12
15
|
}
|
|
13
16
|
export declare function useOverlayManager(options: OverlayManagerOptions): {
|
|
14
17
|
isTopOverlay: (entry?: OverlayManagerEntry) => boolean;
|