@homebound/beam 3.10.1 → 3.12.0

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.js CHANGED
@@ -5323,7 +5323,8 @@ function IconButton(props) {
5323
5323
  circle = false,
5324
5324
  download = false,
5325
5325
  forceFocusStyles = false,
5326
- label
5326
+ label,
5327
+ preventTooltip = false
5327
5328
  } = props;
5328
5329
  const isDisabled = !!disabled;
5329
5330
  const ariaProps = {
@@ -5374,7 +5375,7 @@ function IconButton(props) {
5374
5375
  };
5375
5376
  const buttonContent = /* @__PURE__ */ jsx11(Icon, { icon, color: color || (isDisabled ? "--b-text-disabled" /* TextDisabled */ : circle && (isHovered || active || isFocusVisible) ? defaultIconColor : iconColor), bgColor, inc: compact ? 2 : circle ? 2.5 : inc });
5376
5377
  return maybeTooltip({
5377
- title: resolveTooltip(disabled ?? label, tooltip),
5378
+ title: resolveTooltip(disabled ?? (preventTooltip ? void 0 : label), tooltip),
5378
5379
  placement: "top",
5379
5380
  children: getButtonOrLink(buttonContent, onPress, buttonAttrs, openInNew, download)
5380
5381
  });
@@ -8840,7 +8841,7 @@ function Avatar({
8840
8841
  name,
8841
8842
  size = "md",
8842
8843
  showName = false,
8843
- disableTooltip = false,
8844
+ preventTooltip = false,
8844
8845
  ...others
8845
8846
  }) {
8846
8847
  const tid = useTestIds(others, "avatar");
@@ -8888,7 +8889,7 @@ function Avatar({
8888
8889
  ...__typography4[sizeToTypeScale[size]] ?? {}
8889
8890
  }), children: name })
8890
8891
  ] }) : maybeTooltip({
8891
- title: disableTooltip ? void 0 : name,
8892
+ title: preventTooltip ? void 0 : name,
8892
8893
  children: img,
8893
8894
  placement: "top"
8894
8895
  });
@@ -8937,6 +8938,7 @@ function AvatarButton(props) {
8937
8938
  openInNew,
8938
8939
  forceFocusStyles = false,
8939
8940
  __storyState,
8941
+ preventTooltip = false,
8940
8942
  ...avatarProps
8941
8943
  } = props;
8942
8944
  const isDisabled = !!disabled;
@@ -8983,12 +8985,11 @@ function AvatarButton(props) {
8983
8985
  ...mergeProps7(typeof onPress === "string" ? navLink : void 0, void 0, styles)
8984
8986
  };
8985
8987
  const content = /* @__PURE__ */ jsxs21(Fragment11, { children: [
8986
- /* @__PURE__ */ jsx34(Avatar, { ...avatarProps, ...tid, disableTooltip: true }),
8988
+ /* @__PURE__ */ jsx34(Avatar, { ...avatarProps, ...tid, preventTooltip: true }),
8987
8989
  isPressed && /* @__PURE__ */ jsx34("span", { ...trussProps23(pressedOverlayCss) })
8988
8990
  ] });
8989
8991
  return maybeTooltip({
8990
- // Default the tooltip to the avatar's name, if defined.
8991
- title: resolveTooltip(disabled, tooltip ?? avatarProps.name),
8992
+ title: resolveTooltip(disabled, tooltip ?? (preventTooltip ? void 0 : avatarProps.name)),
8992
8993
  placement: "top",
8993
8994
  // Disable the auto-tooltip in Avatar to prevent nested tooltips which can cause issues with interactions
8994
8995
  children: getButtonOrLink(content, onPress, buttonAttrs, openInNew)
@@ -21141,11 +21142,41 @@ function MaxLines({
21141
21142
  ] });
21142
21143
  }
21143
21144
 
21145
+ // src/components/PageHeader.tsx
21146
+ import { trussProps as trussProps84 } from "@homebound/truss/runtime";
21147
+ import { jsx as jsx167, jsxs as jsxs87 } from "react/jsx-runtime";
21148
+ function PageHeader2(props) {
21149
+ const {
21150
+ title,
21151
+ rightSlot,
21152
+ ...otherProps
21153
+ } = props;
21154
+ const tid = useTestIds(otherProps, "pageHeader");
21155
+ return /* @__PURE__ */ jsx167("header", { ...tid, ...trussProps84({
21156
+ display: "df",
21157
+ flexDirection: "fdc",
21158
+ paddingTop: "pt3",
21159
+ paddingRight: "pr3",
21160
+ paddingLeft: "pl3",
21161
+ borderBottomStyle: "bbs_solid",
21162
+ borderBottomWidth: "bbw_1px",
21163
+ borderColor: ["bc_var", {
21164
+ "--borderColor": "var(--b-surface-separator)"
21165
+ }],
21166
+ backgroundColor: ["bgColor_var", {
21167
+ "--backgroundColor": "var(--b-surface)"
21168
+ }]
21169
+ }), children: /* @__PURE__ */ jsxs87("div", { className: "df jcsb mb2 w100 gap1", children: [
21170
+ /* @__PURE__ */ jsx167("div", { children: /* @__PURE__ */ jsx167("h1", { ...tid.title, className: "fw6 fz_20px lh_28px", children: title }) }),
21171
+ /* @__PURE__ */ jsx167("div", { children: rightSlot })
21172
+ ] }) });
21173
+ }
21174
+
21144
21175
  // src/components/ScrollShadows.tsx
21145
21176
  import { useResizeObserver as useResizeObserver7 } from "@react-aria/utils";
21146
21177
  import { useCallback as useCallback27, useMemo as useMemo49, useRef as useRef53, useState as useState48 } from "react";
