@local-civics/hub-ui 0.1.244 → 0.1.245

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
@@ -1648,6 +1648,28 @@ type SubmissionReviewHeaderProps = {
1648
1648
  */
1649
1649
  declare const SubmissionReviewHeader: (props: SubmissionReviewHeaderProps) => JSX.Element | null;
1650
1650
 
1651
+ /**
1652
+ * SubmissionQueueNavProps
1653
+ */
1654
+ type SubmissionQueueNavProps = {
1655
+ index: number;
1656
+ total: number;
1657
+ onPrevious?: () => void;
1658
+ onNext?: () => void;
1659
+ label?: string;
1660
+ };
1661
+ /**
1662
+ * A Prev/Next strip letting an educator step through the same batch of students they were already
1663
+ * looking at (a class roster, a badge/lesson's own "By student" table, a Comment/Validation Center
1664
+ * filter) without leaving StudentBadge/StudentLesson and going back to that table for every
1665
+ * student. The batch itself travels as a `queue` on React Router's own `location.state` (see
1666
+ * navigationTrail.ts) - this component only renders the current position within it and fires
1667
+ * Prev/Next, it has no idea where the queue came from.
1668
+ * @param props
1669
+ * @constructor
1670
+ */
1671
+ declare const SubmissionQueueNav: (props: SubmissionQueueNavProps) => JSX.Element | null;
1672
+
1651
1673
  /**
1652
1674
  * AuthLayoutProps
1653
1675
  */
@@ -1695,4 +1717,4 @@ type HomeLayoutProps = {
1695
1717
  */
1696
1718
  declare const HomeLayout: (props: HomeLayoutProps) => JSX.Element;
1697
1719
 
1698
- 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, DashboardTopBarBreadcrumbSegment, 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, SubmissionReviewHeader, SubmissionReviewHeaderProps, Tab, TabProps, TagFilter, TagFilterProps, TaskItem, TaskItemProps, TaskList, TaskListProps, Widget, WidgetBody, WidgetBodyProps, WidgetHeader, WidgetHeaderLink, WidgetHeaderLinkProps, WidgetHeaderProps, WidgetProps, WidgetTitle, WidgetTitleProps };
1720
+ 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, DashboardTopBarBreadcrumbSegment, 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, SubmissionQueueNav, SubmissionQueueNavProps, SubmissionReviewHeader, SubmissionReviewHeaderProps, Tab, TabProps, TagFilter, TagFilterProps, TaskItem, TaskItemProps, TaskList, TaskListProps, Widget, WidgetBody, WidgetBodyProps, WidgetHeader, WidgetHeaderLink, WidgetHeaderLinkProps, WidgetHeaderProps, WidgetProps, WidgetTitle, WidgetTitleProps };
package/dist/index.js CHANGED
@@ -7309,6 +7309,31 @@ const SubmissionReviewHeader = (props) => {
7309
7309
  ), /* @__PURE__ */ React__namespace.createElement("span", { className: "shrink-0 rounded-full bg-slate-100 px-3 py-1 text-[10px] font-bold uppercase tracking-wide text-slate-500" }, "Preview"));
7310
7310
  };
7311
7311
 
7312
+ const SubmissionQueueNav = (props) => {
7313
+ if (props.total <= 1) {
7314
+ return null;
7315
+ }
7316
+ return /* @__PURE__ */ React__namespace.createElement("div", { className: "mb-4 flex items-center justify-between rounded-xl border border-slate-200 bg-white px-4 py-3" }, props.onPrevious ? /* @__PURE__ */ React__namespace.createElement(
7317
+ "button",
7318
+ {
7319
+ type: "button",
7320
+ onClick: props.onPrevious,
7321
+ className: "flex items-center gap-1 text-xs font-bold text-dark-blue-400 hover:underline"
7322
+ },
7323
+ /* @__PURE__ */ React__namespace.createElement(icons$1.IconChevronLeft, { size: 14, stroke: 2.5 }),
7324
+ "Previous"
7325
+ ) : /* @__PURE__ */ React__namespace.createElement("span", null), /* @__PURE__ */ React__namespace.createElement("div", { className: "shrink-0 text-xs font-bold text-slate-500" }, "Student ", props.index + 1, " of ", props.total, props.label ? ` \u2014 ${props.label}` : ""), props.onNext ? /* @__PURE__ */ React__namespace.createElement(
7326
+ "button",
7327
+ {
7328
+ type: "button",
7329
+ onClick: props.onNext,
7330
+ className: "flex items-center gap-1 text-xs font-bold text-dark-blue-400 hover:underline"
7331
+ },
7332
+ "Next",
7333
+ /* @__PURE__ */ React__namespace.createElement(icons$1.IconChevronRight, { size: 14, stroke: 2.5 })
7334
+ ) : /* @__PURE__ */ React__namespace.createElement("span", null));
7335
+ };
7336
+
7312
7337
  const AuthLayout = (props) => {
7313
7338
  return /* @__PURE__ */ React.createElement("main", { className: "relative h-screen w-full bg-white font-proxima" }, /* @__PURE__ */ React.createElement(Loader, { isLoading: props.isLoading }, props.topNav !== false && /* @__PURE__ */ React.createElement(NavBar, null, /* @__PURE__ */ React.createElement(NavLink, { disabled: !props.onHome || props.disabled, name: "home", onClick: props.onHome }), props.onProfile && /* @__PURE__ */ React.createElement(
7314
7339
  NavLink,
@@ -7400,6 +7425,7 @@ exports.SortableHeader = SortableHeader;
7400
7425
  exports.StatTile = StatTile;
7401
7426
  exports.StatTileRow = StatTileRow;
7402
7427
  exports.Stopwatch = Stopwatch;
7428
+ exports.SubmissionQueueNav = SubmissionQueueNav;
7403
7429
  exports.SubmissionReviewHeader = SubmissionReviewHeader;
7404
7430
  exports.Tab = Tab;
7405
7431
  exports.TagFilter = TagFilter;