@mindly/ui-components 1.8.0 → 1.10.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 (24) hide show
  1. package/dist/cjs/index.js +2 -2
  2. package/dist/cjs/index.js.map +1 -1
  3. package/dist/cjs/types/index.d.ts +6 -2
  4. package/dist/cjs/types/lib/LetterAvatar/LetterAvatar.d.ts +1 -0
  5. package/dist/cjs/types/lib/PersonDateTimeCard/PersonDateTimeCard.d.ts +8 -0
  6. package/dist/cjs/types/lib/PersonDateTimeCard/PersonDateTimeCard.styled.d.ts +2 -0
  7. package/dist/cjs/types/lib/UsersPsychologistScrollList/UserPsychologistScrollList.styled.d.ts +6 -0
  8. package/dist/cjs/types/lib/UsersPsychologistScrollList/UsersPsychologistScrollList.d.ts +10 -0
  9. package/dist/cjs/types/lib/notes-editor/NotesEditor.d.ts +5 -0
  10. package/dist/cjs/types/lib/notes-editor/NotesEditor.styled.d.ts +2 -0
  11. package/dist/cjs/types/lib/userAppTypes.d.ts +239 -0
  12. package/dist/esm/index.js +3 -3
  13. package/dist/esm/index.js.map +1 -1
  14. package/dist/esm/types/index.d.ts +6 -2
  15. package/dist/esm/types/lib/LetterAvatar/LetterAvatar.d.ts +1 -0
  16. package/dist/esm/types/lib/PersonDateTimeCard/PersonDateTimeCard.d.ts +8 -0
  17. package/dist/esm/types/lib/PersonDateTimeCard/PersonDateTimeCard.styled.d.ts +2 -0
  18. package/dist/esm/types/lib/UsersPsychologistScrollList/UserPsychologistScrollList.styled.d.ts +6 -0
  19. package/dist/esm/types/lib/UsersPsychologistScrollList/UsersPsychologistScrollList.d.ts +10 -0
  20. package/dist/esm/types/lib/notes-editor/NotesEditor.d.ts +5 -0
  21. package/dist/esm/types/lib/notes-editor/NotesEditor.styled.d.ts +2 -0
  22. package/dist/esm/types/lib/userAppTypes.d.ts +239 -0
  23. package/dist/index.d.ts +307 -4
  24. package/package.json +3 -1
@@ -21,7 +21,11 @@ import SelectImpressionEmojiProps from './lib/SelectImpressionEmoji/SelectImpres
21
21
  import ImpressionEmojiEnum from './lib/SelectImpressionEmoji/ImpressionEmojiEnum';
22
22
  import LetterAvatar, { LetterAvatarProps } from './lib/LetterAvatar/LetterAvatar';
23
23
  import ImageWithFallback, { ImageWithFallbackProps } from './lib/ImageWithFallback/ImageWithFallback';
24
- export { ArchivedConsultationCard, DatePicker, Button, FloatingButton, FooterForBooking, ListButton, NavigationBar, ContentCard, TherapistCard, toast, NoInternetConnection, TherapistInformationComponent, Input, ScrollTabs, TabBar, YourLocalTimeBlock, ModalCalendar, HorizontalCalendar, SelectImpressionEmoji, ImpressionEmojiEnum, LetterAvatar, ImageWithFallback, };
25
- export type { SelectImpressionEmojiProps, DayToRender, LetterAvatarProps, ImageWithFallbackProps };
24
+ import PersonDateTimeCard from './lib/PersonDateTimeCard/PersonDateTimeCard';
25
+ import * as UserAppTypes from "./lib/userAppTypes";
26
+ import { UsersPsychologistScrollList, UsersPsychologistScrollListPropsType } from './lib/UsersPsychologistScrollList/UsersPsychologistScrollList';
27
+ import NotesEditor from './lib/notes-editor/NotesEditor';
28
+ export { ArchivedConsultationCard, DatePicker, Button, FloatingButton, FooterForBooking, ListButton, NavigationBar, ContentCard, TherapistCard, toast, NoInternetConnection, TherapistInformationComponent, Input, ScrollTabs, TabBar, YourLocalTimeBlock, ModalCalendar, HorizontalCalendar, SelectImpressionEmoji, ImpressionEmojiEnum, LetterAvatar, ImageWithFallback, PersonDateTimeCard, UsersPsychologistScrollList, NotesEditor };
29
+ export type { SelectImpressionEmojiProps, DayToRender, LetterAvatarProps, ImageWithFallbackProps, UserAppTypes, UsersPsychologistScrollListPropsType };
26
30
  export * from './lib/EntryNotFound';
