@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
@@ -3,23 +3,31 @@ import { AriaCalendarGridProps, AriaCalendarProps, DateValue } from 'react-aria'
3
3
  import { CalendarState, SelectionBehavior, SelectionMode } from 'react-stately';
4
4
  import { CalendarDate } from '@internationalized/date';
5
5
  import { SupportedLocales } from '../../types';
6
+ import { TypographyVariantsEnum } from '../Typography/types';
6
7
  type BaseTypeProps = {
7
8
  onDatePress?: (date: string, evt: React.MouseEvent<HTMLButtonElement>) => void;
8
9
  locale: SupportedLocales;
9
10
  timeZone?: string;
10
11
  selectionMode?: SelectionMode;
12
+ className?: string;
11
13
  renderCustomDateContent?: (date: string, formattedDate: string, isSelected: boolean, isToday: boolean) => React.ReactNode;
12
14
  };
13
15
  export type CalendarProps = Omit<AriaCalendarProps<DateValue>, 'minValue' | 'defaultValue' | 'maxValue'> & BaseTypeProps & {
14
16
  minValue?: string;
15
17
  defaultValue?: string;
16
18
  maxValue?: string;
19
+ selectedValue?: string;
17
20
  slots?: Record<string, any[]>;
18
21
  fullWidth?: boolean;
19
22
  isShowWeekNames?: boolean;
20
23
  isShowMonthNavigation?: boolean;
24
+ isDropdown?: boolean;
21
25
  defaultSelectDates: string[];
22
26
  selectionBehavior?: SelectionBehavior;
27
+ titleVariant?: TypographyVariantsEnum;
28
+ gridClassName?: string;
29
+ headerClassName?: string;
30
+ useSwipeMonthNavigation?: boolean;
23
31
  onSelectionChange: (dates: string[]) => void;
24
32
  };
