@mindly/ui-components 8.4.7 → 8.5.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 (99) hide show
  1. package/dist/cjs/index.js +5 -6
  2. package/dist/cjs/lib2/features/CardModal/CardModal.d.ts +2 -0
  3. package/dist/cjs/lib2/features/ConfirmWithCommentFeature/ConfirmWithCommentFeature.d.ts +24 -0
  4. package/dist/cjs/lib2/features/ConfirmWithCommentFeature/index.d.ts +1 -0
  5. package/dist/cjs/lib2/features/GoogleCalendarModalFeature/GoogleCalendarModalFeature.d.ts +1 -2
  6. package/dist/cjs/lib2/features/RecurringSessionPreviewFeature/RecurringSessionPreviewFeature.d.ts +4 -0
  7. package/dist/cjs/lib2/features/RecurringSessionPreviewFeature/RecurringSessionPreviewFeature.stories.d.ts +7 -0
  8. package/dist/cjs/lib2/features/RecurringSessionPreviewFeature/RecurringSessionPreviewFeatureSkeleton.d.ts +3 -0
  9. package/dist/cjs/lib2/features/RecurringSessionPreviewFeature/index.d.ts +1 -0
  10. package/dist/cjs/lib2/features/RecurringSessionPreviewFeature/styles.d.ts +109 -0
  11. package/dist/cjs/lib2/features/RecurringSessionPreviewFeature/types.d.ts +10 -0
  12. package/dist/cjs/lib2/features/ReservedSessionManageModalFeature/ReservedSessionManageModalFeature.d.ts +16 -0
  13. package/dist/cjs/lib2/features/ReservedSessionManageModalFeature/index.d.ts +1 -0
  14. package/dist/cjs/lib2/features/SessionManageModalFeature/SessionManageModalFeature.d.ts +21 -0
  15. package/dist/cjs/lib2/features/SessionManageModalFeature/index.d.ts +2 -0
  16. package/dist/cjs/lib2/features/SessionPreviewFeature/SessionPreviewFeature.stories.d.ts +3 -0
  17. package/dist/cjs/lib2/features/SessionPreviewFeature/styles.d.ts +33 -0
  18. package/dist/cjs/lib2/features/SessionPreviewFeature/types.d.ts +7 -5
  19. package/dist/cjs/lib2/features/SessionTypeSelectorModalFeature/SessionTypeSelectorModalFeature.d.ts +12 -0
  20. package/dist/cjs/lib2/features/SessionTypeSelectorModalFeature/index.d.ts +1 -0
  21. package/dist/cjs/lib2/features/SpecialistRescheduleFeature/types.d.ts +5 -1
  22. package/dist/cjs/lib2/features/SpecialistScheduleFeature/types.d.ts +16 -2
  23. package/dist/cjs/lib2/features/SuccessModalFeature/SuccessModalFeature.d.ts +20 -0
  24. package/dist/cjs/lib2/features/SuccessModalFeature/index.d.ts +2 -0
  25. package/dist/cjs/lib2/features/TabsFeature/types.d.ts +6 -0
  26. package/dist/cjs/lib2/features/index.d.ts +6 -0
  27. package/dist/cjs/lib2/shared/assets/icons/IconAccountBalance.d.ts +3 -0
  28. package/dist/cjs/lib2/shared/assets/icons/IconRecurring.d.ts +3 -0
  29. package/dist/cjs/lib2/shared/assets/icons/index.d.ts +2 -0
  30. package/dist/cjs/lib2/shared/hooks/useSwipe.d.ts +16 -0
  31. package/dist/cjs/lib2/shared/providers/SpecialistScheduleProvider/SpecialistScheduleProvider.d.ts +2 -2
  32. package/dist/cjs/lib2/shared/types/common.d.ts +4 -0
  33. package/dist/cjs/lib2/shared/types/session.d.ts +30 -0
  34. package/dist/cjs/lib2/shared/ui/Calendar/Calendar.d.ts +1 -1
  35. package/dist/cjs/lib2/shared/ui/Calendar/CalendarCell.d.ts +1 -0
  36. package/dist/cjs/lib2/shared/ui/Calendar/CalendarGrid.d.ts +1 -1
  37. package/dist/cjs/lib2/shared/ui/Calendar/styles.d.ts +24 -0
  38. package/dist/cjs/lib2/shared/ui/Calendar/types.d.ts +9 -0
  39. package/dist/cjs/lib2/shared/ui/ModalSheet/ModalSheet.d.ts +1 -0
  40. package/dist/cjs/lib2/shared/ui/ModalSheet/types.d.ts +1 -0
  41. package/dist/cjs/lib2/shared/ui/Textarea_v2/Textarea_v2.d.ts +4 -1
  42. package/dist/cjs/lib2/shared/utils/format.d.ts +1 -0
  43. package/dist/cjs/lib2/shared/utils/mock.d.ts +7 -2
  44. package/dist/cjs/lib2/shared/utils/session.d.ts +1 -0
  45. package/dist/cjs/lib2/shared/utils/validation.d.ts +1 -1
  46. package/dist/cjs/lib2/widgets/SessionDetailWidget/types.d.ts +2 -2
  47. package/dist/cjs/lib2/widgets/SessionsListWidget/SessionsListWidget.stories.d.ts +1 -0
  48. package/dist/cjs/lib2/widgets/SessionsListWidget/types.d.ts +5 -1
  49. package/dist/esm/index.js +7 -8
  50. package/dist/esm/lib2/features/CardModal/CardModal.d.ts +2 -0
  51. package/dist/esm/lib2/features/ConfirmWithCommentFeature/ConfirmWithCommentFeature.d.ts +24 -0
  52. package/dist/esm/lib2/features/ConfirmWithCommentFeature/index.d.ts +1 -0
  53. package/dist/esm/lib2/features/GoogleCalendarModalFeature/GoogleCalendarModalFeature.d.ts +1 -2
  54. package/dist/esm/lib2/features/RecurringSessionPreviewFeature/RecurringSessionPreviewFeature.d.ts +4 -0
  55. package/dist/esm/lib2/features/RecurringSessionPreviewFeature/RecurringSessionPreviewFeature.stories.d.ts +7 -0
  56. package/dist/esm/lib2/features/RecurringSessionPreviewFeature/RecurringSessionPreviewFeatureSkeleton.d.ts +3 -0
  57. package/dist/esm/lib2/features/RecurringSessionPreviewFeature/index.d.ts +1 -0
  58. package/dist/esm/lib2/features/RecurringSessionPreviewFeature/styles.d.ts +109 -0
  59. package/dist/esm/lib2/features/RecurringSessionPreviewFeature/types.d.ts +10 -0
  60. package/dist/esm/lib2/features/ReservedSessionManageModalFeature/ReservedSessionManageModalFeature.d.ts +16 -0
  61. package/dist/esm/lib2/features/ReservedSessionManageModalFeature/index.d.ts +1 -0
  62. package/dist/esm/lib2/features/SessionManageModalFeature/SessionManageModalFeature.d.ts +21 -0
  63. package/dist/esm/lib2/features/SessionManageModalFeature/index.d.ts +2 -0
  64. package/dist/esm/lib2/features/SessionPreviewFeature/SessionPreviewFeature.stories.d.ts +3 -0
  65. package/dist/esm/lib2/features/SessionPreviewFeature/styles.d.ts +33 -0
  66. package/dist/esm/lib2/features/SessionPreviewFeature/types.d.ts +7 -5
  67. package/dist/esm/lib2/features/SessionTypeSelectorModalFeature/SessionTypeSelectorModalFeature.d.ts +12 -0
  68. package/dist/esm/lib2/features/SessionTypeSelectorModalFeature/index.d.ts +1 -0
  69. package/dist/esm/lib2/features/SpecialistRescheduleFeature/types.d.ts +5 -1
  70. package/dist/esm/lib2/features/SpecialistScheduleFeature/types.d.ts +16 -2
  71. package/dist/esm/lib2/features/SuccessModalFeature/SuccessModalFeature.d.ts +20 -0
  72. package/dist/esm/lib2/features/SuccessModalFeature/index.d.ts +2 -0
  73. package/dist/esm/lib2/features/TabsFeature/types.d.ts +6 -0
  74. package/dist/esm/lib2/features/index.d.ts +6 -0
  75. package/dist/esm/lib2/shared/assets/icons/IconAccountBalance.d.ts +3 -0
  76. package/dist/esm/lib2/shared/assets/icons/IconRecurring.d.ts +3 -0
  77. package/dist/esm/lib2/shared/assets/icons/index.d.ts +2 -0
  78. package/dist/esm/lib2/shared/hooks/useSwipe.d.ts +16 -0
  79. package/dist/esm/lib2/shared/providers/SpecialistScheduleProvider/SpecialistScheduleProvider.d.ts +2 -2
  80. package/dist/esm/lib2/shared/types/common.d.ts +4 -0
  81. package/dist/esm/lib2/shared/types/session.d.ts +30 -0
  82. package/dist/esm/lib2/shared/ui/Calendar/Calendar.d.ts +1 -1
  83. package/dist/esm/lib2/shared/ui/Calendar/CalendarCell.d.ts +1 -0
  84. package/dist/esm/lib2/shared/ui/Calendar/CalendarGrid.d.ts +1 -1
  85. package/dist/esm/lib2/shared/ui/Calendar/styles.d.ts +24 -0
  86. package/dist/esm/lib2/shared/ui/Calendar/types.d.ts +9 -0
  87. package/dist/esm/lib2/shared/ui/ModalSheet/ModalSheet.d.ts +1 -0
  88. package/dist/esm/lib2/shared/ui/ModalSheet/types.d.ts +1 -0
  89. package/dist/esm/lib2/shared/ui/Textarea_v2/Textarea_v2.d.ts +4 -1
  90. package/dist/esm/lib2/shared/utils/format.d.ts +1 -0
  91. package/dist/esm/lib2/shared/utils/mock.d.ts +7 -2
  92. package/dist/esm/lib2/shared/utils/session.d.ts +1 -0
  93. package/dist/esm/lib2/shared/utils/validation.d.ts +1 -1
  94. package/dist/esm/lib2/widgets/SessionDetailWidget/types.d.ts +2 -2
  95. package/dist/esm/lib2/widgets/SessionsListWidget/SessionsListWidget.stories.d.ts +1 -0
  96. package/dist/esm/lib2/widgets/SessionsListWidget/types.d.ts +5 -1
  97. package/dist/index.d.ts +195 -15
  98. package/package.json +1 -1
  99. package/src/lib2/shared/css/tailwind.css +1 -1