27
31
  export * from './lib/consultation-card';
@@ -1,6 +1,7 @@
1
1
  import React from "react";
2
2
  export declare type LetterAvatarProps = {
3
3
  letter: string;
4
+ className?: string;
4
5
  };
5
6
  declare const _default: React.NamedExoticComponent<LetterAvatarProps>;
6
7
  export default _default;
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ export declare type PersonDateTimeCardProps = {
3
+ photoSrc?: string;
4
+ name: string;
5
+ dateTime: Date;
6
+ };
7
+ declare const _default: React.NamedExoticComponent<PersonDateTimeCardProps>;
8
+ export default _default;
@@ -0,0 +1,2 @@
1
+ declare const PersonDateTimeCardStyled: import("styled-components").StyledComponent<"div", any, {}, never>;
2
+ export default PersonDateTimeCardStyled;
@@ -0,0 +1,6 @@
1
+ export declare const StyledScrollListSectionWrapper: import("styled-components").StyledComponent<"div", any, {}, never>;
2
+ export declare const StyledSectionTitle: import("styled-components").StyledComponent<"div", any, {}, never>;
3
+ export declare const StyledScrollListWrapper: import("styled-components").StyledComponent<"div", any, {}, never>;
4
+ export declare const StyledScrollListPsychologist: import("styled-components").StyledComponent<"div", any, {}, never>;
5
+ export declare const StyledScrollListPsychologistAvatar: import("styled-components").StyledComponent<"section", any, {}, never>;
6
+ export declare const StyledScrollListPsychologistName: import("styled-components").StyledComponent<"div", any, {}, never>;
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ import { PsychologistType } from '../userAppTypes';
3
+ export declare type UsersPsychologistScrollListPropsType = {
4
+ psychologistClickHandler: React.Dispatch<React.SetStateAction<{
5
+ isShow: boolean;
6
+ psychologist_id: string;
7
+ }>>;
8
+ usersPsychologists: Array<PsychologistType> | null;
9
+ };
10
+ export declare const UsersPsychologistScrollList: ({ psychologistClickHandler, usersPsychologists, }: UsersPsychologistScrollListPropsType) => JSX.Element | null;
@@ -0,0 +1,5 @@
1
+ import React, { HTMLAttributes } from 'react';
2
+ import { JSX } from '@ionic/core';
3
+ export declare type NotesEditorProps = JSX.IonTextarea & HTMLAttributes<HTMLIonTextareaElement>;
4
+ declare const NotesEditor: React.FC<NotesEditorProps>;
5
+ export default NotesEditor;
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare const StyledIonTextarea: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<import("@ionic/core/dist/types/components").JSX.IonTextarea & Pick<import("react").HTMLAttributes<HTMLIonTextareaElement>, "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" | "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" | "children" | "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/IonicReactProps").IonicReactProps & import("react").RefAttributes<HTMLIonTextareaElement>>, any, {}, never>;
@@ -0,0 +1,239 @@
1
+ export interface IPromotionalCode {
2
+ /**
3
+ * The percentage value that specifies the size of the discount
4
+ * @example 25
5
+ */
6
+ percent_off: number;
7
+ /**
8
+ * Price after applying promocode
9
+ */
10
+ price_uah: string;
11
+ }
12
+ export declare enum PaidTypes {
13
+ paid_100 = "paid_100",
14
+ paid_0 = "paid_0"
15
+ }
16
+ export declare type PsychologistProfileType = {
17
+ id: string;
18
+ psychologist_id?: string;
19
+ articles: Array<{
20
+ subtheme: string;
21
+ content: Array<{
22
+ photoURL: string;
23
+ title: string;
24
+ link: string;
25
+ }>;
26
+ }>;
27
+ education: string;
28
+ experience: string;
29
+ goal: string;
30
+ not_work_with: Array<string>;
31
+ short_description: string;
32
+ specialization: string;
33
+ video: Array<{
34
+ subtheme: string;
35
+ content: Array<{
36
+ title: string;
37
+ url: string;
38
+ }>;
39
+ }>;
40
+ work_with: Array<string>;
41
+ };
42
+ export declare type PsycologistCalendarType = {
43
+ id: string;
44
+ psychologist_id: string;
45
+ schedule: Array<{
46
+ slot_id: string;
47
+ }>;
48
+ };
49
+ export declare type WeeklyAvailabilitiesItem = {
50
+ reason: 'busy' | 'opened' | 'booked';
51
+ isAvailable: boolean;
52
+ time: string;
53
+ };
54
+ export declare type PsychologistDevicesProfileType = {
55
+ tokens?: {
56
+ fcmtokens?: string[];
57
+ };
58
+ };
59
+ export declare type PsychologistType = {
60
+ id: string;
61
+ consultation_with: string;
62
+ duration: number;
63
+ email: string;
64
+ first_name: string;
65
+ last_name: string;
66
+ price: number;
67
+ focus: string;
68
+ photo: string;
69
+ avatar: string;
70
+ experience: number;
71
+ time_zone: string;
72
+ calendar: PsycologistCalendarType;
73
+ devices?: PsychologistDevicesProfileType;
74
+ profile: PsychologistProfileType;
75
+ isTestUser: boolean;
76
+ psychologistSex?: 'female' | 'male';
77
+ };
78
+ export declare type ConsultationType = {
79
+ id: string;
80
+ consultation_time: {
81
+ _seconds: number;
82
+ nanoseconds: number;
83
+ };
84
+ consultation_with: string;
85
+ duration: number;
86
+ exchange_rate: string;
87
+ payment_date: {
88
+ _seconds: number;
89
+ nanoseconds: number;
90
+ };
91
+ payment_type?: string;
92
+ price: number;
93
+ price_uah: number;
94
+ psychologist_avatar: string;
95
+ psychologist_id: string;
96
+ psychologist_name: string;
97
+ psychologist_timezone: string;
98
+ user_avatar: string;
99
+ user_id: string;
100
+ user_name: string;
101
+ user_timezone: string;
102
+ videochat_url: string;
103
+ was_rescheduled: boolean;
104
+ session_status?: 'client_showed' | 'client_not_showed';
105
+ consultation_time_before_rescheduling?: {
106
+ _seconds: number;
107
+ nanoseconds: number;
108
+ };
109
+ applied_promotional_code?: string | null;
110
+ auto_booking_status?: 'enable' | 'disable';
111
+ };
112
+ export declare type ConsultationWatcherType = {
113
+ user_id: string;
114
+ payment_date: {
115
+ seconds: number;
116
+ nanoseconds: number;
117
+ };
118
+ };
119
+ export declare type HasPaidConsultationsWithType = {
120
+ therapistID?: string;
121
+ currentPrice?: string;
122
+ };
123
+ export declare type UserType = {
124
+ id?: string | undefined;
125
+ avatar?: Array<{
126
+ url: string;
127
+ }>;
128
+ display_name: string;
129
+ last_name?: string;
130
+ displayName?: string;
131
+ email: string;
132
+ phone_number: string;
133
+ phoneNumber?: string;
134
+ surveyAnswers?: QuestionType[];
135
+ user_psychologists?: Array<string> | string;
136
+ isTestUser: boolean;
137
+ /**
138
+ * @deprecated
139
+ */
140
+ client_from_country?: string;
141
+ financial_support_approved?: boolean;
142
+ hasPaidConsultationsWith?: Array<HasPaidConsultationsWithType>;
143
+ };
144
+ export declare type QuestionType = {
145
+ answers: string[];
146
+ photoURL: string;
147
+ question: string;
148
+ subquestion: string;
149
+ };
150
+ export declare type AnswerType = {
151
+ id: number;
152
+ question: string;
153
+ answer: string;
154
+ };
155
+ export declare type SurveyType = {
156
+ questions: QuestionType[];
157
+ };
158
+ export declare type InputState = {
159
+ value: string;
160
+ active: boolean;
161
+ };
162
+ export declare type ChangeUserDataObject = {
163
+ display_name: string;
164
+ last_name: string;
165
+ phone_number: string;
166
+ };
167
+ export declare type GoogleForgotPasswordAnswer = {
168
+ apiKey: string;
169
+ lang: string;
170
+ mode: string;
171
+ oobCode: string;
172
+ };
173
+ export interface Customer {
174
+ /**
175
+ * Unique identifier for the object.
176
+ */
177
+ id: string;
178
+ /**
179
+ * String representing the object's type. Objects of the same type share the same value.
180
+ */
181
+ object: 'customer';
182
+ /**
183
+ * Current balance, if any, being stored on the customer. If negative, the customer has credit to apply to their next invoice. If positive, the customer has an amount owed that will be added to their next invoice. The balance does not refer to any unpaid invoices; it solely takes into account amounts that have yet to be successfully applied to any invoice. This balance is only taken into account as invoices are finalized.
184
+ */
185
+ balance: number;
186
+ /**
187
+ * Time at which the object was created. Measured in seconds since the Unix epoch.
188
+ */
189
+ created: number;
190
+ /**
191
+ * Three-letter [ISO code for the currency](https://stripe.com/docs/currencies) the customer can be charged in for recurring billing purposes.
192
+ */
193
+ currency: string | null;
194
+ deleted?: void;
195
+ /**
196
+ * When the customer's latest invoice is billed by charging automatically, `delinquent` is `true` if the invoice's latest charge failed. When the customer's latest invoice is billed by sending an invoice, `delinquent` is `true` if the invoice isn't paid by its due date.
197
+ *
198
+ * If an invoice is marked uncollectible by [dunning](https://stripe.com/docs/billing/automatic-collection), `delinquent` doesn't get reset to `false`.
199
+ */
200
+ delinquent: boolean | null;
201
+ /**
202
+ * An arbitrary string attached to the object. Often useful for displaying to users.
203
+ */
204
+ description: string | null;
205
+ /**
206
+ * The customer's email address.
207
+ */
208
+ email: string | null;
209
+ /**
210
+ * The prefix for the customer used to generate unique invoice numbers.
211
+ */
212
+ invoice_prefix: string | null;
213
+ invoice_settings: {
214
+ /**
215
+ * ID of a payment method that's attached to the customer, to be used as the customer's default payment method for subscriptions and invoices.
216
+ */
217
+ default_payment_method?: string;
218
+ };
219
+ /**
220
+ * Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
221
+ */
222
+ livemode: boolean;
223
+ /**
224
+ * The customer's full name or business name.
225
+ */
226
+ name: string | null;
227
+ /**
228
+ * The suffix of the customer's next invoice number, e.g., 0001.
229
+ */
230
+ next_invoice_sequence?: number;
231
+ /**
232
+ * The customer's phone number.
233
+ */
234
+ phone: string | null;
235
+ /**
236
+ * The customer's preferred locales (languages), ordered by preference.
237
+ */
238
+ preferred_locales: Array<string> | null;
239
+ }
package/dist/index.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  /// <reference types="react" />
2
- import React, { ReactNode, FC } from 'react';
2
+ import React, { ReactNode, HTMLAttributes, FC } from 'react';
3
+ import { JSX as JSX$1 } from '@ionic/core';
3
4
 
