@scbt-ecom/ui 0.98.0 → 0.100.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.
Files changed (31) hide show
  1. package/dist/lib/shared/ui/dropdownList/DropdownList.js +1 -1
  2. package/dist/lib/shared/ui/dropdownList/DropdownList.js.map +1 -1
  3. package/dist/lib/shared/ui/dropdownList/hooks/model/index.js +2 -0
  4. package/dist/lib/shared/ui/dropdownList/hooks/model/index.js.map +1 -0
  5. package/dist/lib/shared/ui/dropdownList/hooks/model/scrollTo.js +2 -0
  6. package/dist/lib/shared/ui/dropdownList/hooks/model/scrollTo.js.map +1 -0
  7. package/dist/lib/shared/ui/dropdownList/hooks/useKeyboardNavigation.js +1 -1
  8. package/dist/lib/shared/ui/dropdownList/hooks/useKeyboardNavigation.js.map +1 -1
  9. package/dist/lib/shared/ui/formElements/controlled/combobox/ComboboxControl.js +1 -1
  10. package/dist/lib/shared/ui/formElements/controlled/combobox/ComboboxControl.js.map +1 -1
  11. package/dist/lib/shared/ui/formElements/controlled/combobox/hooks/index.js +2 -0
  12. package/dist/lib/shared/ui/formElements/controlled/combobox/hooks/index.js.map +1 -0
  13. package/dist/lib/shared/ui/formElements/controlled/combobox/hooks/useComboboxControl.js +2 -0
  14. package/dist/lib/shared/ui/formElements/controlled/combobox/hooks/useComboboxControl.js.map +1 -0
  15. package/dist/lib/shared/ui/formElements/uncontrolled/combobox/combobox.js +1 -1
  16. package/dist/lib/shared/ui/formElements/uncontrolled/combobox/combobox.js.map +1 -1
  17. package/dist/lib/shared/ui/formElements/uncontrolled/combobox/hooks/useCombobox.js +1 -1
  18. package/dist/lib/shared/ui/formElements/uncontrolled/combobox/hooks/useCombobox.js.map +1 -1
  19. package/dist/lib/widgets/model/helpers.js +2 -2
  20. package/dist/lib/widgets/model/helpers.js.map +1 -1
  21. package/dist/stats.html +1 -1
  22. package/dist/types/lib/shared/ui/dropdownList/DropdownList.d.ts +2 -1
  23. package/dist/types/lib/shared/ui/dropdownList/hooks/model/index.d.ts +1 -0
  24. package/dist/types/lib/shared/ui/dropdownList/hooks/model/scrollTo.d.ts +10 -0
  25. package/dist/types/lib/shared/ui/dropdownList/hooks/useKeyboardNavigation.d.ts +4 -3
  26. package/dist/types/lib/shared/ui/formElements/controlled/combobox/ComboboxControl.d.ts +2 -2
  27. package/dist/types/lib/shared/ui/formElements/controlled/combobox/hooks/index.d.ts +1 -0
  28. package/dist/types/lib/shared/ui/formElements/controlled/combobox/hooks/useComboboxControl.d.ts +14 -0
  29. package/dist/types/lib/shared/ui/formElements/controlled/index.d.ts +1 -1
  30. package/dist/types/lib/shared/ui/formElements/uncontrolled/combobox/hooks/useCombobox.d.ts +2 -2
  31. package/package.json +1 -1
@@ -26,5 +26,6 @@ export interface DropdownListProps<Multi extends boolean = false> extends React.
26
26
  * Дополнительные стили
27
27
  */
28
28
  classes?: DropdownListClasses;
29
+ target?: React.RefObject<HTMLElement>;
29
30
  }
30
- export declare const DropdownList: <Multi extends boolean>({ options, multiple, onPick, value, className, displayValue, classes, ...props }: DropdownListProps<Multi>) => import("react/jsx-runtime").JSX.Element;
31
+ export declare const DropdownList: <Multi extends boolean>({ options, multiple, onPick, value, className, displayValue, classes, target, ...props }: DropdownListProps<Multi>) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export { scrollTo } from './scrollTo';
@@ -0,0 +1,10 @@
1
+ import { DropdownItemOption } from '../../ui/dropdownItem';
2
+ type ScrollToProps = {
3
+ focusedIndex: number;
4
+ options: DropdownItemOption[];
5
+ elements: HTMLElement[];
6
+ container: HTMLElement;
7
+ behavior?: 'smooth' | 'instant';
8
+ };
9
+ export declare const scrollTo: (direction: 1 | -1, params: ScrollToProps) => number;
10
+ export {};
@@ -1,10 +1,11 @@
1
1
  import { DropdownItemOption } from '../ui/dropdownItem';
