@local-civics/hub-ui 0.1.215 → 0.1.217

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
@@ -515,10 +515,19 @@ type CardProps = {
515
515
  */
516
516
  declare const Card: (props: CardProps) => JSX.Element;
517
517
 
518
+ /**
519
+ * FooterProps
520
+ */
521
+ type FooterProps = {
522
+ /** Keeps the old centered, max-width-[64rem] layout. Default is full-width, matching
523
+ * DashboardShell's unconstrained content - only AuthLayout's own fallback page (whose sibling
524
+ * content is still centered the same way) needs to opt back into the constrained look. */
525
+ constrained?: boolean;
526
+ };
518
527
  /**
519
528
  * A component for the page footer.
520
529
  */
521
- declare const Footer: () => JSX.Element;
530
+ declare const Footer: (props: FooterProps) => JSX.Element;
522
531
 
523
532
  /**
524
533
  * Home
@@ -1444,4 +1453,4 @@ type HomeLayoutProps = {
1444
1453
  */
1445
1454
  declare const HomeLayout: (props: HomeLayoutProps) => JSX.Element;
1446
1455
 
1447
- 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, 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 };
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 };
package/dist/index.js CHANGED
@@ -3965,10 +3965,11 @@ const SOCIALS = [
3965
3965
  { label: "LinkedIn", href: "https://www.linkedin.com/company/localcivics", icon: icons$1.IconBrandLinkedin },
3966
3966
  { label: "Facebook", href: "https://www.facebook.com/localcivics/", icon: icons$1.IconBrandFacebook }
3967
3967
  ];
