@homebound/beam 3.19.0 → 3.20.1

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
@@ -18885,7 +18885,7 @@ function invertSpacing(value) {
18885
18885
 
18886
18886
  // src/components/Layout/GridTableLayout/GridTableLayout.tsx
18887
18887
  import { useResizeObserver as useResizeObserver5 } from "@react-aria/utils";
18888
- import React17, { useCallback as useCallback25, useEffect as useEffect28, useLayoutEffect as useLayoutEffect4, useMemo as useMemo38, useRef as useRef48, useState as useState44 } from "react";
18888
+ import React17, { useCallback as useCallback26, useEffect as useEffect28, useLayoutEffect as useLayoutEffect4, useMemo as useMemo38, useRef as useRef48, useState as useState45 } from "react";
18889
18889
 
18890
18890
  // src/components/ButtonMenu.tsx
18891
18891
  import { useRef as useRef46 } from "react";
@@ -19748,13 +19748,13 @@ function toPageNumberSize(page) {
19748
19748
  import { Fragment as Fragment34, useCallback as useCallback24, useMemo as useMemo36, useRef as useRef47 } from "react";
19749
19749
  import { useMenuTrigger as useMenuTrigger3 } from "react-aria";
19750
19750
  import { useMenuTriggerState as useMenuTriggerState3 } from "react-stately";
19751
+ import { trussProps as trussProps70 } from "@homebound/truss/runtime";
19751
19752
  import { jsx as jsx143, jsxs as jsxs72 } from "react/jsx-runtime";
19752
19753
  function EditColumnsButton(props) {
19753
19754
  const {
19754
19755
  defaultOpen,
19755
19756
  disabled,
19756
19757
  columns,
19757
- trigger,
19758
19758
  api
19759
19759
  } = props;
19760
19760
  const state = useMenuTriggerState3({
@@ -19766,7 +19766,7 @@ function EditColumnsButton(props) {
19766
19766
  } = useMenuTrigger3({
19767
19767
  isDisabled: !!disabled
19768
19768
  }, state, buttonRef);
19769
- const tid = useTestIds(props, isTextButton(trigger) ? labelOr(trigger, "editColumnsButton") : isNavLinkButton(trigger) ? defaultTestId(trigger.navLabel) : isIconButton(trigger) ? trigger.icon : trigger.name);
19769
+ const tid = useTestIds(props, "kanban");
19770
19770
  const {
19771
19771
  sm
19772
19772
  } = useBreakpoint();
@@ -19785,12 +19785,38 @@ function EditColumnsButton(props) {
19785
19785
  api.resetColumnWidths();
19786
19786
  api.setVisibleColumns(columns.filter((column2) => column2.canHide ? ids.includes(column2.id) : true).map((c) => c.id));
19787
19787
  }, [columns, api]);
19788
- return /* @__PURE__ */ jsx143(OverlayTrigger, { ...props, menuTriggerProps, state, buttonRef, hideEndAdornment: sm, ...tid, children: /* @__PURE__ */ jsxs72("div", { className: "dg gtc_1fr_auto gap2 bgWhite pt2 pb2 pr2 pl2 maxw_326px h_bshHover", children: [
19789
- options.map((option) => /* @__PURE__ */ jsxs72(Fragment34, { children: [
19788
+ return /* @__PURE__ */ jsx143(OverlayTrigger, { ...props, trigger: {
19789
+ icon: "kanban",
19790
+ size: "md",
19791
+ label: "",
19792
+ variant: "secondaryBlack"
19793
+ }, menuTriggerProps, state, buttonRef, hideEndAdornment: sm, ...tid, children: /* @__PURE__ */ jsxs72("div", { ...trussProps70({
19794
+ display: "df",
19795
+ flexDirection: "fdc",
19796
+ backgroundColor: ["bgColor_var", {
19797
+ "--backgroundColor": "var(--b-surface)"
19798
+ }],
19799
+ maxWidth: "maxw_326px",
19800
+ maxHeight: "maxh_512px",
19801
+ boxShadow: "h_bshHover"
19802
+ }), children: [
19803
+ /* @__PURE__ */ jsx143("div", { className: "dg gtc_1fr_auto gap2 pt2 pb2 pr2 pl2 fg1 mh0 oya", children: options.map((option) => /* @__PURE__ */ jsxs72(Fragment34, { children: [
19790
19804
  /* @__PURE__ */ jsx143("div", { className: "fw4 fz_14px lh_20px wsnw oh to_ellipsis pr1", children: option.label }),
19791
19805
  /* @__PURE__ */ jsx143(Switch, { compact: true, selected: selectedValues.includes(option.value), onChange: (value) => setSelectedValues(value ? [...selectedValues, option.value] : selectedValues.filter((v) => v !== option.value)), labelStyle: "hidden", label: option.label, ...tid[`option${option.value}`] })
19792
- ] }, option.value)),
19793
- /* @__PURE__ */ jsx143("div", { className: "gc_1_1 df jcc", children: /* @__PURE__ */ jsx143(Button, { variant: "tertiary", label: "Reset Column Widths", onClick: () => api.resetColumnWidths() }) })
19806
+ ] }, option.value)) }),
19807
+ /* @__PURE__ */ jsx143("div", { ...trussProps70({
19808
+ display: "df",
19809
+ justifyContent: "jcc",
19810
+ paddingTop: "pt2",
19811
+ paddingBottom: "pb2",
19812
+ paddingRight: "pr2",
19813
+ paddingLeft: "pl2",
19814
+ borderTopStyle: "bts_solid",
19815
+ borderTopWidth: "btw_1px",
19816
+ borderColor: ["bc_var", {
19817
+ "--borderColor": "var(--b-on-surface-muted)"
19818
+ }]
19819
+ }), children: /* @__PURE__ */ jsx143(Button, { variant: "tertiary", label: "Reset Column Widths", onClick: () => api.resetColumnWidths() }) })
19794
19820
  ] }) });
19795
19821
  }
19796
19822
 
@@ -19816,7 +19842,7 @@ function ViewToggleButton({ view, onChange, defaultOpen }) {
19816
19842
  }
19817
19843
 
19818
19844
  // src/components/Table/TableActions.tsx
19819
- import { trussProps as trussProps70 } from "@homebound/truss/runtime";
19845
+ import { trussProps as trussProps71 } from "@homebound/truss/runtime";
19820
19846
  import { jsx as jsx145, jsxs as jsxs73 } from "react/jsx-runtime";
19821
19847
  function TableActions(props) {
19822
19848
  const {
@@ -19824,7 +19850,7 @@ function TableActions(props) {
19824
19850
  children,
19825
19851
  right
19826
19852
  } = props;
19827
- return /* @__PURE__ */ jsxs73("div", { ...trussProps70({
19853
+ return /* @__PURE__ */ jsxs73("div", { ...trussProps71({
19828
19854
  ...{
19829
19855
  display: "df",
19830
19856
  gap: "gap1",
@@ -19848,7 +19874,7 @@ function isGridTableProps(props) {
19848
19874
  import { useMemo as useMemo37 } from "react";
19849
19875
 
19850
19876
  // src/components/LoadingSkeleton.tsx
19851
- import { trussProps as trussProps71, maybeCssVar as maybeCssVar40 } from "@homebound/truss/runtime";
19877
+ import { trussProps as trussProps72, maybeCssVar as maybeCssVar40 } from "@homebound/truss/runtime";
19852
19878
  import { jsx as jsx146 } from "react/jsx-runtime";
19853
19879
  function LoadingSkeleton({
19854
19880
  rows = 1,
@@ -19861,7 +19887,7 @@ function LoadingSkeleton({
19861
19887
  const rowHeight = sizeToPixels2[size];
19862
19888
  const rowCells = (rowNumber) => {
19863
19889
  const flexGrowForCell = randomizeWidths ? getRandomizedFlexBasisByRowIndex(rowNumber) : 1;
19864
- return cellArray.map((_, i) => /* @__PURE__ */ jsx146("div", { ...trussProps71({
19890
+ return cellArray.map((_, i) => /* @__PURE__ */ jsx146("div", { ...trussProps72({
19865
19891
  borderRadius: "br4",
19866
19892
  animation: "animation_pulse_2s_cubic_bezier_0_4_0_0_6_1_infinite",
19867
19893
  flexGrow: ["flexGrow_var", {
@@ -19872,7 +19898,7 @@ function LoadingSkeleton({
19872
19898
  }]
19873
19899
  }) }, `row-${rowNumber}-cell-${i}`));
19874
19900
  };
19875
- return /* @__PURE__ */ jsx146("div", { "aria-label": "Loading", children: rowArray.map((_, i) => /* @__PURE__ */ jsx146("div", { ...trussProps71({
19901
+ return /* @__PURE__ */ jsx146("div", { "aria-label": "Loading", children: rowArray.map((_, i) => /* @__PURE__ */ jsx146("div", { ...trussProps72({
19876
19902
  display: "df",
19877
19903
  gap: "gap1",
19878
19904
  marginBottom: "mb1",
@@ -19912,8 +19938,41 @@ function LoadingTable(props) {
19912
19938
  ] });
19913
19939
  }
19914
19940
 
19941
+ // src/components/Layout/GridTableLayout/usePersistedTableView.ts
19942
+ import { useCallback as useCallback25, useState as useState44 } from "react";
19943
+ function usePersistedTableView(defaultView, persist) {
19944
+ const storageKey = persist ? getGridTableViewStorageKey(window.location.pathname) : void 0;
19945
+ const [view, setView] = useState44(() => {
19946
+ if (!storageKey) return defaultView;
19947
+ try {
19948
+ return parseStoredTableView(localStorage.getItem(storageKey)) ?? defaultView;
19949
+ } catch {
19950
+ return defaultView;
19951
+ }
19952
+ });
19953
+ const setViewAndPersist = useCallback25(
19954
+ (next) => {
19955
+ setView(next);
19956
+ if (storageKey) {
19957
+ try {
19958
+ localStorage.setItem(storageKey, next);
19959
+ } catch {
19960
+ }
19961
+ }
19962
+ },
19963
+ [storageKey]
19964
+ );
19965
+ return [view, setViewAndPersist];
19966
+ }
19967
+ function getGridTableViewStorageKey(pathname) {
19968
+ return `beam.gridTableLayout.view.${pathname}`;
19969
+ }
19970
+ function parseStoredTableView(raw) {
19971
+ return raw === "list" || raw === "card" ? raw : void 0;
19972
+ }
19973
+
19915
19974
  // src/components/Layout/GridTableLayout/GridTableLayout.tsx
19916
- import { trussProps as trussProps72, maybeCssVar as maybeCssVar41 } from "@homebound/truss/runtime";
19975
+ import { trussProps as trussProps73, maybeCssVar as maybeCssVar41 } from "@homebound/truss/runtime";
19917
19976
  import { Fragment as Fragment36, jsx as jsx148, jsxs as jsxs75 } from "react/jsx-runtime";
19918
19977
  var __maybeInc14 = (inc) => {
19919
19978
  return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
@@ -19941,7 +20000,7 @@ function GridTableLayoutComponent(props) {
19941
20000
  return columns.some((c) => c.canHide);
19942
20001
  }, [columns, hideEditColumns]);
19943
20002
  const api = useMemo38(() => tableProps.api ?? new GridTableApiImpl(), [tableProps.api]);
19944
- const [view, setView] = useState44(defaultView);
20003
+ const [view, setView] = usePersistedTableView(defaultView, !!withCardView);
19945
20004
  const clientSearch = layoutState?.search === "client" ? layoutState.searchString : void 0;
19946
20005
  const showTableActions = !!(layoutState?.filterDefs || layoutState?.search || hasHideableColumns || withCardView);
19947
20006
  const isVirtualized = tableProps.as === "virtual";
@@ -19957,12 +20016,7 @@ function GridTableLayoutComponent(props) {
19957
20016
  }, [visibleColumnIds, layoutState]);
19958
20017
  const visibleColumnsStorageKey = layoutState?.persistedColumnsStorageKey;
19959
20018
  const tableActionsEl = /* @__PURE__ */ jsx148(TableActions, { right: (hasHideableColumns || withCardView) && /* @__PURE__ */ jsxs75("div", { className: "df gap1", children: [
19960
- hasHideableColumns && /* @__PURE__ */ jsx148(EditColumnsButton, { columns, api, tooltip: "Display columns", trigger: {
19961
- icon: "kanban",
19962
- size: "md",
19963
- label: "",
19964
- variant: "secondaryBlack"
19965
- }, ...tid.editColumnsButton }),
20019
+ hasHideableColumns && /* @__PURE__ */ jsx148(EditColumnsButton, { columns, api, tooltip: "Display columns", ...tid.editColumnsButton }),
19966
20020
  withCardView && /* @__PURE__ */ jsx148(ViewToggleButton, { view, onChange: setView })
19967
20021
  ] }), xss: {
19968
20022
  paddingTop: "pt3",
@@ -19982,7 +20036,7 @@ function GridTableLayoutComponent(props) {
19982
20036
  layoutState && totalCount !== void 0 && /* @__PURE__ */ jsx148(Pagination, { page: [layoutState.page, layoutState._pagination.setPage], totalCount, pageSizes: layoutState._pagination.pageSizes, ...tid.pagination })
19983
20037
  ] });
19984
20038
  const tableScrollContent = /* @__PURE__ */ jsxs75(Fragment36, { children: [
19985
- showTableActions && /* @__PURE__ */ jsx148("div", { ref: tableActionsRef, ...trussProps72({
20039
+ showTableActions && /* @__PURE__ */ jsx148("div", { ref: tableActionsRef, ...trussProps73({
19986
20040
  ...inDocumentScrollLayout ? {
19987
20041
  transition: "transitionTop",
19988
20042
  position: "sticky",
@@ -20036,7 +20090,7 @@ function useGridTableLayoutState({
20036
20090
  const groupBy = useGroupBy(maybeGroupBy ?? {
20037
20091
  none: "none"
20038
20092
  });
20039
- const [searchString, setSearchString] = useState44("");
20093
+ const [searchString, setSearchString] = useState45("");
20040
20094
  const columnsFallback = "unset-columns";
20041
20095
  const [visibleColumnIds, setVisibleColumnIds] = useSessionStorage(persistedColumns?.storageKey ?? columnsFallback, void 0);
20042
20096
  const paginationFallbackKey = "unset-pagination";
@@ -20046,7 +20100,7 @@ function useGridTableLayoutState({
20046
20100
  100
20047
20101
  // default page size
20048
20102
  );
20049
- const [page, setPage] = useState44({
20103
+ const [page, setPage] = useState45({
20050
20104
  offset: 0,
20051
20105
  limit: persistedPageSize
20052
20106
  });
@@ -20078,7 +20132,7 @@ function useGridTableLayoutState({
20078
20132
  };
20079
20133
  }
20080
20134
  function useSetTableActionsHeight(tableWrapperRef, tableActionsRef, enabled) {
20081
- const syncHeightVar = useCallback25(() => {
20135
+ const syncHeightVar = useCallback26(() => {
20082
20136
  const tableWrapper = tableWrapperRef.current;
20083
20137
  if (!tableWrapper) return;
20084
20138
  if (!enabled) {
@@ -20114,7 +20168,7 @@ function Header2(props) {
20114
20168
  actionMenu
20115
20169
  } = props;
20116
20170
  const tids = useTestIds(props);
20117
- return /* @__PURE__ */ jsx148(FullBleed, { children: /* @__PURE__ */ jsxs75("header", { ...trussProps72({
20171
+ return /* @__PURE__ */ jsx148(FullBleed, { children: /* @__PURE__ */ jsxs75("header", { ...trussProps73({
20118
20172
  ...{
20119
20173
  paddingTop: "pt3",
20120
20174
  paddingBottom: "pb3",
@@ -20156,7 +20210,7 @@ function PreventBrowserScroll({
20156
20210
  }
20157
20211
 
20158
20212
  // src/components/Layout/RightPaneLayout/RightPaneContext.tsx
20159
- import React18, { useCallback as useCallback26, useContext as useContext18, useMemo as useMemo39, useState as useState45 } from "react";
20213
+ import React18, { useCallback as useCallback27, useContext as useContext18, useMemo as useMemo39, useState as useState46 } from "react";
20160
20214
  import { jsx as jsx150 } from "react/jsx-runtime";
20161
20215
  var RightPaneContext = React18.createContext({
20162
20216
  openInPane: () => {
@@ -20169,17 +20223,17 @@ var RightPaneContext = React18.createContext({
20169
20223
  rightPaneContent: null
20170
20224
  });
20171
20225
  function RightPaneProvider({ children }) {
20172
- const [rightPaneContent, setRightPaneContent] = useState45(void 0);
20173
- const [isRightPaneOpen, setIsRightPaneOpen] = useState45(false);
20174
- const openInPane = useCallback26(
20226
+ const [rightPaneContent, setRightPaneContent] = useState46(void 0);
20227
+ const [isRightPaneOpen, setIsRightPaneOpen] = useState46(false);
20228
+ const openInPane = useCallback27(
20175
20229
  (opts) => {
20176
20230
  setRightPaneContent(opts?.content);
20177
20231
  setIsRightPaneOpen(true);
20178
20232
  },
20179
20233
  [setRightPaneContent]
20180
20234
  );
20181
- const closePane = useCallback26(() => setIsRightPaneOpen(false), []);
20182
- const clearPane = useCallback26(() => setRightPaneContent(void 0), [setRightPaneContent]);
20235
+ const closePane = useCallback27(() => setIsRightPaneOpen(false), []);
20236
+ const clearPane = useCallback27(() => setRightPaneContent(void 0), [setRightPaneContent]);
20183
20237
  const context = useMemo39(
20184
20238
  () => ({ openInPane, closePane, clearPane, rightPaneContent, isRightPaneOpen }),
20185
20239
  [openInPane, closePane, rightPaneContent, clearPane, isRightPaneOpen]
@@ -20193,7 +20247,7 @@ function useRightPaneContext() {
20193
20247
  // src/components/Layout/RightPaneLayout/RightPaneLayout.tsx
20194
20248
  import { AnimatePresence as AnimatePresence3, motion as motion3 } from "framer-motion";
20195
20249
  import { useEffect as useEffect29 } from "react";
20196
- import { trussProps as trussProps73, maybeCssVar as maybeCssVar42 } from "@homebound/truss/runtime";
20250
+ import { trussProps as trussProps74, maybeCssVar as maybeCssVar42 } from "@homebound/truss/runtime";
20197
20251
  import { Fragment as Fragment37, jsx as jsx151, jsxs as jsxs76 } from "react/jsx-runtime";
20198
20252
  var __maybeInc15 = (inc) => {
20199
20253
  return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
@@ -20213,7 +20267,7 @@ function RightPaneLayout(props) {
20213
20267
  } = useRightPaneContext();
20214
20268
  useEffect29(() => closePane, [closePane]);
20215
20269
  return /* @__PURE__ */ jsx151("div", { className: "h100 df oxh", children: /* @__PURE__ */ jsxs76(Fragment37, { children: [
20216
- /* @__PURE__ */ jsx151("div", { ...trussProps73({
20270
+ /* @__PURE__ */ jsx151("div", { ...trussProps74({
20217
20271
  ...{
20218
20272
  width: ["w_var", {
20219
20273
  "--width": maybeCssVar42(__maybeInc15(`calc(100% - ${paneWidth + 24}px)`))
@@ -20238,7 +20292,7 @@ function RightPaneLayout(props) {
20238
20292
  } : {}
20239
20293
  }
20240
20294
  }), children }),
20241
- /* @__PURE__ */ jsxs76("div", { ...trussProps73({
20295
+ /* @__PURE__ */ jsxs76("div", { ...trussProps74({
20242
20296
  position: "relative",
20243
20297
  ...!!defaultPaneContent ? {
20244
20298
  width: ["w_var", {
@@ -20246,7 +20300,7 @@ function RightPaneLayout(props) {
20246
20300
  }]
20247
20301
  } : {}
20248
20302
  }), children: [
20249
- defaultPaneContent && /* @__PURE__ */ jsx151("div", { ...trussProps73({
20303
+ defaultPaneContent && /* @__PURE__ */ jsx151("div", { ...trussProps74({
20250
20304
  height: "h100",
20251
20305
  width: ["w_var", {
20252
20306
  "--width": `${paneWidth}px`
@@ -20264,7 +20318,7 @@ function RightPaneLayout(props) {
20264
20318
  {
20265
20319
  layout: "position",
20266
20320
  "data-testid": "rightPaneContent",
20267
- ...trussProps73({
20321
+ ...trussProps74({
20268
20322
  backgroundColor: ["bgColor_var", {
20269
20323
  "--backgroundColor": maybeCssVar42(paneBgColor)
20270
20324
  }],
@@ -20323,7 +20377,7 @@ function ScrollableFooter(props) {
20323
20377
 
20324
20378
  // src/components/Layout/TableReviewLayout/TableReviewLayout.tsx
20325
20379
  import { AnimatePresence as AnimatePresence4, motion as motion4 } from "framer-motion";
20326
- import { useEffect as useEffect30, useState as useState46 } from "react";
20380
+ import { useEffect as useEffect30, useState as useState47 } from "react";
20327
20381
 
20328
20382
  // src/components/Layout/TableReviewLayout/SidePanel.tsx
20329
20383
  import { jsx as jsx153, jsxs as jsxs77 } from "react/jsx-runtime";
@@ -20347,7 +20401,7 @@ function SidePanel(props) {
20347
20401
  }
20348
20402
 
20349
20403
  // src/components/Layout/TableReviewLayout/TableReviewLayout.tsx
20350
- import { trussProps as trussProps74, maybeCssVar as maybeCssVar43 } from "@homebound/truss/runtime";
20404
+ import { trussProps as trussProps75, maybeCssVar as maybeCssVar43 } from "@homebound/truss/runtime";
20351
20405
  import { jsx as jsx154, jsxs as jsxs78 } from "react/jsx-runtime";
20352
20406
  var defaultRightPaneWidth = 450;
20353
20407
  function TableReviewLayout(props) {
@@ -20363,7 +20417,7 @@ function TableReviewLayout(props) {
20363
20417
  rightPaneWidth = defaultRightPaneWidth
20364
20418
  } = props;
20365
20419
  const tid = useTestIds(props, "tableReviewLayout");
20366
- const [isPanelVisible, setIsPanelVisible] = useState46(!!panelContent);
20420
+ const [isPanelVisible, setIsPanelVisible] = useState47(!!panelContent);
20367
20421
  useEffect30(() => {
20368
20422
  setIsPanelVisible(!!panelContent);
20369
20423
  }, [panelContent]);
@@ -20389,7 +20443,7 @@ function TableReviewLayout(props) {
20389
20443
  bordered: true
20390
20444
  }, stickyHeader: true });
20391
20445
  }
20392
- return /* @__PURE__ */ jsxs78("div", { ...trussProps74({
20446
+ return /* @__PURE__ */ jsxs78("div", { ...trussProps75({
20393
20447
  position: "fixed",
20394
20448
  top: "top0",
20395
20449
  bottom: "bottom0",
@@ -20414,7 +20468,7 @@ function TableReviewLayout(props) {
20414
20468
  /* @__PURE__ */ jsx154("div", { className: "fw4 fz_14px lh_20px gray700 mt2", ...tid.description, children: description })
20415
20469
  ] }),
20416
20470
  /* @__PURE__ */ jsxs78("div", { className: "fg1 df mh0", ...tid.content, children: [
20417
- /* @__PURE__ */ jsx154("div", { ...trussProps74({
20471
+ /* @__PURE__ */ jsx154("div", { ...trussProps75({
20418
20472
  ...{
20419
20473
  flexGrow: "fg1",
20420
20474
  overflowY: "oya",
@@ -20437,7 +20491,7 @@ function TableReviewLayout(props) {
20437
20491
  ease: "linear",
20438
20492
  duration: 0.2
20439
20493
  }, className: "df fdc fs0 relative", children: [
20440
- /* @__PURE__ */ jsxs78("div", { ...trussProps74({
20494
+ /* @__PURE__ */ jsxs78("div", { ...trussProps75({
20441
20495
  position: "absolute",
20442
20496
  top: ["top_var", {
20443
20497
  "--top": `${-32}px`
@@ -20560,7 +20614,7 @@ function ButtonDatePicker(props) {
20560
20614
  // src/components/ButtonGroup.tsx
20561
20615
  import { useRef as useRef51 } from "react";
20562
20616
  import { useButton as useButton10, useFocusRing as useFocusRing12, useHover as useHover15 } from "react-aria";
20563
- import { trussProps as trussProps75 } from "@homebound/truss/runtime";
20617
+ import { trussProps as trussProps76 } from "@homebound/truss/runtime";
20564
20618
  import { jsx as jsx157, jsxs as jsxs80 } from "react/jsx-runtime";
20565
20619
  function ButtonGroup(props) {
20566
20620
  const {
@@ -20571,7 +20625,7 @@ function ButtonGroup(props) {
20571
20625
  const tid = useTestIds(props, "buttonGroup");
20572
20626
  return (
20573
20627
  // Adding `line-height: 0` prevent inheriting line-heights that might throw off sizing within the button group.
20574
- /* @__PURE__ */ jsx157("div", { ...tid, ...trussProps75({
20628
+ /* @__PURE__ */ jsx157("div", { ...tid, ...trussProps76({
20575
20629
  ...{
20576
20630
  display: "df",
20577
20631
  lineHeight: "lh_0"
@@ -20620,10 +20674,10 @@ function GroupButton(props) {
20620
20674
  isHovered
20621
20675
  } = useHover15(ariaProps);
20622
20676
  const tid = useTestIds(props);
20623
- return /* @__PURE__ */ jsx157("span", { ...trussProps75(getButtonStyles2(isFirst, isLast)), children: maybeTooltip({
20677
+ return /* @__PURE__ */ jsx157("span", { ...trussProps76(getButtonStyles2(isFirst, isLast)), children: maybeTooltip({
20624
20678
  title: resolveTooltip(disabled, tooltip),
20625
20679
  placement: "top",
20626
- children: /* @__PURE__ */ jsxs80("button", { ref, ...buttonProps, ...focusProps, ...hoverProps, ...trussProps75({
20680
+ children: /* @__PURE__ */ jsxs80("button", { ref, ...buttonProps, ...focusProps, ...hoverProps, ...trussProps76({
20627
20681
  ...{
20628
20682
  fontWeight: "fw6",
20629
20683
  fontSize: "fz_14px",
@@ -20729,8 +20783,8 @@ import { useHover as useHover16 } from "react-aria";
20729
20783
 
20730
20784
  // src/components/Tag.tsx
20731
20785
  import { useResizeObserver as useResizeObserver6 } from "@react-aria/utils";
20732
- import { useRef as useRef52, useState as useState47 } from "react";
20733
- import { trussProps as trussProps76 } from "@homebound/truss/runtime";
20786
+ import { useRef as useRef52, useState as useState48 } from "react";
20787
+ import { trussProps as trussProps77 } from "@homebound/truss/runtime";
20734
20788
  import { jsx as jsx158, jsxs as jsxs81 } from "react/jsx-runtime";
20735
20789
  function Tag(props) {
20736
20790
  const {
@@ -20742,7 +20796,7 @@ function Tag(props) {
20742
20796
  } = props;
20743
20797
  const typeStyles2 = getStyles(type);
20744
20798
  const tid = useTestIds(otherProps);
20745
- const [showTooltip, setShowTooltip] = useState47(false);
20799
+ const [showTooltip, setShowTooltip] = useState48(false);
20746
20800
  const ref = useRef52(null);
20747
20801
  useResizeObserver6({
20748
20802
  ref,
@@ -20754,7 +20808,7 @@ function Tag(props) {
20754
20808
  });
20755
20809
  return maybeTooltip({
20756
20810
  title: !preventTooltip && showTooltip ? text : void 0,
20757
- children: /* @__PURE__ */ jsxs81("span", { ...tid, ...trussProps76({
20811
+ children: /* @__PURE__ */ jsxs81("span", { ...tid, ...trussProps77({
20758
20812
  ...{
20759
20813
  display: "dif",
20760
20814
  fontWeight: "fw6",
@@ -20804,7 +20858,7 @@ function getStyles(type) {
20804
20858
  }
20805
20859
 
20806
20860
  // src/components/Card.tsx
20807
- import { trussProps as trussProps77, maybeCssVar as maybeCssVar44 } from "@homebound/truss/runtime";
20861
+ import { trussProps as trussProps78, maybeCssVar as maybeCssVar44 } from "@homebound/truss/runtime";
20808
20862
  import { jsx as jsx159, jsxs as jsxs82 } from "react/jsx-runtime";
20809
20863
  function Card(props) {
20810
20864
  const {
@@ -20835,8 +20889,8 @@ function Card(props) {
20835
20889
  ...isHovered && cardHoverStyles,
20836
20890
  ...isDisabled && disabledStyles3
20837
20891
  }), [isDisabled, isHovered, bordered, type, isList]);
20838
- return /* @__PURE__ */ jsxs82("div", { ...trussProps77(styles), ...hoverProps, ...tid, children: [
20839
- /* @__PURE__ */ jsx159("div", { ...trussProps77({
20892
+ return /* @__PURE__ */ jsxs82("div", { ...trussProps78(styles), ...hoverProps, ...tid, children: [
20893
+ /* @__PURE__ */ jsx159("div", { ...trussProps78({
20840
20894
  ...{
20841
20895
  height: ["h_var", {
20842
20896
  "--height": `${imgHeight}px`
@@ -20853,14 +20907,14 @@ function Card(props) {
20853
20907
  filter: "filter_brightness_1"
20854
20908
  },
20855
20909
  ...isHovered && !isList && imageHoverStyles
20856
- }), children: /* @__PURE__ */ jsx159("img", { ...trussProps77({
20910
+ }), children: /* @__PURE__ */ jsx159("img", { ...trussProps78({
20857
20911
  width: "w100",
20858
20912
  height: "h100",
20859
20913
  objectFit: ["objectFit_var", {
20860
20914
  "--objectFit": maybeCssVar44(imageFit)
20861
20915
  }]
20862
20916
  }), src: imgSrc, alt: title, ...tid.img }) }),
20863
- isHovered && buttonMenuItems && /* @__PURE__ */ jsx159("div", { ...trussProps77({
20917
+ isHovered && buttonMenuItems && /* @__PURE__ */ jsx159("div", { ...trussProps78({
20864
20918
  position: "absolute",
20865
20919
  right: "right1",
20866
20920
  top: "top1",
@@ -20876,7 +20930,7 @@ function Card(props) {
20876
20930
  /* @__PURE__ */ jsxs82("div", { className: "df fdc aifs gap1", children: [
20877
20931
  /* @__PURE__ */ jsxs82("div", { children: [
20878
20932
  /* @__PURE__ */ jsx159("div", { className: "fw6 fz_12px lh_16px gray700", ...tid.subtitle, children: subtitle }),
20879
- /* @__PURE__ */ jsx159("div", { ...trussProps77({
20933
+ /* @__PURE__ */ jsx159("div", { ...trussProps78({
20880
20934
  fontWeight: "fw6",
20881
20935
  fontSize: "fz_14px",
20882
20936
  lineHeight: "lh_20px",
@@ -20952,7 +21006,7 @@ function Copy(props) {
20952
21006
 
20953
21007
  // src/components/DnDGrid/DnDGrid.tsx
20954
21008
  import equal2 from "fast-deep-equal";
20955
- import { useCallback as useCallback27, useRef as useRef53 } from "react";
21009
+ import { useCallback as useCallback28, useRef as useRef53 } from "react";
20956
21010
 
20957
21011
  // src/components/DnDGrid/DnDGridContext.tsx
20958
21012
  import { createContext as createContext10, useContext as useContext20 } from "react";
@@ -20966,7 +21020,7 @@ function useDnDGridContext() {
20966
21020
  }
20967
21021
 
20968
21022
  // src/components/DnDGrid/DnDGrid.tsx
20969
- import { trussProps as trussProps78 } from "@homebound/truss/runtime";
21023
+ import { trussProps as trussProps79 } from "@homebound/truss/runtime";
20970
21024
  import { jsx as jsx161 } from "react/jsx-runtime";
20971
21025
  function DnDGrid(props) {
20972
21026
  const {
@@ -20988,19 +21042,19 @@ function DnDGrid(props) {
20988
21042
  const activeStyles3 = activeItemStyles ?? {
20989
21043
  boxShadow: "bshModal"
20990
21044
  };
20991
- const getGridItems = useCallback27(() => {
21045
+ const getGridItems = useCallback28(() => {
20992
21046
  return gridEl.current ? Array.from(gridEl.current.querySelectorAll(`[${gridItemIdKey}]`)) : [];
20993
21047
  }, []);
20994
- const getGridItemIdOrder = useCallback27(() => {
21048
+ const getGridItemIdOrder = useCallback28(() => {
20995
21049
  return getGridItems().map((child) => child.getAttribute(gridItemIdKey)).filter(isDefined);
20996
21050
  }, [getGridItems]);
20997
- const initReorder = useCallback27(() => {
21051
+ const initReorder = useCallback28(() => {
20998
21052
  if (gridEl.current && dragEl.current) {
20999
21053
  initialOrder.current = getGridItemIdOrder();
21000
21054
  setInlineStyles(dragEl.current, activeStyles3);
21001
21055
  }
21002
21056
  }, [getGridItemIdOrder, activeStyles3]);
21003
- const commitReorder = useCallback27(() => {
21057
+ const commitReorder = useCallback28(() => {
21004
21058
  if (gridEl.current && dragEl.current) {
21005
21059
  const currentOrder = getGridItemIdOrder();
21006
21060
  if (!equal2(currentOrder, initialOrder.current)) onReorder(currentOrder);
@@ -21010,7 +21064,7 @@ function DnDGrid(props) {
21010
21064
  initialOrder.current = currentOrder;
21011
21065
  }
21012
21066
  }, [onReorder, getGridItemIdOrder, activeStyles3]);
21013
- const cancelReorder = useCallback27(() => {
21067
+ const cancelReorder = useCallback28(() => {
21014
21068
  if (gridEl.current && dragEl.current && initialOrder.current) {
21015
21069
  const currentOrder = getGridItemIdOrder();
21016
21070
  if (!equal2(currentOrder, initialOrder.current)) {
@@ -21032,7 +21086,7 @@ function DnDGrid(props) {
21032
21086
  reorderViaKeyboard.current = false;
21033
21087
  }
21034
21088
  }, [getGridItemIdOrder, getGridItems, activeStyles3]);
21035
- const onMove = useCallback27((e) => {
21089
+ const onMove = useCallback28((e) => {
21036
21090
  if (!reorderViaKeyboard.current && dragEl.current && cloneEl.current && gridEl.current) {
21037
21091
  const clientX = "clientX" in e ? e.clientX : e.touches[0].clientX;
21038
21092
  const clientY = "clientY" in e ? e.clientY : e.touches[0].clientY;
@@ -21055,7 +21109,7 @@ function DnDGrid(props) {
21055
21109
  }
21056
21110
  }
21057
21111
  }, []);
21058
- const onDragStart = useCallback27((e) => {
21112
+ const onDragStart = useCallback28((e) => {
21059
21113
  if (!reorderViaKeyboard.current && dragEl.current && gridEl.current) {
21060
21114
  initReorder();
21061
21115
  const rect = dragEl.current.getBoundingClientRect();
@@ -21085,7 +21139,7 @@ function DnDGrid(props) {
21085
21139
  gridEl.current.addEventListener("touchmove", onMove);
21086
21140
  }
21087
21141
  }, [initReorder, onMove, activeStyles3]);
21088
- const onDragEnd = useCallback27((e) => {
21142
+ const onDragEnd = useCallback28((e) => {
21089
21143
  if (!reorderViaKeyboard.current && dragEl.current && cloneEl.current && gridEl.current) {
21090
21144
  e.preventDefault();
21091
21145
  cloneEl.current.replaceWith(dragEl.current);
@@ -21098,7 +21152,7 @@ function DnDGrid(props) {
21098
21152
  gridEl.current.removeEventListener("touchmove", onMove);
21099
21153
  }
21100
21154
  }, [commitReorder, onMove]);
21101
- const onDragHandleKeyDown = useCallback27((e) => {
21155
+ const onDragHandleKeyDown = useCallback28((e) => {
21102
21156
  const moveHandle = e.target;
21103
21157
  if (dragEl.current instanceof HTMLElement && moveHandle instanceof HTMLElement && gridEl.current) {
21104
21158
  const isSpaceKey = e.key === " ";
@@ -21149,7 +21203,7 @@ function DnDGrid(props) {
21149
21203
  return /* @__PURE__ */ jsx161(DnDGridContext.Provider, { value: {
21150
21204
  dragEl,
21151
21205
  onDragHandleKeyDown
21152
- }, children: /* @__PURE__ */ jsx161("div", { ref: gridEl, ...trussProps78({
21206
+ }, children: /* @__PURE__ */ jsx161("div", { ref: gridEl, ...trussProps79({
21153
21207
  ...{
21154
21208
  containerType: "ctis",
21155
21209
  display: "dg"
@@ -21162,7 +21216,7 @@ var gridCloneKey = "dndgrid-clone";
21162
21216
 
21163
21217
  // src/components/DnDGrid/DnDGridItemHandle.tsx
21164
21218
  import { mergeProps as mergeProps24, useFocusRing as useFocusRing13, useHover as useHover17 } from "react-aria";
21165
- import { trussProps as trussProps79 } from "@homebound/truss/runtime";
21219
+ import { trussProps as trussProps80 } from "@homebound/truss/runtime";
21166
21220
  import { jsx as jsx162 } from "react/jsx-runtime";
21167
21221
  function DnDGridItemHandle(props) {
21168
21222
  const {
@@ -21192,7 +21246,7 @@ function DnDGridItemHandle(props) {
21192
21246
  borderRadius: "br4",
21193
21247
  borderWidth: "bw1"
21194
21248
  };
21195
- return /* @__PURE__ */ jsx162("button", { ...trussProps79({
21249
+ return /* @__PURE__ */ jsx162("button", { ...trussProps80({
21196
21250
  ...compact ? iconButtonCompact2 : iconButtonNormal2,
21197
21251
  ...{
21198
21252
  cursor: "cursor_grab",
@@ -21254,7 +21308,7 @@ var gridItemDataAttribute = "data-grid-item-span";
21254
21308
  var ResponsiveGridContext = createContext11(void 0);
21255
21309
 
21256
21310
  // src/components/Grid/ResponsiveGrid.tsx
21257
- import { trussProps as trussProps80 } from "@homebound/truss/runtime";
21311
+ import { trussProps as trussProps81 } from "@homebound/truss/runtime";
21258
21312
  import { jsx as jsx163 } from "react/jsx-runtime";
21259
21313
  function ResponsiveGrid(props) {
21260
21314
  const {
@@ -21275,12 +21329,12 @@ function ResponsiveGrid(props) {
21275
21329
  gap,
21276
21330
  columns
21277
21331
  }), [minColumnWidth, gap, columns]);
21278
- return /* @__PURE__ */ jsx163(ResponsiveGridContext.Provider, { value: config, children: /* @__PURE__ */ jsx163("div", { ...trussProps80(gridStyles), children }) });
21332
+ return /* @__PURE__ */ jsx163(ResponsiveGridContext.Provider, { value: config, children: /* @__PURE__ */ jsx163("div", { ...trussProps81(gridStyles), children }) });
21279
21333
  }
21280
21334
 
21281
21335
  // src/components/Grid/ResponsiveGridItem.tsx
21282
21336
  import { mergeProps as mergeProps25 } from "react-aria";
21283
- import { trussProps as trussProps81 } from "@homebound/truss/runtime";
21337
+ import { trussProps as trussProps82 } from "@homebound/truss/runtime";
21284
21338
  import { jsx as jsx164 } from "react/jsx-runtime";
21285
21339
  function ResponsiveGridItem(props) {
21286
21340
  const {
@@ -21293,7 +21347,7 @@ function ResponsiveGridItem(props) {
21293
21347
  } = useResponsiveGridItem({
21294
21348
  colSpan
21295
21349
  });
21296
- return /* @__PURE__ */ jsx164("div", { ...mergeProps25(gridItemProps, trussProps81(gridItemStyles)), children });
21350
+ return /* @__PURE__ */ jsx164("div", { ...mergeProps25(gridItemProps, trussProps82(gridItemStyles)), children });
21297
21351
  }
21298
21352
 
21299
21353
  // src/components/Grid/useResponsiveGrid.ts
@@ -21444,7 +21498,7 @@ function HbSpinnerProvider({
21444
21498
  }
21445
21499
 
21446
21500
  // src/components/HomeboundLogo.tsx
21447
- import { trussProps as trussProps82, maybeCssVar as maybeCssVar46 } from "@homebound/truss/runtime";
21501
+ import { trussProps as trussProps83, maybeCssVar as maybeCssVar46 } from "@homebound/truss/runtime";
21448
21502
  import { jsx as jsx166 } from "react/jsx-runtime";
21449
21503
  var __maybeInc17 = (inc) => {
21450
21504
  return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
@@ -21455,7 +21509,7 @@ function HomeboundLogo(props) {
21455
21509
  width: width2 = "auto",
21456
21510
  height = "auto"
21457
21511
  } = props;
21458
- return /* @__PURE__ */ jsx166("svg", { viewBox: "0 0 158.1 97.6", xmlns: "http://www.w3.org/2000/svg", ...trussProps82({
21512
+ return /* @__PURE__ */ jsx166("svg", { viewBox: "0 0 158.1 97.6", xmlns: "http://www.w3.org/2000/svg", ...trussProps83({
21459
21513
  fill: ["fill_var", {
21460
21514
  "--fill": maybeCssVar46(fill)
21461
21515
  }],
@@ -21470,16 +21524,16 @@ function HomeboundLogo(props) {
21470
21524
 
21471
21525
  // src/components/MaxLines.tsx
21472
21526
  import { useLayoutEffect as useLayoutEffect5, useResizeObserver as useResizeObserver7 } from "@react-aria/utils";
21473
- import { useCallback as useCallback28, useEffect as useEffect32, useRef as useRef54, useState as useState48 } from "react";
21474
- import { trussProps as trussProps83, maybeCssVar as maybeCssVar47 } from "@homebound/truss/runtime";
21527
+ import { useCallback as useCallback29, useEffect as useEffect32, useRef as useRef54, useState as useState49 } from "react";
21528
+ import { trussProps as trussProps84, maybeCssVar as maybeCssVar47 } from "@homebound/truss/runtime";
21475
21529
  import { jsx as jsx167, jsxs as jsxs84 } from "react/jsx-runtime";
21476
21530
  function MaxLines({
21477
21531
  maxLines,
21478
21532
  children
21479
21533
  }) {
21480
21534
  const elRef = useRef54(null);
21481
- const [hasMore, setHasMore] = useState48(false);
21482
- const [expanded, setExpanded] = useState48(false);
21535
+ const [hasMore, setHasMore] = useState49(false);
21536
+ const [expanded, setExpanded] = useState49(false);
21483
21537
  useLayoutEffect5(() => {
21484
21538
  if (!elRef.current) return;
21485
21539
  setHasMore(elRef.current.scrollHeight > elRef.current.clientHeight);
@@ -21487,7 +21541,7 @@ function MaxLines({
21487
21541
  useEffect32(() => {
21488
21542
  setExpanded(false);
21489
21543
  }, [children]);
21490
- const onResize = useCallback28(() => {
21544
+ const onResize = useCallback29(() => {
21491
21545
  if (!elRef.current) return;
21492
21546
  !expanded && setHasMore(elRef.current.scrollHeight > elRef.current.clientHeight);
21493
21547
  }, [expanded]);
@@ -21496,7 +21550,7 @@ function MaxLines({
21496
21550
  onResize
21497
21551
  });
21498
21552
  return /* @__PURE__ */ jsxs84("div", { children: [
21499
- /* @__PURE__ */ jsx167("div", { ref: elRef, ...trussProps83({
21553
+ /* @__PURE__ */ jsx167("div", { ref: elRef, ...trussProps84({
21500
21554
  ...!expanded ? {
21501
21555
  WebkitLineClamp: ["lineClamp_var", {
21502
21556
  "--WebkitLineClamp": maybeCssVar47(maxLines)
@@ -21517,12 +21571,12 @@ import { camelCase as camelCase6 } from "change-case";
21517
21571
  // src/components/AppNav/AppNavGroup.tsx
21518
21572
  import { useResizeObserver as useResizeObserver8 } from "@react-aria/utils";
21519
21573
  import { camelCase as camelCase5, kebabCase } from "change-case";
21520
- import { useCallback as useCallback30, useEffect as useEffect33, useMemo as useMemo48, useState as useState50 } from "react";
21574
+ import { useCallback as useCallback31, useEffect as useEffect33, useMemo as useMemo48, useState as useState51 } from "react";
21521
21575
 
21522
21576
  // src/components/AppNav/AppNavGroupTrigger.tsx
21523
21577
  import { useMemo as useMemo47, useRef as useRef55 } from "react";
21524
21578
  import { mergeProps as mergeProps26, useButton as useButton11, useFocusRing as useFocusRing14, useHover as useHover18 } from "react-aria";
21525
- import { trussProps as trussProps84, mergeProps as mergeProps_14 } from "@homebound/truss/runtime";
21579
+ import { trussProps as trussProps85, mergeProps as mergeProps_14 } from "@homebound/truss/runtime";
21526
21580
  import { jsx as jsx168, jsxs as jsxs85 } from "react/jsx-runtime";
21527
21581
  function AppNavGroupTrigger(props) {
21528
21582
  const {
@@ -21566,7 +21620,7 @@ function AppNavGroupTrigger(props) {
21566
21620
  })
21567
21621
  }), children: [
21568
21622
  label,
21569
- /* @__PURE__ */ jsx168("span", { ...trussProps84({
21623
+ /* @__PURE__ */ jsx168("span", { ...trussProps85({
21570
21624
  ...{
21571
21625
  display: "df",
21572
21626
  alignItems: "aic",
@@ -21685,7 +21739,7 @@ function entryHasIcons(item) {
21685
21739
  }
21686
21740
 
21687
21741
  // src/components/AppNav/useAppNavGroupExpanded.ts
21688
- import { useCallback as useCallback29, useState as useState49 } from "react";
21742
+ import { useCallback as useCallback30, useState as useState50 } from "react";
21689
21743
  var APP_NAV_EXPANDED_LINK_GROUPS_STORAGE_KEY = "beam.appNav.expandedLinkGroups";
21690
21744
  function loadStored() {
21691
21745
  try {
@@ -21704,13 +21758,13 @@ function persistLabel(label, expanded) {
21704
21758
  }
21705
21759
  function useAppNavGroupExpanded(linkGroup) {
21706
21760
  const { label } = linkGroup;
21707
- const [userExpanded, setUserExpanded] = useState49(() => {
21761
+ const [userExpanded, setUserExpanded] = useState50(() => {
21708
21762
  const stored = loadStored();
21709
21763
  return label in stored ? stored[label] : null;
21710
21764
  });
21711
21765
  const hasActiveLink = appNavLinkGroupLinks(linkGroup).some((l) => l.active);
21712
21766
  const expanded = userExpanded !== null ? userExpanded : hasActiveLink ? true : linkGroup.defaultExpanded ?? false;
21713
- const onToggle = useCallback29(() => {
21767
+ const onToggle = useCallback30(() => {
21714
21768
  const next = !expanded;
21715
21769
  setUserExpanded(next);
21716
21770
  persistLabel(label, next);
@@ -21719,7 +21773,7 @@ function useAppNavGroupExpanded(linkGroup) {
21719
21773
  }
21720
21774
 
21721
21775
  // src/components/AppNav/AppNavGroup.tsx
21722
- import { trussProps as trussProps85, maybeCssVar as maybeCssVar48 } from "@homebound/truss/runtime";
21776
+ import { trussProps as trussProps86, maybeCssVar as maybeCssVar48 } from "@homebound/truss/runtime";
21723
21777
  import { Fragment as Fragment39, jsx as jsx169, jsxs as jsxs86 } from "react/jsx-runtime";
21724
21778
  var __maybeInc18 = (inc) => {
21725
21779
  return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
@@ -21745,15 +21799,15 @@ function AppNavGroupDisclosure(props) {
21745
21799
  } = useAppNavGroupExpanded(linkGroup);
21746
21800
  const tid = useTestIds(props, "linkGroup");
21747
21801
  const navGroupId = `nav-group-${kebabCase(linkGroup.label)}`;
21748
- const [contentEl, setContentEl] = useState50(null);
21802
+ const [contentEl, setContentEl] = useState51(null);
21749
21803
  const contentRef = useMemo48(() => ({
21750
21804
  current: contentEl
21751
21805
  }), [contentEl]);
21752
- const [contentHeight, setContentHeight] = useState50(expanded ? "auto" : "0");
21806
+ const [contentHeight, setContentHeight] = useState51(expanded ? "auto" : "0");
21753
21807
  useEffect33(() => {
21754
21808
  setContentHeight(expanded && contentEl ? `${contentEl.scrollHeight}px` : "0");
21755
21809
  }, [expanded, contentEl]);
21756
- const onResize = useCallback30(() => {
21810
+ const onResize = useCallback31(() => {
21757
21811
  if (contentEl && expanded) {
21758
21812
  setContentHeight(`${contentEl.scrollHeight}px`);
21759
21813
  }
@@ -21764,7 +21818,7 @@ function AppNavGroupDisclosure(props) {
21764
21818
  });
21765
21819
  return /* @__PURE__ */ jsxs86("div", { className: "df fdc", ...tid, children: [
21766
21820
  /* @__PURE__ */ jsx169(AppNavGroupTrigger, { label: linkGroup.label, navGroupId, expanded, onClick: onToggle, ...tid }),
21767
- /* @__PURE__ */ jsx169("div", { id: navGroupId, role: "region", "aria-hidden": !expanded, ...trussProps85({
21821
+ /* @__PURE__ */ jsx169("div", { id: navGroupId, role: "region", "aria-hidden": !expanded, ...trussProps86({
21768
21822
  overflow: "oh",
21769
21823
  transition: "transitionHeight",
21770
21824
  height: ["h_var", {
@@ -21796,7 +21850,7 @@ function AppNavGroupMenu({
21796
21850
  }
21797
21851
 
21798
21852
  // src/components/AppNav/AppNavSectionView.tsx
21799
- import { trussProps as trussProps86 } from "@homebound/truss/runtime";
21853
+ import { trussProps as trussProps87 } from "@homebound/truss/runtime";
21800
21854
  import { jsx as jsx171, jsxs as jsxs87 } from "react/jsx-runtime";
21801
21855
  function AppNavSectionView(props) {
21802
21856
  const {
@@ -21822,7 +21876,7 @@ function AppNavSectionView(props) {
21822
21876
  "--borderColor": "var(--b-surface-separator)"
21823
21877
  }]
21824
21878
  };
21825
- return /* @__PURE__ */ jsxs87("div", { ...trussProps86({
21879
+ return /* @__PURE__ */ jsxs87("div", { ...trussProps87({
21826
21880
  ...{
21827
21881
  display: "df",
21828
21882
  flexDirection: "fdc",
@@ -21830,7 +21884,7 @@ function AppNavSectionView(props) {
21830
21884
  },
21831
21885
  ...showDivider ? dividerStyles : {}
21832
21886
  }), ...tid, children: [
21833
- section.label && !panelCollapsed && variant !== "global" && /* @__PURE__ */ jsx171("div", { ...trussProps86({
21887
+ section.label && !panelCollapsed && variant !== "global" && /* @__PURE__ */ jsx171("div", { ...trussProps87({
21834
21888
  fontWeight: "fw6",
21835
21889
  fontSize: "fz_10px",
21836
21890
  lineHeight: "lh_14px",
@@ -21894,18 +21948,18 @@ function AppNavItems(props) {
21894
21948
 
21895
21949
  // src/components/Navbar/NavbarMobileMenu.tsx
21896
21950
  import { AnimatePresence as AnimatePresence5, motion as motion5 } from "framer-motion";
21897
- import { useEffect as useEffect34, useState as useState51 } from "react";
21951
+ import { useEffect as useEffect34, useState as useState52 } from "react";
21898
21952
  import { FocusScope as FocusScope5, usePreventScroll as usePreventScroll2 } from "react-aria";
21899
21953
  import { createPortal as createPortal6 } from "react-dom";
21900
21954
  import { useLocation } from "react-router-dom";
21901
- import { trussProps as trussProps87, maybeCssVar as maybeCssVar49 } from "@homebound/truss/runtime";
21955
+ import { trussProps as trussProps88, maybeCssVar as maybeCssVar49 } from "@homebound/truss/runtime";
21902
21956
  import { Fragment as Fragment41, jsx as jsx173, jsxs as jsxs88 } from "react/jsx-runtime";
21903
21957
  function NavbarMobileMenu(props) {
21904
21958
  const {
21905
21959
  items
21906
21960
  } = props;
21907
21961
  const tid = useTestIds(props, "navbar");
21908
- const [isOpen, setIsOpen] = useState51(false);
21962
+ const [isOpen, setIsOpen] = useState52(false);
21909
21963
  const {
21910
21964
  pathname,
21911
21965
  search
@@ -21928,7 +21982,7 @@ function NavbarMobileDrawer({
21928
21982
  tid
21929
21983
  }) {
21930
21984
  return /* @__PURE__ */ jsxs88(Fragment41, { children: [
21931
- /* @__PURE__ */ jsx173(motion5.div, { ...trussProps87({
21985
+ /* @__PURE__ */ jsx173(motion5.div, { ...trussProps88({
21932
21986
  position: "fixed",
21933
21987
  top: "top0",
21934
21988
  right: "right0",
@@ -21948,7 +22002,7 @@ function NavbarMobileDrawer({
21948
22002
  ease: "linear",
21949
22003
  duration: 0.2
21950
22004
  }, onClick: onClose, ...tid.mobileMenuScrim }, "navbarMobileMenuScrim"),
21951
- /* @__PURE__ */ jsx173(FocusScope5, { autoFocus: true, contain: true, restoreFocus: true, children: /* @__PURE__ */ jsxs88(motion5.aside, { role: "dialog", "aria-modal": "true", "aria-label": "Navigation", ...trussProps87({
22005
+ /* @__PURE__ */ jsx173(FocusScope5, { autoFocus: true, contain: true, restoreFocus: true, children: /* @__PURE__ */ jsxs88(motion5.aside, { role: "dialog", "aria-modal": "true", "aria-label": "Navigation", ...trussProps88({
21952
22006
  position: "fixed",
21953
22007
  top: "top0",
21954
22008
  bottom: "bottom0",
@@ -21993,7 +22047,7 @@ function NavbarMobileDrawer({
21993
22047
  }
21994
22048
 
21995
22049
  // src/components/Navbar/Navbar.tsx
21996
- import { trussProps as trussProps88 } from "@homebound/truss/runtime";
22050
+ import { trussProps as trussProps89 } from "@homebound/truss/runtime";
21997
22051
  import { jsx as jsx174, jsxs as jsxs89 } from "react/jsx-runtime";
21998
22052
  function Navbar(props) {
21999
22053
  const {
@@ -22013,7 +22067,7 @@ function Navbar(props) {
22013
22067
  overflows
22014
22068
  } = useContentOverflow(!sm);
22015
22069
  const showMobile = sm || overflows;
22016
- return /* @__PURE__ */ jsx174(ContrastScope, { children: /* @__PURE__ */ jsxs89("nav", { ...trussProps88({
22070
+ return /* @__PURE__ */ jsx174(ContrastScope, { children: /* @__PURE__ */ jsxs89("nav", { ...trussProps89({
22017
22071
  backgroundColor: "bgGray800",
22018
22072
  flexShrink: "fs0",
22019
22073
  display: "df",
@@ -22033,7 +22087,7 @@ function Navbar(props) {
22033
22087
  /* @__PURE__ */ jsxs89("div", { className: "df aic gap3 fg1 mw0", children: [
22034
22088
  /* @__PURE__ */ jsxs89("div", { className: "df aic fs0 gap2", children: [
22035
22089
  showMobile && /* @__PURE__ */ jsx174(NavbarMobileMenu, { items, ...tid }),
22036
- /* @__PURE__ */ jsx174("div", { ...trussProps88({
22090
+ /* @__PURE__ */ jsx174("div", { ...trussProps89({
22037
22091
  flexShrink: "fs0",
22038
22092
  ...hideBrandOnMobile && showMobile ? {
22039
22093
  display: "dn"
@@ -22042,7 +22096,7 @@ function Navbar(props) {
22042
22096
  ] }),
22043
22097
  !sm && // Stays mounted while overflowing (hidden) so the items remain measurable and the bar
22044
22098
  // can expand again as space frees up.
22045
- /* @__PURE__ */ jsx174("div", { ref: containerRef, ...trussProps88({
22099
+ /* @__PURE__ */ jsx174("div", { ref: containerRef, ...trussProps89({
22046
22100
  display: "df",
22047
22101
  alignItems: "aic",
22048
22102
  flexGrow: "fg1",
@@ -22073,11 +22127,11 @@ function NavbarUserMenu({
22073
22127
 
22074
22128
  // src/components/Tabs.tsx
22075
22129
  import { camelCase as camelCase7 } from "change-case";
22076
- import { useEffect as useEffect35, useMemo as useMemo49, useRef as useRef56, useState as useState52 } from "react";
22130
+ import { useEffect as useEffect35, useMemo as useMemo49, useRef as useRef56, useState as useState53 } from "react";
22077
22131
  import { mergeProps as mergeProps27, useFocusRing as useFocusRing15, useHover as useHover19 } from "react-aria";
22078
22132
  import { matchPath } from "react-router";
22079
22133
  import { Link as Link5, useLocation as useLocation2 } from "react-router-dom";
22080
- import { trussProps as trussProps89, maybeCssVar as maybeCssVar50 } from "@homebound/truss/runtime";
22134
+ import { trussProps as trussProps90, maybeCssVar as maybeCssVar50 } from "@homebound/truss/runtime";
22081
22135
  import { Fragment as Fragment42, jsx as jsx175, jsxs as jsxs90 } from "react/jsx-runtime";
22082
22136
  function TabsWithContent(props) {
22083
22137
  const styles = hideTabs(props) ? {} : {
@@ -22110,7 +22164,7 @@ function TabContent(props) {
22110
22164
  return (
22111
22165
  // Using FullBleed to allow the tab's bgColor to extend to the edges of the <ScrollableContent /> element.
22112
22166
  // Omit the padding from `FullBleed` if the caller passes in the `paddingLeft/Right` styles.
22113
- /* @__PURE__ */ jsx175(FullBleed, { omitPadding: omitFullBleedPadding, children: /* @__PURE__ */ jsx175("div", { "aria-labelledby": `${uniqueValue}-tab`, id: `${uniqueValue}-tabPanel`, role: "tabpanel", tabIndex: 0, ...tid.panel, ...trussProps89(contentXss), children: selectedTab.render() }) })
22167
+ /* @__PURE__ */ jsx175(FullBleed, { omitPadding: omitFullBleedPadding, children: /* @__PURE__ */ jsx175("div", { "aria-labelledby": `${uniqueValue}-tab`, id: `${uniqueValue}-tabPanel`, role: "tabpanel", tabIndex: 0, ...tid.panel, ...trussProps90(contentXss), children: selectedTab.render() }) })
22114
22168
  );
22115
22169
  }
22116
22170
  function Tabs(props) {
@@ -22134,7 +22188,7 @@ function Tabs(props) {
22134
22188
  focusProps
22135
22189
  } = useFocusRing15();
22136
22190
  const tid = useTestIds(others, "tabs");
22137
- const [active, setActive] = useState52(selected);
22191
+ const [active, setActive] = useState53(selected);
22138
22192
  const ref = useRef56(null);
22139
22193
  useEffect35(() => setActive(selected), [selected]);
22140
22194
  function onKeyUp(e) {
@@ -22152,7 +22206,7 @@ function Tabs(props) {
22152
22206
  setActive(selected);
22153
22207
  }
22154
22208
  }
22155
- return /* @__PURE__ */ jsxs90("div", { ...trussProps89({
22209
+ return /* @__PURE__ */ jsxs90("div", { ...trussProps90({
22156
22210
  ...{
22157
22211
  display: "df",
22158
22212
  alignItems: "aic",
@@ -22216,7 +22270,7 @@ function TabImpl(props) {
22216
22270
  role: "tab",
22217
22271
  tabIndex: active ? 0 : -1,
22218
22272
  ...others,
22219
- ...trussProps89({
22273
+ ...trussProps90({
22220
22274
  ...baseStyles5,
22221
22275
  ...active && activeStyles3,
22222
22276
  ...isDisabled && disabledStyles4,
@@ -22337,7 +22391,7 @@ function hideTabs(props) {
22337
22391
  }
22338
22392
 
22339
22393
  // src/components/PageHeader.tsx
22340
- import { trussProps as trussProps90 } from "@homebound/truss/runtime";
22394
+ import { trussProps as trussProps91 } from "@homebound/truss/runtime";
22341
22395
  import { jsx as jsx176, jsxs as jsxs91 } from "react/jsx-runtime";
22342
22396
  function PageHeader2(props) {
22343
22397
  const {
@@ -22347,7 +22401,7 @@ function PageHeader2(props) {
22347
22401
  ...otherProps
22348
22402
  } = props;
22349
22403
  const tid = useTestIds(otherProps, "pageHeader");
22350
- return /* @__PURE__ */ jsxs91("header", { ...tid, ...trussProps90({
22404
+ return /* @__PURE__ */ jsxs91("header", { ...tid, ...trussProps91({
22351
22405
  display: "df",
22352
22406
  flexDirection: "fdc",
22353
22407
  paddingTop: "pt3",
@@ -22372,8 +22426,8 @@ function PageHeader2(props) {
22372
22426
 
22373
22427
  // src/components/ScrollShadows.tsx
22374
22428
  import { useResizeObserver as useResizeObserver9 } from "@react-aria/utils";
22375
- import { useCallback as useCallback31, useMemo as useMemo50, useRef as useRef57, useState as useState53 } from "react";
22376
- import { trussProps as trussProps91, maybeCssVar as maybeCssVar51 } from "@homebound/truss/runtime";
22429
+ import { useCallback as useCallback32, useMemo as useMemo50, useRef as useRef57, useState as useState54 } from "react";
22430
+ import { trussProps as trussProps92, maybeCssVar as maybeCssVar51 } from "@homebound/truss/runtime";
22377
22431
  import { jsx as jsx177, jsxs as jsxs92 } from "react/jsx-runtime";
22378
22432
  function ScrollShadows(props) {
22379
22433
  const {
@@ -22390,8 +22444,8 @@ function ScrollShadows(props) {
22390
22444
  if (!bgColor.includes("rgba")) {
22391
22445
  throw new Error("ScrollShadows: bgColor prop must be in the format 'rgba(255, 255, 255, 1)'");
22392
22446
  }
22393
- const [showStartShadow, setShowStartShadow] = useState53(false);
22394
- const [showEndShadow, setShowEndShadow] = useState53(false);
22447
+ const [showStartShadow, setShowStartShadow] = useState54(false);
22448
+ const [showEndShadow, setShowEndShadow] = useState54(false);
22395
22449
  const scrollRef = useRef57(null);
22396
22450
  const [startShadowStyles, endShadowStyles] = useMemo50(() => {
22397
22451
  const transparentBgColor = bgColor.replace(/,1\)$/, ",0)");
@@ -22444,7 +22498,7 @@ function ScrollShadows(props) {
22444
22498
  }
22445
22499
  }];
22446
22500
  }, [horizontal, bgColor]);
22447
- const updateScrollProps = useCallback31((el) => {
22501
+ const updateScrollProps = useCallback32((el) => {
22448
22502
  const {
22449
22503
  scrollTop,
22450
22504
  scrollHeight,
@@ -22459,12 +22513,12 @@ function ScrollShadows(props) {
22459
22513
  setShowStartShadow(start > 0);
22460
22514
  setShowEndShadow(start + boxSize < end);
22461
22515
  }, [horizontal]);
22462
- const onResize = useCallback31(() => scrollRef.current && updateScrollProps(scrollRef.current), [updateScrollProps]);
22516
+ const onResize = useCallback32(() => scrollRef.current && updateScrollProps(scrollRef.current), [updateScrollProps]);
22463
22517
  useResizeObserver9({
22464
22518
  ref: scrollRef,
22465
22519
  onResize
22466
22520
  });
22467
- return /* @__PURE__ */ jsxs92("div", { ...trussProps91({
22521
+ return /* @__PURE__ */ jsxs92("div", { ...trussProps92({
22468
22522
  display: "df",
22469
22523
  flexDirection: ["fd_var", {
22470
22524
  "--flexDirection": maybeCssVar51(!horizontal ? "column" : "row")
@@ -22480,7 +22534,7 @@ function ScrollShadows(props) {
22480
22534
  width: width2
22481
22535
  }
22482
22536
  }), ...tid, children: [
22483
- /* @__PURE__ */ jsx177("div", { ...trussProps91({
22537
+ /* @__PURE__ */ jsx177("div", { ...trussProps92({
22484
22538
  ...startShadowStyles,
22485
22539
  ...{
22486
22540
  opacity: ["o_var", {
@@ -22488,7 +22542,7 @@ function ScrollShadows(props) {
22488
22542
  }]
22489
22543
  }
22490
22544
  }), "data-chromatic": "ignore" }),
22491
- /* @__PURE__ */ jsx177("div", { ...trussProps91({
22545
+ /* @__PURE__ */ jsx177("div", { ...trussProps92({
22492
22546
  ...endShadowStyles,
22493
22547
  ...{
22494
22548
  opacity: ["o_var", {
@@ -22496,7 +22550,7 @@ function ScrollShadows(props) {
22496
22550
  }]
22497
22551
  }
22498
22552
  }), "data-chromatic": "ignore" }),
22499
- /* @__PURE__ */ jsx177("div", { ...trussProps91({
22553
+ /* @__PURE__ */ jsx177("div", { ...trussProps92({
22500
22554
  ...xss,
22501
22555
  ...{
22502
22556
  overflow: "oa",
@@ -22510,12 +22564,12 @@ function ScrollShadows(props) {
22510
22564
  // src/layouts/SideNavLayout/SideNavLayoutContext.tsx
22511
22565
  import {
22512
22566
  createContext as createContext12,
22513
- useCallback as useCallback32,
22567
+ useCallback as useCallback33,
22514
22568
  useContext as useContext23,
22515
22569
  useEffect as useEffect36,
22516
22570
  useMemo as useMemo51,
22517
22571
  useRef as useRef58,
22518
- useState as useState54
22572
+ useState as useState55
22519
22573
  } from "react";
22520
22574
  import { jsx as jsx178 } from "react/jsx-runtime";
22521
22575
  var SIDE_NAV_LAYOUT_STATE_STORAGE_KEY = "beam.sideNavLayout.navState";
@@ -22541,7 +22595,7 @@ function resolveInitialNavState(defaultNavState) {
22541
22595
  }
22542
22596
  var SideNavLayoutContext = createContext12(void 0);
22543
22597
  function SideNavLayoutProvider(props) {
22544
- const [navState, setNavStateInternal] = useState54(
22598
+ const [navState, setNavStateInternal] = useState55(
22545
22599
  () => resolveInitialNavState(props.defaultNavState)
22546
22600
  );
22547
22601
  const bp = useBreakpoint();
@@ -22552,7 +22606,7 @@ function SideNavLayoutProvider(props) {
22552
22606
  }
22553
22607
  prevMdAndUp.current = bp.mdAndUp;
22554
22608
  }, [bp.mdAndUp]);
22555
- const setNavState = useCallback32((value2) => {
22609
+ const setNavState = useCallback33((value2) => {
22556
22610
  setNavStateInternal((prev) => {
22557
22611
  const next = typeof value2 === "function" ? value2(prev) : value2;
22558
22612
  if (next === "expanded" || next === "collapse") {
@@ -22576,7 +22630,7 @@ function useHasSideNavLayoutProvider() {
22576
22630
  }
22577
22631
 
22578
22632
  // src/components/SideNav/SideNav.tsx
22579
- import { trussProps as trussProps92 } from "@homebound/truss/runtime";
22633
+ import { trussProps as trussProps93 } from "@homebound/truss/runtime";
22580
22634
  import { jsx as jsx179, jsxs as jsxs93 } from "react/jsx-runtime";
22581
22635
  function SideNav(props) {
22582
22636
  const {
@@ -22591,7 +22645,7 @@ function SideNav(props) {
22591
22645
  const panelCollapsed = navState === "collapse";
22592
22646
  const hideOnCollapse = panelCollapsed && !allItemsHaveIcons(items);
22593
22647
  return /* @__PURE__ */ jsxs93("nav", { className: "df fdc h100 fs0", ...tid, children: [
22594
- top !== void 0 && /* @__PURE__ */ jsx179("div", { ...trussProps92({
22648
+ top !== void 0 && /* @__PURE__ */ jsx179("div", { ...trussProps93({
22595
22649
  flexShrink: "fs0",
22596
22650
  paddingLeft: "pl2",
22597
22651
  paddingRight: "pr2",
@@ -22602,7 +22656,7 @@ function SideNav(props) {
22602
22656
  paddingBottom: "pb4"
22603
22657
  } : {}
22604
22658
  }), ...tid.top, children: top }),
22605
- /* @__PURE__ */ jsx179("div", { ...trussProps92({
22659
+ /* @__PURE__ */ jsx179("div", { ...trussProps93({
22606
22660
  flexGrow: "fg1",
22607
22661
  overflowY: "oya",
22608
22662
  display: "df",
@@ -22615,7 +22669,7 @@ function SideNav(props) {
22615
22669
  paddingTop: "pt5"
22616
22670
  } : {}
22617
22671
  }), ...tid.items, children: !hideOnCollapse && /* @__PURE__ */ jsx179(AppNavItems, { items, panelCollapsed }) }),
22618
- footer !== void 0 && /* @__PURE__ */ jsx179("div", { ...trussProps92({
22672
+ footer !== void 0 && /* @__PURE__ */ jsx179("div", { ...trussProps93({
22619
22673
  flexShrink: "fs0",
22620
22674
  paddingLeft: "pl2",
22621
22675
  paddingRight: "pr2",
@@ -22631,10 +22685,10 @@ function SideNav(props) {
22631
22685
  }
22632
22686
 
22633
22687
  // src/components/Snackbar/useSnackbar.tsx
22634
- import { useCallback as useCallback33, useEffect as useEffect37 } from "react";
22688
+ import { useCallback as useCallback34, useEffect as useEffect37 } from "react";
22635
22689
  function useSnackbar() {
22636
22690
  const { setNotices, setOffset } = useSnackbarContext();
22637
- const onClose = useCallback33(
22691
+ const onClose = useCallback34(
22638
22692
  (noticeId) => {
22639
22693
  setNotices((prev) => {
22640
22694
  let returnValue = prev;
@@ -22651,7 +22705,7 @@ function useSnackbar() {
22651
22705
  // eslint-disable-next-line react-hooks/exhaustive-deps
22652
22706
  []
22653
22707
  );
22654
- const triggerNotice = useCallback33(
22708
+ const triggerNotice = useCallback34(
22655
22709
  (props) => {
22656
22710
  const noticeId = props.id ?? `beamSnackbar:${snackbarId++}`;
22657
22711
  let maybeTimeout;
@@ -22680,7 +22734,7 @@ function useSnackbar() {
22680
22734
  },
22681
22735
  [onClose, setNotices]
22682
22736
  );
22683
- const closeNotice = useCallback33((id) => onClose(id), [onClose]);
22737
+ const closeNotice = useCallback34((id) => onClose(id), [onClose]);
22684
22738
  const useSnackbarOffset = ({ bottom }) => useEffect37(() => {
22685
22739
  setOffset({ bottom });
22686
22740
  return () => setOffset({});
@@ -22692,7 +22746,7 @@ var snackbarId = 1;
22692
22746
  // src/components/Stepper.tsx
22693
22747
  import { useRef as useRef59 } from "react";
22694
22748
  import { useButton as useButton12, useFocusRing as useFocusRing16, useHover as useHover20 } from "react-aria";
22695
- import { trussProps as trussProps93, maybeCssVar as maybeCssVar52 } from "@homebound/truss/runtime";
22749
+ import { trussProps as trussProps94, maybeCssVar as maybeCssVar52 } from "@homebound/truss/runtime";
22696
22750
  import { jsx as jsx180, jsxs as jsxs94 } from "react/jsx-runtime";
22697
22751
  import { createElement as createElement4 } from "react";
22698
22752
  var __maybeInc19 = (inc) => {
@@ -22713,7 +22767,7 @@ function Stepper(props) {
22713
22767
  const minStepWidth = 100;
22714
22768
  const gap = 8;
22715
22769
  return /* @__PURE__ */ jsxs94("nav", { "aria-label": "steps", className: "df fdc w100", ...tid, children: [
22716
- /* @__PURE__ */ jsx180("ol", { ...trussProps93({
22770
+ /* @__PURE__ */ jsx180("ol", { ...trussProps94({
22717
22771
  padding: "p_0",
22718
22772
  margin: "m_0",
22719
22773
  listStyle: "lis_none",
@@ -22723,7 +22777,7 @@ function Stepper(props) {
22723
22777
  }]
22724
22778
  }), children: steps.map((step) => {
22725
22779
  const isCurrent = currentStep === step.value;
22726
- return /* @__PURE__ */ createElement4("li", { ...trussProps93({
22780
+ return /* @__PURE__ */ createElement4("li", { ...trussProps94({
22727
22781
  display: "df",
22728
22782
  flexGrow: "fg1",
22729
22783
  flexDirection: "fdc",
@@ -22735,7 +22789,7 @@ function Stepper(props) {
22735
22789
  }]
22736
22790
  }), key: step.label, "aria-current": isCurrent, ...tid.step }, /* @__PURE__ */ jsx180(StepButton, { ...step, onClick: () => onChange(step.value), isCurrent, ...tid.stepButton }));
22737
22791
  }) }),
22738
- /* @__PURE__ */ jsx180("div", { ...trussProps93({
22792
+ /* @__PURE__ */ jsx180("div", { ...trussProps94({
22739
22793
  marginTop: "mt1",
22740
22794
  backgroundColor: "bgGray300",
22741
22795
  height: "h_4px",
@@ -22746,7 +22800,7 @@ function Stepper(props) {
22746
22800
  "--minWidth": `${steps.length * minStepWidth + (steps.length - 1) * gap}px`
22747
22801
  }],
22748
22802
  width: "w100"
22749
- }), children: /* @__PURE__ */ jsx180("div", { ...trussProps93({
22803
+ }), children: /* @__PURE__ */ jsx180("div", { ...trussProps94({
22750
22804
  backgroundColor: "bgBlue600",
22751
22805
  transition: "transition_width_200ms",
22752
22806
  height: "h100",
@@ -22787,7 +22841,7 @@ function StepButton(props) {
22787
22841
  boxShadow: "bshFocus"
22788
22842
  };
22789
22843
  const tid = useTestIds(props, "stepButton");
22790
- return /* @__PURE__ */ jsxs94("button", { ref, ...buttonProps, ...focusProps, ...hoverProps, ...trussProps93({
22844
+ return /* @__PURE__ */ jsxs94("button", { ref, ...buttonProps, ...focusProps, ...hoverProps, ...trussProps94({
22791
22845
  ...{
22792
22846
  fontWeight: "fw6",
22793
22847
  fontSize: "fz_14px",
@@ -22855,7 +22909,7 @@ function StepIcon({
22855
22909
  if (state === "complete") {
22856
22910
  return /* @__PURE__ */ jsx180(Icon, { icon: "check" });
22857
22911
  }
22858
- return /* @__PURE__ */ jsx180("div", { className: "w_24px h_24px df aic jcc", children: /* @__PURE__ */ jsx180("div", { ...trussProps93({
22912
+ return /* @__PURE__ */ jsx180("div", { className: "w_24px h_24px df aic jcc", children: /* @__PURE__ */ jsx180("div", { ...trussProps94({
22859
22913
  width: "w_10px",
22860
22914
  height: "h_10px",
22861
22915
  borderStyle: "bss",
@@ -22870,7 +22924,7 @@ function StepIcon({
22870
22924
 
22871
22925
  // src/components/SuperDrawer/components/SuperDrawerHeader.tsx
22872
22926
  import { createPortal as createPortal7 } from "react-dom";
22873
- import { trussProps as trussProps94 } from "@homebound/truss/runtime";
22927
+ import { trussProps as trussProps95 } from "@homebound/truss/runtime";
22874
22928
  import { jsx as jsx181, jsxs as jsxs95 } from "react/jsx-runtime";
22875
22929
  function SuperDrawerHeader(props) {
22876
22930
  const {
@@ -22896,7 +22950,7 @@ function SuperDrawerHeader(props) {
22896
22950
  ] }),
22897
22951
  props.right && /* @__PURE__ */ jsx181("div", { className: "fs0", children: props.right })
22898
22952
  ] }) : /* @__PURE__ */ jsx181("div", { className: "fg1", children: props.children }),
22899
- !hideControls && /* @__PURE__ */ jsx181("div", { ...trussProps94({
22953
+ !hideControls && /* @__PURE__ */ jsx181("div", { ...trussProps95({
22900
22954
  flexShrink: "fs0",
22901
22955
  ...isDetail ? {
22902
22956
  visibility: "vh"
@@ -23161,15 +23215,15 @@ function visit(rows, fn) {
23161
23215
  }
23162
23216
 
23163
23217
  // src/components/Toast/useToast.tsx
23164
- import { useCallback as useCallback34 } from "react";
23218
+ import { useCallback as useCallback35 } from "react";
23165
23219
  function useToast() {
23166
23220
  const { setNotice, clear } = useToastContext();
23167
- const showToast = useCallback34((props) => setNotice(props), [setNotice]);
23221
+ const showToast = useCallback35((props) => setNotice(props), [setNotice]);
23168
23222
  return { showToast, clear };
23169
23223
  }
23170
23224
 
23171
23225
  // src/layouts/SideNavLayout/SideNavLayout.tsx
23172
- import { trussProps as trussProps95, mergeProps as mergeProps29, maybeCssVar as maybeCssVar53 } from "@homebound/truss/runtime";
23226
+ import { trussProps as trussProps96, mergeProps as mergeProps29, maybeCssVar as maybeCssVar53 } from "@homebound/truss/runtime";
23173
23227
  import { jsx as jsx185, jsxs as jsxs98 } from "react/jsx-runtime";
23174
23228
  var __maybeInc20 = (inc) => {
23175
23229
  return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
@@ -23199,7 +23253,7 @@ function SideNavLayoutContent(props) {
23199
23253
  const railOffsetPx = !showRail ? 0 : !bp.mdAndUp || collapsed ? railCollapsedWidthPx : railWidthPx;
23200
23254
  const navTop = `var(${beamNavbarLayoutHeightVar}, 0px)`;
23201
23255
  const railViewportHeight = `calc(var(${beamLayoutViewportHeightVar}, 100vh) - var(${beamNavbarLayoutHeightVar}, 0px))`;
23202
- const rail = showRail && /* @__PURE__ */ jsxs98("div", { ...trussProps95({
23256
+ const rail = showRail && /* @__PURE__ */ jsxs98("div", { ...trussProps96({
23203
23257
  ...{
23204
23258
  display: "df",
23205
23259
  flexDirection: "fdc",
@@ -23267,7 +23321,7 @@ function SideNavLayoutContent(props) {
23267
23321
  width: "w100"
23268
23322
  }), ...tid, children: [
23269
23323
  contrastRail ? /* @__PURE__ */ jsx185(ContrastScope, { children: rail }) : rail,
23270
- /* @__PURE__ */ jsx185("div", { ...trussProps95({
23324
+ /* @__PURE__ */ jsx185("div", { ...trussProps96({
23271
23325
  display: "df",
23272
23326
  flexDirection: "fdc",
23273
23327
  flexGrow: "fg1",
@@ -23287,7 +23341,7 @@ import { useMemo as useMemo53, useRef as useRef61 } from "react";
23287
23341
  import { mergeProps as mergeProps30, maybeCssVar as maybeCssVar54 } from "@homebound/truss/runtime";
23288
23342
 
23289
23343
  // src/layouts/useAutoHideOnScroll.ts
23290
- import { useLayoutEffect as useLayoutEffect6, useRef as useRef60, useState as useState55 } from "react";
23344
+ import { useLayoutEffect as useLayoutEffect6, useRef as useRef60, useState as useState56 } from "react";
23291
23345
  var THRESHOLD = 80;
23292
23346
  function getInitialAutoHideState() {
23293
23347
  if (typeof window === "undefined" || window.scrollY <= 0) {
@@ -23297,9 +23351,9 @@ function getInitialAutoHideState() {
23297
23351
  }
23298
23352
  function useAutoHideOnScroll(spacerRef, enabled, getTopOffset) {
23299
23353
  const initial = getInitialAutoHideState();
23300
- const [state, setState] = useState55(initial.state);
23354
+ const [state, setState] = useState56(initial.state);
23301
23355
  const stateRef = useRef60(initial.state);
23302
- const [atTop, setAtTop] = useState55(initial.atTop);
23356
+ const [atTop, setAtTop] = useState56(initial.atTop);
23303
23357
  const atTopRef = useRef60(initial.atTop);
23304
23358
  const getTopOffsetRef = useRef60(getTopOffset);
23305
23359
  getTopOffsetRef.current = getTopOffset;
@@ -23378,10 +23432,10 @@ function useAutoHideOnScroll(spacerRef, enabled, getTopOffset) {
23378
23432
 
23379
23433
  // src/layouts/useMeasuredHeight.ts
23380
23434
  import { useResizeObserver as useResizeObserver10 } from "@react-aria/utils";
23381
- import { useCallback as useCallback35, useLayoutEffect as useLayoutEffect7, useState as useState56 } from "react";
23435
+ import { useCallback as useCallback36, useLayoutEffect as useLayoutEffect7, useState as useState57 } from "react";
23382
23436
  function useMeasuredHeight(ref, enabled) {
23383
- const [height, setHeight] = useState56(0);
23384
- const syncElementHeight = useCallback35(() => {
23437
+ const [height, setHeight] = useState57(0);
23438
+ const syncElementHeight = useCallback36(() => {
23385
23439
  const el = ref.current;
23386
23440
  const next = el ? Math.round(el.getBoundingClientRect().height) : 0;
23387
23441
  setHeight((prev) => prev === next ? prev : next);
@@ -23475,7 +23529,7 @@ function NavbarLayout(props) {
23475
23529
  }
23476
23530
 
23477
23531
  // src/layouts/PageHeaderLayout/PageHeaderLayout.tsx
23478
- import { useCallback as useCallback36, useMemo as useMemo54, useRef as useRef62 } from "react";
23532
+ import { useCallback as useCallback37, useMemo as useMemo54, useRef as useRef62 } from "react";
23479
23533
  import { mergeProps as mergeProps31, maybeCssVar as maybeCssVar55 } from "@homebound/truss/runtime";
23480
23534
  import { jsx as jsx188, jsxs as jsxs100 } from "react/jsx-runtime";
23481
23535
  var __maybeInc22 = (inc) => {
@@ -23490,7 +23544,7 @@ function PageHeaderLayout(props) {
23490
23544
  const navbarHeight = useNavbarLayoutHeight();
23491
23545
  const navbarHeightRef = useRef62(navbarHeight);
23492
23546
  navbarHeightRef.current = navbarHeight;
23493
- const getNavbarBottom = useCallback36(() => navbarHeightRef.current, []);
23547
+ const getNavbarBottom = useCallback37(() => navbarHeightRef.current, []);
23494
23548
  const headerMetricsRef = useRef62(null);
23495
23549
  const spacerRef = useRef62(null);
23496
23550
  const headerHeight = useMeasuredHeight(headerMetricsRef, true);