4
5
  interface ButtonProps {
5
6
  buttonType: 'primary' | 'secondary' | 'actionButton' | 'actionButtonDisabled' | 'secondaryWithStroke' | 'secondaryCancel' | 'actionButtonActive' | 'actionButtonGreen';
@@ -199,18 +200,320 @@ declare type SelectImpressionEmojiProps = {
199
200
  onChange?: (val: ImpressionEmojiEnum) => void;
200
201
  };
201
202
 
202
- declare const _default$1: React.NamedExoticComponent<SelectImpressionEmojiProps>;
203
+ declare const _default$2: React.NamedExoticComponent<SelectImpressionEmojiProps>;
203
204
 
204
205
  declare type LetterAvatarProps = {
205
206
  letter: string;
207
+ className?: string;
206
208
  };
207
- declare const _default: React.NamedExoticComponent<LetterAvatarProps>;
209
+ declare const _default$1: React.NamedExoticComponent<LetterAvatarProps>;
208
210
 
209
211
  declare type ImageWithFallbackProps = JSX.IntrinsicElements["img"] & ({
210
212
  onErrorContent: React.ReactElement;
211
213
  });
212
214
  declare const ImageWithFallback: React.FC<ImageWithFallbackProps>;
213
215
 
216
+ declare type PersonDateTimeCardProps = {
217
+ photoSrc?: string;
218
+ name: string;
219
+ dateTime: Date;
220
+ };
221
+ declare const _default: React.NamedExoticComponent<PersonDateTimeCardProps>;
222
+
223
+ interface IPromotionalCode {
224
+ /**
225
+ * The percentage value that specifies the size of the discount
226
+ * @example 25
227
+ */
228
+ percent_off: number;
229
+ /**
230
+ * Price after applying promocode
231
+ */
232
+ price_uah: string;
233
+ }
234
+ declare enum PaidTypes {
235
+ paid_100 = "paid_100",
236
+ paid_0 = "paid_0"
237
+ }
238
+ declare type PsychologistProfileType = {
239
+ id: string;
240
+ psychologist_id?: string;
241
+ articles: Array<{
242
+ subtheme: string;
243
+ content: Array<{
244
+ photoURL: string;
245
+ title: string;
246
+ link: string;
247
+ }>;
248
+ }>;
249
+ education: string;
250
+ experience: string;
251
+ goal: string;
252
+ not_work_with: Array<string>;
253
+ short_description: string;
254
+ specialization: string;
255
+ video: Array<{
256
+ subtheme: string;
257
+ content: Array<{
258
+ title: string;
259
+ url: string;
260
+ }>;
261
+ }>;
262
+ work_with: Array<string>;
263
+ };
264
+ declare type PsycologistCalendarType = {
265
+ id: string;
266
+ psychologist_id: string;
267
+ schedule: Array<{
268
+ slot_id: string;
269
+ }>;
270
+ };
271
+ declare type WeeklyAvailabilitiesItem = {
272
+ reason: 'busy' | 'opened' | 'booked';
273
+ isAvailable: boolean;
274
+ time: string;
275
+ };
276
+ declare type PsychologistDevicesProfileType = {
277
+ tokens?: {
278
+ fcmtokens?: string[];
279
+ };
280
+ };
281
+ declare type PsychologistType = {
282
+ id: string;
283
+ consultation_with: string;
284
+ duration: number;
285
+ email: string;
286
+ first_name: string;
287
+ last_name: string;
288
+ price: number;
289
+ focus: string;
290
+ photo: string;
291
+ avatar: string;
292
+ experience: number;
293
+ time_zone: string;
294
+ calendar: PsycologistCalendarType;
295
+ devices?: PsychologistDevicesProfileType;
296
+ profile: PsychologistProfileType;
297
+ isTestUser: boolean;
298
+ psychologistSex?: 'female' | 'male';
299
+ };
300
+ declare type ConsultationType = {
301
+ id: string;
302
+ consultation_time: {
303
+ _seconds: number;
304
+ nanoseconds: number;
305
+ };
306
+ consultation_with: string;
307
+ duration: number;
308
+ exchange_rate: string;
309
+ payment_date: {
310
+ _seconds: number;
311
+ nanoseconds: number;
312
+ };
313
+ payment_type?: string;
314
+ price: number;
315
+ price_uah: number;
316
+ psychologist_avatar: string;
317
+ psychologist_id: string;
318
+ psychologist_name: string;
319
+ psychologist_timezone: string;
320
+ user_avatar: string;
321
+ user_id: string;
322
+ user_name: string;
323
+ user_timezone: string;
324
+ videochat_url: string;
325
+ was_rescheduled: boolean;
326
+ session_status?: 'client_showed' | 'client_not_showed';
327
+ consultation_time_before_rescheduling?: {
328
+ _seconds: number;
329
+ nanoseconds: number;
330
+ };
331
+ applied_promotional_code?: string | null;
332
+ auto_booking_status?: 'enable' | 'disable';
333
+ };
334
+ declare type ConsultationWatcherType = {
335
+ user_id: string;
336
+ payment_date: {
337
+ seconds: number;
338
+ nanoseconds: number;
339
+ };
340
+ };
341
+ declare type HasPaidConsultationsWithType = {
342
+ therapistID?: string;
343
+ currentPrice?: string;
344
+ };
345
+ declare type UserType = {
346
+ id?: string | undefined;
347
+ avatar?: Array<{
348
+ url: string;
349
+ }>;
350
+ display_name: string;
351
+ last_name?: string;
352
+ displayName?: string;
353
+ email: string;
354
+ phone_number: string;
355
+ phoneNumber?: string;
356
+ surveyAnswers?: QuestionType[];
357
+ user_psychologists?: Array<string> | string;
358
+ isTestUser: boolean;
359
+ /**
360
+ * @deprecated
361
+ */
362
+ client_from_country?: string;
363
+ financial_support_approved?: boolean;
364
+ hasPaidConsultationsWith?: Array<HasPaidConsultationsWithType>;
365
+ };
366
+ declare type QuestionType = {
367
+ answers: string[];
368
+ photoURL: string;
369
+ question: string;
370
+ subquestion: string;
371
+ };
372
+ declare type AnswerType = {
373
+ id: number;
374
+ question: string;
375
+ answer: string;
376
+ };
377
+ declare type SurveyType = {
378
+ questions: QuestionType[];
379
+ };
380
+ declare type InputState = {
381
+ value: string;
382
+ active: boolean;
383
+ };
384
+ declare type ChangeUserDataObject = {
385
+ display_name: string;
386
+ last_name: string;
387
+ phone_number: string;
388
+ };
389
+ declare type GoogleForgotPasswordAnswer = {
390
+ apiKey: string;
391
+ lang: string;
392
+ mode: string;
393
+ oobCode: string;
394
+ };
395
+ interface Customer {
396
+ /**
397
+ * Unique identifier for the object.
398
+ */
399
+ id: string;
400
+ /**
401
+ * String representing the object's type. Objects of the same type share the same value.
402
+ */
403
+ object: 'customer';
404
+ /**
405
+ * Current balance, if any, being stored on the customer. If negative, the customer has credit to apply to their next invoice. If positive, the customer has an amount owed that will be added to their next invoice. The balance does not refer to any unpaid invoices; it solely takes into account amounts that have yet to be successfully applied to any invoice. This balance is only taken into account as invoices are finalized.
406
+ */
407
+ balance: number;
408
+ /**
409
+ * Time at which the object was created. Measured in seconds since the Unix epoch.
410
+ */
411
+ created: number;
412
+ /**
413
+ * Three-letter [ISO code for the currency](https://stripe.com/docs/currencies) the customer can be charged in for recurring billing purposes.
414
+ */
415
+ currency: string | null;
416
+ deleted?: void;
417
+ /**
418
+ * When the customer's latest invoice is billed by charging automatically, `delinquent` is `true` if the invoice's latest charge failed. When the customer's latest invoice is billed by sending an invoice, `delinquent` is `true` if the invoice isn't paid by its due date.
419
+ *
420
+ * If an invoice is marked uncollectible by [dunning](https://stripe.com/docs/billing/automatic-collection), `delinquent` doesn't get reset to `false`.
421
+ */
422
+ delinquent: boolean | null;
423
+ /**
424
+ * An arbitrary string attached to the object. Often useful for displaying to users.
425
+ */
426
+ description: string | null;
427
+ /**
428
+ * The customer's email address.
429
+ */
430
+ email: string | null;
431
+ /**
432
+ * The prefix for the customer used to generate unique invoice numbers.
433
+ */
434
+ invoice_prefix: string | null;
435
+ invoice_settings: {
436
+ /**
437
+ * ID of a payment method that's attached to the customer, to be used as the customer's default payment method for subscriptions and invoices.
438
+ */
439
+ default_payment_method?: string;
440
+ };
441
+ /**
442
+ * Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
443
+ */
444
+ livemode: boolean;
445
+ /**
446
+ * The customer's full name or business name.
447
+ */
448
+ name: string | null;
449
+ /**
450
+ * The suffix of the customer's next invoice number, e.g., 0001.
451
+ */
452
+ next_invoice_sequence?: number;
453
+ /**
454
+ * The customer's phone number.
455
+ */
456
+ phone: string | null;
457
+ /**
458
+ * The customer's preferred locales (languages), ordered by preference.
459
+ */
460
+ preferred_locales: Array<string> | null;
461
+ }
462
+
463
+ type userAppTypes_d_IPromotionalCode = IPromotionalCode;
464
+ type userAppTypes_d_PaidTypes = PaidTypes;
465
+ declare const userAppTypes_d_PaidTypes: typeof PaidTypes;
466
+ type userAppTypes_d_PsychologistProfileType = PsychologistProfileType;
467
+ type userAppTypes_d_PsycologistCalendarType = PsycologistCalendarType;
468
+ type userAppTypes_d_WeeklyAvailabilitiesItem = WeeklyAvailabilitiesItem;
469
+ type userAppTypes_d_PsychologistDevicesProfileType = PsychologistDevicesProfileType;
470
+ type userAppTypes_d_PsychologistType = PsychologistType;
471
+ type userAppTypes_d_ConsultationType = ConsultationType;
472
+ type userAppTypes_d_ConsultationWatcherType = ConsultationWatcherType;
473
+ type userAppTypes_d_HasPaidConsultationsWithType = HasPaidConsultationsWithType;
474
+ type userAppTypes_d_UserType = UserType;
475
+ type userAppTypes_d_QuestionType = QuestionType;
476
+ type userAppTypes_d_AnswerType = AnswerType;
477
+ type userAppTypes_d_SurveyType = SurveyType;
478
+ type userAppTypes_d_InputState = InputState;
479
+ type userAppTypes_d_ChangeUserDataObject = ChangeUserDataObject;
480
+ type userAppTypes_d_GoogleForgotPasswordAnswer = GoogleForgotPasswordAnswer;
481
+ type userAppTypes_d_Customer = Customer;
482
+ declare namespace userAppTypes_d {
483
+ export {
484
+ userAppTypes_d_IPromotionalCode as IPromotionalCode,
485
+ userAppTypes_d_PaidTypes as PaidTypes,
486
+ userAppTypes_d_PsychologistProfileType as PsychologistProfileType,
487
+ userAppTypes_d_PsycologistCalendarType as PsycologistCalendarType,
488
+ userAppTypes_d_WeeklyAvailabilitiesItem as WeeklyAvailabilitiesItem,
489
+ userAppTypes_d_PsychologistDevicesProfileType as PsychologistDevicesProfileType,
490
+ userAppTypes_d_PsychologistType as PsychologistType,
491
+ userAppTypes_d_ConsultationType as ConsultationType,
492
+ userAppTypes_d_ConsultationWatcherType as ConsultationWatcherType,
493
+ userAppTypes_d_HasPaidConsultationsWithType as HasPaidConsultationsWithType,
494
+ userAppTypes_d_UserType as UserType,
495
+ userAppTypes_d_QuestionType as QuestionType,
496
+ userAppTypes_d_AnswerType as AnswerType,
497
+ userAppTypes_d_SurveyType as SurveyType,
498
+ userAppTypes_d_InputState as InputState,
499
+ userAppTypes_d_ChangeUserDataObject as ChangeUserDataObject,
500
+ userAppTypes_d_GoogleForgotPasswordAnswer as GoogleForgotPasswordAnswer,
501
+ userAppTypes_d_Customer as Customer,
502
+ };
503
+ }
504
+
505
+ declare type UsersPsychologistScrollListPropsType = {
506
+ psychologistClickHandler: React.Dispatch<React.SetStateAction<{
507
+ isShow: boolean;
508
+ psychologist_id: string;
509
+ }>>;
510
+ usersPsychologists: Array<PsychologistType> | null;
511
+ };
512
+ declare const UsersPsychologistScrollList: ({ psychologistClickHandler, usersPsychologists, }: UsersPsychologistScrollListPropsType) => JSX.Element | null;
513
+
514
+ declare type NotesEditorProps = JSX$1.IonTextarea & HTMLAttributes<HTMLIonTextareaElement>;
515
+ declare const NotesEditor: React.FC<NotesEditorProps>;
516
+
214
517
  declare type EntryNotFoundProps = {
215
518
  title?: string;
216
519
  };
@@ -246,4 +549,4 @@ declare const ConsultationCard: React.FC<ConsultationCardProps>;
246
549
 
247
550
  declare const ConsultationCardSkeleton: () => JSX.Element;
248
551
 
249
- export { ArchivedConsultationCard, Button, ConsultationCard, ConsultationCardProps, ConsultationCardSkeleton, ContentCard, DatePicker, DayOfWeeks, DayToRender, EntryNotFound, EntryNotFoundProps, FloatingButton, FooterForBooking, HorizontalCalendar, ImageWithFallback, ImageWithFallbackProps, ImpressionEmojiEnum, Input, _default as LetterAvatar, LetterAvatarProps, ListButton, ModalCalendar, NavigationBar, NoInternetConnection, ScrollTabs, _default$1 as SelectImpressionEmoji, SelectImpressionEmojiProps, TabBar, TherapistCard, TherapistInformationComponent, YourLocalTimeBlock, toast };
552
+ export { ArchivedConsultationCard, Button, ConsultationCard, ConsultationCardProps, ConsultationCardSkeleton, ContentCard, DatePicker, DayOfWeeks, DayToRender, EntryNotFound, EntryNotFoundProps, FloatingButton, FooterForBooking, HorizontalCalendar, ImageWithFallback, ImageWithFallbackProps, ImpressionEmojiEnum, Input, _default$1 as LetterAvatar, LetterAvatarProps, ListButton, ModalCalendar, NavigationBar, NoInternetConnection, NotesEditor, _default as PersonDateTimeCard, ScrollTabs, _default$2 as SelectImpressionEmoji, SelectImpressionEmojiProps, TabBar, TherapistCard, TherapistInformationComponent, userAppTypes_d as UserAppTypes, UsersPsychologistScrollList, UsersPsychologistScrollListPropsType, YourLocalTimeBlock, toast };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mindly/ui-components",
3
- "version": "1.8.0",
3
+ "version": "1.10.0",
4
4
  "private": false,
5
5
  "scripts": {
6
6
  "start": "react-scripts start",
@@ -31,6 +31,7 @@
31
31
  "@types/react-dom": "^17.0.9",
32
32
  "auto": "^10.32.0",
33
33
  "date-fns": "^2.28.0",
34
+ "luxon": "^2.4.0",
34
35
  "react": "^17.0.2",
35
36
  "react-day-picker": "^8.0.5",
36
37
  "react-dom": "^17.0.2",
@@ -116,6 +117,7 @@
116
117
  "@storybook/preset-create-react-app": "^3.2.0",
117
118
  "@storybook/react": "^6.3.9",
118
119
  "@svgr/rollup": "^5.5.0",
120
+ "@types/luxon": "^2.3.2",
119
121
  "@types/styled-components": "^5.1.13",
120
122
  "@typescript-eslint/parser": "^4.30.0",
121
123
  "babel-cli": "^6.26.0",