stratosphere-ui 0.3.4-gio-2 → 0.4.0-beta1

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.
@@ -1,5 +1,5 @@
1
1
  /// <reference types="react" />
2
2
  import { FieldValues } from 'react-hook-form';
3
- import { ComboboxProps } from './types';
4
3
  import { GenericDataType } from '../../common';
5
- export declare const ComboboxMulti: <DataItem extends GenericDataType, Values extends FieldValues>({ children, className, getItemValue, name, selectedItems, setSelectedItems, }: ComboboxProps<DataItem, Values>) => JSX.Element;
4
+ import { ComboboxProps } from './types';
5
+ export declare const ComboboxMulti: <DataItem extends GenericDataType, Values extends FieldValues>({ children, className, disabled, formValueMode, name, options, selectedItems, setSelectedItems, }: ComboboxProps<DataItem, Values>) => JSX.Element;
@@ -1,5 +1,5 @@
1
1
  /// <reference types="react" />
2
2
  import { FieldValues } from 'react-hook-form';
3
- import { ComboboxProps } from './types';
4
3
  import { GenericDataType } from '../../common';
5
- export declare const ComboboxSingle: <DataItem extends GenericDataType, Values extends FieldValues>({ children, className, getItemValue, name, selectedItems, setShowDropdown, setSelectedItems, }: ComboboxProps<DataItem, Values>) => JSX.Element;
4
+ import { ComboboxProps } from './types';
5
+ export declare const ComboboxSingle: <DataItem extends GenericDataType, Values extends FieldValues>({ children, className, disabled, formValueMode, name, options, selectedItems, setShowDropdown, setSelectedItems, }: ComboboxProps<DataItem, Values>) => JSX.Element;
@@ -1,5 +1,5 @@
1
1
  /// <reference types="react" />
2
2
  import { FieldValues } from 'react-hook-form';
3
- import { ListboxProps } from './types';
4
3
  import { GenericDataType } from '../../common';
5
- export declare const FormSelectMulti: <DataItem extends GenericDataType, Values extends FieldValues>({ children, className, disabled, getItemValue, name, selectedItems, setSelectedItems, }: ListboxProps<DataItem, Values>) => JSX.Element;
4
+ import { ListboxProps } from './types';
5
+ export declare const FormSelectMulti: <DataItem extends GenericDataType, Values extends FieldValues>({ children, className, disabled, formValueMode, name, options, selectedItems, setSelectedItems, }: ListboxProps<DataItem, Values>) => JSX.Element;
@@ -1,5 +1,5 @@
1
1
  /// <reference types="react" />
2
2
  import { FieldValues } from 'react-hook-form';
3
- import { ListboxProps } from './types';
4
3
  import { GenericDataType } from '../../common';
5
- export declare const FormSelectSingle: <DataItem extends GenericDataType, Values extends FieldValues>({ children, className, disabled, getItemValue, name, selectedItems, setSelectedItems, }: ListboxProps<DataItem, Values>) => JSX.Element;
4
+ import { ListboxProps } from './types';
5
+ export declare const FormSelectSingle: <DataItem extends GenericDataType, Values extends FieldValues>({ children, className, disabled, formValueMode, name, options, selectedItems, setSelectedItems, }: ListboxProps<DataItem, Values>) => JSX.Element;
@@ -1,8 +1,9 @@
1
+ import { Dictionary } from 'lodash';
1
2
  import { Dispatch, ReactNode, SetStateAction } from 'react';
2
3
  import { FieldValues, Path, UseControllerProps } from 'react-hook-form';
4
+ import { GenericDataType } from '../../common';
3
5
  import { SelectProps } from '../Select';
4
6
  import { TypeaheadSelectProps } from '../TypeaheadSelect';
