@lumx/vue 4.20.0-next.3 → 4.20.0-next.5
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/components/combobox/ComboboxList.d.ts +1 -1
- package/components/combobox/context/useComboboxEvent.d.ts +10 -0
- package/components/combobox/index.d.ts +1 -1
- package/components/dialog/Dialog.d.ts +1 -1
- package/components/dialog/Dialog.stories.d.ts +1 -1
- package/components/dialog/Dialog.test.d.ts +1 -0
- package/components/dialog/DialogContent.d.ts +7 -0
- package/components/dialog/DialogHeading.d.ts +28 -0
- package/components/dialog/DialogHeading.test.d.ts +1 -0
- package/components/dialog/index.d.ts +1 -0
- package/components/expansion-panel/ExpansionPanel.d.ts +1 -1
- package/components/heading/Heading.d.ts +3 -3
- package/components/heading/index.d.ts +1 -2
- package/components/lightbox/Lightbox.d.ts +5 -17
- package/components/lightbox/Lightbox.test.d.ts +1 -0
- package/components/lightbox/LightboxContent.d.ts +20 -0
- package/components/lightbox/constants.d.ts +8 -0
- package/components/lightbox/types.d.ts +14 -0
- package/components/list/ListSection.d.ts +1 -1
- package/components/menu-button/MenuList.d.ts +1 -1
- package/components/popover/Popover.d.ts +1 -1
- package/components/popover-dialog/PopoverDialog.d.ts +7 -13
- package/components/popover-dialog/PopoverDialog.test.d.ts +1 -0
- package/components/popover-dialog/PopoverDialog.test.stories.d.ts +1 -1
- package/components/popover-dialog/PopoverDialogContent.d.ts +23 -0
- package/components/popover-dialog/constants.d.ts +8 -0
- package/components/popover-dialog/types.d.ts +10 -0
- package/index.js +3601 -3397
- package/index.js.map +1 -1
- package/package.json +4 -4
- package/utils/IdsRegistryContext/IdsRegistryContext.d.ts +14 -0
- package/utils/IdsRegistryContext/IdsRegistryContext.test.d.ts +1 -0
- package/utils/IdsRegistryContext/IdsRegistryProvider.d.ts +8 -0
- package/utils/IdsRegistryContext/index.d.ts +3 -0
- package/utils/IdsRegistryContext/useRegisterId.d.ts +11 -0
- package/utils/IdsRegistryContext/useRegisteredId.d.ts +11 -0
|
@@ -8,7 +8,7 @@ export type ComboboxListProps = VueToJSXProps<UIProps, 'aria-label' | 'aria-busy
|
|
|
8
8
|
* @param props Component props.
|
|
9
9
|
* @return Vue element.
|
|
10
10
|
*/
|
|
11
|
-
declare const ComboboxList: import('vue').DefineSetupFnComponent<ComboboxListProps, {}, {}, Omit<UIProps, "className" | import('@lumx/core/js/types').PropsToOverride | "
|
|
11
|
+
declare const ComboboxList: import('vue').DefineSetupFnComponent<ComboboxListProps, {}, {}, Omit<UIProps, "className" | import('@lumx/core/js/types').PropsToOverride | "children" | "aria-label" | "id" | "aria-busy"> & {
|
|
12
12
|
class?: import('../../utils/VueToJSX').ClassValue;
|
|
13
13
|
} & {}, import('vue').PublicProps>;
|
|
14
14
|
export { COMPONENT_NAME, CLASSNAME };
|
|
@@ -2,6 +2,16 @@ import { Ref } from 'vue';
|
|
|
2
2
|
import { ComboboxEventMap } from '@lumx/core/js/components/Combobox/types';
|
|
3
3
|
/**
|
|
4
4
|
* Composable to subscribe to a combobox event via the handle's subscriber system.
|
|
5
|
+
*
|
|
6
|
+
* `optionsChange` updates are coalesced into a microtask. Mounting a large option list fires one
|
|
7
|
+
* `optionsChange` per option registration; applying each synchronously makes a consumer that both
|
|
8
|
+
* reads the option count and (re)mounts options — e.g. `Combobox.Input` — mutate its own render
|
|
9
|
+
* dependency, tripping Vue's recursive-update guard. Coalescing applies only the final value, once
|
|
10
|
+
* per tick. Other events are applied synchronously.
|
|
11
|
+
*
|
|
12
|
+
* (React does not need this: it batches synchronous store updates itself, and coalescing there
|
|
13
|
+
* would defer the update into a microtask that fires outside `act` in consumers' unit tests.)
|
|
14
|
+
*
|
|
5
15
|
* Re-subscribes when the handle changes (e.g. trigger mount/unmount).
|
|
6
16
|
*/
|
|
7
17
|
export declare function useComboboxEvent<K extends keyof ComboboxEventMap>(event: K, initialValue: ComboboxEventMap[K]): Ref<ComboboxEventMap[K]>;
|
|
@@ -61,7 +61,7 @@ export declare const Combobox: {
|
|
|
61
61
|
onClear?: ((_event?: MouseEvent | undefined) => any) | undefined;
|
|
62
62
|
}, import('vue').PublicProps>;
|
|
63
63
|
/** Listbox container that registers with the combobox handle and tracks loading state. */
|
|
64
|
-
List: import('vue').DefineSetupFnComponent<import('./ComboboxList').ComboboxListProps, {}, {}, Omit<import('@lumx/core/js/components/Combobox/ComboboxList').ComboboxListProps, "className" | import('@lumx/core/js/types').PropsToOverride | "
|
|
64
|
+
List: import('vue').DefineSetupFnComponent<import('./ComboboxList').ComboboxListProps, {}, {}, Omit<import('@lumx/core/js/components/Combobox/ComboboxList').ComboboxListProps, "className" | import('@lumx/core/js/types').PropsToOverride | "children" | "aria-label" | "id" | "aria-busy"> & {
|
|
65
65
|
class?: import('../../utils/VueToJSX').ClassValue;
|
|
66
66
|
} & {}, import('vue').PublicProps>;
|
|
67
67
|
/** Selectable option item with filtering and keyboard navigation support. */
|
|
@@ -35,7 +35,7 @@ export declare const emitSchema: {
|
|
|
35
35
|
declare const Dialog: import('vue').DefineSetupFnComponent<DialogProps, {
|
|
36
36
|
close: () => boolean;
|
|
37
37
|
visibilityChange: (isVisible: boolean) => boolean;
|
|
38
|
-
}, {}, Pick<BaseDialogProps, "
|
|
38
|
+
}, {}, Pick<BaseDialogProps, "isLoading" | "forceHeaderDivider" | "forceFooterDivider"> & HasCloseMode & {
|
|
39
39
|
/** Additional class name. */
|
|
40
40
|
class?: ClassValue;
|
|
41
41
|
/** Whether the dialog is open. */
|
|
@@ -8,7 +8,7 @@ declare const _default: {
|
|
|
8
8
|
};
|
|
9
9
|
};
|
|
10
10
|
decorators: ((story: any, context: any) => any)[];
|
|
11
|
-
args: Partial<import('@lumx/core/js/components/Dialog').
|
|
11
|
+
args: Partial<Pick<import('@lumx/core/js/components/Dialog').DialogShellProps, "size">>;
|
|
12
12
|
argTypes: {
|
|
13
13
|
size: {
|
|
14
14
|
control: {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { DialogContentProps as UIProps } from '@lumx/core/js/components/Dialog/DialogContent';
|
|
2
|
+
export type DialogContentProps = Omit<UIProps, 'labelId'>;
|
|
3
|
+
/**
|
|
4
|
+
* Renders the core `DialogContent`, resolving its `aria-labelledby` from the ids registry.
|
|
5
|
+
*/
|
|
6
|
+
declare const _default: import('vue').DefineSetupFnComponent<DialogContentProps, {}, {}, DialogContentProps & {}, import('vue').PublicProps>;
|
|
7
|
+
export default _default;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { HeadingProps } from '../heading/Heading';
|
|
2
|
+
export type DialogHeadingProps = HeadingProps;
|
|
3
|
+
/**
|
|
4
|
+
* Names the enclosing dialog-like container (`Dialog`, `Lightbox`, `PopoverDialog`, ...).
|
|
5
|
+
*
|
|
6
|
+
* Thin wrapper over `Heading` that generates its own id (or uses the consumer-supplied `id`),
|
|
7
|
+
* and registers it with the nearest ids registry on mount so the container can link itself to
|
|
8
|
+
* this heading via `aria-labelledby`. Deregisters on unmount.
|
|
9
|
+
*
|
|
10
|
+
* Defaults its typography to `Typography.title` (overridable via the `typography` prop).
|
|
11
|
+
*
|
|
12
|
+
* If two `DialogHeading`s are rendered within the same container, the last one registered wins.
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* <Dialog isOpen={isOpen}>
|
|
16
|
+
* {{
|
|
17
|
+
* header: () => (
|
|
18
|
+
* <Toolbar>
|
|
19
|
+
* {{ default: () => <DialogHeading>My dialog</DialogHeading> }}
|
|
20
|
+
* </Toolbar>
|
|
21
|
+
* ),
|
|
22
|
+
* }}
|
|
23
|
+
* </Dialog>
|
|
24
|
+
*/
|
|
25
|
+
declare const DialogHeading: import('vue').DefineSetupFnComponent<HeadingProps, {}, {}, Omit<import('@lumx/core/js/components/Heading').HeadingProps, "className" | import('@lumx/core/js/types').PropsToOverride | "children"> & {
|
|
26
|
+
class?: import('../../utils/VueToJSX').ClassValue;
|
|
27
|
+
} & {}, import('vue').PublicProps>;
|
|
28
|
+
export default DialogHeading;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -23,7 +23,7 @@ declare const ExpansionPanel: import('vue').DefineSetupFnComponent<ExpansionPane
|
|
|
23
23
|
open: (event: MouseEvent) => boolean;
|
|
24
24
|
close: (event: MouseEvent) => boolean;
|
|
25
25
|
toggleOpen: (shouldOpen: boolean, event: MouseEvent) => boolean;
|
|
26
|
-
}, {}, Omit<UIProps, "className" | "footer" | "ref" | "handleClick" | "handleChange" | "handleInput" | "handleKeyPress" | "handleClose" | "handleFocus" | "handleBlur" | "handleBeforeClick" | "handleAfterClick" | "handleMouseEnter" | "handleMouseLeave" | "handleKeyDown" | "
|
|
26
|
+
}, {}, Omit<UIProps, "className" | "footer" | "ref" | "handleClick" | "handleChange" | "handleInput" | "handleKeyPress" | "handleClose" | "handleFocus" | "handleBlur" | "handleBeforeClick" | "handleAfterClick" | "handleMouseEnter" | "handleMouseLeave" | "handleKeyDown" | "children" | "wrapperRef" | "content" | "IconButton" | "toggleButtonProps" | "handleOpen" | "handleToggleOpen" | "headerProps" | "headerContent" | "dragHandle" | "isChildrenVisible"> & {
|
|
27
27
|
class?: import('../../utils/VueToJSX').ClassValue;
|
|
28
28
|
} & {
|
|
29
29
|
/** Props to pass to the toggle button (minus those already set by the ExpansionPanel). */
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { HeadingProps } from '@lumx/core/js/components/Heading';
|
|
1
|
+
import { HeadingProps as UIProps } from '@lumx/core/js/components/Heading';
|
|
2
2
|
import { VueToJSXProps } from '../../utils/VueToJSX';
|
|
3
|
-
export type
|
|
3
|
+
export type HeadingProps = VueToJSXProps<UIProps>;
|
|
4
4
|
/**
|
|
5
5
|
* Heading component.
|
|
6
6
|
*
|
|
7
7
|
* @param props Component props.
|
|
8
8
|
* @return Vue element.
|
|
9
9
|
*/
|
|
10
|
-
declare const Heading: import('vue').DefineSetupFnComponent<
|
|
10
|
+
declare const Heading: import('vue').DefineSetupFnComponent<HeadingProps, {}, {}, Omit<UIProps, "className" | import('@lumx/core/js/types').PropsToOverride | "children"> & {
|
|
11
11
|
class?: import('../../utils/VueToJSX').ClassValue;
|
|
12
12
|
} & {}, import('vue').PublicProps>;
|
|
13
13
|
export default Heading;
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { HeadingProps } from '
|
|
2
|
-
import { default as Heading } from './Heading';
|
|
1
|
+
import { default as Heading, HeadingProps } from './Heading';
|
|
3
2
|
import { default as HeadingLevelProvider } from './HeadingLevelProvider';
|
|
4
3
|
import { useHeadingLevel } from './useHeadingLevel';
|
|
5
4
|
export { Heading, HeadingLevelProvider, useHeadingLevel };
|
|
@@ -1,26 +1,14 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
export type LightboxProps
|
|
4
|
-
|
|
5
|
-
parentElement?: HTMLElement;
|
|
6
|
-
/** Element that should receive focus when the lightbox opens. By default the first focusable child. */
|
|
7
|
-
focusElement?: HTMLElement;
|
|
8
|
-
/** Props to pass to the close button. */
|
|
9
|
-
closeButtonProps?: any;
|
|
10
|
-
};
|
|
11
|
-
export declare const emitSchema: {
|
|
12
|
-
close: () => boolean;
|
|
13
|
-
};
|
|
1
|
+
import { emitSchema } from './constants';
|
|
2
|
+
import { LightboxProps } from './types';
|
|
3
|
+
export type { LightboxProps };
|
|
4
|
+
export { emitSchema };
|
|
14
5
|
declare const Lightbox: import('vue').DefineSetupFnComponent<LightboxProps, {
|
|
15
6
|
close: () => boolean;
|
|
16
|
-
}, {}, Omit<BaseLightboxProps, "className" | import('@lumx/core/js/types').PropsToOverride | "children" | "aria-label" | "
|
|
7
|
+
}, {}, Omit<import('@lumx/core/js/components/Lightbox').BaseLightboxProps, "className" | import('@lumx/core/js/types').PropsToOverride | "children" | "aria-label" | "aria-labelledby" | "theme"> & {
|
|
17
8
|
class?: import('../../utils/VueToJSX').ClassValue;
|
|
18
9
|
} & {
|
|
19
|
-
/** Reference to the element that triggered lightbox opening (gets focus back on close). */
|
|
20
10
|
parentElement?: HTMLElement;
|
|
21
|
-
/** Element that should receive focus when the lightbox opens. By default the first focusable child. */
|
|
22
11
|
focusElement?: HTMLElement;
|
|
23
|
-
/** Props to pass to the close button. */
|
|
24
12
|
closeButtonProps?: any;
|
|
25
13
|
} & {
|
|
26
14
|
onClose?: (() => any) | undefined;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { LightboxProps } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Renders the core Lightbox UI, resolving its `aria-labelledby` from the ids registry.
|
|
4
|
+
*
|
|
5
|
+
* Owns the lightbox logic (focus trap, escape, transition, body scroll) and must render as a
|
|
6
|
+
* descendant of the `IdsRegistryProvider` set up by `Lightbox` - the subscription composable needs
|
|
7
|
+
* to run below the provider. Internal to the lightbox family - not exported from the package barrel.
|
|
8
|
+
*/
|
|
9
|
+
declare const LightboxContent: import('vue').DefineSetupFnComponent<LightboxProps, {
|
|
10
|
+
close: () => boolean;
|
|
11
|
+
}, {}, Omit<import('@lumx/core/js/components/Lightbox').BaseLightboxProps, "className" | import('@lumx/core/js/types').PropsToOverride | "children" | "aria-label" | "aria-labelledby" | "theme"> & {
|
|
12
|
+
class?: import('../../utils/VueToJSX').ClassValue;
|
|
13
|
+
} & {
|
|
14
|
+
parentElement?: HTMLElement;
|
|
15
|
+
focusElement?: HTMLElement;
|
|
16
|
+
closeButtonProps?: any;
|
|
17
|
+
} & {
|
|
18
|
+
onClose?: (() => any) | undefined;
|
|
19
|
+
}, import('vue').PublicProps>;
|
|
20
|
+
export default LightboxContent;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/** Emit contract, shared by the `Lightbox` wrapper and `LightboxContent`. */
|
|
2
|
+
export declare const emitSchema: {
|
|
3
|
+
close: () => boolean;
|
|
4
|
+
};
|
|
5
|
+
/** Public prop names, shared by the `Lightbox` wrapper and `LightboxContent`. */
|
|
6
|
+
export declare const LIGHTBOX_PROP_KEYS: Record<"isOpen" | "zIndex" | "focusElement" | "class" | "parentElement" | "preventAutoClose" | "preventCloseOnClick" | "closeButtonProps", {
|
|
7
|
+
required: false;
|
|
8
|
+
}>;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { BaseLightboxProps } from '@lumx/core/js/components/Lightbox';
|
|
2
|
+
import { VueToJSXProps } from '../../utils/VueToJSX';
|
|
3
|
+
/**
|
|
4
|
+
* Vue Lightbox props.
|
|
5
|
+
* `theme`, `aria-label` and `aria-labelledby` are not declared props - they pass through via attrs.
|
|
6
|
+
*/
|
|
7
|
+
export type LightboxProps = VueToJSXProps<BaseLightboxProps, 'theme' | 'aria-label' | 'aria-labelledby'> & {
|
|
8
|
+
/** Reference to the element that triggered lightbox opening (gets focus back on close). */
|
|
9
|
+
parentElement?: HTMLElement;
|
|
10
|
+
/** Element that should receive focus when the lightbox opens. By default the first focusable child. */
|
|
11
|
+
focusElement?: HTMLElement;
|
|
12
|
+
/** Props to pass to the close button. */
|
|
13
|
+
closeButtonProps?: any;
|
|
14
|
+
};
|
|
@@ -7,7 +7,7 @@ export type ListSectionProps = VueToJSXProps<UIProps, 'id' | 'Text'>;
|
|
|
7
7
|
* @param props Component props.
|
|
8
8
|
* @return Vue element.
|
|
9
9
|
*/
|
|
10
|
-
declare const ListSection: import('vue').DefineSetupFnComponent<ListSectionProps, {}, {}, Omit<UIProps, "className" | import('@lumx/core/js/types').PropsToOverride | "
|
|
10
|
+
declare const ListSection: import('vue').DefineSetupFnComponent<ListSectionProps, {}, {}, Omit<UIProps, "className" | import('@lumx/core/js/types').PropsToOverride | "children" | "id" | "Text"> & {
|
|
11
11
|
class?: import('../../utils/VueToJSX').ClassValue;
|
|
12
12
|
} & {}, import('vue').PublicProps>;
|
|
13
13
|
export default ListSection;
|
|
@@ -8,7 +8,7 @@ export type MenuListProps = VueToJSXProps<UIProps, 'id' | 'aria-labelledby'>;
|
|
|
8
8
|
* @param props Component props.
|
|
9
9
|
* @return Vue element.
|
|
10
10
|
*/
|
|
11
|
-
declare const MenuList: import('vue').DefineSetupFnComponent<MenuListProps, {}, {}, Omit<UIProps, "className" | import('@lumx/core/js/types').PropsToOverride | "
|
|
11
|
+
declare const MenuList: import('vue').DefineSetupFnComponent<MenuListProps, {}, {}, Omit<UIProps, "className" | import('@lumx/core/js/types').PropsToOverride | "children" | "aria-labelledby" | "id"> & {
|
|
12
12
|
class?: import('../../utils/VueToJSX').ClassValue;
|
|
13
13
|
} & {}, import('vue').PublicProps>;
|
|
14
14
|
export { CLASSNAME, COMPONENT_NAME };
|
|
@@ -26,7 +26,7 @@ export declare const emitSchema: {
|
|
|
26
26
|
};
|
|
27
27
|
declare const Popover: import('vue').DefineSetupFnComponent<PopoverProps, {
|
|
28
28
|
close: () => boolean;
|
|
29
|
-
}, {}, Omit<CorePopoverProps, "className" | import('@lumx/core/js/types').PropsToOverride | "isOpen" | "
|
|
29
|
+
}, {}, Omit<CorePopoverProps, "className" | import('@lumx/core/js/types').PropsToOverride | "isOpen" | "children" | "focusElement" | "parentElement" | "anchorRef" | "boundaryRef" | "focusTrapZoneElement"> & {
|
|
30
30
|
class?: import('../../utils/VueToJSX').ClassValue;
|
|
31
31
|
} & PopoverSizes & {
|
|
32
32
|
/** Reference to the DOM element used to set the position of the popover. Accepts a Vue Ref for reactive positioning. */
|
|
@@ -1,17 +1,11 @@
|
|
|
1
|
-
import { CLASSNAME, COMPONENT_NAME, DEFAULT_PROPS
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
* Extends the Vue Popover props with dialog-specific accessible label props from core.
|
|
7
|
-
*/
|
|
8
|
-
export type PopoverDialogProps = PopoverProps & Omit<CorePopoverDialogProps, keyof CorePopoverProps>;
|
|
9
|
-
export declare const emitSchema: {
|
|
10
|
-
close: () => boolean;
|
|
11
|
-
};
|
|
1
|
+
import { CLASSNAME, COMPONENT_NAME, DEFAULT_PROPS } from '@lumx/core/js/components/PopoverDialog';
|
|
2
|
+
import { emitSchema } from './constants';
|
|
3
|
+
import { PopoverDialogProps } from './types';
|
|
4
|
+
export type { PopoverDialogProps };
|
|
5
|
+
export { emitSchema };
|
|
12
6
|
declare const PopoverDialog: import('vue').DefineSetupFnComponent<PopoverDialogProps, {
|
|
13
7
|
close: () => boolean;
|
|
14
|
-
}, {}, Omit<
|
|
8
|
+
}, {}, Omit<import('@lumx/core/js/components/Popover').PopoverProps, "className" | import('@lumx/core/js/types').PropsToOverride | "isOpen" | "children" | "focusElement" | "parentElement" | "anchorRef" | "boundaryRef" | "focusTrapZoneElement"> & {
|
|
15
9
|
class?: import('../../utils/VueToJSX').ClassValue;
|
|
16
10
|
} & import('@lumx/core/js/components/Popover/types').PopoverSizes & {
|
|
17
11
|
anchorRef?: import('vue').Ref<HTMLElement | undefined> | HTMLElement;
|
|
@@ -20,7 +14,7 @@ declare const PopoverDialog: import('vue').DefineSetupFnComponent<PopoverDialogP
|
|
|
20
14
|
isOpen?: boolean;
|
|
21
15
|
parentElement?: HTMLElement;
|
|
22
16
|
focusTrapZoneElement?: HTMLElement;
|
|
23
|
-
} & Omit<
|
|
17
|
+
} & Omit<import('@lumx/core/js/components/PopoverDialog').PopoverDialogProps, keyof import('@lumx/core/js/components/Popover').PopoverProps> & {
|
|
24
18
|
onClose?: (() => any) | undefined;
|
|
25
19
|
}, import('vue').PublicProps>;
|
|
26
20
|
export default PopoverDialog;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -2,7 +2,7 @@ declare const _default: {
|
|
|
2
2
|
title: string;
|
|
3
3
|
component: import('vue').DefineSetupFnComponent<import('../..').PopoverDialogProps, {
|
|
4
4
|
close: () => boolean;
|
|
5
|
-
}, {}, Omit<import('@lumx/core/js/components/Popover').PopoverProps, "className" | import('../..').PropsToOverride | "isOpen" | "
|
|
5
|
+
}, {}, Omit<import('@lumx/core/js/components/Popover').PopoverProps, "className" | import('../..').PropsToOverride | "isOpen" | "children" | "focusElement" | "parentElement" | "anchorRef" | "boundaryRef" | "focusTrapZoneElement"> & {
|
|
6
6
|
class?: import('../../utils/VueToJSX').ClassValue;
|
|
7
7
|
} & import('@lumx/core/js/components/Popover/types').PopoverSizes & {
|
|
8
8
|
anchorRef?: import('vue').Ref<HTMLElement | undefined> | HTMLElement;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { PopoverDialogProps } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Renders the core Popover as a dialog, resolving its `aria-labelledby` from the ids registry.
|
|
4
|
+
*
|
|
5
|
+
* Owns the dialog logic (aria role/name, focus trap, close behavior) and must render as a descendant
|
|
6
|
+
* of the `IdsRegistryProvider` set up by `PopoverDialog` - the subscription composable needs to run
|
|
7
|
+
* below the provider. Internal to the popover-dialog family - not exported from the package barrel.
|
|
8
|
+
*/
|
|
9
|
+
declare const PopoverDialogContent: import('vue').DefineSetupFnComponent<PopoverDialogProps, {
|
|
10
|
+
close: () => boolean;
|
|
11
|
+
}, {}, Omit<import('@lumx/core/js/components/Popover').PopoverProps, "className" | import('@lumx/core/js/types').PropsToOverride | "isOpen" | "children" | "focusElement" | "parentElement" | "anchorRef" | "boundaryRef" | "focusTrapZoneElement"> & {
|
|
12
|
+
class?: import('../../utils/VueToJSX').ClassValue;
|
|
13
|
+
} & import('@lumx/core/js/components/Popover/types').PopoverSizes & {
|
|
14
|
+
anchorRef?: import('vue').Ref<HTMLElement | undefined> | HTMLElement;
|
|
15
|
+
boundaryRef?: import('vue').Ref<HTMLElement | undefined> | HTMLElement;
|
|
16
|
+
focusElement?: HTMLElement;
|
|
17
|
+
isOpen?: boolean;
|
|
18
|
+
parentElement?: HTMLElement;
|
|
19
|
+
focusTrapZoneElement?: HTMLElement;
|
|
20
|
+
} & Omit<import('@lumx/core/js/components/PopoverDialog').PopoverDialogProps, keyof import('@lumx/core/js/components/Popover').PopoverProps> & {
|
|
21
|
+
onClose?: (() => any) | undefined;
|
|
22
|
+
}, import('vue').PublicProps>;
|
|
23
|
+
export default PopoverDialogContent;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/** Emit contract, shared by the `PopoverDialog` wrapper and `PopoverDialogContent`. */
|
|
2
|
+
export declare const emitSchema: {
|
|
3
|
+
close: () => boolean;
|
|
4
|
+
};
|
|
5
|
+
/** Public prop names, shared by the `PopoverDialog` wrapper and `PopoverDialogContent`. */
|
|
6
|
+
export declare const POPOVER_DIALOG_PROP_KEYS: Record<"label" | "isOpen" | "zIndex" | "aria-label" | "aria-labelledby" | "focusElement" | "theme" | "class" | "closeMode" | "parentElement" | "as" | "width" | "height" | "maxHeight" | "maxWidth" | "minHeight" | "minWidth" | "offset" | "placement" | "anchorRef" | "boundaryRef" | "closeOnClickAway" | "closeOnEscape" | "elevation" | "fitToAnchorWidth" | "fitWithinViewportHeight" | "focusAnchorOnClose" | "hasArrow" | "usePortal" | "focusTrapZoneElement" | "withFocusTrap", {
|
|
7
|
+
required: false;
|
|
8
|
+
}>;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { PopoverDialogProps as CorePopoverDialogProps } from '@lumx/core/js/components/PopoverDialog';
|
|
2
|
+
import { PopoverProps as CorePopoverProps } from '@lumx/core/js/components/Popover';
|
|
3
|
+
import { PopoverProps } from '../popover/Popover';
|
|
4
|
+
/**
|
|
5
|
+
* Vue PopoverDialog props.
|
|
6
|
+
* Extends the Vue Popover props with dialog-specific accessible label props from core.
|
|
7
|
+
* An accessible name can be provided via `label`/`aria-label`/`aria-labelledby`, or by rendering
|
|
8
|
+
* a `DialogHeading` inside the dialog - at least one of these should be used.
|
|
9
|
+
*/
|
|
10
|
+
export type PopoverDialogProps = PopoverProps & Omit<CorePopoverDialogProps, keyof CorePopoverProps>;
|