@local-civics/hub-ui 0.1.230 → 0.1.232

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
@@ -1498,15 +1498,16 @@ type FileListProps = {
1498
1498
  onLessonClick?: (lessonId: string) => void;
1499
1499
  };
1500
1500
  /**
1501
- * The per-file list shown inside each of FileLocker's grouped sections. Which columns render
1502
- * depends on which level of the Badge -> Lesson -> Question hierarchy the calling group has
1503
- * already fixed (shown once at the group's own header instead - which is also where the
1504
- * pathway, the one level above Badge, always surfaces here, since every call site groups by
1505
- * pathway/badge/lesson and none renders an ungrouped flat list that would need a Pathway column
1506
- * of its own). Header and every row are direct children of one shared grid (not one grid per
1507
- * row) so column tracks are computed once across all content - a per-row grid would let each
1508
- * row's auto-sized action column resolve to a different width than the empty header cell above
1509
- * it, drifting the columns out of alignment. Preview/Download both point at the same existing
1501
+ * The per-file list shown inside each of FileLocker's grouped sections. Which columns render, and
1502
+ * in what order, follows the real Badge -> Lesson -> Question hierarchy left to right (pathway,
1503
+ * the one level above Badge, always surfaces at the group's own header instead - every call site
1504
+ * groups by pathway/badge/lesson and none renders an ungrouped flat list that would need a Pathway
1505
+ * column of its own). Whichever level the calling group has already fixed simply drops out of the
1506
+ * sequence, it never reorders what's left - so Question, the leaf, always sits immediately before
1507
+ * the action column, not first. Header and every row are direct children of one shared grid (not
1508
+ * one grid per row) so column tracks are computed once across all content - a per-row grid would
1509
+ * let each row's auto-sized action column resolve to a different width than the empty header cell
1510
+ * above it, drifting the columns out of alignment. Preview/Download both point at the same existing
1510
1511
  * `link` - there's no separate filename/size data available (the link is an opaque storage key,
1511
1512
  * not a real filename), so `question` doubles as the file's label.
1512
1513
  * @param props
@@ -1572,32 +1573,40 @@ type FileLockerProps = {
1572
1573
  declare const FileLocker: (props: FileLockerProps) => JSX.Element;
1573
1574
 
1574
1575
  /**
1575
- * FileLockerSearchModalProps
1576
+ * CommentsItem
1576
1577
  */
1577
- type FileLockerSearchModalProps = {
1578
- onClose: () => void;
1579
- pathways: FileLockerPathway[];
1580
- badges: FileLockerBadge[];
1581
- lessons: {
1582
- lessonId: string;
1583
- lessonName: string;
1584
- }[];
1585
- onPathwayClick?: (pathwayId: string) => void;
1578
+ type CommentsItem = {
1579
+ commentId: string;
1580
+ authorName?: string;
1581
+ badgeId?: string;
1582
+ badgeName?: string;
1583
+ lessonId?: string;
1584
+ lessonName?: string;
1585
+ commentText: string;
1586
+ requireValidation: boolean;
1587
+ resolvedAt?: string;
1588
+ createdAt: string;
1589
+ };
1590
+ /**
1591
+ * CommentsProps
1592
+ */
1593
+ type CommentsProps = {
1594
+ loading: boolean;
1595
+ comments: CommentsItem[];
1586
1596
  onBadgeClick?: (badgeId: string) => void;
1587
1597
  onLessonClick?: (lessonId: string) => void;
1588
1598
  };
1589
1599
  /**
1590
- * A search-and-jump modal for finding a specific Pathway/Badge/Lesson without hunting through
1591
- * File Locker's own tabs first. Reuses the exact pathways/badges/lessons arrays FileLocker already
1592
- * has and the same onPathwayClick/onBadgeClick/onLessonClick callbacks its own group headers use -
1593
- * zero new data fetching. Filters all 3 lists client-side by a single search term; picking a result
1594
- * both fires the matching callback and closes the modal, matching CategoriesModal's own
1595
- * onCategoryClick convention. Conditionally mounted by the caller, matching this package's
1596
- * established Modal pattern (CategoriesModal, FormSubmitDialog, FormExitDialog).
1600
+ * The student-facing Comments page - a self-scoped breakdown of every comment an educator has left
1601
+ * for the current student, each showing which badge or lesson (if any) it's associated with. The
1602
+ * educator-side counterpart is mgmt-ui's CommentCenter (its "By student" tab, scoped to one
1603
+ * student); here there's no student dimension left to group by since the whole page is already
1604
+ * scoped to "me", so each comment's own badge/lesson association is shown inline instead of behind
1605
+ * a tab selector.
1597
1606
  * @param props
1598
1607
  * @constructor
1599
1608
  */
1600
- declare function FileLockerSearchModal(props: FileLockerSearchModalProps): JSX.Element;
1609
+ declare const Comments: (props: CommentsProps) => JSX.Element;
1601
1610
 
1602
1611
  /**
1603
1612
  * AuthLayoutProps
@@ -1646,4 +1655,4 @@ type HomeLayoutProps = {
1646
1655
  */
1647
1656
  declare const HomeLayout: (props: HomeLayoutProps) => JSX.Element;
1648
1657
 
1649
- 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, FileLockerSearchModal, FileLockerSearchModalProps, 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, SortableHeader, SortableHeaderProps, 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 };
1658
+ 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, Comments, CommentsItem, CommentsProps, 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, SortableHeader, SortableHeaderProps, 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 };