@mindly/ui-components 5.95.6 → 5.96.1

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 (62) hide show
  1. package/dist/cjs/index.js +6 -6
  2. package/dist/cjs/lib2/features/FilterFeature/FilterBooleanFeature.d.ts +7 -0
  3. package/dist/cjs/lib2/features/FilterFeature/FilterChipsFeature.d.ts +10 -0
  4. package/dist/cjs/lib2/features/FilterFeature/FilterFeature.d.ts +19 -0
  5. package/dist/cjs/lib2/features/FilterFeature/FilterLabelFeature.d.ts +3 -0
  6. package/dist/cjs/lib2/features/FilterFeature/FilterRangeFeature.d.ts +15 -0
  7. package/dist/cjs/lib2/features/FilterFeature/FilterSelectFeature.d.ts +8 -0
  8. package/dist/cjs/lib2/features/FilterFeature/index.d.ts +2 -0
  9. package/dist/cjs/lib2/features/FilterFeature/styles.d.ts +52 -0
  10. package/dist/cjs/lib2/features/FilterFeature/types.d.ts +15 -0
  11. package/dist/cjs/lib2/features/TabsToolbarFeature/types.d.ts +5 -2
  12. package/dist/cjs/lib2/features/index.d.ts +1 -0
  13. package/dist/cjs/lib2/shared/assets/icons/IconFilters.d.ts +3 -0
  14. package/dist/cjs/lib2/shared/assets/icons/index.d.ts +1 -0
  15. package/dist/cjs/lib2/shared/hooks/index.d.ts +3 -0
  16. package/dist/cjs/lib2/shared/hooks/useDeepCompareEffect.d.ts +1 -0
  17. package/dist/cjs/lib2/shared/hooks/useDeepUpdateEffect.d.ts +2 -0
  18. package/dist/cjs/lib2/shared/hooks/useUpdateEffect.d.ts +2 -0
  19. package/dist/cjs/lib2/shared/types/common.d.ts +5 -0
  20. package/dist/cjs/lib2/shared/types/filter.d.ts +8 -0
  21. package/dist/cjs/lib2/shared/types/index.d.ts +1 -0
  22. package/dist/cjs/lib2/shared/types/specialistTypes.d.ts +3 -1
  23. package/dist/cjs/lib2/shared/utils/filter.d.ts +5 -0
  24. package/dist/cjs/lib2/shared/utils/index.d.ts +1 -0
  25. package/dist/cjs/lib2/widgets/FiltersWidget/FiltersWidget.d.ts +4 -0
  26. package/dist/cjs/lib2/widgets/FiltersWidget/FiltersWidget.styles.d.ts +3 -0
  27. package/dist/cjs/lib2/widgets/FiltersWidget/FiltersWidgetSkeleton.d.ts +3 -0
  28. package/dist/cjs/lib2/widgets/FiltersWidget/index.d.ts +2 -0
  29. package/dist/cjs/lib2/widgets/FiltersWidget/types.d.ts +45 -0
  30. package/dist/cjs/lib2/widgets/index.d.ts +1 -0
  31. package/dist/esm/index.js +6 -6
  32. package/dist/esm/lib2/features/FilterFeature/FilterBooleanFeature.d.ts +7 -0
  33. package/dist/esm/lib2/features/FilterFeature/FilterChipsFeature.d.ts +10 -0
  34. package/dist/esm/lib2/features/FilterFeature/FilterFeature.d.ts +19 -0
  35. package/dist/esm/lib2/features/FilterFeature/FilterLabelFeature.d.ts +3 -0
  36. package/dist/esm/lib2/features/FilterFeature/FilterRangeFeature.d.ts +15 -0
  37. package/dist/esm/lib2/features/FilterFeature/FilterSelectFeature.d.ts +8 -0
  38. package/dist/esm/lib2/features/FilterFeature/index.d.ts +2 -0
  39. package/dist/esm/lib2/features/FilterFeature/styles.d.ts +52 -0
  40. package/dist/esm/lib2/features/FilterFeature/types.d.ts +15 -0
  41. package/dist/esm/lib2/features/TabsToolbarFeature/types.d.ts +5 -2
  42. package/dist/esm/lib2/features/index.d.ts +1 -0
  43. package/dist/esm/lib2/shared/assets/icons/IconFilters.d.ts +3 -0
  44. package/dist/esm/lib2/shared/assets/icons/index.d.ts +1 -0
  45. package/dist/esm/lib2/shared/hooks/index.d.ts +3 -0
  46. package/dist/esm/lib2/shared/hooks/useDeepCompareEffect.d.ts +1 -0
  47. package/dist/esm/lib2/shared/hooks/useDeepUpdateEffect.d.ts +2 -0
  48. package/dist/esm/lib2/shared/hooks/useUpdateEffect.d.ts +2 -0
  49. package/dist/esm/lib2/shared/types/common.d.ts +5 -0
  50. package/dist/esm/lib2/shared/types/filter.d.ts +8 -0
  51. package/dist/esm/lib2/shared/types/index.d.ts +1 -0
  52. package/dist/esm/lib2/shared/types/specialistTypes.d.ts +3 -1
  53. package/dist/esm/lib2/shared/utils/filter.d.ts +5 -0
  54. package/dist/esm/lib2/shared/utils/index.d.ts +1 -0
  55. package/dist/esm/lib2/widgets/FiltersWidget/FiltersWidget.d.ts +4 -0
  56. package/dist/esm/lib2/widgets/FiltersWidget/FiltersWidget.styles.d.ts +3 -0
  57. package/dist/esm/lib2/widgets/FiltersWidget/FiltersWidgetSkeleton.d.ts +3 -0
  58. package/dist/esm/lib2/widgets/FiltersWidget/index.d.ts +2 -0
  59. package/dist/esm/lib2/widgets/FiltersWidget/types.d.ts +45 -0
  60. package/dist/esm/lib2/widgets/index.d.ts +1 -0
  61. package/dist/index.d.ts +115 -4
  62. package/package.json +1 -1
