@vuu-ui/vuu-ui-controls 0.8.22 → 0.8.23-debug
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/cjs/index.js +13314 -6
- package/cjs/index.js.map +4 -4
- package/esm/index.js +13451 -6
- package/esm/index.js.map +4 -4
- package/index.css +1586 -1
- package/index.css.map +3 -3
- package/package.json +7 -7
- package/types/calendar/internal/utils.d.ts +1 -2
- package/types/combo-box/ComboBox.d.ts +3 -1
- package/types/combo-box/useCombobox.d.ts +5 -5
- package/types/drag-drop/dragDropTypes.d.ts +12 -7
- package/types/drag-drop/drop-target-utils.d.ts +20 -28
- package/types/drag-drop/useDragDisplacers.d.ts +4 -2
- package/types/drag-drop/useDragDropCopy.d.ts +5 -1
- package/types/drag-drop/useDragDropIndicator.d.ts +1 -1
- package/types/drag-drop/useDragDropNaturalMovement.d.ts +1 -1
- package/types/dropdown/useDropdown.d.ts +1 -1
- package/types/editable/editable-utils.d.ts +1 -3
- package/types/editable/useEditableText.d.ts +1 -2
- package/types/index.d.ts +5 -0
- package/types/list/common-hooks/useCollapsibleGroups.d.ts +2 -2
- package/types/list/common-hooks/useKeyboardNavigation.d.ts +1 -1
- package/types/list/index.d.ts +0 -1
- package/types/list/listTypes.d.ts +3 -3
- package/types/list/useList.d.ts +1 -1
- package/types/list/useListHeight.d.ts +1 -3
- package/types/measured-container/MeasuredContainer.d.ts +15 -0
- package/types/measured-container/index.d.ts +2 -0
- package/types/measured-container/useMeasuredContainer.d.ts +22 -0
- package/types/measured-container/useResizeObserver.d.ts +15 -0
- package/types/overflow-container/OverflowContainer.d.ts +17 -0
- package/types/overflow-container/index.d.ts +2 -0
- package/types/overflow-container/overflow-utils.d.ts +49 -0
- package/types/overflow-container/useOverflowContainer.d.ts +20 -0
- package/types/split-button/SplitButton.d.ts +11 -0
- package/types/split-button/index.d.ts +1 -0
- package/types/split-button/useSplitButton.d.ts +289 -0
- package/types/tabstrip/useTabstrip.d.ts +1 -1
- package/types/toolbar/Toolbar.d.ts +21 -0
- package/types/toolbar/index.d.ts +1 -0
- package/types/toolbar/toolbar-dom-utils.d.ts +3 -0
- package/types/toolbar/useKeyboardNavigation.d.ts +32 -0
- package/types/toolbar/useSelection.d.ts +22 -0
- package/types/toolbar/useToolbar.d.ts +28 -0
- package/types/tree/Tree.d.ts +1 -1
- package/LICENSE +0 -201
- package/types/list/VirtualizedList.d.ts +0 -7
- package/types/list/useVirtualization.d.ts +0 -15
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { InternalDragDropProps, InternalDragHookResult } from "./dragDropTypes";
|
|
2
|
-
export declare const useDragDropNaturalMovement: ({
|
|
2
|
+
export declare const useDragDropNaturalMovement: ({ containerRef, orientation, itemQuery, selected, viewportRange, }: InternalDragDropProps) => InternalDragHookResult;
|
|
@@ -10,4 +10,4 @@ export interface DropdownListHookResult<Item> extends Partial<ListHookResult<Ite
|
|
|
10
10
|
onOpenChange: any;
|
|
11
11
|
triggerLabel?: string;
|
|
12
12
|
}
|
|
13
|
-
export declare const useDropdown: <Item, S extends SelectionStrategy>({ collectionHook, defaultHighlightedIndex: defaultHighlightedIndexProp, defaultIsOpen, defaultSelected, highlightedIndex: highlightedIndexProp, isOpen: isOpenProp, itemToString,
|
|
13
|
+
export declare const useDropdown: <Item, S extends SelectionStrategy>({ collectionHook, defaultHighlightedIndex: defaultHighlightedIndexProp, defaultIsOpen, defaultSelected, highlightedIndex: highlightedIndexProp, isOpen: isOpenProp, itemToString, onHighlight, onOpenChange, onSelectionChange, onSelect, selected, selectionStrategy, }: DropdownListHookProps<Item, S>) => DropdownListHookResult<Item>;
|
|
@@ -1,4 +1,2 @@
|
|
|
1
|
-
import { EditValidationRule } from "@vuu-ui/vuu-table-types";
|
|
2
|
-
import { VuuRowDataItemType } from "@vuu-ui/vuu-protocol-types";
|
|
3
|
-
export type ClientSideValidationChecker = (value?: VuuRowDataItemType) => string | false | undefined;
|
|
1
|
+
import { ClientSideValidationChecker, EditValidationRule } from "@vuu-ui/vuu-table-types";
|
|
4
2
|
export declare const buildValidationChecker: (rules: EditValidationRule[]) => ClientSideValidationChecker;
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { DataItemCommitHandler } from "@vuu-ui/vuu-table-types";
|
|
1
|
+
import { ClientSideValidationChecker, DataItemCommitHandler } from "@vuu-ui/vuu-table-types";
|
|
2
2
|
import { VuuRowDataItemType } from "@vuu-ui/vuu-protocol-types";
|
|
3
3
|
import { FocusEventHandler, FormEventHandler, KeyboardEvent } from "react";
|
|
4
|
-
import { ClientSideValidationChecker } from "./editable-utils";
|
|
5
4
|
export declare const WarnCommit: () => Promise<true>;
|
|
6
5
|
export interface EditableTextHookProps<T extends VuuRowDataItemType = VuuRowDataItemType> {
|
|
7
6
|
clientSideEditValidationCheck?: ClientSideValidationChecker;
|
package/types/index.d.ts
CHANGED
|
@@ -12,8 +12,13 @@ export * from "./inputs";
|
|
|
12
12
|
export * from "./instrument-picker";
|
|
13
13
|
export * from "./instrument-search";
|
|
14
14
|
export * from "./list";
|
|
15
|
+
export * from "./measured-container";
|
|
16
|
+
export * from "./overflow-container";
|
|
15
17
|
export * from "./price-ticker";
|
|
18
|
+
export * from "./price-ticker";
|
|
19
|
+
export * from "./split-button";
|
|
16
20
|
export * from "./tabstrip";
|
|
21
|
+
export * from "./toolbar";
|
|
17
22
|
export * from "./tree";
|
|
18
23
|
export * from "./utils";
|
|
19
24
|
export * from "./vuu-input";
|
|
@@ -6,9 +6,9 @@ interface CollapsibleHookProps<Item> {
|
|
|
6
6
|
highlightedIdx: number;
|
|
7
7
|
onToggle?: (node: Item) => void;
|
|
8
8
|
}
|
|
9
|
-
interface CollapsibleHookResult
|
|
9
|
+
interface CollapsibleHookResult {
|
|
10
10
|
onClick?: ListHandlers["onClick"];
|
|
11
11
|
onKeyDown?: ListHandlers["onKeyDown"];
|
|
12
12
|
}
|
|
13
|
-
export declare const useCollapsibleGroups: <Item>({ collapsibleHeaders, collectionHook, highlightedIdx, onToggle, }: CollapsibleHookProps<Item>) => CollapsibleHookResult
|
|
13
|
+
export declare const useCollapsibleGroups: <Item>({ collapsibleHeaders, collectionHook, highlightedIdx, onToggle, }: CollapsibleHookProps<Item>) => CollapsibleHookResult;
|
|
14
14
|
export {};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { NavigationHookProps, NavigationHookResult } from "../../common-hooks";
|
|
2
2
|
export declare const LIST_FOCUS_VISIBLE = -2;
|
|
3
|
-
export declare const useKeyboardNavigation: ({ containerRef, defaultHighlightedIndex, disableHighlightOnFocus, highlightedIndex: highlightedIndexProp, itemCount, onHighlight, onKeyboardNavigation, restoreLastFocus, selected, viewportItemCount, }: NavigationHookProps) => NavigationHookResult;
|
|
3
|
+
export declare const useKeyboardNavigation: ({ containerRef, defaultHighlightedIndex, disableHighlightOnFocus, highlightedIndex: highlightedIndexProp, itemCount, onHighlight, onKeyboardNavigation, restoreLastFocus, selected, viewportItemCount: _, }: NavigationHookProps) => NavigationHookResult;
|
package/types/list/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React, { FocusEventHandler, ForwardedRef, HTMLAttributes, KeyboardEvent, KeyboardEventHandler, MouseEventHandler, PropsWithChildren, Ref, RefObject } from "react";
|
|
1
|
+
import React, { FocusEventHandler, ForwardedRef, HTMLAttributes, KeyboardEvent, KeyboardEventHandler, MouseEventHandler, PropsWithChildren, Ref, RefCallback, RefObject } from "react";
|
|
2
2
|
import { ScrollingAPI, ViewportTrackingResult } from "./common-hooks";
|
|
3
3
|
import { CollectionHookResult, ComponentSelectionProps, ListHandlers, NavigationHookResult, SelectionHookResult, SelectionStrategy } from "../common-hooks";
|
|
4
4
|
import { DragHookResult, DragStartHandler, dragStrategy, DropHandler } from "../drag-drop";
|
|
@@ -173,7 +173,6 @@ export interface ListControlProps {
|
|
|
173
173
|
}
|
|
174
174
|
export interface ListHookProps<Item = string, S extends SelectionStrategy = "default"> extends Pick<ListProps<Item, S>, "allowDragDrop" | "collapsibleHeaders" | "disabled" | "id" | "onClick" | "onDragStart" | "onDrop" | "onHighlight" | "onMoveListItem" | "onSelect" | "onSelectionChange" | "restoreLastFocus" | "selectionKeys" | "selectionStrategy" | "stickyHeaders" | "tabToSelect"> {
|
|
175
175
|
collectionHook: CollectionHookResult<Item>;
|
|
176
|
-
containerRef: RefObject<HTMLElement>;
|
|
177
176
|
contentRef?: RefObject<HTMLElement>;
|
|
178
177
|
defaultHighlightedIndex?: number;
|
|
179
178
|
defaultSelected?: string[];
|
|
@@ -186,11 +185,12 @@ export interface ListHookProps<Item = string, S extends SelectionStrategy = "def
|
|
|
186
185
|
listHandlers?: ListHandlers;
|
|
187
186
|
onKeyboardNavigation?: (event: React.KeyboardEvent, currentIndex: number) => void;
|
|
188
187
|
onKeyDown?: (evt: KeyboardEvent) => void;
|
|
189
|
-
scrollContainerRef?: RefObject<HTMLElement>;
|
|
190
188
|
selected?: string[];
|
|
191
189
|
viewportRange?: ViewportRange;
|
|
192
190
|
}
|
|
193
191
|
export interface ListHookResult<Item> extends Partial<ViewportTrackingResult<Item>>, Pick<SelectionHookResult, "selected" | "setSelected">, Partial<Omit<NavigationHookResult, "listProps">>, Omit<DragHookResult, "isDragging" | "isScrolling"> {
|
|
192
|
+
containerRef: RefObject<HTMLDivElement>;
|
|
193
|
+
setContainerRef: RefCallback<HTMLDivElement>;
|
|
194
194
|
keyboardNavigation: RefObject<boolean>;
|
|
195
195
|
listHandlers: ListHandlers;
|
|
196
196
|
listItemHeaderHandlers: Partial<ListHandlers>;
|
package/types/list/useList.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { SelectionStrategy } from "../common-hooks";
|
|
2
2
|
import { ListHookProps, ListHookResult } from "./listTypes";
|
|
3
|
-
export declare const useList: <Item, S extends SelectionStrategy>({ allowDragDrop, collapsibleHeaders, collectionHook: dataHook,
|
|
3
|
+
export declare const useList: <Item, S extends SelectionStrategy>({ allowDragDrop, collapsibleHeaders, collectionHook: dataHook, contentRef, defaultHighlightedIndex, defaultSelected, disabled, disableAriaActiveDescendant, disableHighlightOnFocus, disableTypeToSelect, highlightedIndex: highlightedIndexProp, id, label, listHandlers: listHandlersProp, onClick: onClickProp, onDragStart, onDrop, onHighlight, onKeyboardNavigation, onKeyDown, onMoveListItem, onSelect, onSelectionChange, restoreLastFocus, selected, selectionStrategy, selectionKeys, stickyHeaders, tabToSelect, viewportRange, }: ListHookProps<Item, S>) => ListHookResult<Item>;
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { MeasuredSize } from "@vuu-ui/vuu-
|
|
2
|
-
import { RefObject } from "react";
|
|
1
|
+
import { MeasuredSize } from "@vuu-ui/vuu-ui-controls";
|
|
3
2
|
export interface ListHeightHookProps {
|
|
4
3
|
displayedItemCount: number;
|
|
5
4
|
getItemHeight?: (index: number) => number;
|
|
@@ -7,7 +6,6 @@ export interface ListHeightHookProps {
|
|
|
7
6
|
itemCount: number;
|
|
8
7
|
itemGapSize: number;
|
|
9
8
|
itemHeight?: number;
|
|
10
|
-
rootRef: RefObject<HTMLElement>;
|
|
11
9
|
size: MeasuredSize | undefined;
|
|
12
10
|
}
|
|
13
11
|
export interface HeightHookResult {
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { HTMLAttributes } from "react";
|
|
2
|
+
import { MeasuredSize } from "./useMeasuredContainer";
|
|
3
|
+
import "./MeasuredContainer.css";
|
|
4
|
+
export interface MeasuredContainerProps extends HTMLAttributes<HTMLDivElement> {
|
|
5
|
+
/**
|
|
6
|
+
* A numeric value for height will result in a fixed height. To adapt to container
|
|
7
|
+
* use either a percentage height or 'auto'. Always use 'auto' when rendering
|
|
8
|
+
* within a column based flex container, together with a flex value (use the
|
|
9
|
+
* --vuuMeasuredContainer-flex CSS custom property))
|
|
10
|
+
*/
|
|
11
|
+
height?: number | string;
|
|
12
|
+
onResize?: (size: MeasuredSize) => void;
|
|
13
|
+
width?: number | string;
|
|
14
|
+
}
|
|
15
|
+
export declare const MeasuredContainer: import("react").ForwardRefExoticComponent<MeasuredContainerProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { CSSProperties, RefObject } from "react";
|
|
2
|
+
import { MeasuredContainerProps } from "./MeasuredContainer";
|
|
3
|
+
export interface ClientSize {
|
|
4
|
+
clientHeight: number;
|
|
5
|
+
clientWidth: number;
|
|
6
|
+
}
|
|
7
|
+
export interface MeasuredProps extends Pick<MeasuredContainerProps, "height" | "onResize" | "width"> {
|
|
8
|
+
defaultHeight?: number;
|
|
9
|
+
defaultWidth?: number;
|
|
10
|
+
}
|
|
11
|
+
export type CssSize = Pick<CSSProperties, "height" | "width">;
|
|
12
|
+
export interface MeasuredSize {
|
|
13
|
+
height: number;
|
|
14
|
+
width: number;
|
|
15
|
+
}
|
|
16
|
+
export interface MeasuredContainerHookResult {
|
|
17
|
+
containerRef: RefObject<HTMLDivElement>;
|
|
18
|
+
cssSize: CssSize;
|
|
19
|
+
outerSize: CssSize;
|
|
20
|
+
innerSize?: MeasuredSize;
|
|
21
|
+
}
|
|
22
|
+
export declare const useMeasuredContainer: ({ defaultHeight, defaultWidth, height, onResize: onResizeProp, width, }: MeasuredProps) => MeasuredContainerHookResult;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { RefObject } from "react";
|
|
2
|
+
export declare const WidthHeight: string[];
|
|
3
|
+
export declare const WidthOnly: string[];
|
|
4
|
+
export type measurements<T = string | number> = {
|
|
5
|
+
height?: T;
|
|
6
|
+
clientHeight?: number;
|
|
7
|
+
clientWidth?: number;
|
|
8
|
+
contentHeight?: number;
|
|
9
|
+
contentWidth?: number;
|
|
10
|
+
scrollHeight?: number;
|
|
11
|
+
scrollWidth?: number;
|
|
12
|
+
width?: T;
|
|
13
|
+
};
|
|
14
|
+
export type ResizeHandler = (measurements: measurements<number>) => void;
|
|
15
|
+
export declare function useResizeObserver(ref: RefObject<Element | HTMLElement | null>, dimensions: readonly string[], onResize: ResizeHandler, reportInitialSize?: boolean): void;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { PopupMenuProps } from "@vuu-ui/vuu-popups";
|
|
2
|
+
import { orientationType } from "@vuu-ui/vuu-utils";
|
|
3
|
+
import React, { HTMLAttributes } from "react";
|
|
4
|
+
import { OverflowItem } from "./overflow-utils";
|
|
5
|
+
import "./OverflowContainer.css";
|
|
6
|
+
export interface OverflowContainerProps extends HTMLAttributes<HTMLDivElement> {
|
|
7
|
+
PopupMenuProps?: Partial<PopupMenuProps>;
|
|
8
|
+
allowDragDrop?: boolean;
|
|
9
|
+
debugId?: string;
|
|
10
|
+
height: number;
|
|
11
|
+
onMoveItem?: (fromIndex: number, toIndex: number) => void;
|
|
12
|
+
onSwitchWrappedItemIntoView?: (overflowItem: OverflowItem) => void;
|
|
13
|
+
orientation?: orientationType;
|
|
14
|
+
overflowIcon?: string;
|
|
15
|
+
overflowPosition?: "start" | "end" | number;
|
|
16
|
+
}
|
|
17
|
+
export declare const OverflowContainer: React.ForwardRefExoticComponent<OverflowContainerProps & React.RefAttributes<HTMLDivElement>>;
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { orientationType } from "@vuu-ui/vuu-utils";
|
|
2
|
+
export type OverflowItem = {
|
|
3
|
+
index: string;
|
|
4
|
+
label: string;
|
|
5
|
+
overflowPriority: string;
|
|
6
|
+
};
|
|
7
|
+
export declare const isOverflowElement: (element: HTMLElement | null) => boolean;
|
|
8
|
+
export declare const sortByScreenOrder: (elements: HTMLElement[]) => HTMLElement[];
|
|
9
|
+
export declare const NO_WRAPPED_ITEMS: OverflowItem[];
|
|
10
|
+
/**
|
|
11
|
+
Identify wrapped items by comparing position of each item. Any item
|
|
12
|
+
not to the right of preceeding item has wrapped. Note: on-screen
|
|
13
|
+
position of items does not necessarily match document position, due
|
|
14
|
+
to use of css order. This is taken into account by sorting.
|
|
15
|
+
TODO support Vertical orientation
|
|
16
|
+
*/
|
|
17
|
+
export declare const getNonWrappedAndWrappedItems: (container: HTMLElement, orientation?: orientationType) => [OverflowItem[], OverflowItem[]];
|
|
18
|
+
export declare const applyOverflowClassToWrappedItems: (container: HTMLElement, overflowedItems: OverflowItem[], classBase?: string) => void;
|
|
19
|
+
export declare const overflowIndicatorHasWrappedButShouldNotHave: (wrappedItems: OverflowItem[]) => boolean;
|
|
20
|
+
export declare const highPriorityItemsHaveWrappedButShouldNotHave: (nonWrappedItems: OverflowItem[], wrappedItems: OverflowItem[]) => boolean;
|
|
21
|
+
/**
|
|
22
|
+
An edge case that may occur when reducing width from unwrapped to
|
|
23
|
+
wrapped, or on first render.
|
|
24
|
+
We overflow one or more items. Then, when the overflowIndicator assumes
|
|
25
|
+
full width, it may itself overflow.
|
|
26
|
+
*/
|
|
27
|
+
export declare const correctForWrappedOverflowIndicator: (container: HTMLElement, overflowedItems: OverflowItem[]) => Promise<OverflowItem[]>;
|
|
28
|
+
/**
|
|
29
|
+
An edge case that may occur when reducing width from unwrapped to
|
|
30
|
+
wrapped, or on first render.
|
|
31
|
+
We overflow one or more items. Then, when the overflowIndicator assumes
|
|
32
|
+
full width, it may itself overflow.
|
|
33
|
+
*/
|
|
34
|
+
export declare const correctForWrappedHighPriorityItems: (container: HTMLElement, nonWrapped: OverflowItem[], wrapped: OverflowItem[]) => Promise<[OverflowItem[], OverflowItem[]]>;
|
|
35
|
+
export declare const markElementAsWrapped: (container: HTMLElement, item: OverflowItem) => void;
|
|
36
|
+
export declare const getElementsMarkedAsWrapped: (container: HTMLElement) => HTMLElement[];
|
|
37
|
+
export declare const unmarkItemsWhichAreNoLongerWrapped: (container: HTMLElement, wrappedItems: OverflowItem[]) => void;
|
|
38
|
+
/**
|
|
39
|
+
An edge case. If container has grown but we still have one
|
|
40
|
+
wrapped item - could the wrapped item return to the fold if the overflow
|
|
41
|
+
indicaor were removed ?
|
|
42
|
+
*/
|
|
43
|
+
export declare const removeOverflowIndicatorIfNoLongerNeeded: (container: HTMLElement) => boolean;
|
|
44
|
+
/**
|
|
45
|
+
* This is used both when an overflow menu is used to select an overflowed item
|
|
46
|
+
* and when a high priority item has overflowed, whilst lower priority items
|
|
47
|
+
* remain in view.
|
|
48
|
+
*/
|
|
49
|
+
export declare const switchWrappedItemIntoView: (container: HTMLElement, overflowItem: OverflowItem) => [OverflowItem[], OverflowItem[]];
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { MenuActionHandler, MenuBuilder } from "@vuu-ui/vuu-data-types";
|
|
3
|
+
import { OverflowItem } from "./overflow-utils";
|
|
4
|
+
import { OverflowContainerProps } from "./OverflowContainer";
|
|
5
|
+
export interface OverflowContainerHookProps extends Pick<OverflowContainerProps, "allowDragDrop" | "onMoveItem" | "orientation"> {
|
|
6
|
+
itemCount: number;
|
|
7
|
+
onSwitchWrappedItemIntoView?: (overflowItem: OverflowItem) => void;
|
|
8
|
+
}
|
|
9
|
+
export declare const useOverflowContainer: ({ allowDragDrop, itemCount, onMoveItem, onSwitchWrappedItemIntoView, orientation, }: OverflowContainerHookProps) => {
|
|
10
|
+
draggable?: JSX.Element | undefined;
|
|
11
|
+
dropIndicator?: JSX.Element | undefined;
|
|
12
|
+
draggedItemIndex?: number | undefined;
|
|
13
|
+
isDragging: boolean;
|
|
14
|
+
isScrolling: import("react").RefObject<boolean>;
|
|
15
|
+
revealOverflowedItems?: boolean | undefined;
|
|
16
|
+
menuActionHandler: MenuActionHandler;
|
|
17
|
+
menuBuilder: MenuBuilder<string, unknown>;
|
|
18
|
+
onItemMouseDown: import("react").MouseEventHandler<Element> | undefined;
|
|
19
|
+
rootRef: (el: HTMLDivElement | null) => void;
|
|
20
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { PopupMenuProps } from "@vuu-ui/vuu-popups";
|
|
2
|
+
import { ButtonProps } from "@salt-ds/core";
|
|
3
|
+
import { HTMLAttributes } from "react";
|
|
4
|
+
import "./SplitButton.css";
|
|
5
|
+
export interface SplitButtonProps extends HTMLAttributes<HTMLDivElement> {
|
|
6
|
+
ButtonProps?: Partial<ButtonProps>;
|
|
7
|
+
PopupMenuProps?: Partial<PopupMenuProps>;
|
|
8
|
+
buttonText: string;
|
|
9
|
+
segmented?: boolean;
|
|
10
|
+
}
|
|
11
|
+
export declare const SplitButton: ({ ButtonProps: ButtonPropsProp, PopupMenuProps: PopupMenuPropsProp, buttonText, onClick, segmented, ...htmlAttributes }: SplitButtonProps) => JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./SplitButton";
|
|
@@ -0,0 +1,289 @@
|
|
|
1
|
+
import { PopupMenuProps } from "@vuu-ui/vuu-popups";
|
|
2
|
+
import { FocusEventHandler, KeyboardEventHandler } from "react";
|
|
3
|
+
import { SplitButtonProps } from "./SplitButton";
|
|
4
|
+
export interface SplitButtonHookProps extends Pick<SplitButtonProps, "PopupMenuProps" | "ButtonProps" | "onClick" | "segmented"> {
|
|
5
|
+
classBase: string;
|
|
6
|
+
}
|
|
7
|
+
export declare const useSplitButton: ({ ButtonProps: ButtonPropsProp, PopupMenuProps, classBase, onClick, segmented, }: SplitButtonHookProps) => {
|
|
8
|
+
ButtonProps: {
|
|
9
|
+
onClick: ((evt: any) => void) | undefined;
|
|
10
|
+
onKeyDown: KeyboardEventHandler<HTMLButtonElement>;
|
|
11
|
+
disabled?: boolean | undefined;
|
|
12
|
+
focusableWhenDisabled?: boolean | undefined;
|
|
13
|
+
variant?: "primary" | "secondary" | "cta" | undefined;
|
|
14
|
+
type?: "button" | "reset" | "submit" | undefined;
|
|
15
|
+
className?: string | undefined;
|
|
16
|
+
hidden?: boolean | undefined;
|
|
17
|
+
name?: string | undefined;
|
|
18
|
+
value?: string | number | readonly string[] | undefined;
|
|
19
|
+
color?: string | undefined;
|
|
20
|
+
content?: string | undefined;
|
|
21
|
+
style?: import("react").CSSProperties | undefined;
|
|
22
|
+
key?: import("react").Key | null | undefined;
|
|
23
|
+
defaultChecked?: boolean | undefined;
|
|
24
|
+
defaultValue?: string | number | readonly string[] | undefined;
|
|
25
|
+
suppressContentEditableWarning?: boolean | undefined;
|
|
26
|
+
suppressHydrationWarning?: boolean | undefined;
|
|
27
|
+
accessKey?: string | undefined;
|
|
28
|
+
autoFocus?: boolean | undefined;
|
|
29
|
+
contentEditable?: "inherit" | (boolean | "false" | "true") | undefined;
|
|
30
|
+
contextMenu?: string | undefined;
|
|
31
|
+
dir?: string | undefined;
|
|
32
|
+
draggable?: (boolean | "false" | "true") | undefined;
|
|
33
|
+
id?: string | undefined;
|
|
34
|
+
lang?: string | undefined;
|
|
35
|
+
nonce?: string | undefined;
|
|
36
|
+
placeholder?: string | undefined;
|
|
37
|
+
slot?: string | undefined;
|
|
38
|
+
spellCheck?: (boolean | "false" | "true") | undefined;
|
|
39
|
+
tabIndex?: number | undefined;
|
|
40
|
+
title?: string | undefined;
|
|
41
|
+
translate?: "yes" | "no" | undefined;
|
|
42
|
+
radioGroup?: string | undefined;
|
|
43
|
+
role?: import("react").AriaRole | undefined;
|
|
44
|
+
about?: string | undefined;
|
|
45
|
+
datatype?: string | undefined;
|
|
46
|
+
inlist?: any;
|
|
47
|
+
prefix?: string | undefined;
|
|
48
|
+
property?: string | undefined;
|
|
49
|
+
rel?: string | undefined;
|
|
50
|
+
resource?: string | undefined;
|
|
51
|
+
rev?: string | undefined;
|
|
52
|
+
typeof?: string | undefined;
|
|
53
|
+
vocab?: string | undefined;
|
|
54
|
+
autoCapitalize?: string | undefined;
|
|
55
|
+
autoCorrect?: string | undefined;
|
|
56
|
+
autoSave?: string | undefined;
|
|
57
|
+
itemProp?: string | undefined;
|
|
58
|
+
itemScope?: boolean | undefined;
|
|
59
|
+
itemType?: string | undefined;
|
|
60
|
+
itemID?: string | undefined;
|
|
61
|
+
itemRef?: string | undefined;
|
|
62
|
+
results?: number | undefined;
|
|
63
|
+
security?: string | undefined;
|
|
64
|
+
unselectable?: "on" | "off" | undefined;
|
|
65
|
+
inputMode?: "none" | "text" | "search" | "tel" | "url" | "email" | "numeric" | "decimal" | undefined;
|
|
66
|
+
is?: string | undefined;
|
|
67
|
+
'aria-activedescendant'?: string | undefined;
|
|
68
|
+
'aria-atomic'?: (boolean | "false" | "true") | undefined;
|
|
69
|
+
'aria-autocomplete'?: "both" | "none" | "inline" | "list" | undefined;
|
|
70
|
+
'aria-busy'?: (boolean | "false" | "true") | undefined;
|
|
71
|
+
'aria-checked'?: boolean | "mixed" | "false" | "true" | undefined;
|
|
72
|
+
'aria-colcount'?: number | undefined;
|
|
73
|
+
'aria-colindex'?: number | undefined;
|
|
74
|
+
'aria-colspan'?: number | undefined;
|
|
75
|
+
'aria-controls'?: string | undefined;
|
|
76
|
+
'aria-current'?: boolean | "page" | "false" | "true" | "step" | "location" | "date" | "time" | undefined;
|
|
77
|
+
'aria-describedby'?: string | undefined;
|
|
78
|
+
'aria-details'?: string | undefined;
|
|
79
|
+
'aria-disabled'?: (boolean | "false" | "true") | undefined;
|
|
80
|
+
'aria-dropeffect'?: "none" | "copy" | "move" | "link" | "execute" | "popup" | undefined;
|
|
81
|
+
'aria-errormessage'?: string | undefined;
|
|
82
|
+
'aria-expanded'?: (boolean | "false" | "true") | undefined;
|
|
83
|
+
'aria-flowto'?: string | undefined;
|
|
84
|
+
'aria-grabbed'?: (boolean | "false" | "true") | undefined;
|
|
85
|
+
'aria-haspopup'?: boolean | "listbox" | "grid" | "menu" | "false" | "true" | "dialog" | "tree" | undefined;
|
|
86
|
+
'aria-hidden'?: (boolean | "false" | "true") | undefined;
|
|
87
|
+
'aria-invalid'?: boolean | "false" | "true" | "grammar" | "spelling" | undefined;
|
|
88
|
+
'aria-keyshortcuts'?: string | undefined;
|
|
89
|
+
'aria-label'?: string | undefined;
|
|
90
|
+
'aria-labelledby'?: string | undefined;
|
|
91
|
+
'aria-level'?: number | undefined;
|
|
92
|
+
'aria-live'?: "off" | "assertive" | "polite" | undefined;
|
|
93
|
+
'aria-modal'?: (boolean | "false" | "true") | undefined;
|
|
94
|
+
'aria-multiline'?: (boolean | "false" | "true") | undefined;
|
|
95
|
+
'aria-multiselectable'?: (boolean | "false" | "true") | undefined;
|
|
96
|
+
'aria-orientation'?: "horizontal" | "vertical" | undefined;
|
|
97
|
+
'aria-owns'?: string | undefined;
|
|
98
|
+
'aria-placeholder'?: string | undefined;
|
|
99
|
+
'aria-posinset'?: number | undefined;
|
|
100
|
+
'aria-pressed'?: boolean | "mixed" | "false" | "true" | undefined;
|
|
101
|
+
'aria-readonly'?: (boolean | "false" | "true") | undefined;
|
|
102
|
+
'aria-relevant'?: "all" | "text" | "additions" | "additions removals" | "additions text" | "removals" | "removals additions" | "removals text" | "text additions" | "text removals" | undefined;
|
|
103
|
+
'aria-required'?: (boolean | "false" | "true") | undefined;
|
|
104
|
+
'aria-roledescription'?: string | undefined;
|
|
105
|
+
'aria-rowcount'?: number | undefined;
|
|
106
|
+
'aria-rowindex'?: number | undefined;
|
|
107
|
+
'aria-rowspan'?: number | undefined;
|
|
108
|
+
'aria-selected'?: (boolean | "false" | "true") | undefined;
|
|
109
|
+
'aria-setsize'?: number | undefined;
|
|
110
|
+
'aria-sort'?: "none" | "ascending" | "descending" | "other" | undefined;
|
|
111
|
+
'aria-valuemax'?: number | undefined;
|
|
112
|
+
'aria-valuemin'?: number | undefined;
|
|
113
|
+
'aria-valuenow'?: number | undefined;
|
|
114
|
+
'aria-valuetext'?: string | undefined;
|
|
115
|
+
children?: import("react").ReactNode;
|
|
116
|
+
dangerouslySetInnerHTML?: {
|
|
117
|
+
__html: string | TrustedHTML;
|
|
118
|
+
} | undefined;
|
|
119
|
+
onCopy?: import("react").ClipboardEventHandler<HTMLButtonElement> | undefined;
|
|
120
|
+
onCopyCapture?: import("react").ClipboardEventHandler<HTMLButtonElement> | undefined;
|
|
121
|
+
onCut?: import("react").ClipboardEventHandler<HTMLButtonElement> | undefined;
|
|
122
|
+
onCutCapture?: import("react").ClipboardEventHandler<HTMLButtonElement> | undefined;
|
|
123
|
+
onPaste?: import("react").ClipboardEventHandler<HTMLButtonElement> | undefined;
|
|
124
|
+
onPasteCapture?: import("react").ClipboardEventHandler<HTMLButtonElement> | undefined;
|
|
125
|
+
onCompositionEnd?: import("react").CompositionEventHandler<HTMLButtonElement> | undefined;
|
|
126
|
+
onCompositionEndCapture?: import("react").CompositionEventHandler<HTMLButtonElement> | undefined;
|
|
127
|
+
onCompositionStart?: import("react").CompositionEventHandler<HTMLButtonElement> | undefined;
|
|
128
|
+
onCompositionStartCapture?: import("react").CompositionEventHandler<HTMLButtonElement> | undefined;
|
|
129
|
+
onCompositionUpdate?: import("react").CompositionEventHandler<HTMLButtonElement> | undefined;
|
|
130
|
+
onCompositionUpdateCapture?: import("react").CompositionEventHandler<HTMLButtonElement> | undefined;
|
|
131
|
+
onFocus?: FocusEventHandler<HTMLButtonElement> | undefined;
|
|
132
|
+
onFocusCapture?: FocusEventHandler<HTMLButtonElement> | undefined;
|
|
133
|
+
onBlur?: FocusEventHandler<HTMLButtonElement> | undefined;
|
|
134
|
+
onBlurCapture?: FocusEventHandler<HTMLButtonElement> | undefined;
|
|
135
|
+
onChange?: import("react").FormEventHandler<HTMLButtonElement> | undefined;
|
|
136
|
+
onChangeCapture?: import("react").FormEventHandler<HTMLButtonElement> | undefined;
|
|
137
|
+
onBeforeInput?: import("react").FormEventHandler<HTMLButtonElement> | undefined;
|
|
138
|
+
onBeforeInputCapture?: import("react").FormEventHandler<HTMLButtonElement> | undefined;
|
|
139
|
+
onInput?: import("react").FormEventHandler<HTMLButtonElement> | undefined;
|
|
140
|
+
onInputCapture?: import("react").FormEventHandler<HTMLButtonElement> | undefined;
|
|
141
|
+
onReset?: import("react").FormEventHandler<HTMLButtonElement> | undefined;
|
|
142
|
+
onResetCapture?: import("react").FormEventHandler<HTMLButtonElement> | undefined;
|
|
143
|
+
onSubmit?: import("react").FormEventHandler<HTMLButtonElement> | undefined;
|
|
144
|
+
onSubmitCapture?: import("react").FormEventHandler<HTMLButtonElement> | undefined;
|
|
145
|
+
onInvalid?: import("react").FormEventHandler<HTMLButtonElement> | undefined;
|
|
146
|
+
onInvalidCapture?: import("react").FormEventHandler<HTMLButtonElement> | undefined;
|
|
147
|
+
onLoad?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
|
|
148
|
+
onLoadCapture?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
|
|
149
|
+
onError?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
|
|
150
|
+
onErrorCapture?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
|
|
151
|
+
onKeyDownCapture?: KeyboardEventHandler<HTMLButtonElement> | undefined;
|
|
152
|
+
onKeyPress?: KeyboardEventHandler<HTMLButtonElement> | undefined;
|
|
153
|
+
onKeyPressCapture?: KeyboardEventHandler<HTMLButtonElement> | undefined;
|
|
154
|
+
onKeyUp?: KeyboardEventHandler<HTMLButtonElement> | undefined;
|
|
155
|
+
onKeyUpCapture?: KeyboardEventHandler<HTMLButtonElement> | undefined;
|
|
156
|
+
onAbort?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
|
|
157
|
+
onAbortCapture?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
|
|
158
|
+
onCanPlay?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
|
|
159
|
+
onCanPlayCapture?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
|
|
160
|
+
onCanPlayThrough?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
|
|
161
|
+
onCanPlayThroughCapture?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
|
|
162
|
+
onDurationChange?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
|
|
163
|
+
onDurationChangeCapture?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
|
|
164
|
+
onEmptied?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
|
|
165
|
+
onEmptiedCapture?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
|
|
166
|
+
onEncrypted?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
|
|
167
|
+
onEncryptedCapture?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
|
|
168
|
+
onEnded?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
|
|
169
|
+
onEndedCapture?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
|
|
170
|
+
onLoadedData?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
|
|
171
|
+
onLoadedDataCapture?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
|
|
172
|
+
onLoadedMetadata?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
|
|
173
|
+
onLoadedMetadataCapture?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
|
|
174
|
+
onLoadStart?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
|
|
175
|
+
onLoadStartCapture?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
|
|
176
|
+
onPause?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
|
|
177
|
+
onPauseCapture?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
|
|
178
|
+
onPlay?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
|
|
179
|
+
onPlayCapture?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
|
|
180
|
+
onPlaying?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
|
|
181
|
+
onPlayingCapture?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
|
|
182
|
+
onProgress?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
|
|
183
|
+
onProgressCapture?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
|
|
184
|
+
onRateChange?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
|
|
185
|
+
onRateChangeCapture?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
|
|
186
|
+
onSeeked?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
|
|
187
|
+
onSeekedCapture?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
|
|
188
|
+
onSeeking?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
|
|
189
|
+
onSeekingCapture?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
|
|
190
|
+
onStalled?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
|
|
191
|
+
onStalledCapture?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
|
|
192
|
+
onSuspend?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
|
|
193
|
+
onSuspendCapture?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
|
|
194
|
+
onTimeUpdate?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
|
|
195
|
+
onTimeUpdateCapture?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
|
|
196
|
+
onVolumeChange?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
|
|
197
|
+
onVolumeChangeCapture?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
|
|
198
|
+
onWaiting?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
|
|
199
|
+
onWaitingCapture?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
|
|
200
|
+
onAuxClick?: import("react").MouseEventHandler<HTMLButtonElement> | undefined;
|
|
201
|
+
onAuxClickCapture?: import("react").MouseEventHandler<HTMLButtonElement> | undefined;
|
|
202
|
+
onClickCapture?: import("react").MouseEventHandler<HTMLButtonElement> | undefined;
|
|
203
|
+
onContextMenu?: import("react").MouseEventHandler<HTMLButtonElement> | undefined;
|
|
204
|
+
onContextMenuCapture?: import("react").MouseEventHandler<HTMLButtonElement> | undefined;
|
|
205
|
+
onDoubleClick?: import("react").MouseEventHandler<HTMLButtonElement> | undefined;
|
|
206
|
+
onDoubleClickCapture?: import("react").MouseEventHandler<HTMLButtonElement> | undefined;
|
|
207
|
+
onDrag?: import("react").DragEventHandler<HTMLButtonElement> | undefined;
|
|
208
|
+
onDragCapture?: import("react").DragEventHandler<HTMLButtonElement> | undefined;
|
|
209
|
+
onDragEnd?: import("react").DragEventHandler<HTMLButtonElement> | undefined;
|
|
210
|
+
onDragEndCapture?: import("react").DragEventHandler<HTMLButtonElement> | undefined;
|
|
211
|
+
onDragEnter?: import("react").DragEventHandler<HTMLButtonElement> | undefined;
|
|
212
|
+
onDragEnterCapture?: import("react").DragEventHandler<HTMLButtonElement> | undefined;
|
|
213
|
+
onDragExit?: import("react").DragEventHandler<HTMLButtonElement> | undefined;
|
|
214
|
+
onDragExitCapture?: import("react").DragEventHandler<HTMLButtonElement> | undefined;
|
|
215
|
+
onDragLeave?: import("react").DragEventHandler<HTMLButtonElement> | undefined;
|
|
216
|
+
onDragLeaveCapture?: import("react").DragEventHandler<HTMLButtonElement> | undefined;
|
|
217
|
+
onDragOver?: import("react").DragEventHandler<HTMLButtonElement> | undefined;
|
|
218
|
+
onDragOverCapture?: import("react").DragEventHandler<HTMLButtonElement> | undefined;
|
|
219
|
+
onDragStart?: import("react").DragEventHandler<HTMLButtonElement> | undefined;
|
|
220
|
+
onDragStartCapture?: import("react").DragEventHandler<HTMLButtonElement> | undefined;
|
|
221
|
+
onDrop?: import("react").DragEventHandler<HTMLButtonElement> | undefined;
|
|
222
|
+
onDropCapture?: import("react").DragEventHandler<HTMLButtonElement> | undefined;
|
|
223
|
+
onMouseDown?: import("react").MouseEventHandler<HTMLButtonElement> | undefined;
|
|
224
|
+
onMouseDownCapture?: import("react").MouseEventHandler<HTMLButtonElement> | undefined;
|
|
225
|
+
onMouseEnter?: import("react").MouseEventHandler<HTMLButtonElement> | undefined;
|
|
226
|
+
onMouseLeave?: import("react").MouseEventHandler<HTMLButtonElement> | undefined;
|
|
227
|
+
onMouseMove?: import("react").MouseEventHandler<HTMLButtonElement> | undefined;
|
|
228
|
+
onMouseMoveCapture?: import("react").MouseEventHandler<HTMLButtonElement> | undefined;
|
|
229
|
+
onMouseOut?: import("react").MouseEventHandler<HTMLButtonElement> | undefined;
|
|
230
|
+
onMouseOutCapture?: import("react").MouseEventHandler<HTMLButtonElement> | undefined;
|
|
231
|
+
onMouseOver?: import("react").MouseEventHandler<HTMLButtonElement> | undefined;
|
|
232
|
+
onMouseOverCapture?: import("react").MouseEventHandler<HTMLButtonElement> | undefined;
|
|
233
|
+
onMouseUp?: import("react").MouseEventHandler<HTMLButtonElement> | undefined;
|
|
234
|
+
onMouseUpCapture?: import("react").MouseEventHandler<HTMLButtonElement> | undefined;
|
|
235
|
+
onSelect?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
|
|
236
|
+
onSelectCapture?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
|
|
237
|
+
onTouchCancel?: import("react").TouchEventHandler<HTMLButtonElement> | undefined;
|
|
238
|
+
onTouchCancelCapture?: import("react").TouchEventHandler<HTMLButtonElement> | undefined;
|
|
239
|
+
onTouchEnd?: import("react").TouchEventHandler<HTMLButtonElement> | undefined;
|
|
240
|
+
onTouchEndCapture?: import("react").TouchEventHandler<HTMLButtonElement> | undefined;
|
|
241
|
+
onTouchMove?: import("react").TouchEventHandler<HTMLButtonElement> | undefined;
|
|
242
|
+
onTouchMoveCapture?: import("react").TouchEventHandler<HTMLButtonElement> | undefined;
|
|
243
|
+
onTouchStart?: import("react").TouchEventHandler<HTMLButtonElement> | undefined;
|
|
244
|
+
onTouchStartCapture?: import("react").TouchEventHandler<HTMLButtonElement> | undefined;
|
|
245
|
+
onPointerDown?: import("react").PointerEventHandler<HTMLButtonElement> | undefined;
|
|
246
|
+
onPointerDownCapture?: import("react").PointerEventHandler<HTMLButtonElement> | undefined;
|
|
247
|
+
onPointerMove?: import("react").PointerEventHandler<HTMLButtonElement> | undefined;
|
|
248
|
+
onPointerMoveCapture?: import("react").PointerEventHandler<HTMLButtonElement> | undefined;
|
|
249
|
+
onPointerUp?: import("react").PointerEventHandler<HTMLButtonElement> | undefined;
|
|
250
|
+
onPointerUpCapture?: import("react").PointerEventHandler<HTMLButtonElement> | undefined;
|
|
251
|
+
onPointerCancel?: import("react").PointerEventHandler<HTMLButtonElement> | undefined;
|
|
252
|
+
onPointerCancelCapture?: import("react").PointerEventHandler<HTMLButtonElement> | undefined;
|
|
253
|
+
onPointerEnter?: import("react").PointerEventHandler<HTMLButtonElement> | undefined;
|
|
254
|
+
onPointerEnterCapture?: import("react").PointerEventHandler<HTMLButtonElement> | undefined;
|
|
255
|
+
onPointerLeave?: import("react").PointerEventHandler<HTMLButtonElement> | undefined;
|
|
256
|
+
onPointerLeaveCapture?: import("react").PointerEventHandler<HTMLButtonElement> | undefined;
|
|
257
|
+
onPointerOver?: import("react").PointerEventHandler<HTMLButtonElement> | undefined;
|
|
258
|
+
onPointerOverCapture?: import("react").PointerEventHandler<HTMLButtonElement> | undefined;
|
|
259
|
+
onPointerOut?: import("react").PointerEventHandler<HTMLButtonElement> | undefined;
|
|
260
|
+
onPointerOutCapture?: import("react").PointerEventHandler<HTMLButtonElement> | undefined;
|
|
261
|
+
onGotPointerCapture?: import("react").PointerEventHandler<HTMLButtonElement> | undefined;
|
|
262
|
+
onGotPointerCaptureCapture?: import("react").PointerEventHandler<HTMLButtonElement> | undefined;
|
|
263
|
+
onLostPointerCapture?: import("react").PointerEventHandler<HTMLButtonElement> | undefined;
|
|
264
|
+
onLostPointerCaptureCapture?: import("react").PointerEventHandler<HTMLButtonElement> | undefined;
|
|
265
|
+
onScroll?: import("react").UIEventHandler<HTMLButtonElement> | undefined;
|
|
266
|
+
onScrollCapture?: import("react").UIEventHandler<HTMLButtonElement> | undefined;
|
|
267
|
+
onWheel?: import("react").WheelEventHandler<HTMLButtonElement> | undefined;
|
|
268
|
+
onWheelCapture?: import("react").WheelEventHandler<HTMLButtonElement> | undefined;
|
|
269
|
+
onAnimationStart?: import("react").AnimationEventHandler<HTMLButtonElement> | undefined;
|
|
270
|
+
onAnimationStartCapture?: import("react").AnimationEventHandler<HTMLButtonElement> | undefined;
|
|
271
|
+
onAnimationEnd?: import("react").AnimationEventHandler<HTMLButtonElement> | undefined;
|
|
272
|
+
onAnimationEndCapture?: import("react").AnimationEventHandler<HTMLButtonElement> | undefined;
|
|
273
|
+
onAnimationIteration?: import("react").AnimationEventHandler<HTMLButtonElement> | undefined;
|
|
274
|
+
onAnimationIterationCapture?: import("react").AnimationEventHandler<HTMLButtonElement> | undefined;
|
|
275
|
+
onTransitionEnd?: import("react").TransitionEventHandler<HTMLButtonElement> | undefined;
|
|
276
|
+
onTransitionEndCapture?: import("react").TransitionEventHandler<HTMLButtonElement> | undefined;
|
|
277
|
+
form?: string | undefined;
|
|
278
|
+
formAction?: string | undefined;
|
|
279
|
+
formEncType?: string | undefined;
|
|
280
|
+
formMethod?: string | undefined;
|
|
281
|
+
formNoValidate?: boolean | undefined;
|
|
282
|
+
formTarget?: string | undefined;
|
|
283
|
+
};
|
|
284
|
+
PopupMenuProps: PopupMenuProps;
|
|
285
|
+
buttonRef: import("react").RefObject<HTMLButtonElement>;
|
|
286
|
+
rootRef: import("react").RefObject<HTMLDivElement>;
|
|
287
|
+
onClick: ((evt: any) => void) | undefined;
|
|
288
|
+
onFocus: FocusEventHandler<Element>;
|
|
289
|
+
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { MenuActionHandler } from "@vuu-ui/vuu-data-types";
|
|
2
|
-
import type { OverflowItem } from "@vuu-ui/vuu-
|
|
2
|
+
import type { OverflowItem } from "@vuu-ui/vuu-ui-controls";
|
|
3
3
|
import { orientationType } from "@vuu-ui/vuu-utils";
|
|
4
4
|
import { KeyboardEvent, MouseEvent as ReactMouseEvent, RefObject } from "react";
|
|
5
5
|
export type ExitEditModeHandler = (originalValue: string, editedValue: string, allowDeactivation: boolean, tabIndex: number) => void;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { SelectionStrategy, SpecialKeyMultipleSelection } from "@vuu-ui/vuu-ui-controls";
|
|
3
|
+
import { OverflowContainerProps } from "../overflow-container";
|
|
4
|
+
import "./Toolbar.css";
|
|
5
|
+
export type ActiveItemChangeHandler = (itemIndex: number[]) => void;
|
|
6
|
+
export type NavigationOutOfBoundsHandler = (direction: "start" | "end") => void;
|
|
7
|
+
export interface ToolbarProps extends OverflowContainerProps {
|
|
8
|
+
activeItemIndex?: number[];
|
|
9
|
+
alignItems?: "start" | "center" | "end";
|
|
10
|
+
defaultActiveItemIndex?: number[];
|
|
11
|
+
onActiveChange?: ActiveItemChangeHandler;
|
|
12
|
+
/**
|
|
13
|
+
* Indicates that user has used Arrow key navigation to move beyond the
|
|
14
|
+
* last or before the first item. A higher level component may want to
|
|
15
|
+
* use this to implement a seamless navigation across components.
|
|
16
|
+
*/
|
|
17
|
+
onNavigateOutOfBounds?: NavigationOutOfBoundsHandler;
|
|
18
|
+
selectionStrategy?: SelectionStrategy | SpecialKeyMultipleSelection;
|
|
19
|
+
showSeparators?: boolean;
|
|
20
|
+
}
|
|
21
|
+
export declare const Toolbar: ({ activeItemIndex: activeItemIndexProp, alignItems, defaultActiveItemIndex, children, className, id: idProp, onActiveChange, onNavigateOutOfBounds, orientation, selectionStrategy, showSeparators, ...props }: ToolbarProps) => JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./Toolbar";
|