5
- import { GenericDataType } from '../../common';
6
7
  export interface FormFieldProps<Values extends FieldValues> {
7
8
  controllerProps?: Omit<UseControllerProps<Values>, 'name'>;
8
9
  isRequired?: boolean;
@@ -11,15 +12,27 @@ export interface FormFieldProps<Values extends FieldValues> {
11
12
  placeholder?: string;
12
13
  showDirty?: boolean;
13
14
  }
14
- export interface ComboboxProps<DataItem extends GenericDataType, Values extends FieldValues> extends Pick<TypeaheadSelectProps<DataItem, Values>, 'className' | 'getItemValue' | 'name'> {
15
+ export interface ComboboxProps<DataItem extends GenericDataType, Values extends FieldValues> extends Pick<TypeaheadSelectProps<DataItem, Values>, 'className' | 'formValueMode' | 'name'> {
15
16
  children: ReactNode;
17
+ disabled?: boolean;
18
+ options: Dictionary<DataItem[]>;
16
19
  selectedItems: DataItem[];
17
20
  setShowDropdown: Dispatch<SetStateAction<boolean>>;
18
21
  setSelectedItems: Dispatch<SetStateAction<DataItem[]>>;
19
22
  }
20
- export interface ListboxProps<DataItem extends GenericDataType, Values extends FieldValues> extends Pick<SelectProps<DataItem, Values>, 'className' | 'getItemValue' | 'name'> {
23
+ export interface ListboxProps<DataItem extends GenericDataType, Values extends FieldValues> extends Pick<SelectProps<DataItem, Values>, 'className' | 'formValueMode' | 'name'> {
21
24
  children?: ReactNode;
22
25
  disabled?: boolean;
26
+ options: Dictionary<DataItem[]>;
27
+ selectedItems: DataItem[];
28
+ setSelectedItems: Dispatch<SetStateAction<DataItem[]>>;
29
+ }
30
+ export type FormValueMode = 'item' | 'id';
31
+ export interface SelectSyncOptions<Values extends FieldValues, DataItem extends GenericDataType> {
32
+ name: Path<Values>;
33
+ onItemSelect?: (items: DataItem[]) => void;
34
+ options: Dictionary<DataItem[]>;
23
35
  selectedItems: DataItem[];
24
36
  setSelectedItems: Dispatch<SetStateAction<DataItem[]>>;
37
+ valueMode: FormValueMode;
25
38
  }
@@ -0,0 +1,4 @@
1
+ import { FieldValues } from 'react-hook-form';
2
+ import { GenericDataType } from '../../common';
3
+ import { SelectSyncOptions } from './types';
4
+ export declare const useMultiSelectFormSync: <Values extends FieldValues, DataItem extends GenericDataType>({ name, onItemSelect, options, selectedItems, setSelectedItems, valueMode, }: SelectSyncOptions<Values, DataItem>) => void;
@@ -0,0 +1,4 @@
1
+ import { FieldValues } from 'react-hook-form';
2
+ import { GenericDataType } from '../../common';
3
+ import { SelectSyncOptions } from './types';
4
+ export declare const useSingleSelectFormSync: <Values extends FieldValues, DataItem extends GenericDataType>({ name, onItemSelect, options, selectedItems, setSelectedItems, valueMode, }: SelectSyncOptions<Values, DataItem>) => void;
@@ -1,19 +1,18 @@
1
1
  import { ReactNode } from 'react';
2
2
  import { ComponentColor } from 'react-daisyui/dist/types';
3
3
  import { FieldValues } from 'react-hook-form';
4
- import { FormFieldProps } from '../Form';
5
4
  import { GenericDataType } from '../../common';
5
+ import { FormFieldProps, FormValueMode } from '../Form';
6
6
  export interface SelectProps<DataItem extends GenericDataType, Values extends FieldValues> extends Omit<FormFieldProps<Values>, 'controllerProps' | 'placeholder' | 'showDirty'> {
7
7
  buttonColor?: ComponentColor;
8
8
  className?: string;
9
- defaultOptionId?: string | number;
10
9
  disabled?: boolean;
11
10
  dropdownIcon?: ReactNode;
11
+ formValueMode?: FormValueMode;
12
12
  getItemText: (data: DataItem) => string;
13
- getItemValue?: (data: DataItem) => string | number;
14
13
  menuClassName?: string;
15
14
  multi?: true;
16
15
  options: DataItem[];
17
16
  showDirty?: boolean;
18
17
  }
19
- export declare const Select: <DataItem extends GenericDataType, Values extends FieldValues>({ buttonColor, className, defaultOptionId, disabled, dropdownIcon, getItemText, getItemValue, isRequired, labelText, menuClassName, multi, name, options, showDirty, }: SelectProps<DataItem, Values>) => JSX.Element;
18
+ export declare const Select: <DataItem extends GenericDataType, Values extends FieldValues>({ buttonColor, className, disabled, dropdownIcon, formValueMode, getItemText, isRequired, labelText, menuClassName, multi, name, options: optionsArray, showDirty, }: SelectProps<DataItem, Values>) => JSX.Element;
@@ -1,17 +1,18 @@
1
1
  import { KeyboardEventHandler } from 'react';
2
2
  import { FieldValues } from 'react-hook-form';
3
- import { FormFieldProps } from '../Form';
4
3
  import { GenericDataType } from '../../common';
5
4
  import { UseTypeaheadQueryOptions } from '../../hooks';
5
+ import { FormFieldProps, FormValueMode } from '../Form';
6
6
  export interface TypeaheadSelectProps<DataItem extends GenericDataType, Values extends FieldValues> extends UseTypeaheadQueryOptions<DataItem>, FormFieldProps<Values> {
7
7
  className?: string;
8
+ disabled?: boolean;
8
9
  disableSingleSelectBadge?: true;
10
+ formValueMode?: FormValueMode;
9
11
  getBadgeText?: (item: DataItem) => string;
10
12
  getItemText: (data: DataItem) => string;
11
- getItemValue?: (data: DataItem) => string | number;
12
13
  inputPlaceholder?: string;
13
14
  menuClassName?: string;
14
15
  multi?: true;
15
16
  onKeyDown?: KeyboardEventHandler<HTMLInputElement>;
16
17
  }
17
- export declare const TypeaheadSelect: <DataItem extends GenericDataType, Values extends FieldValues>({ className, controllerProps, debounceTime, defaultOptions, disableSingleSelectBadge, getBadgeText, getItemText, getItemValue, inputPlaceholder, isRequired, labelText, menuClassName, multi, name, onDebouncedChange, onKeyDown, options, placeholder, showDirty, }: TypeaheadSelectProps<DataItem, Values>) => JSX.Element;
18
+ export declare const TypeaheadSelect: <DataItem extends GenericDataType, Values extends FieldValues>({ className, controllerProps, debounceTime, disabled, disableSingleSelectBadge, formValueMode, getBadgeText, getItemText, inputPlaceholder, isRequired, labelText, menuClassName, multi, name, onDebouncedChange, onKeyDown, options: optionsArray, placeholder, showDirty, }: TypeaheadSelectProps<DataItem, Values>) => JSX.Element;
@@ -2,4 +2,6 @@ export * from './useDebouncedValue';
2
2
  export * from './useFieldColor';
3
3
  export * from './useFormValues';
4
4
  export * from './useOutsideClick';
5
+ export * from './usePrevious';
5
6
  export * from './useTypeaheadQuery';
7
+ export * from './useValueChangeEffect';
@@ -0,0 +1 @@
1
+ export declare const usePrevious: <T>(value: T) => T | undefined;
@@ -2,7 +2,6 @@ import { Dispatch, SetStateAction } from 'react';
2
2
  import { GenericDataType } from '../common';
3
3
  export interface UseTypeaheadQueryOptions<DataItem> {
4
4
  debounceTime?: number;
5
- defaultOptions?: DataItem[];
6
5
  onDebouncedChange: (value: string) => void;
7
6
  options?: DataItem[];
8
7
  }
@@ -0,0 +1,2 @@
1
+ import { DependencyList, EffectCallback } from 'react';
2
+ export declare const useValueChangeEffect: <Value>(value: Value, effect: EffectCallback, deps?: DependencyList) => void;