@jobber/components 6.85.2 → 6.86.0
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/Autocomplete/Autocomplete.d.ts +3 -3
- package/dist/Autocomplete/Autocomplete.rebuilt.d.ts +8 -0
- package/dist/Autocomplete/Autocomplete.types.d.ts +389 -4
- package/dist/Autocomplete/components/MenuList.d.ts +37 -0
- package/dist/Autocomplete/components/PersistentRegion.d.ts +18 -0
- package/dist/Autocomplete/hooks/useAutocompleteListNav.d.ts +22 -0
- package/dist/Autocomplete/index.cjs +1330 -37
- package/dist/Autocomplete/index.d.ts +31 -1
- package/dist/Autocomplete/index.mjs +1322 -21
- package/dist/Autocomplete/tests/Autocomplete.setup.d.ts +38 -0
- package/dist/Autocomplete/useAutocomplete.d.ts +66 -0
- package/dist/Autocomplete/utils/menuModel.d.ts +14 -0
- package/dist/floating-ui.react-cjs.js +988 -0
- package/dist/floating-ui.react-es.js +987 -1
- package/dist/index.cjs +16 -15
- package/dist/index.mjs +12 -11
- package/dist/styles.css +443 -315
- package/package.json +2 -2
- package/dist/Autocomplete-cjs.js +0 -357
- package/dist/Autocomplete-es.js +0 -344
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { type AutocompleteRebuiltProps, type MenuItem, type OptionLike } from "../Autocomplete.types";
|
|
3
|
+
export declare function Wrapper<T extends OptionLike>({ initialValue, initialInputValue, onChange, onInputChange, onBlur, onFocus, menu, openOnFocus, filterOptions, emptyActions, customRenderOption, customRenderAction, customRenderSection, customRenderInput, customRenderHeader, customRenderFooter, loading, customRenderLoading, emptyStateMessage, ref, readOnly, UNSAFE_className, UNSAFE_styles, debounce, }: {
|
|
4
|
+
readonly initialValue?: T;
|
|
5
|
+
readonly initialInputValue?: string;
|
|
6
|
+
readonly onChange?: (v: T | undefined) => void;
|
|
7
|
+
readonly onInputChange?: (v: string) => void;
|
|
8
|
+
readonly onBlur?: () => void;
|
|
9
|
+
readonly onFocus?: () => void;
|
|
10
|
+
readonly menu?: MenuItem<T>[];
|
|
11
|
+
readonly openOnFocus?: boolean;
|
|
12
|
+
readonly filterOptions?: false | ((opts: T[], input: string) => T[]);
|
|
13
|
+
readonly emptyActions?: AutocompleteRebuiltProps<T, false>["emptyActions"];
|
|
14
|
+
readonly customRenderOption?: AutocompleteRebuiltProps<T, false>["customRenderOption"];
|
|
15
|
+
readonly customRenderAction?: AutocompleteRebuiltProps<T, false>["customRenderAction"];
|
|
16
|
+
readonly customRenderInput?: AutocompleteRebuiltProps<T, false>["customRenderInput"];
|
|
17
|
+
readonly customRenderHeader?: AutocompleteRebuiltProps<T, false>["customRenderHeader"];
|
|
18
|
+
readonly customRenderFooter?: AutocompleteRebuiltProps<T, false>["customRenderFooter"];
|
|
19
|
+
readonly customRenderSection?: AutocompleteRebuiltProps<T, false>["customRenderSection"];
|
|
20
|
+
readonly loading?: boolean;
|
|
21
|
+
readonly customRenderLoading?: React.ReactNode;
|
|
22
|
+
readonly emptyStateMessage?: React.ReactNode;
|
|
23
|
+
readonly ref?: React.Ref<HTMLInputElement | HTMLTextAreaElement>;
|
|
24
|
+
readonly UNSAFE_className?: AutocompleteRebuiltProps<T, false>["UNSAFE_className"];
|
|
25
|
+
readonly UNSAFE_styles?: AutocompleteRebuiltProps<T, false>["UNSAFE_styles"];
|
|
26
|
+
readonly readOnly?: boolean;
|
|
27
|
+
readonly debounce?: number;
|
|
28
|
+
}): React.JSX.Element;
|
|
29
|
+
export declare function FreeFormWrapper({ initialValue, initialInputValue, onChange, onInputChange, menu, openOnFocus, inputEqualsOption, debounce, }: {
|
|
30
|
+
readonly initialValue?: OptionLike;
|
|
31
|
+
readonly initialInputValue?: string;
|
|
32
|
+
readonly onChange?: (v: OptionLike | undefined) => void;
|
|
33
|
+
readonly onInputChange?: (v: string) => void;
|
|
34
|
+
readonly menu?: MenuItem<OptionLike>[];
|
|
35
|
+
readonly openOnFocus?: boolean;
|
|
36
|
+
readonly inputEqualsOption?: (input: string, option: OptionLike) => boolean;
|
|
37
|
+
readonly debounce?: number;
|
|
38
|
+
}): React.JSX.Element;
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import type React from "react";
|
|
2
|
+
import type { ActionConfig, ActionOrigin, AutocompleteRebuiltProps, MenuAction, MenuSection, OptionLike } from "./Autocomplete.types";
|
|
3
|
+
export type RenderItem<T extends OptionLike, S extends object = Record<string, unknown>, A extends object = Record<string, unknown>> = {
|
|
4
|
+
kind: "option";
|
|
5
|
+
value: T;
|
|
6
|
+
} | {
|
|
7
|
+
kind: "action";
|
|
8
|
+
action: MenuAction<A>;
|
|
9
|
+
origin?: ActionOrigin;
|
|
10
|
+
} | {
|
|
11
|
+
kind: "section";
|
|
12
|
+
section: MenuSection<T, S, A>;
|
|
13
|
+
};
|
|
14
|
+
export declare function useAutocomplete<Value extends OptionLike, Multiple extends boolean = false, SectionExtra extends object = Record<string, unknown>, ActionExtra extends object = Record<string, unknown>>(props: AutocompleteRebuiltProps<Value, Multiple, SectionExtra, ActionExtra>): {
|
|
15
|
+
renderable: RenderItem<Value, SectionExtra, ActionExtra>[];
|
|
16
|
+
optionCount: number;
|
|
17
|
+
persistentsHeaders: import("./Autocomplete.types").MenuHeader<ActionExtra>[];
|
|
18
|
+
persistentsFooters: import("./Autocomplete.types").MenuFooter<ActionExtra>[];
|
|
19
|
+
headerInteractiveCount: number;
|
|
20
|
+
middleNavigableCount: number;
|
|
21
|
+
getOptionLabel: (opt: Value) => string;
|
|
22
|
+
isOptionSelected: (opt: Value) => boolean;
|
|
23
|
+
refs: {
|
|
24
|
+
reference: React.MutableRefObject<import("@floating-ui/react-dom").ReferenceType | null>;
|
|
25
|
+
floating: React.MutableRefObject<HTMLElement | null>;
|
|
26
|
+
setReference: (node: import("@floating-ui/react-dom").ReferenceType | null) => void;
|
|
27
|
+
setFloating: (node: HTMLElement | null) => void;
|
|
28
|
+
} & import("@floating-ui/react").ExtendedRefs<import("@floating-ui/react").ReferenceType>;
|
|
29
|
+
floatingStyles: React.CSSProperties;
|
|
30
|
+
context: {
|
|
31
|
+
x: number;
|
|
32
|
+
y: number;
|
|
33
|
+
placement: import("@floating-ui/utils").Placement;
|
|
34
|
+
strategy: import("@floating-ui/utils").Strategy;
|
|
35
|
+
middlewareData: import("@floating-ui/core").MiddlewareData;
|
|
36
|
+
isPositioned: boolean;
|
|
37
|
+
update: () => void;
|
|
38
|
+
floatingStyles: React.CSSProperties;
|
|
39
|
+
open: boolean;
|
|
40
|
+
onOpenChange: (open: boolean, event?: Event, reason?: import("@floating-ui/react").OpenChangeReason) => void;
|
|
41
|
+
events: import("@floating-ui/react").FloatingEvents;
|
|
42
|
+
dataRef: React.MutableRefObject<import("@floating-ui/react").ContextData>;
|
|
43
|
+
nodeId: string | undefined;
|
|
44
|
+
floatingId: string | undefined;
|
|
45
|
+
refs: import("@floating-ui/react").ExtendedRefs<import("@floating-ui/react").ReferenceType>;
|
|
46
|
+
elements: import("@floating-ui/react").ExtendedElements<import("@floating-ui/react").ReferenceType>;
|
|
47
|
+
};
|
|
48
|
+
getReferenceProps: (userProps?: React.HTMLProps<Element>) => Record<string, unknown>;
|
|
49
|
+
getFloatingProps: (userProps?: React.HTMLProps<HTMLElement>) => Record<string, unknown>;
|
|
50
|
+
getItemProps: (userProps?: Omit<React.HTMLProps<HTMLElement>, "selected" | "active"> & {
|
|
51
|
+
active?: boolean;
|
|
52
|
+
selected?: boolean;
|
|
53
|
+
}) => Record<string, unknown>;
|
|
54
|
+
open: boolean;
|
|
55
|
+
setOpen: (open: boolean) => void;
|
|
56
|
+
activeIndex: number | null;
|
|
57
|
+
setActiveIndex: (index: number | null) => void;
|
|
58
|
+
listRef: React.MutableRefObject<(HTMLElement | null)[]>;
|
|
59
|
+
onSelection: (option: Value) => void;
|
|
60
|
+
onAction: (action: ActionConfig) => void;
|
|
61
|
+
onInputChangeFromUser: (val: string) => void;
|
|
62
|
+
onInputBlur: () => void;
|
|
63
|
+
onInputFocus: () => void;
|
|
64
|
+
onInputKeyDown: (event: React.KeyboardEvent) => void;
|
|
65
|
+
setReferenceElement: (el: HTMLElement | null) => void;
|
|
66
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type React from "react";
|
|
2
|
+
import type { ActionConfig, MenuFooter, MenuHeader, MenuItem, MenuOptions, MenuSection, OptionLike } from "../Autocomplete.types";
|
|
3
|
+
import type { RenderItem } from "../useAutocomplete";
|
|
4
|
+
export declare function flattenMenu<Value extends OptionLike, S extends object, A extends object>(menu: MenuItem<Value, S, A>[]): {
|
|
5
|
+
optionItems: Value[];
|
|
6
|
+
sections: (MenuSection<Value, S, A> | MenuOptions<Value, A>)[];
|
|
7
|
+
persistentsHeaders: MenuHeader<A>[];
|
|
8
|
+
persistentsFooters: MenuFooter<A>[];
|
|
9
|
+
};
|
|
10
|
+
export declare function buildItemsForGroup<Value extends OptionLike, S extends object, A extends object>(group: MenuSection<Value, S, A> | MenuOptions<Value, A>, optionsFilter?: (opts: Value[]) => Value[]): Array<RenderItem<Value, S, A>>;
|
|
11
|
+
export declare function buildRenderableList<Value extends OptionLike, S extends object, A extends object>(sections: Array<MenuSection<Value, S, A> | MenuOptions<Value, A>>, optionsFilter?: (opts: Value[]) => Value[]): RenderItem<Value, S, A>[];
|
|
12
|
+
export declare function getNavigableItemAtIndex<Value extends OptionLike, S extends object, A extends object>(activeIndex: number | null, renderable: Array<RenderItem<Value, S, A>>): RenderItem<Value, S, A> | null;
|
|
13
|
+
export declare function findNavigableIndexForValue<Value extends OptionLike, S extends object, A extends object>(renderable: Array<RenderItem<Value, S, A>>, equals: (a: Value, b: Value) => boolean, selectedValue: Value): number | null;
|
|
14
|
+
export declare function invokeActiveItemOnEnter<Value extends OptionLike, S extends object, A extends object>(event: React.KeyboardEvent, activeIndex: number | null, renderable: Array<RenderItem<Value, S, A>>, onSelect: (option: Value) => void, onAction: (action: ActionConfig) => void): void;
|