@local-civics/hub-ui 0.1.117-beta.2 → 0.1.117-beta.3

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.
@@ -0,0 +1,1079 @@
1
+ import * as React from 'react';
2
+ import React__default, { FunctionComponent } from 'react';
3
+
4
+ /**
5
+ * ActivityCardProps
6
+ */
7
+ type ActivityCardProps = {
8
+ headline?: string;
9
+ imageURL?: string;
10
+ pathway?: string;
11
+ xp?: number;
12
+ summary?: string;
13
+ skills?: string[];
14
+ tags?: string[];
15
+ startTime?: string;
16
+ endTime?: string;
17
+ link?: string;
18
+ formId?: string;
19
+ address?: string;
20
+ isBookmarked?: boolean;
21
+ canReflect?: boolean;
22
+ milestone?: boolean;
23
+ onRegister?: () => void;
24
+ onUnregister?: () => void;
25
+ onLaunch?: () => void;
26
+ onReflect?: () => void;
27
+ onSkillClick?: (skill: string) => void;
28
+ onClose?: () => void;
29
+ };
30
+ /**
31
+ * ActivityCard
32
+ * @param props
33
+ * @constructor
34
+ */
35
+ declare const ActivityCard: (props: ActivityCardProps) => JSX.Element;
36
+
37
+ /**
38
+ * ActivityItemProps
39
+ */
40
+ type ActivityItemProps = {
41
+ headline?: string;
42
+ pathway?: string;
43
+ xp?: number;
44
+ imageURL?: string;
45
+ onClick?: () => void;
46
+ };
47
+ /**
48
+ * ActivityItem
49
+ * @param props
50
+ * @constructor
51
+ */
52
+ declare const ActivityItem: (props: ActivityItemProps) => JSX.Element;
53
+
54
+ /**
55
+ * ActivityListProps
56
+ */
57
+ type ActivityListProps = {
58
+ isLoading?: boolean;
59
+ search?: string;
60
+ onSearch?: (search?: string) => void;
61
+ tags?: string[];
62
+ onTagChange?: (tags: string[]) => void;
63
+ activities?: any[];
64
+ top?: any[];
65
+ upcoming?: any[];
66
+ milestones?: any[];
67
+ onActivityClick?: (activityId: string) => void;
68
+ };
69
+ /**
70
+ * A component for listing activities
71
+ * @param props
72
+ * @constructor
73
+ */
74
+ declare const ActivityList: (props: ActivityListProps) => JSX.Element;
75
+
76
+ /**
77
+ * ActivityReflectionProps
78
+ */
79
+ type ActivityReflectionProps = {
80
+ startTime?: string;
81
+ reflection?: string;
82
+ pathway?: string;
83
+ rating?: number;
84
+ xp?: number;
85
+ headline?: string;
86
+ imageURL?: string;
87
+ canReflect?: boolean;
88
+ hasChanges?: boolean;
89
+ onClose?: () => void;
90
+ onSave?: (reflection: string, rating: number) => Promise<void>;
91
+ };
92
+ /**
93
+ * ActivityReflection
94
+ * @param props
95
+ * @constructor
96
+ */
97
+ declare const ActivityReflection: (props: ActivityReflectionProps) => JSX.Element;
98
+
99
+ /**
100
+ * FilterProps
101
+ */
102
+ interface TagFilterProps {
103
+ tags?: string[];
104
+ onChange?: (tags: string[]) => void;
105
+ }
106
+ /**
107
+ * Filter
108
+ * @param props
109
+ * @constructor
110
+ */
111
+ declare const TagFilter: (props: TagFilterProps) => JSX.Element;
112
+
113
+ /**
114
+ * List of icons available
115
+ */
116
+ declare const iconNames: readonly ["14-point star", "award ribbon", "up & down arrow", "check & circle", "check & circle dark", "lock", "circle", "progress", "party popper", "plus & circle", "x & circle", "x & square", "pen & paper", "caret left", "formal backpack", "formal ballot box", "formal bar graph", "formal bolt", "formal briefcase", "formal bullseye", "formal burger", "formal camera lens", "formal design bulb", "formal double pan balance", "formal easel", "formal eye", "formal gavel", "formal group", "formal handshake", "formal heart", "formal magnifying glass", "formal medicine", "formal microphone", "formal molecule", "formal moneybag", "formal mortarboard", "formal parthenon", "formal pencil", "formal pie chart", "formal pin", "formal rocket", "formal scholar", "formal stopwatch"];
117
+ /**
118
+ * The name of the icon.
119
+ */
120
+ type IconName$1 = typeof iconNames[number];
121
+
122
+ /**
123
+ * BadgeButtonProps
124
+ */
125
+ type BadgeButtonProps = {
126
+ displayName?: string;
127
+ icon?: IconName$1;
128
+ iconURL?: string;
129
+ imageURL?: string;
130
+ startedAt?: string;
131
+ createdAt?: string;
132
+ finishedAt?: string;
133
+ level?: number;
134
+ isLocked?: boolean;
135
+ progress?: number;
136
+ target?: number;
137
+ readonly?: boolean;
138
+ compact?: boolean;
139
+ onClick?: () => void;
140
+ };
141
+
142
+ /**
143
+ * BadgeActivityProps
144
+ */
145
+ type BadgeActivityProps = {
146
+ activityId?: string;
147
+ activityName?: string;
148
+ criteriaName?: string;
149
+ namespace?: string;
150
+ imageURL?: string;
151
+ xp?: number;
152
+ formId?: string;
153
+ milestone?: boolean;
154
+ badgeId?: string;
155
+ criterionId?: string;
156
+ startedAt?: string;
157
+ completedAt?: string;
158
+ chosenAt?: string;
159
+ tags?: string[];
160
+ startTime?: string;
161
+ isSelected?: boolean;
162
+ onToggle?: () => void;
163
+ onClick?: () => void;
164
+ };
165
+
166
+ /**
167
+ * CriterionProps
168
+ */
169
+ type CriterionProps$1 = {
170
+ criterionId?: string;
171
+ displayName?: string;
172
+ namespace?: string;
173
+ options?: BadgeActivityProps[];
174
+ };
175
+ /**
176
+ * BadgeCardProps
177
+ */
178
+ type BadgeCardProps = {
179
+ icon?: IconName$1;
180
+ iconURL?: string;
181
+ isLoading?: boolean;
182
+ displayName?: string;
183
+ imageURL?: string;
184
+ level?: number;
185
+ summary?: string;
186
+ criteria?: CriterionProps$1[];
187
+ choices?: BadgeActivityProps[];
188
+ canSubmit?: boolean;
189
+ finishedAt?: string;
190
+ preview?: boolean;
191
+ onClose?: () => void;
192
+ onSubmit?: () => void;
193
+ };
194
+
195
+ /**
196
+ * BadgeProps
197
+ */
198
+ type BadgeProps = BadgeCardProps & BadgeButtonProps & {
199
+ badgeId?: string;
200
+ summary?: string;
201
+ status?: string;
202
+ code?: string;
203
+ editChoices?: boolean;
204
+ open?: boolean;
205
+ onOpen?: () => void;
206
+ };
207
+ /**
208
+ * Badge
209
+ * @param props
210
+ * @constructor
211
+ */
212
+ declare const Badge: (props: BadgeProps) => JSX.Element;
213
+
214
+ /**
215
+ * CriterionProps
216
+ */
217
+ type CriterionProps = {
218
+ criterionId?: string;
219
+ displayName?: string;
220
+ namespace?: string;
221
+ options?: BadgeActivityProps[];
222
+ onClick?: () => void;
223
+ };
224
+ /**
225
+ * BadgeActivityMenuProps
226
+ */
227
+ type BadgeActivityMenuProps = {
228
+ criteria?: CriterionProps[];
229
+ onBack?: () => void;
230
+ };
231
+ /**
232
+ * BadgeActivityMenu
233
+ * @param props
234
+ * @constructor
235
+ */
236
+ declare const BadgeActivityMenu: (props: BadgeActivityMenuProps) => JSX.Element;
237
+
238
+ type BadgeFilterOption = {
239
+ label: string;
240
+ isActive?: boolean;
241
+ };
242
+ /**
243
+ * BadgeSectionProps
244
+ */
245
+ type BadgeSectionProps = {
246
+ badges: BadgeProps[];
247
+ isLoading?: boolean;
248
+ readonly?: boolean;
249
+ list?: boolean;
250
+ onToggleLayout?: (next: boolean) => void;
251
+ filters?: BadgeFilterOption[];
252
+ onFilterChange?: (next: BadgeFilterOption[]) => void;
253
+ };
254
+ /**
255
+ * BadgeSection
256
+ * @param props
257
+ * @constructor
258
+ */
259
+ declare const BadgeSection: (props: BadgeSectionProps) => JSX.Element;
260
+
261
+ /**
262
+ * BadgeSuccessDialogProps
263
+ */
264
+ type BadgeSuccessDialogProps = {
265
+ displayName?: string;
266
+ xp?: number;
267
+ level?: number;
268
+ onClose?: () => void;
269
+ };
270
+ /**
271
+ * BadgeSuccessDialog
272
+ * @param props
273
+ * @constructor
274
+ */
275
+ declare const BadgeSuccessDialog: (props: BadgeSuccessDialogProps) => JSX.Element;
276
+
277
+ /**
278
+ * List of icons available
279
+ */
280
+ declare const icons: readonly ["default", "calendar", "positive", "negative", "circle", "college & career", "arts & culture", "explore", "goal", "help", "leftArrow", "rightArrow", "policy & government", "recreation", "send", "shield", "profile", "volunteer", "clock", "sponsored", "globe", "pin", "milestone", "citizen", "cohort", "builder", "advocate", "leader", "representative", "bolt", "accept", "close", "menu-close", "pathway", "edit", "settings", "objective", "achievements", "badges", "milestones", "activity", "reflection", "registrations", "lock", "unlock", "badge", "waypoint", "apple", "guest speaker", "search", "menu", "todo", "done", "review", "contingent", "unqualified", "materials", "asynchronous", "synchronous", "export", "service-tracking"];
281
+
282
+ /**
283
+ * The name of the icon.
284
+ */
285
+ type IconName = typeof icons[number];
286
+ /**
287
+ * The properties for the icon.
288
+ */
289
+ type IconProps = {
290
+ name: IconName;
291
+ };
292
+ /**
293
+ * A component for icons.
294
+ */
295
+ declare const Icon: (props: IconProps) => JSX.Element | null;
296
+
297
+ /**
298
+ * The properties for the tab.
299
+ */
300
+ type TabProps = {
301
+ icon?: IconName;
302
+ title?: string;
303
+ secondary?: boolean;
304
+ active?: boolean;
305
+ disabled?: boolean;
306
+ onClick?: () => void;
307
+ };
308
+ /**
309
+ * A component for an individual tab option.
310
+ * @param props
311
+ * @constructor
312
+ */
313
+ declare const Tab: (props: TabProps) => JSX.Element;
314
+
315
+ /**
316
+ * The properties for tabs.
317
+ */
318
+ type BoardProps = {
319
+ isLoading?: boolean;
320
+ secondary?: boolean;
321
+ tabs?: React__default.ReactNode;
322
+ workflow?: React__default.ReactNode;
323
+ };
324
+ /**
325
+ * A component for tabs.
326
+ * @param props
327
+ * @constructor
328
+ */
329
+ declare const Board: (props: BoardProps) => JSX.Element;
330
+
331
+ /**
332
+ * The button color.
333
+ */
334
+ type ButtonColor = "slate" | "sky" | "green" | "rose" | "emerald" | "primary" | "secondary" | "slate:sky" | "slate:icon" | "blue" | "dark-blue";
335
+ /**
336
+ * The button size.
337
+ */
338
+ type ButtonSize = "tiny" | "xs" | "sm" | "md" | "lg" | "xl" | "full:sm" | "full:md";
339
+ /**
340
+ * The button spacing.
341
+ */
342
+ type ButtonSpacing = "none" | "xs" | "sm" | "md" | "lg";
343
+ /**
344
+ * The button theme.
345
+ */
346
+ type ButtonTheme = "light" | "dark";
347
+ /**
348
+ * The button justify.
349
+ */
350
+ type ButtonJustify = "center" | "start";
351
+ /**
352
+ * The button border.
353
+ */
354
+ type ButtonBorder = "none" | "rectangle" | "rounded" | "rounded-sm" | "circle" | "circle-sm" | "icon:circle";
355
+ /**
356
+ * The button filter.
357
+ */
358
+ type ButtonFilter = "shadow" | "none";
359
+ /**
360
+ * The properties for the button.
361
+ */
362
+ type ButtonProps = {
363
+ type?: "submit" | "reset" | "button";
364
+ form?: boolean;
365
+ theme?: ButtonTheme;
366
+ active?: boolean;
367
+ disabled?: boolean;
368
+ color?: ButtonColor;
369
+ size?: ButtonSize;
370
+ spacing?: ButtonSpacing;
371
+ icon?: IconName;
372
+ logo?: boolean;
373
+ justify?: ButtonJustify;
374
+ border?: ButtonBorder;
375
+ filter?: ButtonFilter;
376
+ text?: string;
377
+ footer?: string;
378
+ wide?: boolean;
379
+ onClick?: () => void;
380
+ };
381
+ /**
382
+ * A component for buttons.
383
+ * @param props
384
+ * @constructor
385
+ */
386
+ declare const Button: (props: ButtonProps) => JSX.Element;
387
+
388
+ /**
389
+ * DateSelection component props.
390
+ */
391
+ type DateSelectionProps = {
392
+ isLoading?: boolean;
393
+ date?: Date | null;
394
+ setDate: (date: Date | null) => void;
395
+ };
396
+ /**
397
+ * DateSelection component.
398
+ * @param props
399
+ * @constructor
400
+ */
401
+ declare const DateSelection: (props: DateSelectionProps) => JSX.Element;
402
+ /**
403
+ * The properties for the day selection option.
404
+ */
405
+ type DaySelectionOptionProps = {
406
+ today: boolean;
407
+ active: boolean;
408
+ currentMonth: boolean;
409
+ children: number;
410
+ onClick: () => void;
411
+ };
412
+
413
+ /**
414
+ * EventItemProps
415
+ */
416
+ type EventItemProps = {
417
+ headline?: string;
418
+ pathway?: string;
419
+ onClick?: () => void;
420
+ };
421
+ /**
422
+ * EventItem
423
+ * @param props
424
+ * @constructor
425
+ */
426
+ declare const EventItem: (props: EventItemProps) => JSX.Element;
427
+
428
+ /**
429
+ * EventList props.
430
+ */
431
+ type EventListProps = {
432
+ isLoading?: boolean;
433
+ date: Date | null;
434
+ onSetDate: (date: Date | null) => void;
435
+ children?: React__default.ReactNode;
436
+ };
437
+ /**
438
+ * EventList component.
439
+ * @param props
440
+ * @constructor
441
+ */
442
+ declare const EventList: (props: EventListProps) => JSX.Element;
443
+
444
+ /**
445
+ * CardProps
446
+ */
447
+ type CardProps = {
448
+ isLoading?: boolean;
449
+ children?: React.ReactNode;
450
+ onClose?: () => void;
451
+ };
452
+ /**
453
+ * Card
454
+ * @param props
455
+ * @constructor
456
+ */
457
+ declare const Card: (props: CardProps) => JSX.Element;
458
+
459
+ /**
460
+ * Home
461
+ * @constructor
462
+ */
463
+ declare const Home: () => JSX.Element;
464
+
465
+ /**
466
+ * FormItemProps
467
+ */
468
+ type FormItemProps = {
469
+ itemId?: string;
470
+ displayName?: string | React__default.ReactNode;
471
+ description?: string;
472
+ format?: "question" | "image" | "embed" | "text";
473
+ questionType?: "radio" | "checkbox" | "drop down" | "file upload" | "text" | "date" | "time";
474
+ options?: string[];
475
+ paragraph?: boolean;
476
+ required?: boolean;
477
+ disabled?: boolean;
478
+ url?: string;
479
+ answerId?: string;
480
+ journalId?: string;
481
+ questionId?: string;
482
+ responses?: string[];
483
+ minText?: number;
484
+ children?: React__default.ReactNode;
485
+ onResponseChange?: (responses?: string[], file?: Blob) => void;
486
+ onTextBlur?: () => void;
487
+ };
488
+
489
+ /**
490
+ * LearningFormProps
491
+ */
492
+ type LearningFormProps = {
493
+ formId?: string;
494
+ displayName?: string;
495
+ description?: string;
496
+ eta?: string;
497
+ imageURL?: string;
498
+ reflection?: string;
499
+ rating?: number;
500
+ items?: FormItemProps[];
501
+ preview?: boolean;
502
+ timeSpent?: number;
503
+ elapsedTime?: number;
504
+ stopWatchStarted?: boolean;
505
+ stopWatch?: React__default.ReactNode;
506
+ onHome?: () => void;
507
+ onGoBack?: () => void;
508
+ onSubmit?: (reflection: string, rating?: number) => Promise<any>;
509
+ onSaveDraft?: (items: FormItemProps[], reflection: string, rating?: number) => Promise<any>;
510
+ };
511
+ /**
512
+ * LearningForm
513
+ * @param props
514
+ * @constructor
515
+ */
516
+ declare const LearningForm: (props: LearningFormProps) => JSX.Element;
517
+
518
+ /**
519
+ * The properties for the loader.
520
+ */
521
+ type LoaderProps = {
522
+ isLoading?: boolean;
523
+ children: React__default.ReactNode;
524
+ };
525
+ /**
526
+ * A component for content that is not ready to be displayed.
527
+ */
528
+ declare const Loader: (props: LoaderProps) => JSX.Element;
529
+
530
+ /**
531
+ * A component for Local Civics logo branding.
532
+ */
533
+ declare const Logo: () => JSX.Element;
534
+
535
+ /**
536
+ * The properties for the modal.
537
+ */
538
+ type ModalProps = {
539
+ isLoading?: boolean;
540
+ visible?: boolean;
541
+ inline?: boolean;
542
+ top?: boolean;
543
+ plain?: boolean;
544
+ transparent?: boolean;
545
+ stage?: boolean;
546
+ children?: React__default.ReactNode;
547
+ onClose?: () => void;
548
+ };
549
+ /**
550
+ * A component for displaying modals
551
+ */
552
+ declare const Modal: (props: ModalProps) => JSX.Element;
553
+
554
+ /**
555
+ * The nav link name.
556
+ */
557
+ type NavLinkName = "home" | "profile" | "explore" | "calendar" | "login" | "logout" | "menu" | "menu-close" | "faq" | "terms" | "privacy";
558
+ /**
559
+ * The properties for navigation links.
560
+ */
561
+ type NavLinkProps = {
562
+ name?: NavLinkName | string;
563
+ menu?: boolean;
564
+ active?: boolean;
565
+ disabled?: boolean;
566
+ onClick?: () => void;
567
+ };
568
+ /**
569
+ * A component for navigation links.
570
+ * @param props
571
+ * @constructor
572
+ */
573
+ declare const NavLink: (props: NavLinkProps) => JSX.Element;
574
+
575
+ /**
576
+ * The properties for the nav bar.
577
+ */
578
+ type NavBarProps = {
579
+ children?: (React__default.ReactElement<NavLinkProps> | undefined)[] | React__default.ReactElement<NavLinkProps>;
580
+ };
581
+ /**
582
+ * A component for navigating the platform.
583
+ */
584
+ declare const NavBar: (props: NavBarProps) => JSX.Element;
585
+
586
+ /**
587
+ * NotFoundProps
588
+ */
589
+ type NotFoundProps = {
590
+ visible?: boolean;
591
+ onHome?: () => void;
592
+ };
593
+ /**
594
+ * NotFound
595
+ * @param props
596
+ * @constructor
597
+ */
598
+ declare const NotFound: (props: NotFoundProps) => JSX.Element;
599
+
600
+ /**
601
+ * OnboardingProps
602
+ */
603
+ type OnboardingProps = {
604
+ isLoading?: boolean;
605
+ hasOrganization?: boolean;
606
+ hasRegistration?: boolean;
607
+ hasInterests?: boolean;
608
+ search?: string;
609
+ persona?: string;
610
+ givenName?: string;
611
+ familyName?: string;
612
+ grade?: number;
613
+ impactStatement?: string;
614
+ interests?: string[];
615
+ organizations?: any[];
616
+ onDeclineLegalAgreement?: () => void;
617
+ onOrganizationSearch?: (search: string) => void;
618
+ onJoinOrganization?: (organizationId: string, accessCode?: string) => void;
619
+ onConfigureTenant: (changes: any) => void;
620
+ onFinish?: () => void;
621
+ };
622
+ /**
623
+ * A component for onboarding
624
+ * @param props
625
+ * @constructor
626
+ */
627
+ declare const Onboarding: (props: OnboardingProps) => JSX.Element;
628
+
629
+ /**
630
+ * OverlayProps
631
+ */
632
+ type OverlayProps = {
633
+ children?: React.ReactNode;
634
+ };
635
+ /**
636
+ * Overlay
637
+ * @param props
638
+ * @constructor
639
+ */
640
+ declare const Overlay: (props: OverlayProps) => JSX.Element;
641
+
642
+ /**
643
+ * PathwayProps
644
+ */
645
+ type PathwayButtonProps = {
646
+ active?: boolean;
647
+ name?: "policy & government" | "arts & culture" | "college & career" | "volunteer" | "recreation";
648
+ onClick?: () => void;
649
+ };
650
+ /**
651
+ * A component for displaying a single pathway
652
+ * @param props
653
+ * @constructor
654
+ */
655
+ declare const PathwayButton: (props: PathwayButtonProps) => JSX.Element;
656
+
657
+ /**
658
+ * PathwayFilter props
659
+ */
660
+ interface PathwayFilterProps {
661
+ title: string;
662
+ pathways?: string[];
663
+ onChange?: (pathways: string[]) => void;
664
+ }
665
+ /**
666
+ * PathwayFilter
667
+ * @param props
668
+ * @constructor
669
+ */
670
+ declare const PathwayFilter: FunctionComponent<PathwayFilterProps>;
671
+
672
+ /**
673
+ * The activity progress height.
674
+ */
675
+ type PathwayProgressHeight = "sm" | "md";
676
+ /**
677
+ * The properties for the pathway progress.
678
+ */
679
+ type PathwayProgressProps = {
680
+ xp?: number;
681
+ nextXP?: number;
682
+ level?: number;
683
+ open?: boolean;
684
+ title?: string;
685
+ icon?: IconName;
686
+ height?: PathwayProgressHeight;
687
+ onOpen?: () => void;
688
+ };
689
+ /**
690
+ * A component for displaying pathway progress.
691
+ * @param props
692
+ * @constructor
693
+ */
694
+ declare const PathwayProgress: (props: PathwayProgressProps) => JSX.Element;
695
+
696
+ /**
697
+ * The properties for the pathway progress widget
698
+ */
699
+ interface PathwayWidgetProps {
700
+ isLoading?: boolean;
701
+ edit?: boolean;
702
+ onHelp?: () => void;
703
+ children?: React__default.ReactNode;
704
+ }
705
+ /**
706
+ * A widget to display pathway progress
707
+ * @param props
708
+ * @constructor
709
+ */
710
+ declare const PathwayWidget: (props: PathwayWidgetProps) => JSX.Element;
711
+
712
+ /**
713
+ * The properties for the about widget.
714
+ */
715
+ type AboutWidgetProps = {
716
+ isLoading?: boolean;
717
+ edit?: boolean;
718
+ impactStatement?: string;
719
+ placeName?: string;
720
+ communityName?: string;
721
+ onEdit?: () => void;
722
+ };
723
+ /**
724
+ * A widget for displaying additional info about the resident.
725
+ * @param props
726
+ * @constructor
727
+ */
728
+ declare const AboutWidget: (props: AboutWidgetProps) => JSX.Element;
729
+
730
+ /**
731
+ * The properties for the achievement widget.
732
+ */
733
+ interface AchievementWidgetProps {
734
+ isLoading?: boolean;
735
+ lessonsCompleted?: number;
736
+ badgesEarned?: number;
737
+ civicMilestones?: number;
738
+ serviceHours?: number;
739
+ openDisabled?: boolean;
740
+ openIcon?: IconName;
741
+ onOpen?: () => void;
742
+ }
743
+ /**
744
+ * A widget for displaying resident a achievement report.
745
+ * @param props
746
+ * @constructor
747
+ */
748
+ declare const AchievementWidget: (props: AchievementWidgetProps) => JSX.Element;
749
+
750
+ /**
751
+ * SettingsCardProps
752
+ */
753
+ type SettingsCardProps = {
754
+ givenName?: string;
755
+ familyName?: string;
756
+ grade?: number;
757
+ impactStatement?: string;
758
+ avatarURL?: string;
759
+ accessToken?: string;
760
+ isLoading?: boolean;
761
+ visible?: boolean;
762
+ hasChanges?: boolean;
763
+ onClose?: () => void;
764
+ onSave?: (changes?: {
765
+ name?: string;
766
+ givenName?: string;
767
+ familyName?: string;
768
+ grade?: number;
769
+ subject?: string;
770
+ persona?: string;
771
+ impactStatement?: string;
772
+ interests?: string[];
773
+ avatar?: Blob;
774
+ }) => void;
775
+ };
776
+ /**
777
+ * SettingsCard
778
+ * @param props
779
+ * @constructor
780
+ */
781
+ declare const SettingsCard: (props: SettingsCardProps) => JSX.Element;
782
+
783
+ /**
784
+ * The properties for the impact score widget.
785
+ */
786
+ type ImpactWidgetProps = {
787
+ level?: number;
788
+ xp?: number;
789
+ nextXP?: number;
790
+ isLoading?: boolean;
791
+ };
792
+ /**
793
+ * A widget for displaying the impact score.
794
+ * @param props
795
+ * @constructor
796
+ */
797
+ declare const ImpactWidget: (props: ImpactWidgetProps) => JSX.Element;
798
+
799
+ /**
800
+ * The properties for the resident.
801
+ */
802
+ type ResidentWidgetProps = {
803
+ isLoading?: boolean;
804
+ avatarURL?: string;
805
+ tenantName?: string;
806
+ givenName?: string;
807
+ familyName?: string;
808
+ createdAt?: string;
809
+ online?: boolean;
810
+ };
811
+ /**
812
+ * A component for displaying a resident.
813
+ * @param props
814
+ * @constructor
815
+ */
816
+ declare const ProfileWidget: (props: ResidentWidgetProps) => JSX.Element;
817
+
818
+ /**
819
+ * The properties for progress.
820
+ */
821
+ type ProgressProps = {
822
+ start: number;
823
+ end: number;
824
+ rounded?: boolean;
825
+ color?: "green" | "sky-blue";
826
+ };
827
+ /**
828
+ * A component for displaying progress.
829
+ */
830
+ declare const Progress: (props: ProgressProps) => JSX.Element;
831
+
832
+ /**
833
+ * The properties for the search button.
834
+ */
835
+ type SearchButtonProps = {
836
+ disabled?: boolean;
837
+ placeholder?: string;
838
+ onClick?: () => void;
839
+ };
840
+ /**
841
+ * A component for starting a search via click.
842
+ * @param props
843
+ * @constructor
844
+ */
845
+ declare const SearchButton: (props: SearchButtonProps) => JSX.Element;
846
+
847
+ type SearchResultProps = {
848
+ title?: string;
849
+ icon?: IconName;
850
+ onClick?: () => void;
851
+ };
852
+ declare const SearchResult: (props: SearchResultProps) => JSX.Element;
853
+
854
+ type SearchProps = {
855
+ autofocus?: boolean;
856
+ category?: string;
857
+ open?: boolean;
858
+ disabled?: boolean;
859
+ placeholder?: string;
860
+ value?: string;
861
+ onOpen?: () => void;
862
+ onClose?: () => void;
863
+ results?: React__default.ReactElement<SearchResultProps> | React__default.ReactElement<SearchResultProps>[] | null;
864
+ onSearch?: (search: string) => void;
865
+ };
866
+ declare const Search: (props: SearchProps) => JSX.Element;
867
+
868
+ /**
869
+ * FormProps
870
+ */
871
+ type FormProps = {
872
+ inReview?: boolean;
873
+ showSubmitDialogue?: boolean;
874
+ showExitDialogue?: boolean;
875
+ children?: React__default.ReactNode;
876
+ onSubmit?: (responses: any) => Promise<any>;
877
+ onClose?: () => void;
878
+ };
879
+
880
+ /**
881
+ * LogServiceButtonProps
882
+ */
883
+ type LogServiceButtonProps = {
884
+ text?: string;
885
+ isOpen?: boolean;
886
+ form?: FormProps;
887
+ onSubmit?: (responses: any) => Promise<any>;
888
+ onClick?: () => void;
889
+ };
890
+ /**
891
+ * LogServiceButton
892
+ * @param props
893
+ * @constructor
894
+ */
895
+ declare const LogServiceButton: (props: LogServiceButtonProps) => JSX.Element;
896
+
897
+ /**
898
+ * StopwatchProps
899
+ */
900
+ type CtaListProps = {
901
+ readOnly?: boolean;
902
+ ctaLabel?: string;
903
+ };
904
+ type StopwatchProps = {
905
+ time?: string;
906
+ ctaList?: CtaListProps[];
907
+ onCTAClick?: (ctaLabel: string) => void;
908
+ hide?: boolean;
909
+ };
910
+ /**
911
+ * A component for Stopwatch.
912
+ * @param props
913
+ * @constructor
914
+ */
915
+ declare const Stopwatch: (props: StopwatchProps) => JSX.Element;
916
+
917
+ /**
918
+ * TaskItemProps
919
+ */
920
+ type TaskItemProps = {
921
+ headline?: string;
922
+ full?: boolean;
923
+ status?: "todo" | "in-progress" | "done";
924
+ onAction?: () => void;
925
+ };
926
+ /**
927
+ * TaskItem
928
+ * @param props
929
+ * @constructor
930
+ */
931
+ declare const TaskItem: (props: TaskItemProps) => JSX.Element;
932
+
933
+ /**
934
+ * The properties for the task workflow.
935
+ */
936
+ type TaskListProps = {
937
+ isLoading?: boolean;
938
+ active?: "todo" | "in-progress" | "done";
939
+ onTodo?: () => void;
940
+ onInProgress?: () => void;
941
+ onDone?: () => void;
942
+ children?: React__default.ReactNode;
943
+ };
944
+ /**
945
+ * A component for the task workflow.
946
+ * @param props
947
+ * @constructor
948
+ */
949
+ declare const TaskList: (props: TaskListProps) => JSX.Element;
950
+
951
+ /**
952
+ * The properties for the widget body.
953
+ */
954
+ type WidgetBodyProps = {
955
+ spacing?: "sm" | "md" | "none";
956
+ children?: React__default.ReactNode;
957
+ };
958
+ /**
959
+ * A component for the widget body.
960
+ * @param props
961
+ * @constructor
962
+ */
963
+ declare const WidgetBody: (props: WidgetBodyProps) => JSX.Element;
964
+
965
+ /**
966
+ * The properties for the widget header.
967
+ */
968
+ type WidgetHeaderProps = {
969
+ loose?: boolean;
970
+ divide?: boolean;
971
+ children?: React__default.ReactNode;
972
+ };
973
+ /**
974
+ * A component for widget headers.
975
+ * @param props
976
+ * @constructor
977
+ */
978
+ declare const WidgetHeader: (props: WidgetHeaderProps) => JSX.Element;
979
+
980
+ /**
981
+ * The properties for the widget header link.
982
+ */
983
+ type WidgetHeaderLinkProps = {
984
+ display?: boolean;
985
+ disabled?: boolean;
986
+ onClick?: () => void;
987
+ size?: ButtonSize;
988
+ children: string | React__default.ReactElement<IconProps>;
989
+ };
990
+ /**
991
+ * A component for widget header call to action.
992
+ * @param props
993
+ * @constructor
994
+ */
995
+ declare const WidgetHeaderLink: (props: WidgetHeaderLinkProps) => JSX.Element | null;
996
+
997
+ /**
998
+ * The properties for the widget title.
999
+ */
1000
+ type WidgetTitleProps = {
1001
+ icon?: IconName;
1002
+ children: React__default.ReactNode;
1003
+ };
1004
+ /**
1005
+ * A component for widget titles.
1006
+ * @param props
1007
+ * @constructor
1008
+ */
1009
+ declare const WidgetTitle: (props: WidgetTitleProps) => JSX.Element;
1010
+
1011
+ /**
1012
+ * The properties for the widget.
1013
+ */
1014
+ type WidgetProps = {
1015
+ headless?: boolean;
1016
+ borderless?: boolean;
1017
+ color?: "sky" | "inherit";
1018
+ isLoading?: boolean;
1019
+ children?: React__default.ReactNode;
1020
+ };
1021
+ /**
1022
+ * A component for widgets.
1023
+ * @param props
1024
+ * @constructor
1025
+ */
1026
+ declare const Widget: (props: WidgetProps) => JSX.Element;
1027
+
1028
+ /**
1029
+ * AuthLayoutProps
1030
+ */
1031
+ type AuthLayoutProps = {
1032
+ isLoading?: boolean;
1033
+ pathname?: string;
1034
+ page?: "profile" | "explore" | "calendar";
1035
+ disabled?: boolean;
1036
+ header?: React__default.ReactNode;
1037
+ subheader?: React__default.ReactNode;
1038
+ sidebar?: React__default.ReactNode;
1039
+ main?: React__default.ReactNode;
1040
+ outlet?: React__default.ReactNode;
1041
+ children?: React__default.ReactNode;
1042
+ onHome?: () => void;
1043
+ onProfile?: () => void;
1044
+ onExplore?: () => void;
1045
+ onCalendar?: () => void;
1046
+ onLogout?: () => void;
1047
+ onFAQ?: () => void;
1048
+ onPrivacy?: () => void;
1049
+ onTerms?: () => void;
1050
+ onSwitchAccount?: () => void;
1051
+ };
1052
+ /**
1053
+ * AuthLayout
1054
+ * @constructor
1055
+ */
1056
+ declare const AuthLayout: (props: AuthLayoutProps & NavBarProps) => JSX.Element;
1057
+
1058
+ /**
1059
+ * HomeLayoutProps
1060
+ */
1061
+ type HomeLayoutProps = {
1062
+ isLoading?: boolean;
1063
+ nickname?: string;
1064
+ pathname?: string;
1065
+ children?: React__default.ReactNode;
1066
+ onProfile?: () => void;
1067
+ onHome?: () => void;
1068
+ onLogin?: () => void;
1069
+ onFAQ?: () => void;
1070
+ onPrivacy?: () => void;
1071
+ onTerms?: () => void;
1072
+ };
1073
+ /**
1074
+ * HomeLayout
1075
+ * @constructor
1076
+ */
1077
+ declare const HomeLayout: (props: HomeLayoutProps) => JSX.Element;
1078
+
1079
+ export { AboutWidget, AboutWidgetProps, AchievementWidget, AchievementWidgetProps, ActivityCard, ActivityCardProps, ActivityItem, ActivityItemProps, ActivityList, ActivityListProps, ActivityReflection, ActivityReflectionProps, AuthLayout, AuthLayoutProps, Badge, BadgeActivityMenu, BadgeActivityMenuProps, BadgeFilterOption, BadgeProps, BadgeSection, BadgeSectionProps, BadgeSuccessDialog, BadgeSuccessDialogProps, Board, BoardProps, Button, ButtonBorder, ButtonColor, ButtonFilter, ButtonJustify, ButtonProps, ButtonSize, ButtonSpacing, ButtonTheme, Card, CardProps, CtaListProps, DateSelection, DateSelectionProps, DaySelectionOptionProps, EventItem, EventItemProps, EventList, EventListProps, Home, HomeLayout, HomeLayoutProps, Icon, IconName, IconProps, ImpactWidget, ImpactWidgetProps, LearningForm, LearningFormProps, Loader, LoaderProps, LogServiceButton, LogServiceButtonProps, Logo, Modal, ModalProps, NavBar, NavBarProps, NavLink, NavLinkName, NavLinkProps, NotFound, NotFoundProps, Onboarding, OnboardingProps, Overlay, OverlayProps, PathwayButton, PathwayButtonProps, PathwayFilter, PathwayFilterProps, PathwayProgress, PathwayProgressHeight, PathwayProgressProps, PathwayWidget, PathwayWidgetProps, ProfileWidget, Progress, ProgressProps, ResidentWidgetProps, Search, SearchButton, SearchButtonProps, SearchProps, SearchResult, SearchResultProps, SettingsCard, SettingsCardProps, Stopwatch, StopwatchProps, Tab, TabProps, TagFilter, TagFilterProps, TaskItem, TaskItemProps, TaskList, TaskListProps, Widget, WidgetBody, WidgetBodyProps, WidgetHeader, WidgetHeaderLink, WidgetHeaderLinkProps, WidgetHeaderProps, WidgetProps, WidgetTitle, WidgetTitleProps };