@@ -0,0 +1,7 @@
1
+ import React, { FC } from 'react';
2
+ export declare const ToggleStyled: import("styled-components").StyledComponent<React.ForwardRefExoticComponent<import("@ionic/core/dist/types/components").JSX.IonToggle & Pick<React.HTMLAttributes<HTMLIonToggleElement>, "slot" | "title" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "className" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "hidden" | "id" | "lang" | "placeholder" | "spellCheck" | "tabIndex" | "translate" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "color" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "children" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture"> & import("@ionic/react/dist/types/components/react-component-lib/interfaces").StyleReactProps & React.RefAttributes<HTMLIonToggleElement>>, any, {}, never>;
3
+ export type FilterBooleanFeatureProps = {
4
+ className?: string;
5
+ };
6
+ declare const FilterBooleanFeature: FC<FilterBooleanFeatureProps>;
7
+ export default FilterBooleanFeature;
@@ -0,0 +1,10 @@
1
+ import React, { FC } from 'react';
2
+ import { FilterOption } from '../../shared/types/filter';
3
+ export type FilterChipsFeatureProps = {
4
+ className?: string;
5
+ classNameChip?: string;
6
+ limit?: number;
7
+ renderChip?(option: FilterOption): React.ReactNode;
8
+ };
9
+ declare const FilterChipsFeature: FC<FilterChipsFeatureProps>;
10
+ export default FilterChipsFeature;
@@ -0,0 +1,19 @@
1
+ import React, { PropsWithChildren } from 'react';
2
+ import { FilterFeatureProps } from './types';
3
+ import { getMappedFilterValue } from '../../shared/utils/filter';
4
+ import { FilterValue } from '../../shared/types/filter';
5
+ type FilterFeatureContextType = {
6
+ value: ReturnType<typeof getMappedFilterValue>;
7
+ changeFilterValue(v: FilterValue): void;
8
+ modalRef: React.RefObject<HTMLIonModalElement>;
9
+ } & FilterFeatureProps;
10
+ export declare const useFilterFeatureContext: () => FilterFeatureContextType;
11
+ declare function FilterFeature(props: PropsWithChildren<FilterFeatureProps>): JSX.Element;
12
+ declare namespace FilterFeature {
13
+ var Select: React.FC<import("./FilterSelectFeature").FilterSelectFeatureProps>;
14
+ var Chips: React.FC<import("./FilterChipsFeature").FilterChipsFeatureProps>;
15
+ var Range: React.FC<import("./FilterRangeFeature").FilterRangeFeatureProps>;
16
+ var Boolean: React.FC<import("./FilterBooleanFeature").FilterBooleanFeatureProps>;
17
+ var Label: React.FC<{}>;
18
+ }
19
+ export default FilterFeature;
@@ -0,0 +1,3 @@
1
+ import { FC } from 'react';
2
+ declare const FilterLabelFeature: FC;
3
+ export default FilterLabelFeature;
@@ -0,0 +1,15 @@
1
+ import React, { FC } from 'react';
2
+ import { SupportedCurrency } from '../../shared';
3
+ export type FilterRangeFeatureProps = {
4
+ className?: string;
5
+ min?: number;
6
+ max?: number;
7
+ step?: number;
8
+ dualKnobs?: boolean;
9
+ snaps?: boolean;
10
+ ticks?: boolean;
11
+ currency?: SupportedCurrency;
12
+ };
13
+ export declare const RangeStyled: import("styled-components").StyledComponent<React.ForwardRefExoticComponent<import("@ionic/core/dist/types/components").JSX.IonRange & Pick<React.HTMLAttributes<HTMLIonRangeElement>, "slot" | "title" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "className" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "hidden" | "id" | "lang" | "placeholder" | "spellCheck" | "tabIndex" | "translate" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "color" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "children" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture"> & import("@ionic/react/dist/types/components/react-component-lib/interfaces").StyleReactProps & React.RefAttributes<HTMLIonRangeElement>>, any, {}, never>;
14
+ declare const FilterRangeFeature: FC<FilterRangeFeatureProps>;
15
+ export default FilterRangeFeature;
@@ -0,0 +1,8 @@
1
+ import React, { FC } from 'react';
2
+ export declare const CheckboxStyled: import("styled-components").StyledComponent<React.ForwardRefExoticComponent<import("@ionic/core/dist/types/components").JSX.IonCheckbox & Pick<React.HTMLAttributes<HTMLIonCheckboxElement>, "slot" | "title" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "className" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "hidden" | "id" | "lang" | "placeholder" | "spellCheck" | "tabIndex" | "translate" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "color" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "children" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture"> & import("@ionic/react/dist/types/components/react-component-lib/interfaces").StyleReactProps & React.RefAttributes<HTMLIonCheckboxElement>>, any, {}, never>;
3
+ export type FilterSelectFeatureProps = {
4
+ className?: string;
5
+ optionClassName?: string;
6
+ };
7
+ declare const FilterSelectFeature: FC<FilterSelectFeatureProps>;
8
+ export default FilterSelectFeature;
@@ -0,0 +1,2 @@
1
+ export { default } from './FilterFeature';
2
+ export * from './types';
@@ -0,0 +1,52 @@
1
+ export declare const filterOptionStyles: import("tailwind-variants").TVReturnType<{
2
+ size: {
3
+ default: {
4
+ base: string;
5
+ };
6
+ };
7
+ }, {
8
+ root: string;
9
+ base: string;
10
+ }, undefined, import("tailwind-variants/dist/config").TVConfig<{
11
+ size: {
12
+ default: {
13
+ base: string;
14
+ };
15
+ };
16
+ }, {
17
+ size: {
18
+ default: {
19
+ base: string;
20
+ };
21
+ };
22
+ }>, {
23
+ size: {
24
+ default: {
25
+ base: string;
26
+ };
27
+ };
28
+ }, {
29
+ root: string;
30
+ base: string;
31
+ }, import("tailwind-variants").TVReturnType<{
32
+ size: {
33
+ default: {
34
+ base: string;
35
+ };
36
+ };
37
+ }, {
38
+ root: string;
39
+ base: string;
40
+ }, undefined, import("tailwind-variants/dist/config").TVConfig<{
41
+ size: {
42
+ default: {
43
+ base: string;
44
+ };
45
+ };
46
+ }, {
47
+ size: {
48
+ default: {
49
+ base: string;
50
+ };
51
+ };
52
+ }>, unknown, unknown, undefined>>;
@@ -0,0 +1,15 @@
1
+ import { WithTranslation } from 'react-i18next';
2
+ import { FilterOption, FilterValue } from '../../shared/types/filter';
3
+ import { BadgeProps } from '../../shared/ui/Badge/types';
4
+ export type FilterFeatureProps = {
5
+ presentingElement?: HTMLElement;
6
+ options?: FilterOption[];
7
+ value?: FilterValue;
8
+ t?: WithTranslation['t'];
9
+ className?: string;
10
+ label?: string;
11
+ badge?: BadgeProps;
12
+ description?: string;
13
+ multiple?: boolean;
14
+ onChange?(value: FilterValue): void;
15
+ };
@@ -1,11 +1,12 @@
1
1
  /// <reference types="react" />