25
33
  export type CalendarGridProps = AriaCalendarGridProps & BaseTypeProps & {
@@ -28,6 +36,7 @@ export type CalendarGridProps = AriaCalendarGridProps & BaseTypeProps & {
28
36
  handleSelectionDateChange: (dateKey: string, date: string) => void;
29
37
  isShowWeekNames: boolean;
30
38
  offset?: Record<string, any>;
39
+ ref?: React.RefObject<HTMLDivElement | null>;
31
40
  };
32
41
  export type CalendarCellProps = BaseTypeProps & {
33
42
  state: CalendarState;
@@ -3,6 +3,7 @@ declare const ModalSheet: React.ForwardRefExoticComponent<import("@ionic/core").
3
3
  children?: React.ReactNode | undefined;
4
4
  } & {
5
5
  heightInPx?: number;
6
+ autoHeight?: boolean;
6
7
  className?: string;
7
8
  withCloseButton?: boolean;
8
9
  } & React.RefAttributes<HTMLIonModalElement>>;
@@ -2,6 +2,7 @@ import * as React from 'react';
2
2
  import { JSX } from '@ionic/core/components';
3
3
  export type ModalSheetProps = React.PropsWithChildren<JSX.IonModal> & {
4
4
  heightInPx?: number;
5
+ autoHeight?: boolean;
5
6
  className?: string;
6
7
  withCloseButton?: boolean;
7
8
  };
@@ -1,4 +1,7 @@
1
1
  import React from 'react';
2
2
  import { TextareaV2Props } from './types';
3
- declare const _default: React.NamedExoticComponent<TextareaV2Props & React.RefAttributes<HTMLIonTextareaElement>>;
3
+ export type TextareaRef = HTMLIonTextareaElement & {
4
+ resetValue: () => void;
5
+ };
6
+ declare const _default: React.NamedExoticComponent<TextareaV2Props & React.RefAttributes<HTMLIonTextareaElement | TextareaRef>>;
4
7
  export default _default;
@@ -4,3 +4,4 @@ export declare const roundToPrecision: (value: number, decimals?: number) => num
4
4
  export declare const getDateLocale: (locale: SupportedLocales) => Locale;
5
5
  export declare const getGMTOffset: (timeZone: string) => string;
6
6
  export declare const getMonthNameInGenitive: (date: Date, locale: SupportedLocales) => string;
7
+ export declare const capitalizeFirstLetter: (str: string) => string;
@@ -2,11 +2,14 @@ import { WithTranslation } from 'react-i18next';
2
2
  import { ClientSpecialistContractStatusEnum } from '../types/contract';
3
3
  import { UserType } from '../types/user';
4
4
  import { Specialist } from '../types/specialistTypes';
5
- import { Schedule, Session, SpecialistReview } from '../types';
5
+ import { RecurringSession, Schedule, Session, SpecialistReview, Subscription } from '../types';
6
6
  export declare const mockT: (translate?: Record<string, string>) => WithTranslation["t"];
7
7
  export declare const specialist: Specialist;
8
8
  export declare const currentUser: UserType;
9
9
  export declare const listReviews: SpecialistReview[];
10
+ export declare const mockSubscriptionInFuture: Subscription;
11
+ export declare const mockSubscriptionInNearFuture: Subscription;
12
+ export declare const mockSubscriptions: Subscription[];
10
13
  export declare const mockSession: Session;
11
14
  export declare const mockSessions: {
12
15
  consultation_time: any;
@@ -44,7 +47,9 @@ export declare const mockSessions: {
44
47
  price_type?: string;
45
48
  price_default?: number;
46
49
  payment_intent_id?: string;
47
- subscription?: import("../types").Subscription;
50
+ subscription?: Subscription;
48
51
  session_review?: import("../types").SessionReview;
52
+ recurring_session_id?: string | null;
49
53
  }[];
50
54
  export declare const getMockSchedule: (dayCount: number, hoursStart?: number, hoursEnd?: number) => Schedule;
55
+ export declare const mockRecurringSession: RecurringSession;
@@ -3,6 +3,7 @@ import { Session, SessionTime, SessionVariant, SupportedLocales } from '../types
3
3
  export declare const SOON_SESSION_TIME_SECONDS: number;
4
4
  export declare const NEAR_SESSION_TIME_SECONDS: number;
5
5
  export declare const CAN_MANAGE_SESSION_TIME_HOURS = 24;
6
+ export declare const SESSION_DURATION = 50;
6
7
  export declare const getStartSessionDate: (sessionTime?: SessionTime) => Date | undefined;
7
8
  export declare const getStartSessionTimestamp: (sessionTime?: SessionTime) => number;
8
9
  export declare const getSessionVariant: (session?: Session) => SessionVariant;
@@ -1,2 +1,2 @@
1
1
  export declare const getVisibleLength: (value: string) => number;
2
- export declare const isCommentValid: (comment: string) => boolean;
2
+ export declare const isCommentValid: (comment: string, minLength?: number) => boolean;
@@ -1,7 +1,7 @@
1
1
  import { WithTranslation } from 'react-i18next';
2
- import { Session, Specialist, SupportedLocales } from '../../shared/types';
2
+ import { Session, SessionQueue, Specialist, SupportedLocales } from '../../shared/types';
3
3
  export type SessionDetailWidgetProps = {
4
- session?: Session;
4
+ session?: Session | SessionQueue;
5
5
  specialist?: Specialist;
6
6
  isLoading?: boolean;
7
7
  t?: WithTranslation['t'];
@@ -7,3 +7,4 @@ export declare const Default: Story;
7
7
  export declare const Loading: Story;
8
8
  export declare const SmallAmount: Story;
9
9
  export declare const Empty: Story;
10
+ export declare const WithRecurringSessions: Story;
@@ -1,13 +1,15 @@
1
1
  import { WithTranslation } from 'react-i18next';
2
- import { Session, SupportedLocales } from '../../shared/types';
2
+ import { RecurringSession, Session, SupportedLocales } from '../../shared/types';
3
3
  export type SessionsWidgetProps = {
4
4
  futureSessions?: Session[];
5
5
  previousSessions?: Session[];
6
+ recurringSessions?: RecurringSession[];
6
7
  hasMorePreviousSessions?: boolean;
7
8
  locale: SupportedLocales;
8
9
  isLoadingFutureSessions?: boolean;
9
10
  isLoadingPreviousSessions?: boolean;
10
11
  maxPeriodToReviewPastSessionInHours?: number;
12
+ daysBeforeCancelationQueueSession?: number;
11
13
  loadPreviousSessions: () => Promise<{
12
14
  list: Session[];
13
15
  total: number;
@@ -15,6 +17,8 @@ export type SessionsWidgetProps = {
15
17
  rateSessionCallback?: (session: Session) => void;
16
18
  onSessionClick?(session: Session): void;
17
19
  onSessionStart?(session: Session): void;
20
+ onRecurringSessionClick?(recurringSession: RecurringSession): void;
18
21
  onScheduleSession?(): void;
22
+ onUpdateSubscription?(session: Session): void;
19
23
  t?: WithTranslation['t'];
20
24
  };