@local-civics/hub-ui 0.1.221 → 0.1.223

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.
package/dist/index.d.ts CHANGED
@@ -1094,6 +1094,13 @@ type BadgeItem = {
1094
1094
  onClick?: () => void;
1095
1095
  };
1096
1096
  type PathwayCriteria = Record<string, number>;
1097
+ type PathwayCategory = {
1098
+ categoryId: string;
1099
+ name: string;
1100
+ description?: string;
1101
+ parentCategoryId?: string;
1102
+ maxPoints?: number;
1103
+ };
1097
1104
  type PathwayCardProps = {
1098
1105
  imageURL?: string;
1099
1106
  title?: string;
@@ -1106,6 +1113,7 @@ type PathwayCardProps = {
1106
1113
  rawCriteria?: PathwayCriteria;
1107
1114
  categoryNames?: Record<string, string>;
1108
1115
  categoryParents?: Record<string, string | null>;
1116
+ allCategories?: PathwayCategory[];
1109
1117
  points?: Record<string, number>;
1110
1118
  onClose?: () => void;
1111
1119
  onSubmit?: () => void;
@@ -1406,6 +1414,94 @@ type DashboardTopBarProps = {
1406
1414
  */
1407
1415
  declare const DashboardTopBar: (props: DashboardTopBarProps) => JSX.Element;
1408
1416
 
1417
+ /**
1418
+ * FileListItem
1419
+ */
1420
+ type FileListItem = {
1421
+ link: string;
1422
+ badgeName: string;
1423
+ lessonName: string;
1424
+ question: string;
1425
+ };
1426
+ /**
1427
+ * FileListProps
1428
+ */
1429
+ type FileListProps = {
1430
+ items: FileListItem[];
1431
+ hideBadge?: boolean;
1432
+ hideLesson?: boolean;
1433
+ };
1434
+ /**
1435
+ * The per-file list shown inside each of FileLocker's grouped sections. Which columns render
1436
+ * depends on which level of the Badge -> Lesson -> Question hierarchy the calling group has
1437
+ * already fixed (shown once at the group's own header instead - which is also where the
1438
+ * pathway, the one level above Badge, always surfaces here, since every call site groups by
1439
+ * pathway/badge/lesson and none renders an ungrouped flat list that would need a Pathway column
1440
+ * of its own). Header and every row are direct children of one shared grid (not one grid per
1441
+ * row) so column tracks are computed once across all content - a per-row grid would let each
1442
+ * row's auto-sized action column resolve to a different width than the empty header cell above
1443
+ * it, drifting the columns out of alignment. Preview/Download both point at the same existing
1444
+ * `link` - there's no separate filename/size data available (the link is an opaque storage key,
1445
+ * not a real filename), so `question` doubles as the file's label.
1446
+ * @param props
1447
+ * @constructor
1448
+ */
1449
+ declare const FileList: (props: FileListProps) => JSX.Element | null;
1450
+
1451
+ /**
1452
+ * SubmissionItem
1453
+ */
1454
+ type SubmissionItem = FileListItem & {
1455
+ lessonId: string;
1456
+ badgeId: string;
1457
+ updatedAt?: string;
1458
+ pathwayName?: string;
1459
+ };
1460
+ /**
1461
+ * FileLockerBadge
1462
+ */
1463
+ type FileLockerBadge = {
1464
+ badgeId: string;
1465
+ displayName: string;
1466
+ categories?: string[];
1467
+ };
1468
+ /**
1469
+ * FileLockerPathway
1470
+ */
1471
+ type FileLockerPathway = {
1472
+ pathwayId: string;
1473
+ title: string;
1474
+ description?: string;
1475
+ };
1476
+ /**
1477
+ * FileLockerProps
1478
+ */
1479
+ type FileLockerProps = {
1480
+ loading: boolean;
1481
+ displayName: string;
1482
+ description: string;
1483
+ submissions: SubmissionItem[];
1484
+ lessons: {
1485
+ lessonId: string;
1486
+ lessonName: string;
1487
+ }[];
1488
+ badges: FileLockerBadge[];
1489
+ pathways: FileLockerPathway[];
1490
+ };
1491
+ /**
1492
+ * The student-facing File Locker - a self-scoped view of the current student's own uploaded
1493
+ * lesson submissions and links, grouped by pathway/badge/lesson the same way the educator File
1494
+ * Locker groups by those dimensions across a whole roster, but flattened for a single user: no
1495
+ * per-student table, no row-expansion, no dedicated review/detail view with student-to-student
1496
+ * navigation, since there's no "next student" to page through in a self-view - each group's
1497
+ * FileList is shown directly. A group only renders when it actually has at least one matching
1498
+ * submission, so a student isn't shown an empty section for every badge/pathway/lesson in the
1499
+ * org they haven't touched.
1500
+ * @param props
1501
+ * @constructor
1502
+ */
1503
+ declare const FileLocker: (props: FileLockerProps) => JSX.Element;
1504
+
1409
1505
  /**
1410
1506
  * AuthLayoutProps
1411
1507
  */
@@ -1453,4 +1549,4 @@ type HomeLayoutProps = {
1453
1549
  */
1454
1550
  declare const HomeLayout: (props: HomeLayoutProps) => JSX.Element;
1455
1551
 
1456
- export { AboutWidget, AboutWidgetProps, AchievementWidget, AchievementWidgetProps, ActivityCard, ActivityCardProps, ActivityItem, ActivityItemProps, ActivityList, ActivityListProps, ActivityReflection, ActivityReflectionProps, AuthLayout, AuthLayoutProps, Badge, BadgeActivityMenu, BadgeActivityMenuProps, BadgeDetail, BadgeDetailProps, BadgeFilterOption, BadgeProps, BadgeSection, BadgeSectionProps, BadgeSuccessDialog, BadgeSuccessDialogProps, BadgesCard, BadgesCardProps, BadgesList, BadgesListProps, Board, BoardProps, Button, ButtonBorder, ButtonColor, ButtonFilter, ButtonJustify, ButtonProps, ButtonSize, ButtonSpacing, ButtonTheme, Card, CardProps, CtaListProps, DashboardShell, DashboardShellProps, DashboardSidebar, DashboardSidebarIdentity, DashboardSidebarLinks, DashboardSidebarProps, DashboardSidebarTabName, DashboardTopBar, DashboardTopBarProps, DateSelection, DateSelectionProps, DaySelectionOptionProps, EventItem, EventItemProps, EventList, EventListProps, Footer, FooterProps, 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, Pathway, PathwayButton, PathwayButtonProps, PathwayDetail, PathwayDetailProps, PathwayFilter, PathwayFilterOption, PathwayFilterProps, PathwayItem, PathwayProgress, PathwayProgressHeight, PathwayProgressProps, PathwayProps, PathwaySection, PathwaySectionProps, PathwayTranscript, PathwayWidget, PathwayWidgetProps, PathwaysCard, PathwaysCardProps, PathwaysList, PathwaysListProps, Pill, PillAccent, PillProps, ProfileHeroCard, ProfileHeroCardProps, ProfileWidget, Progress, ProgressProps, ResidentWidgetProps, Search, SearchButton, SearchButtonProps, SearchProps, SearchResult, SearchResultProps, SettingsCard, SettingsCardProps, StatTile, StatTileAccent, StatTileProps, StatTileRow, StatTileRowProps, Stopwatch, StopwatchProps, Tab, TabProps, TagFilter, TagFilterProps, TaskItem, TaskItemProps, TaskList, TaskListProps, Widget, WidgetBody, WidgetBodyProps, WidgetHeader, WidgetHeaderLink, WidgetHeaderLinkProps, WidgetHeaderProps, WidgetProps, WidgetTitle, WidgetTitleProps };
1552
+ export { AboutWidget, AboutWidgetProps, AchievementWidget, AchievementWidgetProps, ActivityCard, ActivityCardProps, ActivityItem, ActivityItemProps, ActivityList, ActivityListProps, ActivityReflection, ActivityReflectionProps, AuthLayout, AuthLayoutProps, Badge, BadgeActivityMenu, BadgeActivityMenuProps, BadgeDetail, BadgeDetailProps, BadgeFilterOption, BadgeProps, BadgeSection, BadgeSectionProps, BadgeSuccessDialog, BadgeSuccessDialogProps, BadgesCard, BadgesCardProps, BadgesList, BadgesListProps, Board, BoardProps, Button, ButtonBorder, ButtonColor, ButtonFilter, ButtonJustify, ButtonProps, ButtonSize, ButtonSpacing, ButtonTheme, Card, CardProps, CtaListProps, DashboardShell, DashboardShellProps, DashboardSidebar, DashboardSidebarIdentity, DashboardSidebarLinks, DashboardSidebarProps, DashboardSidebarTabName, DashboardTopBar, DashboardTopBarProps, DateSelection, DateSelectionProps, DaySelectionOptionProps, EventItem, EventItemProps, EventList, EventListProps, FileList, FileListItem, FileListProps, FileLocker, FileLockerBadge, FileLockerPathway, FileLockerProps, Footer, FooterProps, 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, Pathway, PathwayButton, PathwayButtonProps, PathwayDetail, PathwayDetailProps, PathwayFilter, PathwayFilterOption, PathwayFilterProps, PathwayItem, PathwayProgress, PathwayProgressHeight, PathwayProgressProps, PathwayProps, PathwaySection, PathwaySectionProps, PathwayTranscript, PathwayWidget, PathwayWidgetProps, PathwaysCard, PathwaysCardProps, PathwaysList, PathwaysListProps, Pill, PillAccent, PillProps, ProfileHeroCard, ProfileHeroCardProps, ProfileWidget, Progress, ProgressProps, ResidentWidgetProps, Search, SearchButton, SearchButtonProps, SearchProps, SearchResult, SearchResultProps, SettingsCard, SettingsCardProps, StatTile, StatTileAccent, StatTileProps, StatTileRow, StatTileRowProps, Stopwatch, StopwatchProps, SubmissionItem, Tab, TabProps, TagFilter, TagFilterProps, TaskItem, TaskItemProps, TaskList, TaskListProps, Widget, WidgetBody, WidgetBodyProps, WidgetHeader, WidgetHeaderLink, WidgetHeaderLinkProps, WidgetHeaderProps, WidgetProps, WidgetTitle, WidgetTitleProps };