@homebound/beam 2.417.7 → 2.417.8

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
@@ -1,5 +1,6 @@
1
1
  import {
2
2
  EmptyRef,
3
+ clearInlineStyles,
3
4
  defaultTestId,
4
5
  fail,
5
6
  isAbsoluteUrl,
@@ -13,9 +14,10 @@ import {
13
14
  pluralize,
14
15
  safeEntries,
15
16
  safeKeys,
17
+ setInlineStyles,
16
18
  toToggleState,
17
19
  useTestIds
18
- } from "./chunk-XH44AYND.js";
20
+ } from "./chunk-ZPT2ZR5B.js";
19
21
 
20
22
  // src/Css.ts
21
23
  var CssBuilder = class _CssBuilder {
@@ -4157,11 +4159,7 @@ var Icon = React3.memo((props) => {
4157
4159
  viewBox: "0 0 24 24",
4158
4160
  xmlns: "http://www.w3.org/2000/svg",
4159
4161
  css: {
4160
- // Spread these in b/c they don't type-check for some reason...
4161
- ...{
4162
- "& > path": Css.fill(color).$,
4163
- "& > rect": Css.fill(color).$
4164
- },
4162
+ ...Css.fill(color).$,
4165
4163
  ...bgColor && Css.bgColor(bgColor).$,
4166
4164
  ...xss
4167
4165
  },
@@ -4745,20 +4743,8 @@ var Icons = {
4745
4743
  /* @__PURE__ */ jsx3("path", { d: "M7.43848 0.0527344C8.92278 0.0527344 10.1259 1.25595 10.126 2.74023C10.126 4.22459 8.78231 5.87619 7.43848 7.66797C6.09464 5.87619 4.75098 4.22459 4.75098 2.74023C4.75107 1.25601 5.95425 0.0528239 7.43848 0.0527344ZM7.4375 1.84473C6.94279 1.84478 6.54203 2.24552 6.54199 2.74023C6.54199 3.23499 6.94276 3.63569 7.4375 3.63574C7.93229 3.63574 8.33301 3.23502 8.33301 2.74023C8.33296 2.24549 7.93226 1.84473 7.4375 1.84473Z" })
4746
4744
  ] }),
4747
4745
  buildings: /* @__PURE__ */ jsxs2(Fragment2, { children: [
4748
- /* @__PURE__ */ jsx3(
4749
- "path",
4750
- {
4751
- d: "M14.1787 3.58594V23.6494H0V3.60449L7.08887 0.347656L14.1787 3.58594ZM3.42285 20.2275H5.86719V17.7832H3.42285V20.2275ZM8.31348 17.7832V20.2275H10.7578V17.7832H8.31348ZM3.42285 16.3174H5.86719V13.873H3.42285V16.3174ZM8.31348 16.3174H10.7578V13.873H8.31348V16.3174ZM3.42285 12.4062H5.86719V9.96191H3.42285V12.4062ZM8.31348 12.4062H10.7578V9.96191H8.31348V12.4062ZM3.42285 8.49414H5.86719V6.0498H3.42285V8.49414ZM8.31348 8.49414H10.7578V6.0498H8.31348V8.49414Z",
4752
- fill: "#8D8D8D"
4753
- }
4754
- ),
4755
- /* @__PURE__ */ jsx3(
4756
- "path",
4757
- {
4758
- d: "M22 23.6523H15.6445V8.00684H22V23.6523ZM17.5996 18.7617V21.2061H20.0439V18.7617H17.5996ZM17.5996 17.2959H20.0439V14.8516H17.5996V17.2959ZM17.5996 13.3828H20.0439V10.9385H17.5996V13.3828Z",
4759
- fill: "#8D8D8D"
4760
- }
4761
- )
4746
+ /* @__PURE__ */ jsx3("path", { d: "M14.1787 3.58594V23.6494H0V3.60449L7.08887 0.347656L14.1787 3.58594ZM3.42285 20.2275H5.86719V17.7832H3.42285V20.2275ZM8.31348 17.7832V20.2275H10.7578V17.7832H8.31348ZM3.42285 16.3174H5.86719V13.873H3.42285V16.3174ZM8.31348 16.3174H10.7578V13.873H8.31348V16.3174ZM3.42285 12.4062H5.86719V9.96191H3.42285V12.4062ZM8.31348 12.4062H10.7578V9.96191H8.31348V12.4062ZM3.42285 8.49414H5.86719V6.0498H3.42285V8.49414ZM8.31348 8.49414H10.7578V6.0498H8.31348V8.49414Z" }),
4747
+ /* @__PURE__ */ jsx3("path", { d: "M22 23.6523H15.6445V8.00684H22V23.6523ZM17.5996 18.7617V21.2061H20.0439V18.7617H17.5996ZM17.5996 17.2959H20.0439V14.8516H17.5996V17.2959ZM17.5996 13.3828H20.0439V10.9385H17.5996V13.3828Z" })
4762
4748
  ] }),
4763
4749
  community: /* @__PURE__ */ jsxs2(Fragment2, { children: [
4764
4750
  /* @__PURE__ */ jsx3("path", { d: "M6.41018 0.520509C6.61589 0.334405 6.93017 0.334214 7.13576 0.520509L11.1797 4.20899C11.1553 4.22924 11.1302 4.24904 11.1065 4.27051L11.1016 4.27539L7.85549 7.23535V6.22266H5.69045V8.96289C5.69045 9.2644 5.44619 9.51172 5.14846 9.51172H3.52444C3.22683 9.51157 2.98342 9.26431 2.98342 8.96289V5.12598H2.0635C1.81449 5.12598 1.70074 4.8129 1.88479 4.64844L6.41018 0.520509ZM10.5615 8.96289C10.5615 9.2644 10.3183 9.51172 10.0205 9.51172H8.39651C8.24437 9.51169 8.10738 9.44603 8.00881 9.34277L10.5615 7.01465V8.96289Z" }),
@@ -6455,13 +6441,13 @@ function AvatarButton(props) {
6455
6441
  menuTriggerProps,
6456
6442
  openInNew,
6457
6443
  forceFocusStyles = false,
6458
- forcePressedStyles = false,
6444
+ __storyState,
6459
6445
  ...avatarProps
6460
6446
  } = props;
6461
6447
  const isDisabled = !!disabled;
6462
6448
  const ariaProps = { onPress, isDisabled, autoFocus, ...menuTriggerProps };
6463
6449
  const ref = useGetRef(buttonRef);
6464
- const { buttonProps, isPressed } = useButton2(
6450
+ const { buttonProps, isPressed: isPressedFromEvents } = useButton2(
6465
6451
  {
6466
6452
  ...ariaProps,
6467
6453
  onPress: typeof onPress === "string" ? noop : onPress,
@@ -6469,8 +6455,11 @@ function AvatarButton(props) {
6469
6455
  },
6470
6456
  ref
6471
6457
  );
6472
- const { focusProps, isFocusVisible } = useFocusRing2(ariaProps);
6473
- const { hoverProps, isHovered } = useHover3(ariaProps);
6458
+ const { focusProps, isFocusVisible: isFocusVisibleFromEvents } = useFocusRing2(ariaProps);
6459
+ const { hoverProps, isHovered: isHoveredFromEvents } = useHover3(ariaProps);
6460
+ const isHovered = __storyState?.hovered ?? isHoveredFromEvents;
6461
+ const isFocusVisible = __storyState?.focusVisible ?? isFocusVisibleFromEvents;
6462
+ const isPressed = __storyState?.pressed ?? isPressedFromEvents;
6474
6463
  const tid = useTestIds(props, avatarProps.name);
6475
6464
  const styles = useMemo9(
6476
6465
  () => ({
@@ -6493,7 +6482,7 @@ function AvatarButton(props) {
6493
6482
  };
6494
6483
  const content = /* @__PURE__ */ jsxs11(Fragment5, { children: [
6495
6484
  /* @__PURE__ */ jsx23(Avatar, { ...avatarProps, ...tid, disableTooltip: true }),
6496
- (isPressed || forcePressedStyles) && /* @__PURE__ */ jsx23("span", { css: pressedOverlayCss })
6485
+ isPressed && /* @__PURE__ */ jsx23("span", { css: pressedOverlayCss })
6497
6486
  ] });
6498
6487
  return maybeTooltip({
6499
6488
  // Default the tooltip to the avatar's name, if defined.
@@ -12197,6 +12186,7 @@ function Switch(props) {
12197
12186
  label,
12198
12187
  labelStyle = "inline",
12199
12188
  hideLabel = false,
12189
+ __storyState,
12200
12190
  ...otherProps
12201
12191
  } = props;
12202
12192
  const isDisabled = !!disabled;
@@ -12204,8 +12194,10 @@ function Switch(props) {
12204
12194
  const state = toToggleState(isSelected, onChange);
12205
12195
  const ref = useRef32(null);
12206
12196
  const { inputProps } = useSwitch({ ...ariaProps, "aria-label": label }, state, ref);
12207
- const { isFocusVisible: isKeyboardFocus, focusProps } = useFocusRing7(otherProps);
12208
- const { hoverProps, isHovered } = useHover13(ariaProps);
12197
+ const { isFocusVisible: isFocusVisibleFromEvents, focusProps } = useFocusRing7(otherProps);
12198
+ const { hoverProps, isHovered: isHoveredFromEvents } = useHover13(ariaProps);
12199
+ const isFocusVisible = __storyState?.focusVisible ?? isFocusVisibleFromEvents;
12200
+ const isHovered = __storyState?.hovered ?? isHoveredFromEvents;
12209
12201
  const tooltip = resolveTooltip(disabled, props.tooltip);
12210
12202
  const tid = useTestIds(otherProps, label);
12211
12203
  return /* @__PURE__ */ jsxs45(
@@ -12238,7 +12230,7 @@ function Switch(props) {
12238
12230
  css: {
12239
12231
  ...Css.wPx(toggleWidth(compact)).hPx(toggleHeight(compact)).bgGray200.br12.relative.transition.$,
12240
12232
  ...isHovered && switchHoverStyles,
12241
- ...isKeyboardFocus && switchFocusStyles,
12233
+ ...isFocusVisible && switchFocusStyles,
12242
12234
  ...isDisabled && Css.bgGray300.$,
12243
12235
  ...isSelected && Css.bgBlue700.$,
12244
12236
  ...isSelected && isHovered && switchSelectedHoverStyles
@@ -12405,7 +12397,7 @@ import { useFocusRing as useFocusRing8, useHover as useHover14, usePress, useSwi
12405
12397
  import { useToggleState as useToggleState3 } from "react-stately";
12406
12398
  import { jsx as jsx77, jsxs as jsxs46 } from "@emotion/react/jsx-runtime";
12407
12399
  function ToggleButton(props) {
12408
- const { selected: isSelected = false, disabled = false, label, onChange, icon, ...otherProps } = props;
12400
+ const { selected: isSelected = false, disabled = false, label, onChange, icon, __storyState, ...otherProps } = props;
12409
12401
  const [asyncInProgress, setAsyncInProgress] = useState27(false);
12410
12402
  const isDisabled = !!disabled || asyncInProgress;
12411
12403
  const ariaProps = { "aria-label": label, isSelected, isDisabled, ...otherProps };
@@ -12422,11 +12414,14 @@ function ToggleButton(props) {
12422
12414
  });
12423
12415
  const labelRef = useRef35(null);
12424
12416
  const ref = useRef35(null);
12425
- const tid = useTestIds(props, label);
12426
- const { isPressed, pressProps } = usePress({ ref: labelRef, isDisabled });
12417
+ const tid = useTestIds(otherProps, label);
12418
+ const { isPressed: isPressedFromEvents, pressProps } = usePress({ ref: labelRef, isDisabled });
12427
12419
  const { inputProps } = useSwitch2(ariaProps, state, ref);
12428
- const { isFocusVisible: isKeyboardFocus, focusProps } = useFocusRing8({ ...otherProps, within: true });
12429
- const { hoverProps, isHovered } = useHover14({ isDisabled });
12420
+ const { isFocusVisible: isFocusVisibleFromEvents, focusProps } = useFocusRing8({ ...otherProps, within: true });
12421
+ const { hoverProps, isHovered: isHoveredFromEvents } = useHover14({ isDisabled });
12422
+ const isHovered = __storyState?.hovered ?? isHoveredFromEvents;
12423
+ const isPressed = __storyState?.pressed ?? isPressedFromEvents;
12424
+ const isFocusVisible = __storyState?.focusVisible ?? isFocusVisibleFromEvents;
12430
12425
  const tooltip = resolveTooltip(disabled);
12431
12426
  const labelAttrs = {
12432
12427
  ...focusProps,
@@ -12437,7 +12432,7 @@ function ToggleButton(props) {
12437
12432
  ...isHovered && toggleHoverStyles,
12438
12433
  ...isPressed && togglePressStyles,
12439
12434
  ...isSelected && !isDisabled && Css.blue700.$,
12440
- ...isKeyboardFocus && toggleFocusStyles,
12435
+ ...isFocusVisible && toggleFocusStyles,
12441
12436
  ...isDisabled && Css.gray300.cursorNotAllowed.$
12442
12437
  },
12443
12438
  ...tid
@@ -14750,7 +14745,7 @@ function SuperDrawer() {
14750
14745
  }
14751
14746
 
14752
14747
  // src/components/Layout/FormPageLayout.tsx
14753
- import React16, { createRef, useCallback as useCallback22, useEffect as useEffect24, useMemo as useMemo34, useRef as useRef43, useState as useState37 } from "react";
14748
+ import React16, { createRef, useCallback as useCallback22, useEffect as useEffect24, useMemo as useMemo34, useRef as useRef43, useState as useState38 } from "react";
14754
14749
  import { useButton as useButton9, useFocusRing as useFocusRing11 } from "react-aria";
14755
14750
 
14756
14751
  // src/forms/BoundCheckboxField.tsx
@@ -15644,17 +15639,18 @@ function FormLines(props) {
15644
15639
  {
15645
15640
  css: {
15646
15641
  // Note that we're purposefully not using display:flex so that our children's margins will collapse.
15647
- ...Css.w(sizes[width2]).$,
15648
- // Purposefully use this instead of childGap3 to put margin-bottom on the last line
15649
- "& > *": Css.mb(gap).$
15642
+ ...Css.w(sizes[width2]).$
15650
15643
  },
15651
15644
  children: Children.map(children, (child) => {
15645
+ if (child === null || child === void 0 || typeof child === "boolean") {
15646
+ return child;
15647
+ }
15652
15648
  if (child && typeof child === "object" && "type" in child && child.type.isFormHeading) {
15653
15649
  const clone = cloneElement(child, { isFirst: firstFormHeading });
15654
15650
  firstFormHeading = false;
15655
- return clone;
15651
+ return /* @__PURE__ */ jsx114("div", { css: Css.mb(gap).$, children: clone });
15656
15652
  } else {
15657
- return child;
15653
+ return /* @__PURE__ */ jsx114("div", { css: Css.mb(gap).$, children: child });
15658
15654
  }
15659
15655
  })
15660
15656
  }
@@ -15820,7 +15816,7 @@ function boundTreeSelectField(props) {
15820
15816
  }
15821
15817
 
15822
15818
  // src/components/internal/CompoundField.tsx
15823
- import { cloneElement as cloneElement2 } from "react";
15819
+ import { cloneElement as cloneElement2, useState as useState34 } from "react";
15824
15820
  import { jsx as jsx116, jsxs as jsxs59 } from "@emotion/react/jsx-runtime";
15825
15821
  function CompoundField({ children }) {
15826
15822
  if (children?.length !== 2) {
@@ -15828,45 +15824,46 @@ function CompoundField({ children }) {
15828
15824
  }
15829
15825
  const commonStyles = Css.df.aic.fs1.maxwPx(550).bt.bb.bcGray300.$;
15830
15826
  const internalProps = { compound: true };
15831
- return /* @__PURE__ */ jsxs59(
15832
- "div",
15833
- {
15834
- css: {
15835
- ...Css.df.$,
15836
- "&:focus-within > div:nth-of-type(2)": Css.bgBlue700.$
15837
- // Separation line when inputs are focused
15838
- },
15839
- children: [
15840
- /* @__PURE__ */ jsx116(
15841
- "div",
15842
- {
15843
- css: {
15844
- ...commonStyles,
15845
- ...Css.bl.borderRadius("4px 0 0 4px").$,
15846
- "&:focus-within": Css.bcBlue700.$
15847
- },
15848
- children: cloneElement2(children[0], {
15849
- internalProps
15850
- })
15851
- }
15852
- ),
15853
- /* @__PURE__ */ jsx116("div", { css: Css.wPx(1).fn.bgGray300.$ }),
15854
- /* @__PURE__ */ jsx116(
15855
- "div",
15856
- {
15857
- css: {
15858
- ...commonStyles,
15859
- ...Css.fg1.br.borderRadius("0 4px 4px 0").$,
15860
- "&:focus-within": Css.bcBlue700.$
15861
- },
15862
- children: cloneElement2(children[1], {
15863
- internalProps
15864
- })
15865
- }
15866
- )
15867
- ]
15827
+ const [hasFocusWithin, setHasFocusWithin] = useState34(false);
15828
+ function onFocusCapture() {
15829
+ setHasFocusWithin(true);
15830
+ }
15831
+ function onBlurCapture(e) {
15832
+ const nextFocusedElement = e.relatedTarget;
15833
+ if (nextFocusedElement instanceof Node && e.currentTarget.contains(nextFocusedElement)) {
15834
+ return;
15868
15835
  }
15869
- );
15836
+ setHasFocusWithin(false);
15837
+ }
15838
+ return /* @__PURE__ */ jsxs59("div", { css: Css.df.$, onFocusCapture, onBlurCapture, children: [
15839
+ /* @__PURE__ */ jsx116(
15840
+ "div",
15841
+ {
15842
+ css: {
15843
+ ...commonStyles,
15844
+ ...Css.bl.borderRadius("4px 0 0 4px").$,
15845
+ "&:focus-within": Css.bcBlue700.$
15846
+ },
15847
+ children: cloneElement2(children[0], {
15848
+ internalProps
15849
+ })
15850
+ }
15851
+ ),
15852
+ /* @__PURE__ */ jsx116("div", { css: { ...Css.wPx(1).fn.bgGray300.$, ...hasFocusWithin && Css.bgBlue700.$ } }),
15853
+ /* @__PURE__ */ jsx116(
15854
+ "div",
15855
+ {
15856
+ css: {
15857
+ ...commonStyles,
15858
+ ...Css.fg1.br.borderRadius("0 4px 4px 0").$,
15859
+ "&:focus-within": Css.bcBlue700.$
15860
+ },
15861
+ children: cloneElement2(children[1], {
15862
+ internalProps
15863
+ })
15864
+ }
15865
+ )
15866
+ ] });
15870
15867
  }
15871
15868
 
15872
15869
  // src/forms/BoundSelectAndTextField.tsx
@@ -15962,11 +15959,11 @@ import { useDebouncedCallback as useDebouncedCallback5 } from "use-debounce";
15962
15959
 
15963
15960
  // src/components/RightSidebar.tsx
15964
15961
  import { AnimatePresence as AnimatePresence2, motion as motion2 } from "framer-motion";
15965
- import { useState as useState34 } from "react";
15962
+ import { useState as useState35 } from "react";
15966
15963
  import { Fragment as Fragment24, jsx as jsx121, jsxs as jsxs62 } from "@emotion/react/jsx-runtime";
15967
15964
  var RIGHT_SIDEBAR_MIN_WIDTH = "250px";
15968
15965
  function RightSidebar({ content, headerHeightPx: headerHeightPx2 }) {
15969
- const [selectedIcon, setSelectedIcon] = useState34(void 0);
15966
+ const [selectedIcon, setSelectedIcon] = useState35(void 0);
15970
15967
  const tid = useTestIds({}, "rightSidebar");
15971
15968
  return /* @__PURE__ */ jsxs62(Fragment24, { children: [
15972
15969
  /* @__PURE__ */ jsx121("div", { css: Css.df.jcfe.absolute.right0.pr3.$, children: /* @__PURE__ */ jsx121(AnimatePresence2, { children: !selectedIcon && /* @__PURE__ */ jsx121(
@@ -16027,7 +16024,7 @@ function IconButtonList({ content, selectedIcon, onIconClick }) {
16027
16024
  }
16028
16025
 
16029
16026
  // src/components/Toast/ToastContext.tsx
16030
- import { createContext as createContext5, useCallback as useCallback21, useContext as useContext14, useMemo as useMemo32, useState as useState35 } from "react";
16027
+ import { createContext as createContext5, useCallback as useCallback21, useContext as useContext14, useMemo as useMemo32, useState as useState36 } from "react";
16031
16028
  import { jsx as jsx122 } from "@emotion/react/jsx-runtime";
16032
16029
  var ToastContext = createContext5({
16033
16030
  setNotice: () => {
@@ -16038,7 +16035,7 @@ var ToastContext = createContext5({
16038
16035
  notice: void 0
16039
16036
  });
16040
16037
  function ToastProvider(props) {
16041
- const [notice, setNotice] = useState35();
16038
+ const [notice, setNotice] = useState36();
16042
16039
  const clear = useCallback21(() => setNotice(void 0), [setNotice]);
16043
16040
  const contextValue = useMemo32(() => ({ setNotice, notice, clear }), [notice, clear]);
16044
16041
  return /* @__PURE__ */ jsx122(ToastContext.Provider, { value: contextValue, children: props.children });
@@ -16056,13 +16053,13 @@ function Toast() {
16056
16053
  }
16057
16054
 
16058
16055
  // src/components/Layout/PageHeaderBreadcrumbs.tsx
16059
- import { Fragment as Fragment26, useMemo as useMemo33, useState as useState36 } from "react";
16056
+ import { Fragment as Fragment26, useMemo as useMemo33, useState as useState37 } from "react";
16060
16057
  import { Link as Link4 } from "react-router-dom";
16061
16058
  import { Fragment as Fragment27, jsx as jsx124, jsxs as jsxs63 } from "@emotion/react/jsx-runtime";
16062
16059
  function PageHeaderBreadcrumbs({ breadcrumb }) {
16063
16060
  const tids = useTestIds({}, "pageHeaderBreadcrumbs");
16064
16061
  const breadcrumbs = useMemo33(() => Array.isArray(breadcrumb) ? breadcrumb : [breadcrumb], [breadcrumb]);
16065
- const [collapsed, setCollapsed] = useState36(true);
16062
+ const [collapsed, setCollapsed] = useState37(true);
16066
16063
  function renderBreadcrumb(bc, index, hideDivisor) {
16067
16064
  return (
16068
16065
  // Adding index to key to prevent rendering issues when multiple items have the same label
@@ -16226,7 +16223,7 @@ function SectionNavLink(props) {
16226
16223
  );
16227
16224
  }
16228
16225
  function useActiveSection(sectionsWithRefs) {
16229
- const [activeSection, setActiveSection] = useState37(null);
16226
+ const [activeSection, setActiveSection] = useState38(null);
16230
16227
  const debouncedIntersectionCallback = useDebouncedCallback5(
16231
16228
  (entries) => {
16232
16229
  const sectionsInView = entries.filter((entry) => entry.isIntersecting && entry.intersectionRatio > 0.2).sort((a, b) => {
@@ -16283,7 +16280,7 @@ function FullBleed({ children, omitPadding = false }) {
16283
16280
  }
16284
16281
 
16285
16282
  // src/components/Layout/GridTableLayout/GridTableLayout.tsx
16286
- import React17, { useEffect as useEffect27, useMemo as useMemo38, useState as useState40 } from "react";
16283
+ import React17, { useEffect as useEffect27, useMemo as useMemo38, useState as useState41 } from "react";
16287
16284
 
16288
16285
  // src/components/ButtonMenu.tsx
16289
16286
  import { useRef as useRef44 } from "react";
@@ -16335,7 +16332,7 @@ function isSelectionButtonMenuProps(props) {
16335
16332
  }
16336
16333
 
16337
16334
  // src/components/Filters/FilterDropdownMenu.tsx
16338
- import { memo as memo2, useMemo as useMemo36, useState as useState39 } from "react";
16335
+ import { memo as memo2, useMemo as useMemo36, useState as useState40 } from "react";
16339
16336
 
16340
16337
  // src/components/CountBadge.tsx
16341
16338
  import { jsx as jsx127 } from "@emotion/react/jsx-runtime";
@@ -16720,7 +16717,7 @@ var CheckboxFilter = class extends BaseFilter {
16720
16717
  };
16721
16718
 
16722
16719
  // src/components/Filters/FilterModal.tsx
16723
- import { useState as useState38 } from "react";
16720
+ import { useState as useState39 } from "react";
16724
16721
 
16725
16722
  // src/components/Modal/OpenModal.tsx
16726
16723
  import { useEffect as useEffect25 } from "react";
@@ -16746,7 +16743,7 @@ function FilterModal(props) {
16746
16743
  const { filter, filters, onApply } = props;
16747
16744
  const testId = useTestIds(props, filterTestIdPrefix);
16748
16745
  const { closeModal } = useModal();
16749
- const [modalFilter, setModalFilter] = useState38(filter);
16746
+ const [modalFilter, setModalFilter] = useState39(filter);
16750
16747
  return /* @__PURE__ */ jsxs68(Fragment31, { children: [
16751
16748
  /* @__PURE__ */ jsx137(ModalHeader, { children: "More Filters" }),
16752
16749
  /* @__PURE__ */ jsx137(ModalBody, { children: /* @__PURE__ */ jsx137("div", { css: Css.df.fdc.$, children: safeEntries(filters).map(([key, f]) => /* @__PURE__ */ jsx137(ModalFilterItem, { label: f.hideLabelInModal ? void 0 : f.label, children: f.render(
@@ -16901,7 +16898,7 @@ import { Fragment as Fragment32, jsx as jsx140, jsxs as jsxs70 } from "@emotion/
16901
16898
  function FilterDropdownMenu(props) {
16902
16899
  const { filter, onChange, filterDefs, groupBy } = props;
16903
16900
  const testId = useTestIds(props, filterTestIdPrefix);
16904
- const [isOpen, setIsOpen] = useState39(false);
16901
+ const [isOpen, setIsOpen] = useState40(false);
16905
16902
  const activeFilterCount = useMemo36(() => getActiveFilterCount(filter), [filter]);
16906
16903
  const filterImpls = useMemo36(() => buildFilterImpls(filterDefs), [filterDefs]);
16907
16904
  const renderFilters = () => {
@@ -17326,7 +17323,7 @@ function useGridTableLayoutState({
17326
17323
  const filterFallback = { filterDefs: {}, storageKey: "unset-filter" };
17327
17324
  const { filter, setFilter } = usePersistedFilter(persistedFilter ?? filterFallback);
17328
17325
  const groupBy = useGroupBy(maybeGroupBy ?? { none: "none" });
17329
- const [searchString, setSearchString] = useState40("");
17326
+ const [searchString, setSearchString] = useState41("");
17330
17327
  const columnsFallback = "unset-columns";
17331
17328
  const [visibleColumnIds, setVisibleColumnIds] = useSessionStorage(
17332
17329
  persistedColumns?.storageKey ?? columnsFallback,
@@ -17339,7 +17336,7 @@ function useGridTableLayoutState({
17339
17336
  100
17340
17337
  // default page size
17341
17338
  );
17342
- const [page, setPage] = useState40({
17339
+ const [page, setPage] = useState41({
17343
17340
  offset: 0,
17344
17341
  limit: persistedPageSize
17345
17342
  });
@@ -17382,7 +17379,7 @@ function Header2(props) {
17382
17379
  }
17383
17380
  function SearchBox({ onSearch }) {
17384
17381
  const [{ search: initialValue }, setQueryParams] = useQueryParams3({ search: StringParam2 });
17385
- const [value, setValue] = useState40(initialValue || "");
17382
+ const [value, setValue] = useState41(initialValue || "");
17386
17383
  const [debouncedSearch] = useDebounce2(value, 300);
17387
17384
  useEffect27(() => {
17388
17385
  onSearch(debouncedSearch);
@@ -17414,7 +17411,7 @@ function PreventBrowserScroll({ children }) {
17414
17411
  }
17415
17412
 
17416
17413
  // src/components/Layout/RightPaneLayout/RightPaneContext.tsx
17417
- import React18, { useCallback as useCallback23, useContext as useContext15, useMemo as useMemo39, useState as useState41 } from "react";
17414
+ import React18, { useCallback as useCallback23, useContext as useContext15, useMemo as useMemo39, useState as useState42 } from "react";
17418
17415
  import { jsx as jsx148 } from "@emotion/react/jsx-runtime";
17419
17416
  var RightPaneContext = React18.createContext({
17420
17417
  openInPane: () => {
@@ -17427,8 +17424,8 @@ var RightPaneContext = React18.createContext({
17427
17424
  rightPaneContent: null
17428
17425
  });
17429
17426
  function RightPaneProvider({ children }) {
17430
- const [rightPaneContent, setRightPaneContent] = useState41(void 0);
17431
- const [isRightPaneOpen, setIsRightPaneOpen] = useState41(false);
17427
+ const [rightPaneContent, setRightPaneContent] = useState42(void 0);
17428
+ const [isRightPaneOpen, setIsRightPaneOpen] = useState42(false);
17432
17429
  const openInPane = useCallback23(
17433
17430
  (opts) => {
17434
17431
  setRightPaneContent(opts?.content);
@@ -17613,19 +17610,43 @@ function ButtonGroup(props) {
17613
17610
  // Adding `line-height: 0` prevent inheriting line-heights that might throw off sizing within the button group.
17614
17611
  /* @__PURE__ */ jsx152("div", { ...tid, css: Css.df.lh(0).add({ ...sizeStyles2[size] }).$, children: buttons.map(({ disabled: buttonDisabled, ...buttonProps }, i) => (
17615
17612
  // Disable the button if the ButtonGroup is disabled or if the current button is disabled.
17616
- /* @__PURE__ */ jsx152(GroupButton, { ...buttonProps, disabled: disabled || buttonDisabled, size, ...tid }, i)
17613
+ /* @__PURE__ */ jsx152(
17614
+ GroupButton,
17615
+ {
17616
+ ...buttonProps,
17617
+ disabled: disabled || buttonDisabled,
17618
+ size,
17619
+ isFirst: i === 0,
17620
+ isLast: i === buttons.length - 1,
17621
+ ...tid
17622
+ },
17623
+ i
17624
+ )
17617
17625
  )) })
17618
17626
  );
17619
17627
  }
17620
17628
  function GroupButton(props) {
17621
- const { icon, iconInc, iconColor, text, active, onClick: onPress, disabled, size, tooltip, ...otherProps } = props;
17629
+ const {
17630
+ icon,
17631
+ iconInc,
17632
+ iconColor,
17633
+ text,
17634
+ active,
17635
+ onClick: onPress,
17636
+ disabled,
17637
+ size,
17638
+ tooltip,
17639
+ isFirst,
17640
+ isLast,
17641
+ ...otherProps
17642
+ } = props;
17622
17643
  const ariaProps = { onPress, isDisabled: !!disabled, ...otherProps };
17623
17644
  const ref = useRef47(null);
17624
17645
  const { buttonProps, isPressed } = useButton10(ariaProps, ref);
17625
17646
  const { isFocusVisible, focusProps } = useFocusRing12();
17626
17647
  const { hoverProps, isHovered } = useHover15(ariaProps);
17627
17648
  const tid = useTestIds(props);
17628
- return /* @__PURE__ */ jsx152("span", { css: getButtonStyles2(), children: maybeTooltip({
17649
+ return /* @__PURE__ */ jsx152("span", { css: getButtonStyles2(isFirst, isLast), children: maybeTooltip({
17629
17650
  title: resolveTooltip(disabled, tooltip),
17630
17651
  placement: "top",
17631
17652
  children: /* @__PURE__ */ jsxs78(
@@ -17656,15 +17677,15 @@ var pressedStyles = Css.bgGray200.$;
17656
17677
  var activeStyles3 = Css.bgGray300.$;
17657
17678
  var hoverStyles3 = Css.bgGray100.$;
17658
17679
  var defaultFocusRingStyles2 = Css.relative.z2.bshFocus.$;
17659
- function getButtonStyles2() {
17680
+ function getButtonStyles2(isFirst, isLast) {
17660
17681
  return {
17661
17682
  ...Css.z1.bgWhite.bcGray300.bw1.ba.gray900.br0.oh.$,
17662
- // Our first button should have a rounded left border
17663
- "&:first-of-type": Css.add("borderRadius", "4px 0 0 4px").$,
17664
- // Our last button should have a rounded right border
17665
- "&:last-of-type": Css.add("borderRadius", "0 4px 4px 0").$,
17666
- // Nudge buttons one pixel to the left so they visually share a border
17667
- "&:not(:first-of-type)": Css.mlPx(-1).$
17683
+ // Our first button should have a rounded left border.
17684
+ ...isFirst && Css.add("borderRadius", "4px 0 0 4px").$,
17685
+ // Our last button should have a rounded right border.
17686
+ ...isLast && Css.add("borderRadius", "0 4px 4px 0").$,
17687
+ // Nudge buttons one pixel to the left so they visually share a border.
17688
+ ...!isFirst && Css.mlPx(-1).$
17668
17689
  };
17669
17690
  }
17670
17691
  var sizeStyles2 = {
@@ -17684,13 +17705,13 @@ import { useHover as useHover16 } from "react-aria";
17684
17705
 
17685
17706
  // src/components/Tag.tsx
17686
17707
  import { useResizeObserver as useResizeObserver4 } from "@react-aria/utils";
17687
- import { useRef as useRef48, useState as useState42 } from "react";
17708
+ import { useRef as useRef48, useState as useState43 } from "react";
17688
17709
  import { jsx as jsx153, jsxs as jsxs79 } from "@emotion/react/jsx-runtime";
17689
17710
  function Tag(props) {
17690
17711
  const { text, type, xss, preventTooltip = false, ...otherProps } = props;
17691
17712
  const typeStyles2 = getStyles(type);
17692
17713
  const tid = useTestIds(otherProps);
17693
- const [showTooltip, setShowTooltip] = useState42(false);
17714
+ const [showTooltip, setShowTooltip] = useState43(false);
17694
17715
  const ref = useRef48(null);
17695
17716
  useResizeObserver4({
17696
17717
  ref,
@@ -17794,9 +17815,9 @@ function Copy(props) {
17794
17815
  return /* @__PURE__ */ jsx155(
17795
17816
  "div",
17796
17817
  {
17818
+ className: "beam-copy",
17797
17819
  css: {
17798
- ...Css.sm.gray700.mt2.mb3.wPx(480).$,
17799
- "& > p": Css.my2.$
17820
+ ...Css.sm.gray700.mt2.mb3.wPx(480).$
17800
17821
  },
17801
17822
  children: props.children
17802
17823
  }
@@ -17829,6 +17850,7 @@ function DnDGrid(props) {
17829
17850
  const reorderViaKeyboard = useRef49(false);
17830
17851
  const transformFrom = useRef49({ x: 0, y: 0 });
17831
17852
  const tid = useTestIds(props, "dndGrid");
17853
+ const activeStyles4 = activeItemStyles ?? Css.bshModal.$;
17832
17854
  const getGridItems = useCallback24(() => {
17833
17855
  return gridEl.current ? Array.from(gridEl.current.querySelectorAll(`[${gridItemIdKey}]`)) : [];
17834
17856
  }, []);
@@ -17838,19 +17860,19 @@ function DnDGrid(props) {
17838
17860
  const initReorder = useCallback24(() => {
17839
17861
  if (gridEl.current && dragEl.current) {
17840
17862
  initialOrder.current = getGridItemIdOrder();
17841
- dragEl.current.classList.add(activeGridItemClass);
17863
+ setInlineStyles(dragEl.current, activeStyles4);
17842
17864
  }
17843
- }, [getGridItemIdOrder]);
17865
+ }, [getGridItemIdOrder, activeStyles4]);
17844
17866
  const commitReorder = useCallback24(() => {
17845
17867
  if (gridEl.current && dragEl.current) {
17846
17868
  const currentOrder = getGridItemIdOrder();
17847
17869
  if (!equal2(currentOrder, initialOrder.current)) onReorder(currentOrder);
17848
- dragEl.current.classList.remove(activeGridItemClass);
17870
+ clearInlineStyles(dragEl.current, activeStyles4);
17849
17871
  dragEl.current = void 0;
17850
17872
  reorderViaKeyboard.current = false;
17851
17873
  initialOrder.current = currentOrder;
17852
17874
  }
17853
- }, [onReorder, getGridItemIdOrder]);
17875
+ }, [onReorder, getGridItemIdOrder, activeStyles4]);
17854
17876
  const cancelReorder = useCallback24(() => {
17855
17877
  if (gridEl.current && dragEl.current && initialOrder.current) {
17856
17878
  const currentOrder = getGridItemIdOrder();
@@ -17868,11 +17890,11 @@ function DnDGrid(props) {
17868
17890
  }
17869
17891
  }
17870
17892
  }
17871
- dragEl.current.classList.remove(activeGridItemClass);
17893
+ clearInlineStyles(dragEl.current, activeStyles4);
17872
17894
  dragEl.current = void 0;
17873
17895
  reorderViaKeyboard.current = false;
17874
17896
  }
17875
- }, [getGridItemIdOrder, getGridItems]);
17897
+ }, [getGridItemIdOrder, getGridItems, activeStyles4]);
17876
17898
  const onMove = useCallback24((e) => {
17877
17899
  if (!reorderViaKeyboard.current && dragEl.current && cloneEl.current && gridEl.current) {
17878
17900
  const clientX = "clientX" in e ? e.clientX : e.touches[0].clientX;
@@ -17911,18 +17933,21 @@ function DnDGrid(props) {
17911
17933
  );
17912
17934
  cloneEl.current?.setAttribute(gridCloneKey, "true");
17913
17935
  cloneEl.current.removeAttribute("id");
17914
- cloneEl.current?.classList.remove(activeGridItemClass);
17915
17936
  gridEl.current.insertBefore(cloneEl.current, dragEl.current.nextSibling);
17916
- dragEl.current.setAttribute(
17917
- "style",
17918
- `pointer-events: none; position:fixed; z-index: 9999; top:${top}px; left:${left}px; width:${rect.width}px; height:${rect.height}px;`
17919
- );
17937
+ dragEl.current.style.pointerEvents = "none";
17938
+ dragEl.current.style.position = "fixed";
17939
+ dragEl.current.style.zIndex = "9999";
17940
+ dragEl.current.style.top = `${top}px`;
17941
+ dragEl.current.style.left = `${left}px`;
17942
+ dragEl.current.style.width = `${rect.width}px`;
17943
+ dragEl.current.style.height = `${rect.height}px`;
17944
+ setInlineStyles(dragEl.current, activeStyles4);
17920
17945
  gridEl.current.style.cursor = "grabbing";
17921
17946
  gridEl.current.addEventListener("mousemove", onMove);
17922
17947
  gridEl.current.addEventListener("touchmove", onMove);
17923
17948
  }
17924
17949
  },
17925
- [initReorder, onMove]
17950
+ [initReorder, onMove, activeStyles4]
17926
17951
  );
17927
17952
  const onDragEnd = useCallback24(
17928
17953
  (e) => {
@@ -17996,7 +18021,7 @@ function DnDGrid(props) {
17996
18021
  {
17997
18022
  ref: gridEl,
17998
18023
  css: {
17999
- ...Css.ctis.dg.addIn(`& .${activeGridItemClass}`, activeItemStyles ?? Css.bshModal.$).$,
18024
+ ...Css.ctis.dg.$,
18000
18025
  ...gridStyles
18001
18026
  },
18002
18027
  onTouchStart: onDragStart,
@@ -18010,7 +18035,6 @@ function DnDGrid(props) {
18010
18035
  }
18011
18036
  var gridItemIdKey = "dndgrid-itemid";
18012
18037
  var gridCloneKey = "dndgrid-clone";
18013
- var activeGridItemClass = "dndgrid-active";
18014
18038
 
18015
18039
  // src/components/DnDGrid/DnDGridItemHandle.tsx
18016
18040
  import { mergeProps as mergeProps12, useFocusRing as useFocusRing13, useHover as useHover17 } from "react-aria";
@@ -18195,12 +18219,12 @@ function HbSpinnerProvider({ quips = [], children }) {
18195
18219
 
18196
18220
  // src/components/MaxLines.tsx
18197
18221
  import { useLayoutEffect as useLayoutEffect2, useResizeObserver as useResizeObserver5 } from "@react-aria/utils";
18198
- import { useCallback as useCallback25, useEffect as useEffect29, useRef as useRef50, useState as useState43 } from "react";
18222
+ import { useCallback as useCallback25, useEffect as useEffect29, useRef as useRef50, useState as useState44 } from "react";
18199
18223
  import { jsx as jsx161, jsxs as jsxs82 } from "@emotion/react/jsx-runtime";
18200
18224
  function MaxLines({ maxLines, children }) {
18201
18225
  const elRef = useRef50(null);
18202
- const [hasMore, setHasMore] = useState43(false);
18203
- const [expanded, setExpanded] = useState43(false);
18226
+ const [hasMore, setHasMore] = useState44(false);
18227
+ const [expanded, setExpanded] = useState44(false);
18204
18228
  useLayoutEffect2(() => {
18205
18229
  if (!elRef.current) return;
18206
18230
  setHasMore(elRef.current.scrollHeight > elRef.current.clientHeight);
@@ -18221,7 +18245,7 @@ function MaxLines({ maxLines, children }) {
18221
18245
 
18222
18246
  // src/components/ScrollShadows.tsx
18223
18247
  import { useResizeObserver as useResizeObserver6 } from "@react-aria/utils";
18224
- import { useCallback as useCallback26, useMemo as useMemo47, useRef as useRef51, useState as useState44 } from "react";
18248
+ import { useCallback as useCallback26, useMemo as useMemo47, useRef as useRef51, useState as useState45 } from "react";
18225
18249
  import { jsx as jsx162, jsxs as jsxs83 } from "@emotion/react/jsx-runtime";
18226
18250
  function ScrollShadows(props) {
18227
18251
  const { children, xss, horizontal = false, bgColor = "rgba(255,255,255,1)" /* White */ } = props;
@@ -18230,8 +18254,8 @@ function ScrollShadows(props) {
18230
18254
  if (!bgColor.includes("rgba")) {
18231
18255
  throw new Error("ScrollShadows: bgColor prop must be in the format 'rgba(255, 255, 255, 1)'");
18232
18256
  }
18233
- const [showStartShadow, setShowStartShadow] = useState44(false);
18234
- const [showEndShadow, setShowEndShadow] = useState44(false);
18257
+ const [showStartShadow, setShowStartShadow] = useState45(false);
18258
+ const [showEndShadow, setShowEndShadow] = useState45(false);
18235
18259
  const scrollRef = useRef51(null);
18236
18260
  const [startShadowStyles, endShadowStyles] = useMemo47(() => {
18237
18261
  const transparentBgColor = bgColor.replace(/,1\)$/, ",0)");
@@ -18676,7 +18700,7 @@ var SuperDrawerContent = ({ children, actions }) => {
18676
18700
 
18677
18701
  // src/components/Tabs.tsx
18678
18702
  import { camelCase as camelCase5 } from "change-case";
18679
- import { useEffect as useEffect31, useMemo as useMemo49, useRef as useRef53, useState as useState45 } from "react";
18703
+ import { useEffect as useEffect31, useMemo as useMemo49, useRef as useRef53, useState as useState46 } from "react";
18680
18704
  import { mergeProps as mergeProps13, useFocusRing as useFocusRing15, useHover as useHover19 } from "react-aria";
18681
18705
  import { matchPath, Route } from "react-router";
18682
18706
  import { Link as Link5, useLocation } from "react-router-dom";
@@ -18722,7 +18746,7 @@ function Tabs(props) {
18722
18746
  ) : props.selected;
18723
18747
  const { isFocusVisible, focusProps } = useFocusRing15();
18724
18748
  const tid = useTestIds(others, "tabs");
18725
- const [active, setActive] = useState45(selected);
18749
+ const [active, setActive] = useState46(selected);
18726
18750
  const ref = useRef53(null);
18727
18751
  useEffect31(() => setActive(selected), [selected]);
18728
18752
  function onKeyUp(e) {