21147
- import { trussProps as trussProps84, maybeCssVar as maybeCssVar46 } from "@homebound/truss/runtime";
21148
- import { jsx as jsx167, jsxs as jsxs87 } from "react/jsx-runtime";
21178
+ import { trussProps as trussProps85, maybeCssVar as maybeCssVar46 } from "@homebound/truss/runtime";
21179
+ import { jsx as jsx168, jsxs as jsxs88 } from "react/jsx-runtime";
21149
21180
  function ScrollShadows(props) {
21150
21181
  const {
21151
21182
  children,
@@ -21235,7 +21266,7 @@ function ScrollShadows(props) {
21235
21266
  ref: scrollRef,
21236
21267
  onResize
21237
21268
  });
21238
- return /* @__PURE__ */ jsxs87("div", { ...trussProps84({
21269
+ return /* @__PURE__ */ jsxs88("div", { ...trussProps85({
21239
21270
  display: "df",
21240
21271
  flexDirection: ["fd_var", {
21241
21272
  "--flexDirection": maybeCssVar46(!horizontal ? "column" : "row")
@@ -21251,7 +21282,7 @@ function ScrollShadows(props) {
21251
21282
  width: width2
21252
21283
  }
21253
21284
  }), ...tid, children: [
21254
- /* @__PURE__ */ jsx167("div", { ...trussProps84({
21285
+ /* @__PURE__ */ jsx168("div", { ...trussProps85({
21255
21286
  ...startShadowStyles,
21256
21287
  ...{
21257
21288
  opacity: ["o_var", {
@@ -21259,7 +21290,7 @@ function ScrollShadows(props) {
21259
21290
  }]
21260
21291
  }
21261
21292
  }), "data-chromatic": "ignore" }),
21262
- /* @__PURE__ */ jsx167("div", { ...trussProps84({
21293
+ /* @__PURE__ */ jsx168("div", { ...trussProps85({
21263
21294
  ...endShadowStyles,
21264
21295
  ...{
21265
21296
  opacity: ["o_var", {
@@ -21267,7 +21298,7 @@ function ScrollShadows(props) {
21267
21298
  }]
21268
21299
  }
21269
21300
  }), "data-chromatic": "ignore" }),
21270
- /* @__PURE__ */ jsx167("div", { ...trussProps84({
21301
+ /* @__PURE__ */ jsx168("div", { ...trussProps85({
21271
21302
  ...xss,
21272
21303
  ...{
21273
21304
  overflow: "oa",
@@ -21313,25 +21344,25 @@ function useSideNavLinkGroupExpanded(linkGroup) {
21313
21344
  }
21314
21345
 
21315
21346
  // src/components/SideNav/SideNavLinkGroup.tsx
21316
- import { Fragment as Fragment38, jsx as jsx168 } from "react/jsx-runtime";
21347
+ import { Fragment as Fragment38, jsx as jsx169 } from "react/jsx-runtime";
21317
21348
  function SideNavLinkGroupView(props) {
21318
21349
  const { linkGroup, panelCollapsed } = props;
21319
21350
  const tid = useTestIds(props, "linkGroup");
21320
21351
  if (panelCollapsed) {
21321
- return /* @__PURE__ */ jsx168(Fragment38, { children: linkGroup.links.map((link) => /* @__PURE__ */ jsx168(NavLink, { variant: "side", ...link, iconOnly: !!link.icon, ...tid.link }, link.label)) });
21352
+ return /* @__PURE__ */ jsx169(Fragment38, { children: linkGroup.links.map((link) => /* @__PURE__ */ jsx169(NavLink, { variant: "side", ...link, iconOnly: !!link.icon, ...tid.link }, link.label)) });
21322
21353
  }
21323
- return /* @__PURE__ */ jsx168(SideNavLinkGroupDisclosure, { ...props });
21354
+ return /* @__PURE__ */ jsx169(SideNavLinkGroupDisclosure, { ...props });
21324
21355
  }
21325
21356
  function SideNavLinkGroupDisclosure(props) {
21326
21357
  const { linkGroup } = props;
21327
21358
  const { expanded, onToggle } = useSideNavLinkGroupExpanded(linkGroup);
21328
21359
  const tid = useTestIds(props, "linkGroup");
21329
- return /* @__PURE__ */ jsx168(NavGroup, { label: linkGroup.label, links: linkGroup.links, expanded, onClick: onToggle, ...tid });
21360
+ return /* @__PURE__ */ jsx169(NavGroup, { label: linkGroup.label, links: linkGroup.links, expanded, onClick: onToggle, ...tid });
21330
21361
  }
21331
21362
 
21332
21363
  // src/components/SideNav/SideNavSectionView.tsx
21333
- import { trussProps as trussProps85 } from "@homebound/truss/runtime";
21334
- import { jsx as jsx169, jsxs as jsxs88 } from "react/jsx-runtime";
21364
+ import { trussProps as trussProps86 } from "@homebound/truss/runtime";
21365
+ import { jsx as jsx170, jsxs as jsxs89 } from "react/jsx-runtime";
21335
21366
  function SideNavSectionView(props) {
21336
21367
  const {
21337
21368
  section,
@@ -21340,7 +21371,7 @@ function SideNavSectionView(props) {
21340
21371
  ...scopeProps
21341
21372
  } = props;
21342
21373
  const tid = useTestIds(scopeProps);
21343
- return /* @__PURE__ */ jsxs88("div", { ...trussProps85({
21374
+ return /* @__PURE__ */ jsxs89("div", { ...trussProps86({
21344
21375
  display: "df",
21345
21376
  flexDirection: "fdc",
21346
21377
  paddingTop: "pt2",
@@ -21353,7 +21384,7 @@ function SideNavSectionView(props) {
21353
21384
  paddingBottom: "pb2"
21354
21385
  } : {}
21355
21386
  }), ...tid, children: [
21356
- section.label && !panelCollapsed && /* @__PURE__ */ jsx169("div", { ...trussProps85({
21387
+ section.label && !panelCollapsed && /* @__PURE__ */ jsx170("div", { ...trussProps86({
21357
21388
  fontWeight: "fw6",
21358
21389
  fontSize: "fz_10px",
21359
21390
  lineHeight: "lh_14px",
@@ -21365,7 +21396,7 @@ function SideNavSectionView(props) {
21365
21396
  paddingBottom: "pb1",
21366
21397
  textTransform: "ttu"
21367
21398
  }), ...tid.label, children: section.label }),
21368
- /* @__PURE__ */ jsx169(SideNavItems, { ...scopeProps, items: section.items, panelCollapsed })
21399
+ /* @__PURE__ */ jsx170(SideNavItems, { ...scopeProps, items: section.items, panelCollapsed })
21369
21400
  ] });
21370
21401
  }
21371
21402
 
@@ -21392,13 +21423,13 @@ function entryHasIcons(item) {
21392
21423
  }
21393
21424
 
21394
21425
  // src/components/SideNav/SideNavItems.tsx
21395
- import { Fragment as Fragment39, jsx as jsx170 } from "react/jsx-runtime";
21426
+ import { Fragment as Fragment39, jsx as jsx171 } from "react/jsx-runtime";
21396
21427
  function SideNavItems(props) {
21397
21428
  const { items, panelCollapsed } = props;
21398
21429
  const tid = useTestIds(props, "sideNav");
21399
- return /* @__PURE__ */ jsx170(Fragment39, { children: items.map((item, idx) => {
21430
+ return /* @__PURE__ */ jsx171(Fragment39, { children: items.map((item, idx) => {
21400
21431
  if (isSideNavLink(item)) {
21401
- return /* @__PURE__ */ jsx170(
21432
+ return /* @__PURE__ */ jsx171(
21402
21433
  NavLink,
21403
21434
  {
21404
21435
  variant: "side",
@@ -21410,7 +21441,7 @@ function SideNavItems(props) {
21410
21441
  );
21411
21442
  }
21412
21443
  if (isSideNavLinkGroup(item)) {
21413
- return /* @__PURE__ */ jsx170(
21444
+ return /* @__PURE__ */ jsx171(
21414
21445
  SideNavLinkGroupView,
21415
21446
  {
21416
21447
  linkGroup: item,
@@ -21420,7 +21451,7 @@ function SideNavItems(props) {
21420
21451
  sideNavItemKey(item)
21421
21452
  );
21422
21453
  }
21423
- return /* @__PURE__ */ jsx170(
21454
+ return /* @__PURE__ */ jsx171(
21424
21455
  SideNavSectionView,
21425
21456
  {
21426
21457
  section: item,
@@ -21442,7 +21473,7 @@ import {
21442
21473
  useRef as useRef54,
21443
21474
  useState as useState50
21444
21475
  } from "react";
21445
- import { jsx as jsx171 } from "react/jsx-runtime";
21476
+ import { jsx as jsx172 } from "react/jsx-runtime";
21446
21477
  var SIDE_NAV_LAYOUT_STATE_STORAGE_KEY = "beam.sideNavLayout.navState";
21447
21478
  function loadStoredNavState() {
21448
21479
  try {
@@ -21489,7 +21520,7 @@ function SideNavLayoutProvider(props) {
21489
21520
  return next;
21490
21521
  });
21491
21522
  }, []);
21492
- return /* @__PURE__ */ jsx171(SideNavLayoutContext.Provider, { value: { navState, setNavState }, children: props.children });
21523
+ return /* @__PURE__ */ jsx172(SideNavLayoutContext.Provider, { value: { navState, setNavState }, children: props.children });
21493
21524
  }
21494
21525
  function useSideNavLayoutContext() {
21495
21526
  return useContext22(SideNavLayoutContext) ?? { navState: "expanded", setNavState: () => {
@@ -21500,8 +21531,8 @@ function useHasSideNavLayoutProvider() {
21500
21531
  }
21501
21532
 
21502
21533
  // src/components/SideNav/SideNav.tsx
21503
- import { trussProps as trussProps86 } from "@homebound/truss/runtime";
21504
- import { jsx as jsx172, jsxs as jsxs89 } from "react/jsx-runtime";
21534
+ import { trussProps as trussProps87 } from "@homebound/truss/runtime";
21535
+ import { jsx as jsx173, jsxs as jsxs90 } from "react/jsx-runtime";
21505
21536
  function SideNav(props) {
21506
21537
  const {
21507
21538
  top,
@@ -21514,8 +21545,8 @@ function SideNav(props) {
21514
21545
  const tid = useTestIds(props, "sideNav");
21515
21546
  const panelCollapsed = navState === "collapse";
21516
21547
  const hideOnCollapse = panelCollapsed && !allItemsHaveIcons(items);
21517
- return /* @__PURE__ */ jsxs89("nav", { className: "df fdc h100 fs0", ...tid, children: [
21518
- top !== void 0 && /* @__PURE__ */ jsx172("div", { ...trussProps86({
21548
+ return /* @__PURE__ */ jsxs90("nav", { className: "df fdc h100 fs0", ...tid, children: [
21549
+ top !== void 0 && /* @__PURE__ */ jsx173("div", { ...trussProps87({
21519
21550
  flexShrink: "fs0",
21520
21551
  paddingLeft: "pl2",
21521
21552
  paddingRight: "pr2",
@@ -21526,7 +21557,7 @@ function SideNav(props) {
21526
21557
  paddingBottom: "pb4"
21527
21558
  } : {}
21528
21559
  }), ...tid.top, children: top }),
21529
- /* @__PURE__ */ jsx172("div", { ...trussProps86({
21560
+ /* @__PURE__ */ jsx173("div", { ...trussProps87({
21530
21561
  flexGrow: "fg1",
21531
21562
  overflowY: "oya",
21532
21563
  display: "df",
@@ -21538,8 +21569,8 @@ function SideNav(props) {
21538
21569
  ...top === void 0 ? {
21539
21570
  paddingTop: "pt5"
21540
21571
  } : {}
21541
- }), ...tid.items, children: !hideOnCollapse && /* @__PURE__ */ jsx172(SideNavItems, { items, panelCollapsed }) }),
21542
- footer !== void 0 && /* @__PURE__ */ jsx172("div", { ...trussProps86({
21572
+ }), ...tid.items, children: !hideOnCollapse && /* @__PURE__ */ jsx173(SideNavItems, { items, panelCollapsed }) }),
21573
+ footer !== void 0 && /* @__PURE__ */ jsx173("div", { ...trussProps87({
21543
21574
  flexShrink: "fs0",
21544
21575
  paddingLeft: "pl2",
21545
21576
  paddingRight: "pr2",
@@ -21616,8 +21647,8 @@ var snackbarId = 1;
21616
21647
  // src/components/Stepper.tsx
21617
21648
  import { useRef as useRef55 } from "react";
21618
21649
  import { useButton as useButton12, useFocusRing as useFocusRing15, useHover as useHover19 } from "react-aria";
21619
- import { trussProps as trussProps87, maybeCssVar as maybeCssVar47 } from "@homebound/truss/runtime";
21620
- import { jsx as jsx173, jsxs as jsxs90 } from "react/jsx-runtime";
21650
+ import { trussProps as trussProps88, maybeCssVar as maybeCssVar47 } from "@homebound/truss/runtime";
21651
+ import { jsx as jsx174, jsxs as jsxs91 } from "react/jsx-runtime";
21621
21652
  import { createElement as createElement4 } from "react";
21622
21653
  var __maybeInc14 = (inc) => {
21623
21654
  return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
@@ -21636,8 +21667,8 @@ function Stepper(props) {
21636
21667
  const maxStepWidth = 200;
21637
21668
  const minStepWidth = 100;
21638
21669
  const gap = 8;
21639
- return /* @__PURE__ */ jsxs90("nav", { "aria-label": "steps", className: "df fdc w100", ...tid, children: [
21640
- /* @__PURE__ */ jsx173("ol", { ...trussProps87({
21670
+ return /* @__PURE__ */ jsxs91("nav", { "aria-label": "steps", className: "df fdc w100", ...tid, children: [
21671
+ /* @__PURE__ */ jsx174("ol", { ...trussProps88({
21641
21672
  padding: "p_0",
21642
21673
  margin: "m_0",
21643
21674
  listStyle: "lis_none",
@@ -21647,7 +21678,7 @@ function Stepper(props) {
21647
21678
  }]
21648
21679
  }), children: steps.map((step) => {
21649
21680
  const isCurrent = currentStep === step.value;
21650
- return /* @__PURE__ */ createElement4("li", { ...trussProps87({
21681
+ return /* @__PURE__ */ createElement4("li", { ...trussProps88({
21651
21682
  display: "df",
21652
21683
  flexGrow: "fg1",
21653
21684
  flexDirection: "fdc",
@@ -21657,9 +21688,9 @@ function Stepper(props) {
21657
21688
  minWidth: ["mw_var", {
21658
21689
  "--minWidth": `${minStepWidth}px`
21659
21690
  }]
21660
- }), key: step.label, "aria-current": isCurrent, ...tid.step }, /* @__PURE__ */ jsx173(StepButton, { ...step, onClick: () => onChange(step.value), isCurrent, ...tid.stepButton }));
21691
+ }), key: step.label, "aria-current": isCurrent, ...tid.step }, /* @__PURE__ */ jsx174(StepButton, { ...step, onClick: () => onChange(step.value), isCurrent, ...tid.stepButton }));
21661
21692
  }) }),
21662
- /* @__PURE__ */ jsx173("div", { ...trussProps87({
21693
+ /* @__PURE__ */ jsx174("div", { ...trussProps88({
21663
21694
  marginTop: "mt1",
21664
21695
  backgroundColor: "bgGray300",
21665
21696
  height: "h_4px",
@@ -21670,7 +21701,7 @@ function Stepper(props) {
21670
21701
  "--minWidth": `${steps.length * minStepWidth + (steps.length - 1) * gap}px`
21671
21702
  }],
21672
21703
  width: "w100"
21673
- }), children: /* @__PURE__ */ jsx173("div", { ...trussProps87({
21704
+ }), children: /* @__PURE__ */ jsx174("div", { ...trussProps88({
21674
21705
  backgroundColor: "bgBlue600",
21675
21706
  transition: "transition_width_200ms",
21676
21707
  height: "h100",
@@ -21711,7 +21742,7 @@ function StepButton(props) {
21711
21742
  boxShadow: "bshFocus"
21712
21743
  };
21713
21744
  const tid = useTestIds(props, "stepButton");
21714
- return /* @__PURE__ */ jsxs90("button", { ref, ...buttonProps, ...focusProps, ...hoverProps, ...trussProps87({
21745
+ return /* @__PURE__ */ jsxs91("button", { ref, ...buttonProps, ...focusProps, ...hoverProps, ...trussProps88({
21715
21746
  ...{
21716
21747
  fontWeight: "fw6",
21717
21748
  fontSize: "fz_14px",
@@ -21763,7 +21794,7 @@ function StepButton(props) {
21763
21794
  } : {},
21764
21795
  ...isFocusVisible ? focusRingStyles2 : {}
21765
21796
  }), ...tid[defaultTestId(label)], children: [
21766
- /* @__PURE__ */ jsx173("span", { className: "fs0 mr_4px", children: /* @__PURE__ */ jsx173(StepIcon, { state, isHovered, isPressed, isCurrent }) }),
21797
+ /* @__PURE__ */ jsx174("span", { className: "fs0 mr_4px", children: /* @__PURE__ */ jsx174(StepIcon, { state, isHovered, isPressed, isCurrent }) }),
21767
21798
  label
21768
21799
  ] });
21769
21800
  }
@@ -21774,12 +21805,12 @@ function StepIcon({
21774
21805
  isCurrent = false
21775
21806
  }) {
21776
21807
  if (state === "error") {
21777
- return /* @__PURE__ */ jsx173(Icon, { icon: "errorCircle" });
21808
+ return /* @__PURE__ */ jsx174(Icon, { icon: "errorCircle" });
21778
21809
  }
21779
21810
  if (state === "complete") {
21780
- return /* @__PURE__ */ jsx173(Icon, { icon: "check" });
21811
+ return /* @__PURE__ */ jsx174(Icon, { icon: "check" });
21781
21812
  }
21782
- return /* @__PURE__ */ jsx173("div", { className: "w_24px h_24px df aic jcc", children: /* @__PURE__ */ jsx173("div", { ...trussProps87({
21813
+ return /* @__PURE__ */ jsx174("div", { className: "w_24px h_24px df aic jcc", children: /* @__PURE__ */ jsx174("div", { ...trussProps88({
21783
21814
  width: "w_10px",
21784
21815
  height: "h_10px",
21785
21816
  borderStyle: "bss",
@@ -21794,8 +21825,8 @@ function StepIcon({
21794
21825
 
21795
21826
  // src/components/SuperDrawer/components/SuperDrawerHeader.tsx
21796
21827
  import { createPortal as createPortal6 } from "react-dom";
21797
- import { trussProps as trussProps88 } from "@homebound/truss/runtime";
21798
- import { jsx as jsx174, jsxs as jsxs91 } from "react/jsx-runtime";
21828
+ import { trussProps as trussProps89 } from "@homebound/truss/runtime";
21829
+ import { jsx as jsx175, jsxs as jsxs92 } from "react/jsx-runtime";
21799
21830
  function SuperDrawerHeader(props) {
21800
21831
  const {
21801
21832
  hideControls
@@ -21812,20 +21843,20 @@ function SuperDrawerHeader(props) {
21812
21843
  const currentContent = contentStack.current[contentStack.current.length - 1]?.opts;
21813
21844
  const isDetail = currentContent !== firstContent;
21814
21845
  const tid = useTestIds({}, "superDrawerHeader");
21815
- return createPortal6(/* @__PURE__ */ jsxs91("div", { className: "df aic jcsb gap3", ...tid, children: [
21816
- isStructuredProps(props) ? /* @__PURE__ */ jsxs91("div", { className: "df jcsb aic gap2 fg1", children: [
21817
- /* @__PURE__ */ jsxs91("div", { className: "fg1 df aic gap2", children: [
21818
- /* @__PURE__ */ jsx174("h1", { className: "fw6 fz_30px lh_36px", children: props.title }),
21846
+ return createPortal6(/* @__PURE__ */ jsxs92("div", { className: "df aic jcsb gap3", ...tid, children: [
21847
+ isStructuredProps(props) ? /* @__PURE__ */ jsxs92("div", { className: "df jcsb aic gap2 fg1", children: [
21848
+ /* @__PURE__ */ jsxs92("div", { className: "fg1 df aic gap2", children: [
21849
+ /* @__PURE__ */ jsx175("h1", { className: "fw6 fz_30px lh_36px", children: props.title }),
21819
21850
  props.left
21820
21851
  ] }),
21821
- props.right && /* @__PURE__ */ jsx174("div", { className: "fs0", children: props.right })
21822
- ] }) : /* @__PURE__ */ jsx174("div", { className: "fg1", children: props.children }),
21823
- !hideControls && /* @__PURE__ */ jsx174("div", { ...trussProps88({
21852
+ props.right && /* @__PURE__ */ jsx175("div", { className: "fs0", children: props.right })
21853
+ ] }) : /* @__PURE__ */ jsx175("div", { className: "fg1", children: props.children }),
21854
+ !hideControls && /* @__PURE__ */ jsx175("div", { ...trussProps89({
21824
21855
  flexShrink: "fs0",
21825
21856
  ...isDetail ? {
21826
21857
  visibility: "vh"
21827
21858
  } : {}
21828
- }), children: /* @__PURE__ */ jsx174(ButtonGroup, { buttons: [{
21859
+ }), children: /* @__PURE__ */ jsx175(ButtonGroup, { buttons: [{
21829
21860
  icon: "chevronLeft",
21830
21861
  onClick: () => onPrevClick && onPrevClick(),
21831
21862
  disabled: !onPrevClick
@@ -21841,18 +21872,18 @@ function isStructuredProps(props) {
21841
21872
  }
21842
21873
 
21843
21874
  // src/components/SuperDrawer/ConfirmCloseModal.tsx
21844
- import { Fragment as Fragment40, jsx as jsx175, jsxs as jsxs92 } from "react/jsx-runtime";
21875
+ import { Fragment as Fragment40, jsx as jsx176, jsxs as jsxs93 } from "react/jsx-runtime";
21845
21876
  function ConfirmCloseModal(props) {
21846
21877
  const { onClose, discardText = "Discard Changes", continueText = "Continue Editing" } = props;
21847
21878
  const { modalState } = useBeamContext();
21848
21879
  function closeModal() {
21849
21880
  modalState.current = void 0;
21850
21881
  }
21851
- return /* @__PURE__ */ jsxs92(Fragment40, { children: [
21852
- /* @__PURE__ */ jsx175(ModalHeader, { children: "Are you sure you want to cancel?" }),
21853
- /* @__PURE__ */ jsx175(ModalBody, { children: /* @__PURE__ */ jsx175("p", { children: "Any changes you've made so far will be lost." }) }),
21854
- /* @__PURE__ */ jsxs92(ModalFooter, { children: [
21855
- /* @__PURE__ */ jsx175(
21882
+ return /* @__PURE__ */ jsxs93(Fragment40, { children: [
21883
+ /* @__PURE__ */ jsx176(ModalHeader, { children: "Are you sure you want to cancel?" }),
21884
+ /* @__PURE__ */ jsx176(ModalBody, { children: /* @__PURE__ */ jsx176("p", { children: "Any changes you've made so far will be lost." }) }),
21885
+ /* @__PURE__ */ jsxs93(ModalFooter, { children: [
21886
+ /* @__PURE__ */ jsx176(
21856
21887
  Button,
21857
21888
  {
21858
21889
  variant: "quaternary",
@@ -21863,7 +21894,7 @@ function ConfirmCloseModal(props) {
21863
21894
  }
21864
21895
  }
21865
21896
  ),
21866
- /* @__PURE__ */ jsx175(Button, { label: continueText, onClick: closeModal })
21897
+ /* @__PURE__ */ jsx176(Button, { label: continueText, onClick: closeModal })
21867
21898
  ] })
21868
21899
  ] });
21869
21900
  }
@@ -21873,7 +21904,7 @@ import { motion as motion5 } from "framer-motion";
21873
21904
 
21874
21905
  // src/components/SuperDrawer/useSuperDrawer.tsx
21875
21906
  import { useMemo as useMemo50 } from "react";
21876
- import { jsx as jsx176 } from "react/jsx-runtime";
21907
+ import { jsx as jsx177 } from "react/jsx-runtime";
21877
21908
  function useSuperDrawer() {
21878
21909
  const {
21879
21910
  drawerContentStack: contentStack,
@@ -21885,7 +21916,7 @@ function useSuperDrawer() {
21885
21916
  function canCloseDrawerDetails(i, doChange) {
21886
21917
  for (const canCloseDrawerDetail of canCloseDetailsChecks.current[i] ?? []) {
21887
21918
  if (!canClose(canCloseDrawerDetail)) {
21888
- openModal({ content: /* @__PURE__ */ jsx176(ConfirmCloseModal, { onClose: doChange, ...canCloseDrawerDetail }) });
21919
+ openModal({ content: /* @__PURE__ */ jsx177(ConfirmCloseModal, { onClose: doChange, ...canCloseDrawerDetail }) });
21889
21920
  return false;
21890
21921
  }
21891
21922
  }
@@ -21905,7 +21936,7 @@ function useSuperDrawer() {
21905
21936
  for (const canCloseDrawer of canCloseChecks.current) {
21906
21937
  if (!canClose(canCloseDrawer)) {
21907
21938
  openModal({
21908
- content: /* @__PURE__ */ jsx176(ConfirmCloseModal, { onClose: doChange, ...canCloseDrawer })
21939
+ content: /* @__PURE__ */ jsx177(ConfirmCloseModal, { onClose: doChange, ...canCloseDrawer })
21909
21940
  });
21910
21941
  return;
21911
21942
  }
@@ -22001,7 +22032,7 @@ function canClose(canCloseCheck) {
22001
22032
 
22002
22033
  // src/components/SuperDrawer/SuperDrawerContent.tsx
22003
22034
  import { mergeProps as mergeProps26 } from "@homebound/truss/runtime";
22004
- import { Fragment as Fragment41, jsx as jsx177, jsxs as jsxs93 } from "react/jsx-runtime";
22035
+ import { Fragment as Fragment41, jsx as jsx178, jsxs as jsxs94 } from "react/jsx-runtime";
22005
22036
  var SuperDrawerContent = ({
22006
22037
  children,
22007
22038
  actions
@@ -22021,17 +22052,17 @@ var SuperDrawerContent = ({
22021
22052
  } = firstContent ?? {};
22022
22053
  function wrapWithMotionAndMaybeBack(children2) {
22023
22054
  if (kind === "open") {
22024
- return /* @__PURE__ */ jsx177(motion5.div, { className: "pt3 pb3 pr3 pl3 fg1 oa", children: children2 }, "content");
22055
+ return /* @__PURE__ */ jsx178(motion5.div, { className: "pt3 pb3 pr3 pl3 fg1 oa", children: children2 }, "content");
22025
22056
  } else if (kind === "detail") {
22026
- return /* @__PURE__ */ jsxs93(motion5.div, { className: "pl3 pr3 pt2 pb3 fg1", animate: {
22057
+ return /* @__PURE__ */ jsxs94(motion5.div, { className: "pl3 pr3 pt2 pb3 fg1", animate: {
22027
22058
  overflow: "auto"
22028
22059
  }, transition: {
22029
22060
  overflow: {
22030
22061
  delay: 0.3
22031
22062
  }
22032
22063
  }, children: [
22033
- /* @__PURE__ */ jsx177(Button, { label: "Back", icon: "chevronLeft", variant: "tertiary", onClick: closeDrawerDetail }),
22034
- /* @__PURE__ */ jsx177(motion5.div, { initial: {
22064
+ /* @__PURE__ */ jsx178(Button, { label: "Back", icon: "chevronLeft", variant: "tertiary", onClick: closeDrawerDetail }),
22065
+ /* @__PURE__ */ jsx178(motion5.div, { initial: {
22035
22066
  x: width2,
22036
22067
  opacity: 0
22037
22068
  }, animate: {
@@ -22049,7 +22080,7 @@ var SuperDrawerContent = ({
22049
22080
  }, className: "pt2", children: children2 })
22050
22081
  ] }, "content");
22051
22082
  } else {
22052
- return /* @__PURE__ */ jsx177(motion5.div, { ...mergeProps26(void 0, {
22083
+ return /* @__PURE__ */ jsx178(motion5.div, { ...mergeProps26(void 0, {
22053
22084
  overflow: "auto"
22054
22085
  }, {
22055
22086
  paddingTop: "pt3",
@@ -22060,9 +22091,9 @@ var SuperDrawerContent = ({
22060
22091
  }) }, "content");
22061
22092
  }
22062
22093
  }
22063
- return /* @__PURE__ */ jsxs93(Fragment41, { children: [
22094
+ return /* @__PURE__ */ jsxs94(Fragment41, { children: [
22064
22095
  wrapWithMotionAndMaybeBack(children),
22065
- actions && /* @__PURE__ */ jsx177("footer", { className: "bts_solid btw_1px bcGray200 pt3 pb3 pr3 pl3 df aic jcfe", children: /* @__PURE__ */ jsx177("div", { className: "df gap1", children: actions.map((buttonProps, i) => /* @__PURE__ */ jsx177(Button, { ...buttonProps }, i)) }) })
22096
+ actions && /* @__PURE__ */ jsx178("footer", { className: "bts_solid btw_1px bcGray200 pt3 pb3 pr3 pl3 df aic jcfe", children: /* @__PURE__ */ jsx178("div", { className: "df gap1", children: actions.map((buttonProps, i) => /* @__PURE__ */ jsx178(Button, { ...buttonProps }, i)) }) })
22066
22097
  ] });
22067
22098
  };
22068
22099
 
@@ -22090,15 +22121,15 @@ import { useEffect as useEffect35, useMemo as useMemo51, useRef as useRef56, use
22090
22121
  import { mergeProps as mergeProps27, useFocusRing as useFocusRing16, useHover as useHover20 } from "react-aria";
22091
22122
  import { matchPath } from "react-router";
22092
22123
  import { Link as Link5, useLocation } from "react-router-dom";
22093
- import { trussProps as trussProps89, maybeCssVar as maybeCssVar48 } from "@homebound/truss/runtime";
22094
- import { Fragment as Fragment42, jsx as jsx178, jsxs as jsxs94 } from "react/jsx-runtime";
22124
+ import { trussProps as trussProps90, maybeCssVar as maybeCssVar48 } from "@homebound/truss/runtime";
22125
+ import { Fragment as Fragment42, jsx as jsx179, jsxs as jsxs95 } from "react/jsx-runtime";
22095
22126
  function TabsWithContent(props) {
22096
22127
  const styles = hideTabs(props) ? {} : {
22097
22128
  paddingTop: "pt3"
22098
22129
  };
22099
- return /* @__PURE__ */ jsxs94(Fragment42, { children: [
22100
- /* @__PURE__ */ jsx178(Tabs, { ...props }),
22101
- /* @__PURE__ */ jsx178(TabContent, { ...props, contentXss: {
22130
+ return /* @__PURE__ */ jsxs95(Fragment42, { children: [
22131
+ /* @__PURE__ */ jsx179(Tabs, { ...props }),
22132
+ /* @__PURE__ */ jsx179(TabContent, { ...props, contentXss: {
22102
22133
  ...styles,
22103
22134
  ...props.contentXss
22104
22135
  } })
@@ -22123,7 +22154,7 @@ function TabContent(props) {
22123
22154
  return (
22124
22155
  // Using FullBleed to allow the tab's bgColor to extend to the edges of the <ScrollableContent /> element.
22125
22156
  // Omit the padding from `FullBleed` if the caller passes in the `paddingLeft/Right` styles.
22126
- /* @__PURE__ */ jsx178(FullBleed, { omitPadding: omitFullBleedPadding, children: /* @__PURE__ */ jsx178("div", { "aria-labelledby": `${uniqueValue}-tab`, id: `${uniqueValue}-tabPanel`, role: "tabpanel", tabIndex: 0, ...tid.panel, ...trussProps89(contentXss), children: selectedTab.render() }) })
22157
+ /* @__PURE__ */ jsx179(FullBleed, { omitPadding: omitFullBleedPadding, children: /* @__PURE__ */ jsx179("div", { "aria-labelledby": `${uniqueValue}-tab`, id: `${uniqueValue}-tabPanel`, role: "tabpanel", tabIndex: 0, ...tid.panel, ...trussProps90(contentXss), children: selectedTab.render() }) })
22127
22158
  );
22128
22159
  }
22129
22160
  function Tabs(props) {
@@ -22165,7 +22196,7 @@ function Tabs(props) {
22165
22196
  setActive(selected);
22166
22197
  }
22167
22198
  }
22168
- return /* @__PURE__ */ jsxs94("div", { ...trussProps89({
22199
+ return /* @__PURE__ */ jsxs95("div", { ...trussProps90({
22169
22200
  ...{
22170
22201
  display: "df",
22171
22202
  alignItems: "aic",
@@ -22181,11 +22212,11 @@ function Tabs(props) {
22181
22212
  }
22182
22213
  } : {}
22183
22214
  }), children: [
22184
- !hideTabs(props) && /* @__PURE__ */ jsx178("div", { ref, className: "dif gap1 asfe", "aria-label": ariaLabel, role: "tablist", ...tid, children: tabs.map((tab) => {
22215
+ !hideTabs(props) && /* @__PURE__ */ jsx179("div", { ref, className: "dif gap1 asfe", "aria-label": ariaLabel, role: "tablist", ...tid, children: tabs.map((tab) => {
22185
22216
  const uniqueValue = uniqueTabValue(tab);
22186
- return /* @__PURE__ */ jsx178(TabImpl, { active: active === uniqueValue, focusProps, isFocusVisible, onClick, onKeyUp, onBlur, tab, ...tid[defaultTestId(uniqueValue)] }, uniqueValue);
22217
+ return /* @__PURE__ */ jsx179(TabImpl, { active: active === uniqueValue, focusProps, isFocusVisible, onClick, onKeyUp, onBlur, tab, ...tid[defaultTestId(uniqueValue)] }, uniqueValue);
22187
22218
  }) }),
22188
- right && /* @__PURE__ */ jsx178("div", { className: "mla df aic gap1 pb1", children: right })
22219
+ right && /* @__PURE__ */ jsx179("div", { className: "mla df aic gap1 pb1", children: right })
22189
22220
  ] });
22190
22221
  }
22191
22222
  function TabImpl(props) {
@@ -22229,7 +22260,7 @@ function TabImpl(props) {
22229
22260
  role: "tab",
22230
22261
  tabIndex: active ? 0 : -1,
22231
22262
  ...others,
22232
- ...trussProps89({
22263
+ ...trussProps90({
22233
22264
  ...baseStyles5,
22234
22265
  ...active && activeStyles3,
22235
22266
  ...isDisabled && disabledStyles4,
@@ -22245,17 +22276,17 @@ function TabImpl(props) {
22245
22276
  onClick: () => onClick(tab.value)
22246
22277
  }
22247
22278
  });
22248
- const tabLabel = /* @__PURE__ */ jsxs94(Fragment42, { children: [
22279
+ const tabLabel = /* @__PURE__ */ jsxs95(Fragment42, { children: [
22249
22280
  label,
22250
- (icon || endAdornment) && /* @__PURE__ */ jsx178("span", { className: "ml1", children: icon ? /* @__PURE__ */ jsx178(Icon, { icon }) : endAdornment })
22281
+ (icon || endAdornment) && /* @__PURE__ */ jsx179("span", { className: "ml1", children: icon ? /* @__PURE__ */ jsx179(Icon, { icon }) : endAdornment })
22251
22282
  ] });
22252
22283
  return isDisabled ? maybeTooltip({
22253
22284
  title: resolveTooltip(disabled),
22254
22285
  placement: "top",
22255
- children: /* @__PURE__ */ jsx178("div", { ...tabProps, children: tabLabel })
22256
- }) : isRouteTab(tab) ? /* @__PURE__ */ jsx178(Link5, { ...mergeProps27(tabProps, interactiveProps, {
22286
+ children: /* @__PURE__ */ jsx179("div", { ...tabProps, children: tabLabel })
22287
+ }) : isRouteTab(tab) ? /* @__PURE__ */ jsx179(Link5, { ...mergeProps27(tabProps, interactiveProps, {
22257
22288
  className: "navLink"
22258
- }), to: tab.href, children: tabLabel }) : /* @__PURE__ */ jsx178("button", { ...{
22289
+ }), to: tab.href, children: tabLabel }) : /* @__PURE__ */ jsx179("button", { ...{
22259
22290
  ...tabProps,
22260
22291
  ...interactiveProps
22261
22292
  }, children: tabLabel });
@@ -22358,12 +22389,12 @@ function useToast() {
22358
22389
  }
22359
22390
 
22360
22391
  // src/layouts/SideNavLayout/SideNavLayout.tsx
22361
- import { trussProps as trussProps90, maybeCssVar as maybeCssVar49 } from "@homebound/truss/runtime";
22362
- import { jsx as jsx179, jsxs as jsxs95 } from "react/jsx-runtime";
22392
+ import { trussProps as trussProps91, maybeCssVar as maybeCssVar49 } from "@homebound/truss/runtime";
22393
+ import { jsx as jsx180, jsxs as jsxs96 } from "react/jsx-runtime";
22363
22394
  function SideNavLayout(props) {
22364
22395
  const hasProvider = useHasSideNavLayoutProvider();
22365
- if (hasProvider) return /* @__PURE__ */ jsx179(SideNavLayoutContent, { ...props });
22366
- return /* @__PURE__ */ jsx179(SideNavLayoutProvider, { children: /* @__PURE__ */ jsx179(SideNavLayoutContent, { ...props }) });
22396
+ if (hasProvider) return /* @__PURE__ */ jsx180(SideNavLayoutContent, { ...props });
22397
+ return /* @__PURE__ */ jsx180(SideNavLayoutProvider, { children: /* @__PURE__ */ jsx180(SideNavLayoutContent, { ...props }) });
22367
22398
  }
22368
22399
  function SideNavLayoutContent(props) {
22369
22400
  const {
@@ -22383,7 +22414,7 @@ function SideNavLayoutContent(props) {
22383
22414
  const railCollapsedWidthPx = 56;
22384
22415
  const collapsed = navState === "collapse";
22385
22416
  const showRail = sideNav !== void 0 && navState !== "hidden";
22386
- const rail = showRail && /* @__PURE__ */ jsxs95("div", { ...trussProps90({
22417
+ const rail = showRail && /* @__PURE__ */ jsxs96("div", { ...trussProps91({
22387
22418
  ...{
22388
22419
  position: "absolute",
22389
22420
  top: "top0",
@@ -22429,12 +22460,12 @@ function SideNavLayoutContent(props) {
22429
22460
  }
22430
22461
  } : {}
22431
22462
  }), ...tid.sideNav, children: [
22432
- showCollapseToggle && /* @__PURE__ */ jsx179("div", { className: "absolute right2 top2", children: /* @__PURE__ */ jsx179(IconButton, { icon: collapsed ? "menuOpen" : "menuClose", label: collapsed ? "Expand navigation" : "Collapse navigation", onClick: () => setNavState(collapsed ? "expanded" : "collapse"), ...tid.toggle }) }),
22433
- /* @__PURE__ */ jsx179("div", { className: "fg1 oya", ...tid.sideNavContent, children: sideNav })
22463
+ showCollapseToggle && /* @__PURE__ */ jsx180("div", { className: "absolute right2 top2", children: /* @__PURE__ */ jsx180(IconButton, { icon: collapsed ? "menuOpen" : "menuClose", label: collapsed ? "Expand navigation" : "Collapse navigation", onClick: () => setNavState(collapsed ? "expanded" : "collapse"), ...tid.toggle }) }),
22464
+ /* @__PURE__ */ jsx180("div", { className: "fg1 oya", ...tid.sideNavContent, children: sideNav })
22434
22465
  ] });
22435
- return /* @__PURE__ */ jsxs95("div", { className: "relative df oh fg1", ...tid, children: [
22436
- contrastRail ? /* @__PURE__ */ jsx179(ContrastScope, { children: rail }) : rail,
22437
- /* @__PURE__ */ jsx179(ScrollableParent, { px: contentPx, xss: {
22466
+ return /* @__PURE__ */ jsxs96("div", { className: "relative df oh fg1", ...tid, children: [
22467
+ contrastRail ? /* @__PURE__ */ jsx180(ContrastScope, { children: rail }) : rail,
22468
+ /* @__PURE__ */ jsx180(ScrollableParent, { px: contentPx, xss: {
22438
22469
  marginLeft: ["ml_var", {
22439
22470
  "--marginLeft": `${railCollapsedWidthPx}px`
22440
22471
  }],
@@ -22544,6 +22575,7 @@ export {
22544
22575
  NavLink,
22545
22576
  NumberField,
22546
22577
  OpenModal,
22578
+ PageHeader2 as PageHeader,
22547
22579
  Pagination,
22548
22580
  Palette,
22549
22581
  PresentationProvider,