2
- export type UseKeyboardNavigationProps = {
2
+ export type UseKeyboardNavigationProps<Multi extends boolean> = {
3
3
  options: DropdownItemOption[];
4
- multiple?: boolean;
4
+ multiple?: Multi;
5
5
  onPick?: (option: DropdownItemOption) => void;
6
+ value?: Multi extends true ? DropdownItemOption[] : DropdownItemOption | null;
6
7
  };
7
- export declare const useKeyboardNavigation: <Container extends HTMLElement, Element extends HTMLElement>({ options, multiple, onPick }: UseKeyboardNavigationProps) => {
8
+ export declare const useKeyboardNavigation: <Container extends HTMLElement, Element extends HTMLElement, Multi extends boolean = false>({ options, multiple, onPick, value }: UseKeyboardNavigationProps<Multi>) => {
8
9
  refs: {
9
10
  setReference: (node: Element | null) => void;
10
11
  setRoot: () => import('react').RefObject<Container>;
@@ -5,10 +5,10 @@ export type ComboboxControlClasses = {
5
5
  message?: string;
6
6
  combobox?: ComboboxClasses;
7
7
  };
8
- export type ComboboxControlProps<TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>> = UseControllerProps<TFieldValues, TName> & ComboboxProps<false> & {
8
+ export type ComboboxControlProps<Multi extends boolean = false, TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>> = UseControllerProps<TFieldValues, TName> & ComboboxProps<Multi> & {
9
9
  control: Control<TFieldValues>;
10
10
  helperText?: string;
11
11
  returnValue?: (option: ComboboxItemOption) => string | null;
12
12
  classes?: ComboboxControlClasses;
13
13
  };
14
- export declare const ComboboxControl: <TFieldValues extends FieldValues>({ control, className, name, rules, shouldUnregister, disabled, defaultValue, options, helperText, returnValue, classes, ...props }: ComboboxControlProps<TFieldValues>) => import("react/jsx-runtime").JSX.Element;
14
+ export declare const ComboboxControl: <Multi extends boolean = false, TFieldValues extends FieldValues = FieldValues>({ control, className, name, rules, shouldUnregister, disabled, defaultValue, options, helperText, returnValue, classes, multiple, ...props }: ComboboxControlProps<Multi, TFieldValues>) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export { useComboboxControl } from './useComboboxControl';
@@ -0,0 +1,14 @@
1
+ import { ChangeHandler, ComboboxItemOption, ComboboxValue } from '../../../../../../../shared/ui/formElements/uncontrolled/combobox';
2
+ type Value<Multi extends boolean> = Multi extends true ? string[] : string | null;
3
+ interface UseComboboxControlProps<Multi extends boolean> {
4
+ multiple?: Multi;
5
+ options: ComboboxItemOption[];
6
+ returnValue?: (option: ComboboxItemOption) => string | null;
7
+ onChange: (...event: any[]) => void;
8
+ value: Value<Multi>;
9
+ }
10
+ export declare const useComboboxControl: <Multi extends boolean>({ options, multiple, onChange, returnValue, value }: UseComboboxControlProps<Multi>) => {
11
+ changeHandler: ChangeHandler<Multi>;
12
+ selected: ComboboxValue<Multi>;
13
+ };
14
+ export {};
@@ -43,5 +43,5 @@ export declare const Controlled: {
43
43
  UploaderControl: <TFieldValues extends import('react-hook-form').FieldValues>({ control, name, defaultValue, rules, shouldUnregister, classes, helperText, disabled, ...props }: import('./uploader').UploaderControlProps<TFieldValues>) => import("react/jsx-runtime").JSX.Element;
44
44
  InputOtpControl: <TFieldValues extends import('react-hook-form').FieldValues = import('react-hook-form').FieldValues>({ control, name, defaultValue, disabled, rules, shouldUnregister, classes, helperText, ...props }: import('./inputOtp').InputOtpControlProps<TFieldValues>) => import("react/jsx-runtime").JSX.Element;
45
45
  InputCurrencyControl: <T extends import('react-hook-form').FieldValues>({ defaultCurrency, label, helperText, control, classes, disabled, name, defaultValue, rules, attachmentProps, shouldUnregister, externalHandlers, ...props }: import('./inputCurrency').InputCurrencyControlProps<T>) => import("react/jsx-runtime").JSX.Element;
46
- ComboboxControl: <TFieldValues extends import('react-hook-form').FieldValues>({ control, className, name, rules, shouldUnregister, disabled, defaultValue, options, helperText, returnValue, classes, ...props }: import('./combobox').ComboboxControlProps<TFieldValues>) => import("react/jsx-runtime").JSX.Element;
46
+ ComboboxControl: <Multi extends boolean = false, TFieldValues extends import('react-hook-form').FieldValues = import('react-hook-form').FieldValues>({ control, className, name, rules, shouldUnregister, disabled, defaultValue, options, helperText, returnValue, classes, multiple, ...props }: import('./combobox').ComboboxControlProps<Multi, TFieldValues>) => import("react/jsx-runtime").JSX.Element;
47
47
  };
@@ -17,11 +17,11 @@ type UseComboboxOptions<Multi extends boolean> = {
17
17
  export declare const useCombobox: <Multi extends boolean>(props: UseComboboxOptions<Multi>) => {
18
18
  open: boolean;
19
19
  setOpen: import('react').Dispatch<import('react').SetStateAction<boolean>>;
20
- changeHandler: (value: ComboboxItemOption) => void;
20
+ changeHandler: (newValue: ComboboxItemOption) => void;
21
21
  options: ComboboxItemOption[];
22
22
  search: string;
23
23
  onInputChange: (e: React.ChangeEvent<HTMLInputElement>) => void;
24
- state: ComboboxValue<Multi>;
24
+ state: ComboboxValue<Multi> | undefined;
25
25
  comboboxDisplayValue: (value: ComboboxValue<Multi>) => string | undefined;
26
26
  };
27
27
  export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@scbt-ecom/ui",
3
- "version": "0.98.0",
3
+ "version": "0.100.0",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": {