2
2
  import { Specialist, UserType } from '../../shared';
3
- export type TabsToolbarItemIcon = 'schedule' | 'list' | 'profile';
3
+ export type TabsToolbarItemIcon = 'schedule' | 'list' | 'profile' | 'chat';
4
4
  export type TabsToolbarItem = {
5
5
  label: string;
6
6
  icon: string | React.JSX.Element;
7
7
  iconSelected?: string | React.JSX.Element;
8
8
  href: string;
9
+ badge?: number;
9
10
  selected?: boolean;
10
11
  };
11
12
  export type TabsToolbarProps = {
@@ -15,5 +16,7 @@ export type TabsToolbarProps = {
15
16
  slot?: 'bottom' | 'top';
16
17
  items: TabsToolbarItem[];
17
18
  selectedTab: string;
18
- onTabChange?(tab: string): void;
19
+ onTabWillChange?(e: CustomEvent<{
20
+ tab: string;
21
+ }>): void;
19
22
  };
@@ -33,6 +33,7 @@ export * from './SpecialistAreaListFeature';
33
33
  export * from './TextWithClampFeature';
34
34
  export * from './ReviewListFeature';
35
35
  export * from './SpecialistEducationsFeature';
36
+ export * from './FilterFeature';
36
37
  export * from './SpecialistPreviewFeature';
37
38
  export * from './AppHeaderPageFeature';
38
39
  export * from './TabsToolbarFeature';
@@ -0,0 +1,3 @@
1
+ import * as React from 'react';
2
+ import { IconProps } from '../../types/iconProps';
3
+ export declare const IconFilters: React.FC<IconProps>;
@@ -97,6 +97,7 @@ export * from './IconPlay';
97
97
  export * from './IconStudyHat';
98
98
  export * from './IconMindlyColored';
99
99
  export * from './IconUser';
100
+ export * from './IconFilters';
100
101
  export * from './IconEmptyList';
101
102
  export * from './IconChat';
102
103
  export * from './IconMindlyMini';
@@ -4,3 +4,6 @@ export * from './useAutoFocus';
4
4
  export * from './useToastContext';
5
5
  export * from './useCircleRating';
6
6
  export * from './useElementWidth';
7
+ export * from './useDeepCompareEffect';
8
+ export * from './useUpdateEffect';
9
+ export * from './useDeepUpdateEffect';
@@ -0,0 +1 @@
1
+ export declare const useDeepCompareEffect: <T extends unknown[]>(callback: () => void, dependencies: T) => void;
@@ -0,0 +1,2 @@
1
+ import { EffectCallback } from 'react';
2
+ export declare const useDeepUpdateEffect: <T extends unknown[]>(effect: EffectCallback, dependencies: T) => void;
@@ -0,0 +1,2 @@
1
+ import { EffectCallback } from 'react';
2
+ export declare const useUpdateEffect: <T extends unknown[]>(effect: EffectCallback, dependencies: T) => void;
@@ -17,6 +17,11 @@ export declare const CurrencyLocaleMapper: {
17
17
  PLN: string;
18
18
  USD: string;
19
19
  };
20
+ export declare const LocaleCurrencyMapper: {
21
+ uk: SupportedCurrency;
22
+ pl: SupportedCurrency;
23
+ es: SupportedCurrency;
24
+ };
20
25
  export declare enum CurrencySignByLocale {
21
26
  'uk' = "\u20B4",
22
27
  'pl' = "z\u0142",
@@ -0,0 +1,8 @@
1
+ export type AllowFilterValueType = string | number | boolean;
2
+ export type FilterValue = AllowFilterValueType | AllowFilterValueType[];
3
+ export type FilterOptionValue = AllowFilterValueType;
4
+ export type FilterOption = {
5
+ value?: AllowFilterValueType;
6
+ label: string;
7
+ children?: FilterOption[];
8
+ };
@@ -10,5 +10,6 @@ export * from './specialistTypes';
10
10
  export * from './review';
11
11
  export * from './contract';
12
12
  export * from './user';
13
+ export * from './filter';
13
14
  export * from './subscription';
14
15
  export * from './session';
@@ -56,7 +56,7 @@ export type Specialist = {
56
56
  reviews_count_by_stars: {
57
57
  [key: string]: number;
58
58
  };
59
- percent_match: number;
59
+ percent_match?: number;
60
60
  session_count_by_3_days?: number;
61
61
  favourite?: boolean;
62
62
  app_lang?: string;
@@ -64,4 +64,6 @@ export type Specialist = {
64
64
  subscription_discounts?: Record<string, number>;
65
65
  is_disabled?: boolean;
66
66
  activated_at?: number;
67
+ matching_by_areas?: string[];
68
+ matching_by_specialization?: string[];
67
69
  };
@@ -0,0 +1,5 @@
1
+ import { FilterItem } from '../../widgets/FiltersWidget/types';
2
+ import { AllowFilterValueType, FilterValue } from '../types/filter';
3
+ export declare const getMappedFilterValue: (value?: FilterValue) => AllowFilterValueType[];
4
+ export declare const getFiltersValues: (filters: FilterItem[]) => Record<string, FilterValue>;
5
+ export declare const getFiltersQuery: (filters: Record<string, FilterValue>) => string;
@@ -6,3 +6,4 @@ export { replaceMarkdownWithReactElements } from './replaceMarkdownWithReactElem
6
6
  export { getSignAgreementsTabs } from './getSignAgreementsTabs';
7
7
  export * from './specialistStatus';
8
8
  export * from './userCan';
9
+ export * from './filter';
@@ -0,0 +1,4 @@
1
+ import { FC } from 'react';
2
+ import { FiltersWidgetProps } from './types';
3
+ declare const FiltersWidget: FC<FiltersWidgetProps>;
4
+ export default FiltersWidget;
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ export declare const StyledToolbar: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<import("@ionic/core/dist/types/components").JSX.IonToolbar & Pick<import("react").HTMLAttributes<HTMLIonToolbarElement>, "slot" | "title" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "className" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "hidden" | "id" | "lang" | "placeholder" | "spellCheck" | "tabIndex" | "translate" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "color" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "children" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture"> & import("@ionic/react/dist/types/components/react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIonToolbarElement>>, any, {}, never>;
3
+ export declare const StyledFooter: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<import("@ionic/core/dist/types/components").JSX.IonFooter & Pick<import("react").HTMLAttributes<HTMLIonFooterElement>, "slot" | "title" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "className" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "hidden" | "id" | "lang" | "placeholder" | "spellCheck" | "tabIndex" | "translate" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "color" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "children" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture"> & import("@ionic/react/dist/types/components/react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIonFooterElement>>, any, {}, never>;
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ declare const FiltersWidgetSkeleton: React.FC;
3
+ export default FiltersWidgetSkeleton;
@@ -0,0 +1,2 @@
1
+ export { default as FiltersWidget } from './FiltersWidget';
2
+ export * from './types';
@@ -0,0 +1,45 @@
1
+ import { WithTranslation } from 'react-i18next';
2
+ import { FilterFeatureProps } from '../../features';
3
+ import { FilterSelectFeatureProps } from '../../features/FilterFeature/FilterSelectFeature';
4
+ import { FilterChipsFeatureProps } from '../../features/FilterFeature/FilterChipsFeature';
5
+ import { FilterRangeFeatureProps } from '../../features/FilterFeature/FilterRangeFeature';
6
+ import { SupportedCurrency } from '../../shared';
7
+ import { FilterBooleanFeatureProps } from '../../features/FilterFeature/FilterBooleanFeature';
8
+ import { BadgeProps } from '../../shared/ui/Badge/types';
9
+ export type FilterItemSelect = {
10
+ key: string;
11
+ type: 'select';
12
+ props?: FilterSelectFeatureProps;
13
+ };
14
+ export type FilterItemChips = {
15
+ key: string;
16
+ type: 'chips';
17
+ props?: Omit<FilterChipsFeatureProps, 'renderChip'>;
18
+ };
19
+ export type FilterItemRange = {
20
+ key: string;
21
+ type: 'range';
22
+ props?: FilterRangeFeatureProps;
23
+ };
24
+ export type FilterItemBoolean = {
25
+ key: string;
26
+ type: 'boolean';
27
+ props?: FilterBooleanFeatureProps;
28
+ };
29
+ export type FilterItem = Omit<FilterFeatureProps, 'presentingElement' | 'onChange' | 't' | 'badge'> & {
30
+ badge?: Pick<BadgeProps, 'size' | 'variant' | 'type' | 'iconType'> & {
31
+ children: string;
32
+ };
33
+ } & (FilterItemSelect | FilterItemChips | FilterItemRange | FilterItemBoolean);
34
+ export type FiltersWidgetProps = {
35
+ t?: WithTranslation['t'];
36
+ isLoading?: boolean;
37
+ initialFilters: FilterItem[];
38
+ totalItems?: number;
39
+ isLoadingTotalItems?: boolean;
40
+ className?: string;
41
+ currency?: SupportedCurrency;
42
+ onClose?(): void;
43
+ onChange?(filters: FilterItem[]): void;
44
+ onApply?(action: 'apply' | 'clear', filters: FilterItem[]): void;
45
+ };
@@ -4,6 +4,7 @@ export * from './SpecialistPaymentWidget';
4
4
  export * from './SpecialistPaymentResumeWidget';
5
5
  export * from './UpdateContractWidget';
6
6
  export * from './SpecialistDetailWidget';
7
+ export * from './FiltersWidget';
7
8
  export * from './SpecialistPreviewListWidget';
8
9
  export * from './SessionsListWidget';
9
10
  export * from './SessionDetailWidget';