3968
- const Footer = () => {
3968
+ const Footer = (props) => {
3969
3969
  const linkClassName = builder("text-sm text-slate-500").append("hover:text-slate-700").build();
3970
3970
  const socialClassName = builder("flex h-9 w-9 items-center justify-center rounded-full text-slate-400").append("hover:bg-slate-100 hover:text-slate-600").build();
3971
- return /* @__PURE__ */ React.createElement("footer", { className: "w-full border-t border-slate-100" }, /* @__PURE__ */ React.createElement("div", { className: "w-full max-w-[64rem] m-auto flex flex-col gap-6 px-4 py-8 lg:px-0" }, /* @__PURE__ */ React.createElement("div", { className: "flex flex-col gap-6 md:flex-row md:items-start md:justify-between" }, /* @__PURE__ */ React.createElement("div", { className: "flex max-w-xs flex-col gap-2" }, /* @__PURE__ */ React.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ React.createElement("img", { className: "w-4", src: "https://cdn.localcivics.io/brand/l.png", alt: "Local Civics" }), /* @__PURE__ */ React.createElement("span", { className: "text-lg font-bold text-slate-500" }, "PathLink")), /* @__PURE__ */ React.createElement("p", { className: "text-xs text-slate-400" }, "We connect students to powerful civic learning experiences.")), /* @__PURE__ */ React.createElement("div", { className: "flex flex-wrap gap-x-6 gap-y-2" }, LINKS.map((link) => /* @__PURE__ */ React.createElement("a", { key: link.label, className: linkClassName, href: link.href, target: "_blank", rel: "noreferrer" }, link.label)))), /* @__PURE__ */ React.createElement("div", { className: "flex flex-col-reverse gap-4 border-t border-slate-100 pt-6 md:flex-row md:items-center md:justify-between" }, /* @__PURE__ */ React.createElement("p", { className: "text-xs text-slate-400" }, "\xA9 ", new Date().getFullYear(), " Local Civics. All rights reserved."), /* @__PURE__ */ React.createElement("div", { className: "flex items-center gap-1" }, SOCIALS.map((social) => {
3971
+ const innerClassName = props.constrained ? "w-full max-w-[64rem] m-auto flex flex-col gap-6 px-4 py-8 lg:px-0" : "flex flex-col gap-6 px-4 py-8";
3972
+ return /* @__PURE__ */ React.createElement("footer", { className: "w-full border-t border-slate-100" }, /* @__PURE__ */ React.createElement("div", { className: innerClassName }, /* @__PURE__ */ React.createElement("div", { className: "flex flex-col gap-6 md:flex-row md:items-start md:justify-between" }, /* @__PURE__ */ React.createElement("div", { className: "flex max-w-xs flex-col gap-2" }, /* @__PURE__ */ React.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ React.createElement("img", { className: "w-4", src: "https://cdn.localcivics.io/brand/l.png", alt: "Local Civics" }), /* @__PURE__ */ React.createElement("span", { className: "text-lg font-bold text-slate-500" }, "PathLink")), /* @__PURE__ */ React.createElement("p", { className: "text-xs text-slate-400" }, "We connect students to powerful civic learning experiences.")), /* @__PURE__ */ React.createElement("div", { className: "flex flex-wrap gap-x-6 gap-y-2" }, LINKS.map((link) => /* @__PURE__ */ React.createElement("a", { key: link.label, className: linkClassName, href: link.href, target: "_blank", rel: "noreferrer" }, link.label)))), /* @__PURE__ */ React.createElement("div", { className: "flex flex-col-reverse gap-4 border-t border-slate-100 pt-6 md:flex-row md:items-center md:justify-between" }, /* @__PURE__ */ React.createElement("p", { className: "text-xs text-slate-400" }, "\xA9 ", new Date().getFullYear(), " Local Civics. All rights reserved."), /* @__PURE__ */ React.createElement("div", { className: "flex items-center gap-1" }, SOCIALS.map((social) => {
3972
3973
  const Icon = social.icon;
3973
3974
  return /* @__PURE__ */ React.createElement(
3974
3975
  "a",
@@ -6708,7 +6709,7 @@ const AuthLayout = (props) => {
6708
6709
  onClick: props.onProfile,
6709
6710
  active: props.page === "profile"
6710
6711
  }
6711
- ), props.onSwitchAccount && /* @__PURE__ */ React.createElement(NavLink, { name: "switch accounts", onClick: props.onSwitchAccount }), props.onLogout && /* @__PURE__ */ React.createElement(NavLink, { name: "Logout", onClick: props.onLogout })), props.children && /* @__PURE__ */ React.createElement("section", { className: "absolute top-0 left-0 h-full overflow-auto pt-16 w-full" }, props.children), !props.children && /* @__PURE__ */ React.createElement("section", { className: "w-full px-4 py-5 lg:px-36 flex flex-col gap-4" }, props.header && /* @__PURE__ */ React.createElement("div", { className: "w-full max-w-[64rem] m-auto min-h-16 lg:min-h-24 lg:flex" }, props.header), /* @__PURE__ */ React.createElement("div", { className: "grow w-full min-h-96" }, /* @__PURE__ */ React.createElement("div", { className: "w-full max-w-[64rem] m-auto grid grid-cols-1 gap-y-4 lg:flex lg:gap-x-2" }, props.sidebar && /* @__PURE__ */ React.createElement("div", { className: "grid grid-cols-1 max-w-full md:flex md:flex-col gap-2 lg:w-[230px] shrink-0 lg:sticky lg:top-0 lg:h-screen lg:self-start lg:overflow-y-auto" }, /* @__PURE__ */ React.createElement("div", { className: "flex flex-col gap-4 lg:gap-x-2 lg:gap-y-3" }, props.sidebar)), (props.subheader || props.main) && /* @__PURE__ */ React.createElement("div", { className: "grow grid grid-cols-1 max-w-full overflow-x-hidden md:flex md:flex-col gap-4 lg:gap-2" }, props.subheader && /* @__PURE__ */ React.createElement("div", { className: "relative grid grid-cols-1 md:flex w-full gap-4 lg:gap-2" }, props.subheader), props.main && /* @__PURE__ */ React.createElement("div", { className: "relative grid grid-cols-1 w-full gap-4 lg:gap-2" }, props.main)))), /* @__PURE__ */ React.createElement(Footer, null))), props.outlet);
6712
+ ), props.onSwitchAccount && /* @__PURE__ */ React.createElement(NavLink, { name: "switch accounts", onClick: props.onSwitchAccount }), props.onLogout && /* @__PURE__ */ React.createElement(NavLink, { name: "Logout", onClick: props.onLogout })), props.children && /* @__PURE__ */ React.createElement("section", { className: "absolute top-0 left-0 h-full overflow-auto pt-16 w-full" }, props.children), !props.children && /* @__PURE__ */ React.createElement("section", { className: "w-full px-4 py-5 lg:px-36 flex flex-col gap-4" }, props.header && /* @__PURE__ */ React.createElement("div", { className: "w-full max-w-[64rem] m-auto min-h-16 lg:min-h-24 lg:flex" }, props.header), /* @__PURE__ */ React.createElement("div", { className: "grow w-full min-h-96" }, /* @__PURE__ */ React.createElement("div", { className: "w-full max-w-[64rem] m-auto grid grid-cols-1 gap-y-4 lg:flex lg:gap-x-2" }, props.sidebar && /* @__PURE__ */ React.createElement("div", { className: "grid grid-cols-1 max-w-full md:flex md:flex-col gap-2 lg:w-[230px] shrink-0 lg:sticky lg:top-0 lg:h-screen lg:self-start lg:overflow-y-auto" }, /* @__PURE__ */ React.createElement("div", { className: "flex flex-col gap-4 lg:gap-x-2 lg:gap-y-3" }, props.sidebar)), (props.subheader || props.main) && /* @__PURE__ */ React.createElement("div", { className: "grow grid grid-cols-1 max-w-full overflow-x-hidden md:flex md:flex-col gap-4 lg:gap-2" }, props.subheader && /* @__PURE__ */ React.createElement("div", { className: "relative grid grid-cols-1 md:flex w-full gap-4 lg:gap-2" }, props.subheader), props.main && /* @__PURE__ */ React.createElement("div", { className: "relative grid grid-cols-1 w-full gap-4 lg:gap-2" }, props.main)))), /* @__PURE__ */ React.createElement(Footer, { constrained: true }))), props.outlet);
6712
6713
  };
6713
6714
 
6714
6715
  const HomeLayout = (props) => {