@@ -17,6 +17,8 @@ export type CardModalProps = {
17
17
  }) => React.ReactNode;
18
18
  mode?: HTMLIonModalElement['mode'];
19
19
  onDidPresent?: () => void;
20
+ onWillPresent?: () => void;
21
+ onWillDismiss?: () => void;
20
22
  };
21
23
  declare const CardModal: React.ForwardRefExoticComponent<CardModalProps & {
22
24
  children?: React.ReactNode | undefined;
@@ -0,0 +1,24 @@
1
+ import React from 'react';
2
+ import { AvatarProps } from '../../shared/ui/Avatar_v2/Avatar_v2';
3
+ type ConfirmWithCommentFeatureProps = {
4
+ currentComment?: string;
5
+ avatarProps?: AvatarProps;
6
+ title: React.ReactNode;
7
+ description?: string;
8
+ onSubmit: (data: {
9
+ comment: string;
10
+ }) => Promise<void>;
11
+ onModalAppeared?: () => void;
12
+ placeholder?: string;
13
+ buttonText?: string;
14
+ isOpen?: boolean;
15
+ maxLength?: number;
16
+ minLength?: number;
17
+ ref?: React.RefObject<HTMLIonModalElement | null>;
18
+ };
19
+ export type ConfirmWithCommentFeatureRef = {
20
+ openModal: () => void;
21
+ closeModal: () => void;
22
+ };
23
+ export declare const ConfirmWithCommentFeature: React.FC<ConfirmWithCommentFeatureProps>;
24
+ export {};
@@ -0,0 +1 @@
1
+ export * from './ConfirmWithCommentFeature';
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { WithTranslation } from 'react-i18next';
3
- type GoogleCalendarModalFeatureProps = {
3
+ export type GoogleCalendarModalFeatureProps = {
4
4
  isOpen: boolean;
5
5
  status: 'active' | 'inactive' | 'access_denied';
6
6
  presentingElement?: HTMLElement | undefined;
@@ -12,4 +12,3 @@ type GoogleCalendarModalFeatureProps = {
12
12
  isShowHandle?: boolean;
13
13
  };
14
14
  export declare function GoogleCalendarModalFeature({ status, isOpen, onSync, isLoading, onDidDismiss, imageUrl, t, presentingElement, }: GoogleCalendarModalFeatureProps): React.ReactElement;
15
- export {};
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import { RecurringSessionPreviewFeatureProps } from './types';
3
+ declare const RecurringSessionPreviewFeature: React.FC<RecurringSessionPreviewFeatureProps>;
4
+ export default RecurringSessionPreviewFeature;
@@ -0,0 +1,7 @@
1
+ import type { Meta, StoryObj } from '@storybook/react';
2
+ import RecurringSessionPreviewFeature from './RecurringSessionPreviewFeature';
3
+ declare const meta: Meta<typeof RecurringSessionPreviewFeature>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof RecurringSessionPreviewFeature>;
6
+ export declare const Default: Story;
7
+ export declare const IsLoading: Story;
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ declare const SessionPreviewFeatureSkeleton: React.FC;
3
+ export default SessionPreviewFeatureSkeleton;
@@ -0,0 +1 @@
1
+ export { default as RecurringSessionPreviewFeature } from './RecurringSessionPreviewFeature';
@@ -0,0 +1,109 @@
1
+ export declare const sessionPreviewFeatureStyle: import("tailwind-variants").TVReturnType<{
2
+ queueType: {
3
+ conflicted: {
4
+ root: string;
5
+ };
6
+ scheduled: {
7
+ root: string;
8
+ };
9
+ undefined: {
10
+ root: string;
11
+ };
12
+ };
13
+ variant: {
14
+ default: {
15
+ root: string;
16
+ label: string;
17
+ };
18
+ current: {
19
+ root: string;
20
+ label: string;
21
+ };
22
+ soon: {
23
+ root: string;
24
+ label: string;
25
+ };
26
+ near: {
27
+ root: string;
28
+ label: string;
29
+ };
30
+ past: {
31
+ root: string;
32
+ };
33
+ };
34
+ }, {
35
+ root: string;
36
+ label: string;
37
+ }, undefined, {
38
+ queueType: {
39
+ conflicted: {
40
+ root: string;
41
+ };
42
+ scheduled: {
43
+ root: string;
44
+ };
45
+ undefined: {
46
+ root: string;
47
+ };
48
+ };
49
+ variant: {
50
+ default: {
51
+ root: string;
52
+ label: string;
53
+ };
54
+ current: {
55
+ root: string;
56
+ label: string;
57
+ };
58
+ soon: {
59
+ root: string;
60
+ label: string;
61
+ };
62
+ near: {
63
+ root: string;
64
+ label: string;
65
+ };
66
+ past: {
67
+ root: string;
68
+ };
69
+ };
70
+ }, {
71
+ root: string;
72
+ label: string;
73
+ }, import("tailwind-variants").TVReturnType<{
74
+ queueType: {
75
+ conflicted: {
76
+ root: string;
77
+ };
78
+ scheduled: {
79
+ root: string;
80
+ };
81
+ undefined: {
82
+ root: string;
83
+ };
84
+ };
85
+ variant: {
86
+ default: {
87
+ root: string;
88
+ label: string;
89
+ };
90
+ current: {
91
+ root: string;
92
+ label: string;
93
+ };
94
+ soon: {
95
+ root: string;
96
+ label: string;
97
+ };
98
+ near: {
99
+ root: string;
100
+ label: string;
101
+ };
102
+ past: {
103
+ root: string;
104
+ };
105
+ };
106
+ }, {
107
+ root: string;
108
+ label: string;
109
+ }, undefined, unknown, unknown, undefined>>;
@@ -0,0 +1,10 @@
1
+ import { RecurringSession } from '../../shared';
2
+ import { WithTranslation } from 'react-i18next';
3
+ export type RecurringSessionPreviewFeatureProps = {
4
+ recurringSession?: RecurringSession;
5
+ avatarLink?: string;
6
+ name?: string;
7
+ t?: WithTranslation['t'];
8
+ isLoading?: boolean;
9
+ onClick?(session: RecurringSession): void;
10
+ };
@@ -0,0 +1,16 @@
1
+ import React, { FC } from 'react';
2
+ import { WithTranslation } from 'react-i18next';
3
+ import { SessionQueue, RecurringSession } from '../../shared';
4
+ import { ModalSheetProps } from '../../shared/ui/ModalSheet/types';
5
+ type ReservedSessionManageModalFeatureProps = {
6
+ session?: SessionQueue | RecurringSession;
7
+ userName?: string;
8
+ userAvatar?: string;
9
+ isOpen?: boolean;
10
+ locale?: string;
11
+ ref?: React.RefObject<HTMLIonModalElement | null>;
12
+ t?: WithTranslation['t'];
13
+ onSelectAction?: (action: 'reschedule' | 'cancel') => void;
14
+ } & ModalSheetProps;
15
+ declare const ReservedSessionManageModalFeature: FC<ReservedSessionManageModalFeatureProps>;
16
+ export default ReservedSessionManageModalFeature;
@@ -0,0 +1 @@
1
+ export { default as ReservedSessionManageModalFeature } from './ReservedSessionManageModalFeature';
@@ -0,0 +1,21 @@
1
+ import React, { FC } from 'react';
2
+ import { WithTranslation } from 'react-i18next';
3
+ import { RecurringSchedule } from '../../shared';
4
+ import { ModalSheetProps } from '../../shared/ui/ModalSheet/types';
5
+ export declare enum SessionManageTypeEnum {
6
+ ONLY_THIS_SESSION = "only_this_session",
7
+ THIS_AND_FUTURE_SESSIONS = "this_and_future_sessions",
8
+ ALL_SESSIONS = "all_sessions"
9
+ }
10
+ type SessionManageModalFeatureProps = {
11
+ action: 'reschedule' | 'cancel';
12
+ sessionStartDate: string;
13
+ sessionRecurringSchedule?: RecurringSchedule;
14
+ isOpen?: boolean;
15
+ locale?: string;
16
+ ref?: React.RefObject<HTMLIonModalElement | null>;
17
+ t?: WithTranslation['t'];
18
+ onSelectSessionManageType?: (sessionManageType: SessionManageTypeEnum) => void;
19
+ } & ModalSheetProps;
20
+ declare const SessionManageModalFeature: FC<SessionManageModalFeatureProps>;
21
+ export default SessionManageModalFeature;
@@ -0,0 +1,2 @@
1
+ export { default as SessionManageModalFeature } from './SessionManageModalFeature';
2
+ export { SessionManageTypeEnum } from './SessionManageModalFeature';
@@ -12,3 +12,6 @@ export declare const Future: Story;
12
12
  export declare const PastRated: Story;
13
13
  export declare const PastNotRated: Story;
14
14
  export declare const Loading: Story;
15
+ export declare const Conflicted: Story;
16
+ export declare const Scheduled: Story;
17
+ export declare const WillBeCancelled: Story;
@@ -1,4 +1,15 @@
1
1
  export declare const sessionPreviewFeatureStyle: import("tailwind-variants").TVReturnType<{
2
+ queueType: {
3
+ conflicted: {
4
+ root: string;
5
+ };
6
+ scheduled: {
7
+ root: string;
8
+ };
9
+ undefined: {
10
+ root: string;
11
+ };
12
+ };
2
13
  variant: {
3
14
  default: {
4
15
  root: string;
@@ -24,6 +35,17 @@ export declare const sessionPreviewFeatureStyle: import("tailwind-variants").TVR
24
35
  root: string;
25
36
  label: string;
26
37
  }, undefined, {
38
+ queueType: {
39
+ conflicted: {
40
+ root: string;
41
+ };
42
+ scheduled: {
43
+ root: string;
44
+ };
45
+ undefined: {
46
+ root: string;
47
+ };
48
+ };
27
49
  variant: {
28
50
  default: {
29
51
  root: string;
@@ -49,6 +71,17 @@ export declare const sessionPreviewFeatureStyle: import("tailwind-variants").TVR
49
71
  root: string;
50
72
  label: string;
51
73
  }, import("tailwind-variants").TVReturnType<{
74
+ queueType: {
75
+ conflicted: {
76
+ root: string;
77
+ };
78
+ scheduled: {
79
+ root: string;
80
+ };
81
+ undefined: {
82
+ root: string;
83
+ };
84
+ };
52
85
  variant: {
53
86
  default: {
54
87
  root: string;
@@ -1,13 +1,15 @@
1
- import { Session, SupportedLocales } from '../../shared';
1
+ import { Session, SessionQueue, SupportedLocales } from '../../shared';
2
2
  import { WithTranslation } from 'react-i18next';
3
3
  export type SessionPreviewFeatureProps = {
4
- session?: Session;
4
+ session?: Session | SessionQueue;
5
5
  viewPerson?: 'client' | 'specialist';
6
6
  t?: WithTranslation['t'];
7
7
  isLoading?: boolean;
8
8
  locale: SupportedLocales;
9
9
  maxPeriodToReviewPastSessionInHours?: number;
10
- onSessionClick?(session: Session): void;
11
- onSessionStart?(session: Session): void;
12
- rateSessionCallback?: (session: Session) => void;
10
+ daysBeforeCancelationQueueSession?: number;
11
+ onSessionClick?(session: Session | SessionQueue): void;
12
+ onSessionStart?(session: Session | SessionQueue): void;
13
+ rateSessionCallback?: (session: Session | SessionQueue) => void;
14
+ onUpdateSubscription?: (session: Session | SessionQueue) => void;
13
15
  };
@@ -0,0 +1,12 @@
1
+ import React, { FC } from 'react';
2
+ import { WithTranslation } from 'react-i18next';
3
+ import { SessionTypeEnum } from '../../shared';
4
+ import { ModalSheetProps } from '../../shared/ui/ModalSheet/types';
5
+ type SessionTypeSelectorModalFeatureProps = {
6
+ isOpen?: boolean;
7
+ ref?: React.RefObject<HTMLIonModalElement | null>;
8
+ t?: WithTranslation['t'];
9
+ onSelectSessionType?: (sessionType: SessionTypeEnum) => void;
10
+ } & ModalSheetProps;
11
+ declare const SessionManageModalFeature: FC<SessionTypeSelectorModalFeatureProps>;
12
+ export default SessionManageModalFeature;
@@ -0,0 +1 @@
1
+ export { default as SessionTypeSelectorModalFeature } from './SessionTypeSelectorModalFeature';
@@ -2,7 +2,8 @@ import { WithTranslation } from 'react-i18next';
2
2
  import { ScheduleSlot, SupportedLocales, TypographyVariantsEnum } from '../../shared';
3
3
  import { ScheduleDate } from '../../shared';
4
4
  export type SpecialistRescheduleFeatureProps = {
5
- loadingSlot?: string;
5
+ loadingSlots?: string[];
6
+ slots?: string[];
6
7
  className?: string;
7
8
  t?: WithTranslation['t'];
8
9
  locale?: SupportedLocales;
@@ -20,4 +21,7 @@ export type SpecialistRescheduleFeatureProps = {
20
21
  onShowAll?: () => void;
21
22
  onCloseClick?: () => void;
22
23
  onClose?: () => void;
24
+ onWillPresent?: () => void;
25
+ onWillDismiss?: () => void;
26
+ onBookClick(): void;
23
27
  };
@@ -1,7 +1,9 @@
1
1
  import { WithTranslation } from 'react-i18next';
2
- import { ScheduleSlot, SupportedLocales, TypographyVariantsEnum } from '../../shared';
2
+ import { AppViewType, ScheduleSlot, SessionTypeEnum, SupportedLocales, TypographyVariantsEnum } from '../../shared';
3
3
  import { ScheduleDate } from '../../shared';
4
+ type SelectionMode = 'single' | 'multiple';
4
5
  export type ScheduleFeatureProps = {
6
+ appViewType?: AppViewType;
5
7
  className?: string;
6
8
  t?: WithTranslation['t'];
7
9
  locale?: SupportedLocales;
@@ -13,8 +15,20 @@ export type ScheduleFeatureProps = {
13
15
  slotVariant?: TypographyVariantsEnum;
14
16
  isBookingLoading?: boolean;
15
17
  isTimeSeparated?: boolean;
16
- loadingSlot?: string;
18
+ loadingSlots?: string[];
19
+ showMonthSelector?: boolean;
20
+ selectionMode?: SelectionMode;
21
+ maxSelectedSlots?: number;
22
+ preSelectedSlots?: ScheduleSlot[];
23
+ currentSlot?: ScheduleSlot;
24
+ isBookButtonDisabled?: boolean;
25
+ isBookButtonLoading?: boolean;
26
+ bookButtonText?: string;
27
+ footerContent?: React.ReactNode;
28
+ sessionType?: SessionTypeEnum;
17
29
  onDateChange?: (date: ScheduleDate, slots: ScheduleSlot[]) => void;
18
30
  onSlotChange?: (slot: ScheduleSlot | null) => void;
19
31
  onShowAll?: () => void;
32
+ onBookClick?: () => void;
20
33
  };
34
+ export {};
@@ -0,0 +1,20 @@
1
+ import React, { FC } from 'react';
2
+ import { WithTranslation } from 'react-i18next';
3
+ import { SupportedLocales } from '../../shared';
4
+ export type SuccessModalFeatureAction = 'book_session' | 'trial_session' | 'reschedule_session' | 'cancel_session' | 'recurring_session' | 'recurring_session_cancel' | 'recurring_session_reschedule';
5
+ type SuccessModalFeatureProps = {
6
+ isOpen?: boolean;
7
+ ref?: React.RefObject<HTMLIonModalElement | null>;
8
+ t?: WithTranslation['t'];
9
+ slots?: string[];
10
+ locale?: string | SupportedLocales;
11
+ title?: string;
12
+ subtitle?: string;
13
+ action?: SuccessModalFeatureAction;
14
+ iconHref?: string;
15
+ onSyncClick?: () => void;
16
+ onContinueClick?: () => void;
17
+ showGoogleCalendar?: boolean;
18
+ };
19
+ declare const SuccessModalFeature: FC<SuccessModalFeatureProps>;
20
+ export default SuccessModalFeature;
@@ -0,0 +1,2 @@
1
+ export { default as SuccessModalFeature } from './SuccessModalFeature';
2
+ export type { SuccessModalFeatureAction } from './SuccessModalFeature';
@@ -1,10 +1,16 @@
1
+ import { TypographyVariantsEnum } from '../../shared';
1
2
  export type TabsFeatureProps = {
2
3
  tabs: {
3
4
  title: string;
4
5
  content?: React.ReactNode;
5
6
  anchor?: string;
7
+ searchParam?: string;
6
8
  }[];
7
9
  className?: string;
10
+ tabClassName?: string;
11
+ innerClassName?: string;
8
12
  isLoading?: boolean;
13
+ activeSearchParam?: string;
14
+ tabVariant?: TypographyVariantsEnum;
9
15
  onTabClick?(tab: string): void;
10
16
  };
@@ -57,3 +57,9 @@ export * from './PromptCardsFeature';
57
57
  export * from './ExploreCardSwiperFeature';
58
58
  export * from './Charts';
59
59
  export * from './AdvisorAssistFeature';
60
+ export * from './ConfirmWithCommentFeature';
61
+ export * from './SuccessModalFeature';
62
+ export * from './SessionTypeSelectorModalFeature';
63
+ export * from './SessionManageModalFeature';
64
+ export * from './RecurringSessionPreviewFeature';
65
+ export * from './ReservedSessionManageModalFeature';
@@ -0,0 +1,3 @@
1
+ import * as React from 'react';
2
+ import { IconProps } from '../../types/iconProps';
3
+ export declare const IconAccountBalance: React.FC<IconProps>;
@@ -0,0 +1,3 @@
1
+ import * as React from 'react';
2
+ import { IconProps } from '../../types/iconProps';
3
+ export declare const IconRecurring: React.FC<IconProps>;
@@ -155,6 +155,8 @@ export * from './IconAddCalendar';
155
155
  export * from './IconBlock';
156
156
  export * from './IconGoogleCalendar';
157
157
  export * from './IconAdvisorAssistance';
158
+ export * from './IconRecurring';
158
159
  export * from './IconPhotoCamera';
160
+ export * from './IconAccountBalance';
159
161
  export * from './IconVoiceMode';
160
162
  export * from './IconKeyboard';
@@ -0,0 +1,16 @@
1
+ import { DependencyList } from 'react';
2
+ type UseSwipeOptions = {
3
+ onSwipeLeft?: () => void;
4
+ onSwipeRight?: () => void;
5
+ onSwipeUp?: () => void;
6
+ onSwipeDown?: () => void;
7
+ minDistance?: number;
8
+ maxOffAxis?: number;
9
+ maxDuration?: number;
10
+ enabled?: boolean;
11
+ direction?: 'horizontal' | 'vertical';
12
+ };
13
+ export declare const useSwipe: (options?: UseSwipeOptions, deps?: DependencyList) => {
14
+ ref: import("react").RefObject<HTMLDivElement | null>;
15
+ };
16
+ export {};
@@ -2,9 +2,9 @@ import React from 'react';
2
2
  import { Schedule, ScheduleDate, ScheduleSlot } from '../../types';
3
3
  type SpecialistScheduleContextValue = {
4
4
  selectedDate: ScheduleDate | undefined;
5
- selectedSlot: ScheduleSlot | undefined;
5
+ selectedSlots: ScheduleSlot[];
6
6
  setSelectedDate: (date: ScheduleDate | undefined) => void;
7
- setSelectedSlot: (slot: ScheduleSlot | undefined) => void;
7
+ setSelectedSlots: (slots: ScheduleSlot[]) => void;
8
8
  resetSelectedScheduleData: () => void;
9
9
  schedule: Schedule | undefined;
10
10
  isLoading: boolean;
@@ -68,3 +68,7 @@ export declare const StripeSupportedCurrency: SupportedCurrency[];
68
68
  export type CSSVarStyles = React.CSSProperties & {
69
69
  [key: `--${string}`]: string | number;
70
70
  };
71
+ export declare enum AppViewType {
72
+ CLIENT = "client",
73
+ SPECIALIST = "specialist"
74
+ }
@@ -20,6 +20,14 @@ export type SessionReview = {
20
20
  client_avatar: string;
21
21
  created_at: number;
22
22
  };
23
+ export declare enum ConsultationQueueTypeEnum {
24
+ SCHEDULED = "scheduled",
25
+ CONFLICTED = "conflicted"
26
+ }
27
+ export type RecurringSchedule = {
28
+ day: number;
29
+ time: string;
30
+ };
23
31
  export type Session = {
24
32
  id: string;
25
33
  consultation_time: SessionTime;
@@ -58,6 +66,28 @@ export type Session = {
58
66
  payment_intent_id?: string;
59
67
  subscription?: Subscription;
60
68
  session_review?: SessionReview;
69
+ recurring_session_id?: string | null;
70
+ };
71
+ export type SessionQueue = Session & {
72
+ queue_type: ConsultationQueueTypeEnum;
73
+ reason?: 'slot_booked' | 'slot_vacation';
61
74
  };
62
75
  export type SessionVariant = 'default' | 'current' | 'soon' | 'near' | 'past';
63
76
  export type Consultation = Session;
77
+ export declare enum SessionTypeEnum {
78
+ RECURRING = "recurring",
79
+ ONE_TIME = "one_time"
80
+ }
81
+ export type RecurringSession = {
82
+ id: string;
83
+ specialistId: string;
84
+ clientId: string;
85
+ userTimezone: string;
86
+ name?: string;
87
+ avatarLink?: string;
88
+ recurring: {
89
+ interval: 'weekly';
90
+ day: number;
91
+ time: string;
92
+ };
93
+ };
@@ -1,3 +1,3 @@
1
1
  import React from 'react';
2
2
  import { CalendarProps } from './types';
3
- export declare function Calendar({ maxValue, minValue, timeZone, locale, isShowWeekNames, isShowMonthNavigation, selectionMode, onSelectionChange, defaultSelectDates, onDatePress, renderCustomDateContent, fullWidth, ...props }: CalendarProps): React.ReactElement;
3
+ export declare function Calendar({ maxValue, minValue, timeZone, locale, isShowWeekNames, isShowMonthNavigation, selectionMode, onSelectionChange, defaultSelectDates, onDatePress, renderCustomDateContent, fullWidth, titleVariant, gridClassName, headerClassName, isDropdown, useSwipeMonthNavigation, selectedValue, className, ...props }: CalendarProps): React.ReactElement;
@@ -5,6 +5,7 @@ export declare const CalendarCell: React.ForwardRefExoticComponent<{
5
5
  locale: import("../..").SupportedLocales;
6
6
  timeZone?: string;
7
7
  selectionMode?: import("react-stately").SelectionMode;
8
+ className?: string;
8
9
  renderCustomDateContent?: (date: string, formattedDate: string, isSelected: boolean, isToday: boolean) => React.ReactNode;
9
10
  } & {
10
11
  state: import("react-stately").CalendarState;
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
2
  import { CalendarGridProps } from './types';
3
- export declare function CalendarGrid({ state, selectionState, locale, isShowWeekNames, weekdayStyle, handleSelectionDateChange, selectionMode, onDatePress, offset, renderCustomDateContent, timeZone, ...props }: CalendarGridProps): React.ReactElement;
3
+ export declare function CalendarGrid({ state, selectionState, locale, isShowWeekNames, weekdayStyle, handleSelectionDateChange, selectionMode, onDatePress, offset, renderCustomDateContent, timeZone, className, ref, ...props }: CalendarGridProps): React.ReactElement;
4
4
  declare const _default: React.NamedExoticComponent<CalendarGridProps>;
5
5
  export default _default;
@@ -14,6 +14,13 @@ export declare const calendarStyles: import("tailwind-variants").TVReturnType<{
14
14
  fullWidth: {
15
15
  true: {};
16
16
  };
17
+ isDropdown: {
18
+ true: {
19
+ header: string;
20
+ grid: string;
21
+ base: string;
22
+ };
23
+ };
17
24
  }, {
18
25
  header: string;
19
26
  title: string;
@@ -23,6 +30,7 @@ export declare const calendarStyles: import("tailwind-variants").TVReturnType<{
23
30
  day: string;
24
31
  navigation: string;
25
32
  navigationButton: string;
33
+ grid: string;
26
34
  }, "flex-1 max-w-xs", {
27
35
  isDisabled: {
28
36
  true: {};
@@ -39,6 +47,13 @@ export declare const calendarStyles: import("tailwind-variants").TVReturnType<{
39
47
  fullWidth: {
40
48
  true: {};
41
49
  };
50
+ isDropdown: {
51
+ true: {
52
+ header: string;
53
+ grid: string;
54
+ base: string;
55
+ };
56
+ };
42
57
  }, {
43
58
  header: string;
44
59
  title: string;
@@ -48,6 +63,7 @@ export declare const calendarStyles: import("tailwind-variants").TVReturnType<{
48
63
  day: string;
49
64
  navigation: string;
50
65
  navigationButton: string;
66
+ grid: string;
51
67
  }, import("tailwind-variants").TVReturnType<{
52
68
  isDisabled: {
53
69
  true: {};
@@ -64,6 +80,13 @@ export declare const calendarStyles: import("tailwind-variants").TVReturnType<{
64
80
  fullWidth: {
65
81
  true: {};
66
82
  };
83
+ isDropdown: {
84
+ true: {
85
+ header: string;
86
+ grid: string;
87
+ base: string;
88
+ };
89
+ };
67
90
  }, {
68
91
  header: string;
69
92
  title: string;
@@ -73,4 +96,5 @@ export declare const calendarStyles: import("tailwind-variants").TVReturnType<{
73
96
  day: string;
74
97
  navigation: string;
75
98
  navigationButton: string;
99
+ grid: string;
76
100
  }, "flex-1 max-w-xs", unknown, unknown, undefined>>;