@homebound/beam 2.417.7 → 2.417.9

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.
@@ -8203,7 +8192,6 @@ function RowImpl(props) {
8203
8192
  const rowStyle = rowStyles?.[row.kind];
8204
8193
  const RowTag = as === "table" ? "tr" : "div";
8205
8194
  const sortOn = tableState.sortConfig?.on;
8206
- const revealOnRowHoverClass = "revealOnRowHover";
8207
8195
  const showRowHoverColor = !reservedRowKinds.includes(row.kind) && !omitRowHover && style.rowHoverColor !== "none";
8208
8196
  const rowStyleCellCss = maybeApplyFunction(row, rowStyle?.cellCss);
8209
8197
  const levelStyle = style.levels && (typeof style.levels === "function" ? style.levels(level) : style.levels[level]);
@@ -8233,11 +8221,7 @@ function RowImpl(props) {
8233
8221
  ...isLastBodyRow && style.lastRowCss,
8234
8222
  // Apply `cursorPointer` to the row if it has a link or `onClick` value.
8235
8223
  ...(rowStyle?.rowLink || rowStyle?.onClick) && { "&:hover": Css.cursorPointer.$ },
8236
- ...maybeApplyFunction(row, rowStyle?.rowCss),
8237
- ...{
8238
- [`> .${revealOnRowHoverClass} > *`]: Css.vh.$,
8239
- [`:hover > .${revealOnRowHoverClass} > *`]: Css.vv.$
8240
- }
8224
+ ...maybeApplyFunction(row, rowStyle?.rowCss)
8241
8225
  // keptLastRowCss is now applied per-cell in cellCss below
8242
8226
  };
8243
8227
  let currentColspan = 1;
@@ -8299,7 +8283,6 @@ function RowImpl(props) {
8299
8283
  };
8300
8284
  const maybeContent = applyRowFn(column2, row, rowApi, level, isExpanded, dragData);
8301
8285
  currentColspan = isGridCellContent(maybeContent) && typeof maybeContent.colspan === "number" ? maybeContent.colspan : isExpandableHeader ? numExpandedColumns + 1 : 1;
8302
- const revealOnRowHover = isGridCellContent(maybeContent) ? maybeContent.revealOnRowHover : false;
8303
8286
  const canSortColumn = sortOn === "client" && column2.clientSideSort !== false || sortOn === "server" && !!column2.serverSideSortKey;
8304
8287
  const alignment = getAlignment(column2, maybeContent);
8305
8288
  const justificationCss = getJustification(column2, maybeContent, as, alignment);
@@ -8389,20 +8372,10 @@ function RowImpl(props) {
8389
8372
  // If we have a 'levelIndent' defined, then subtract that amount from the first content column's width to ensure all columns will still line up properly
8390
8373
  width: `calc(${columnSizes.slice(columnIndex, columnIndex + currentColspan).join(" + ")}${applyFirstContentColumnStyles && levelIndent ? ` - ${levelIndent}px` : ""})`
8391
8374
  };
8392
- const cellClassNames = revealOnRowHover ? revealOnRowHoverClass : void 0;
8393
8375
  const cellOnClick = applyCellHighlight ? () => api.setActiveCellId(cellId) : void 0;
8394
8376
  const tooltip = isGridCellContent(maybeContent) ? maybeContent.tooltip : void 0;
8395
8377
  const renderFn = (rowStyle?.renderCell || rowStyle?.rowLink) && wrapAction ? rowLinkRenderFn(as, currentColspan) : isHeader || isTotals || isExpandableHeader ? headerRenderFn(column2, as, currentColspan) : rowStyle?.onClick && wrapAction ? rowClickRenderFn(as, api, currentColspan) : defaultRenderFn(as, currentColspan);
8396
- const cellElement = renderFn(
8397
- columnIndex,
8398
- cellCss,
8399
- content,
8400
- row,
8401
- rowStyle,
8402
- cellClassNames,
8403
- cellOnClick,
8404
- tooltip
8405
- );
8378
+ const cellElement = renderFn(columnIndex, cellCss, content, row, rowStyle, void 0, cellOnClick, tooltip);
8406
8379
  if (!disableColumnResizing && isHeader && columnIndex < columns.length - 1 && currentColspan === 1 && !column2.isAction) {
8407
8380
  const currentSizeStr = columnSizes[columnIndex];
8408
8381
  const minWidthPx = column2.mw ? parseInt(column2.mw.replace("px", ""), 10) : 100;
@@ -11953,7 +11926,6 @@ var radioDisabled = {
11953
11926
  };
11954
11927
 
11955
11928
  // src/inputs/RichTextField.tsx
11956
- import { Global as Global2 } from "@emotion/react";
11957
11929
  import DOMPurify from "dompurify";
11958
11930
  import { createElement, useEffect as useEffect17, useMemo as useMemo21, useRef as useRef31, useState as useState26 } from "react";
11959
11931
 
@@ -12066,7 +12038,7 @@ function RichTextFieldImpl(props) {
12066
12038
  if (!readOnly) {
12067
12039
  return /* @__PURE__ */ jsxs44("div", { css: Css.w100.if(!fullWidth).maxw("550px").$, children: [
12068
12040
  label && /* @__PURE__ */ jsx72(Label, { labelProps: {}, label }),
12069
- /* @__PURE__ */ jsxs44("div", { css: { ...Css.br4.bgWhite.$, ...trixCssOverrides }, children: [
12041
+ /* @__PURE__ */ jsxs44("div", { className: "beam-trix-editor", children: [
12070
12042
  /* @__PURE__ */ jsx72("input", { type: "hidden", id: `input-${id}`, value }),
12071
12043
  createElement("trix-editor", {
12072
12044
  id,
@@ -12075,8 +12047,7 @@ function RichTextFieldImpl(props) {
12075
12047
  ...autoFocus ? { autofocus: true } : {},
12076
12048
  ...placeholder ? { placeholder } : {}
12077
12049
  })
12078
- ] }),
12079
- /* @__PURE__ */ jsx72(Global2, { styles: [tributeOverrides] })
12050
+ ] })
12080
12051
  ] });
12081
12052
  } else {
12082
12053
  return /* @__PURE__ */ jsxs44("div", { css: Css.w100.if(!fullWidth).maxw("550px").$, children: [
@@ -12112,39 +12083,6 @@ function attachTributeJs(mergeTags, editorElement) {
12112
12083
  } catch {
12113
12084
  }
12114
12085
  }
12115
- var trixCssOverrides = {
12116
- ...Css.relative.add({ wordBreak: "break-word" }).br4.bcGray300.ba.$,
12117
- // Put the toolbar on the bottom
12118
- ...Css.df.fdcr.gap1.$,
12119
- // Some basic copy/paste from TextFieldBase
12120
- "& trix-editor": Css.bgWhite.sm.gray900.bn.p1.$,
12121
- // Highlight on focus
12122
- "&:focus-within": Css.bcBlue700.$,
12123
- "& trix-toolbar": Css.m1.$,
12124
- // Make the buttons closer to ours
12125
- "& .trix-button:not(:first-of-type)": Css.bn.$,
12126
- "& .trix-button-group": Css.bn.m0.$,
12127
- "& .trix-button": Css.bgWhite.sm.$,
12128
- // Height is hard-coded to 1.6 in trix, and the default width is wider than we want
12129
- "& .trix-button--icon": Css.w("1.6em").p0.mxPx(4).bn.$,
12130
- // icons are hard-coded svg's, so this is a simpler way to get lighter gray for now
12131
- "& .trix-button--icon::before": Css.add("opacity", "0.3").$,
12132
- // trix defaults to is active = blue bg - turn that off + make icon darker
12133
- "& .trix-button.trix-active": Css.bgWhite.add("opacity", "0.7").$,
12134
- // We don't support file attachment yet, so hide that control for now.
12135
- "& .trix-button-group--file-tools": Css.dn.$,
12136
- // Other things that are unused and we want to hide
12137
- "& .trix-button--icon-heading-1": Css.dn.$,
12138
- "& .trix-button--icon-code": Css.dn.$,
12139
- "& .trix-button--icon-quote": Css.dn.$,
12140
- "& .trix-button--icon-increase-nesting-level": Css.dn.$,
12141
- "& .trix-button--icon-decrease-nesting-level": Css.dn.$,
12142
- "& .trix-button-group--history-tools": Css.dn.$
12143
- };
12144
- var tributeOverrides = {
12145
- ".tribute-container": Css.add({ minWidth: "300px" }).$,
12146
- ".tribute-container > ul": Css.sm.bgWhite.ba.br4.bcBlue700.oh.$
12147
- };
12148
12086
  function extractIdsFromMentions(mergeTags, content) {
12149
12087
  return mergeTags.filter((tag) => content.includes(`@${tag}`));
12150
12088
  }
@@ -12197,6 +12135,7 @@ function Switch(props) {
12197
12135
  label,
12198
12136
  labelStyle = "inline",
12199
12137
  hideLabel = false,
12138
+ __storyState,
12200
12139
  ...otherProps
12201
12140
  } = props;
12202
12141
  const isDisabled = !!disabled;
@@ -12204,8 +12143,10 @@ function Switch(props) {
12204
12143
  const state = toToggleState(isSelected, onChange);
12205
12144
  const ref = useRef32(null);
12206
12145
  const { inputProps } = useSwitch({ ...ariaProps, "aria-label": label }, state, ref);
12207
- const { isFocusVisible: isKeyboardFocus, focusProps } = useFocusRing7(otherProps);
12208
- const { hoverProps, isHovered } = useHover13(ariaProps);
12146
+ const { isFocusVisible: isFocusVisibleFromEvents, focusProps } = useFocusRing7(otherProps);
12147
+ const { hoverProps, isHovered: isHoveredFromEvents } = useHover13(ariaProps);
12148
+ const isFocusVisible = __storyState?.focusVisible ?? isFocusVisibleFromEvents;
12149
+ const isHovered = __storyState?.hovered ?? isHoveredFromEvents;
12209
12150
  const tooltip = resolveTooltip(disabled, props.tooltip);
12210
12151
  const tid = useTestIds(otherProps, label);
12211
12152
  return /* @__PURE__ */ jsxs45(
@@ -12238,7 +12179,7 @@ function Switch(props) {
12238
12179
  css: {
12239
12180
  ...Css.wPx(toggleWidth(compact)).hPx(toggleHeight(compact)).bgGray200.br12.relative.transition.$,
12240
12181
  ...isHovered && switchHoverStyles,
12241
- ...isKeyboardFocus && switchFocusStyles,
12182
+ ...isFocusVisible && switchFocusStyles,
12242
12183
  ...isDisabled && Css.bgGray300.$,
12243
12184
  ...isSelected && Css.bgBlue700.$,
12244
12185
  ...isSelected && isHovered && switchSelectedHoverStyles
@@ -12405,7 +12346,7 @@ import { useFocusRing as useFocusRing8, useHover as useHover14, usePress, useSwi
12405
12346
  import { useToggleState as useToggleState3 } from "react-stately";
12406
12347
  import { jsx as jsx77, jsxs as jsxs46 } from "@emotion/react/jsx-runtime";
12407
12348
  function ToggleButton(props) {
12408
- const { selected: isSelected = false, disabled = false, label, onChange, icon, ...otherProps } = props;
12349
+ const { selected: isSelected = false, disabled = false, label, onChange, icon, __storyState, ...otherProps } = props;
12409
12350
  const [asyncInProgress, setAsyncInProgress] = useState27(false);
12410
12351
  const isDisabled = !!disabled || asyncInProgress;
12411
12352
  const ariaProps = { "aria-label": label, isSelected, isDisabled, ...otherProps };
@@ -12422,11 +12363,14 @@ function ToggleButton(props) {
12422
12363
  });
12423
12364
  const labelRef = useRef35(null);
12424
12365
  const ref = useRef35(null);
12425
- const tid = useTestIds(props, label);
12426
- const { isPressed, pressProps } = usePress({ ref: labelRef, isDisabled });
12366
+ const tid = useTestIds(otherProps, label);
12367
+ const { isPressed: isPressedFromEvents, pressProps } = usePress({ ref: labelRef, isDisabled });
12427
12368
  const { inputProps } = useSwitch2(ariaProps, state, ref);
12428
- const { isFocusVisible: isKeyboardFocus, focusProps } = useFocusRing8({ ...otherProps, within: true });
12429
- const { hoverProps, isHovered } = useHover14({ isDisabled });
12369
+ const { isFocusVisible: isFocusVisibleFromEvents, focusProps } = useFocusRing8({ ...otherProps, within: true });
12370
+ const { hoverProps, isHovered: isHoveredFromEvents } = useHover14({ isDisabled });
12371
+ const isHovered = __storyState?.hovered ?? isHoveredFromEvents;
12372
+ const isPressed = __storyState?.pressed ?? isPressedFromEvents;
12373
+ const isFocusVisible = __storyState?.focusVisible ?? isFocusVisibleFromEvents;
12430
12374
  const tooltip = resolveTooltip(disabled);
12431
12375
  const labelAttrs = {
12432
12376
  ...focusProps,
@@ -12437,7 +12381,7 @@ function ToggleButton(props) {
12437
12381
  ...isHovered && toggleHoverStyles,
12438
12382
  ...isPressed && togglePressStyles,
12439
12383
  ...isSelected && !isDisabled && Css.blue700.$,
12440
- ...isKeyboardFocus && toggleFocusStyles,
12384
+ ...isFocusVisible && toggleFocusStyles,
12441
12385
  ...isDisabled && Css.gray300.cursorNotAllowed.$
12442
12386
  },
12443
12387
  ...tid
@@ -14676,7 +14620,7 @@ function useSnackbarContext() {
14676
14620
  }
14677
14621
 
14678
14622
  // src/components/SuperDrawer/SuperDrawer.tsx
14679
- import { Global as Global3 } from "@emotion/react";
14623
+ import { Global as Global2 } from "@emotion/react";
14680
14624
  import { AnimatePresence, motion } from "framer-motion";
14681
14625
  import { useEffect as useEffect23, useRef as useRef42 } from "react";
14682
14626
  import { createPortal as createPortal3 } from "react-dom";
@@ -14712,7 +14656,7 @@ function SuperDrawer() {
14712
14656
  );
14713
14657
  return createPortal3(
14714
14658
  /* @__PURE__ */ jsx93(AnimatePresence, { children: content && /* @__PURE__ */ jsxs56(Fragment22, { children: [
14715
- /* @__PURE__ */ jsx93(Global3, { styles: { body: Css.oh.$ } }),
14659
+ /* @__PURE__ */ jsx93(Global2, { styles: { body: Css.oh.$ } }),
14716
14660
  /* @__PURE__ */ createElement2(
14717
14661
  motion.div,
14718
14662
  {
@@ -14750,7 +14694,7 @@ function SuperDrawer() {
14750
14694
  }
14751
14695
 
14752
14696
  // 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";
14697
+ import React16, { createRef, useCallback as useCallback22, useEffect as useEffect24, useMemo as useMemo34, useRef as useRef43, useState as useState38 } from "react";
14754
14698
  import { useButton as useButton9, useFocusRing as useFocusRing11 } from "react-aria";
14755
14699
 
14756
14700
  // src/forms/BoundCheckboxField.tsx
@@ -15644,17 +15588,18 @@ function FormLines(props) {
15644
15588
  {
15645
15589
  css: {
15646
15590
  // 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).$
15591
+ ...Css.w(sizes[width2]).$
15650
15592
  },
15651
15593
  children: Children.map(children, (child) => {
15594
+ if (child === null || child === void 0 || typeof child === "boolean") {
15595
+ return child;
15596
+ }
15652
15597
  if (child && typeof child === "object" && "type" in child && child.type.isFormHeading) {
15653
15598
  const clone = cloneElement(child, { isFirst: firstFormHeading });
15654
15599
  firstFormHeading = false;
15655
- return clone;
15600
+ return /* @__PURE__ */ jsx114("div", { css: Css.mb(gap).$, children: clone });
15656
15601
  } else {
15657
- return child;
15602
+ return /* @__PURE__ */ jsx114("div", { css: Css.mb(gap).$, children: child });
15658
15603
  }
15659
15604
  })
15660
15605
  }
@@ -15820,7 +15765,7 @@ function boundTreeSelectField(props) {
15820
15765
  }
15821
15766
 
15822
15767
  // src/components/internal/CompoundField.tsx
15823
- import { cloneElement as cloneElement2 } from "react";
15768
+ import { cloneElement as cloneElement2, useState as useState34 } from "react";
15824
15769
  import { jsx as jsx116, jsxs as jsxs59 } from "@emotion/react/jsx-runtime";
15825
15770
  function CompoundField({ children }) {
15826
15771
  if (children?.length !== 2) {
@@ -15828,45 +15773,46 @@ function CompoundField({ children }) {
15828
15773
  }
15829
15774
  const commonStyles = Css.df.aic.fs1.maxwPx(550).bt.bb.bcGray300.$;
15830
15775
  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
- ]
15776
+ const [hasFocusWithin, setHasFocusWithin] = useState34(false);
15777
+ function onFocusCapture() {
15778
+ setHasFocusWithin(true);
15779
+ }
15780
+ function onBlurCapture(e) {
15781
+ const nextFocusedElement = e.relatedTarget;
15782
+ if (nextFocusedElement instanceof Node && e.currentTarget.contains(nextFocusedElement)) {
15783
+ return;
15868
15784
  }
15869
- );
15785
+ setHasFocusWithin(false);
15786
+ }
15787
+ return /* @__PURE__ */ jsxs59("div", { css: Css.df.$, onFocusCapture, onBlurCapture, children: [
15788
+ /* @__PURE__ */ jsx116(
15789
+ "div",
15790
+ {
15791
+ css: {
15792
+ ...commonStyles,
15793
+ ...Css.bl.borderRadius("4px 0 0 4px").$,
15794
+ "&:focus-within": Css.bcBlue700.$
15795
+ },
15796
+ children: cloneElement2(children[0], {
15797
+ internalProps
15798
+ })
15799
+ }
15800
+ ),
15801
+ /* @__PURE__ */ jsx116("div", { css: { ...Css.wPx(1).fn.bgGray300.$, ...hasFocusWithin && Css.bgBlue700.$ } }),
15802
+ /* @__PURE__ */ jsx116(
15803
+ "div",
15804
+ {
15805
+ css: {
15806
+ ...commonStyles,
15807
+ ...Css.fg1.br.borderRadius("0 4px 4px 0").$,
15808
+ "&:focus-within": Css.bcBlue700.$
15809
+ },
15810
+ children: cloneElement2(children[1], {
15811
+ internalProps
15812
+ })
15813
+ }
15814
+ )
15815
+ ] });
15870
15816
  }
15871
15817
 
15872
15818
  // src/forms/BoundSelectAndTextField.tsx
@@ -15962,11 +15908,11 @@ import { useDebouncedCallback as useDebouncedCallback5 } from "use-debounce";
15962
15908
 
15963
15909
  // src/components/RightSidebar.tsx
15964
15910
  import { AnimatePresence as AnimatePresence2, motion as motion2 } from "framer-motion";
15965
- import { useState as useState34 } from "react";
15911
+ import { useState as useState35 } from "react";
15966
15912
  import { Fragment as Fragment24, jsx as jsx121, jsxs as jsxs62 } from "@emotion/react/jsx-runtime";
15967
15913
  var RIGHT_SIDEBAR_MIN_WIDTH = "250px";
15968
15914
  function RightSidebar({ content, headerHeightPx: headerHeightPx2 }) {
15969
- const [selectedIcon, setSelectedIcon] = useState34(void 0);
15915
+ const [selectedIcon, setSelectedIcon] = useState35(void 0);
15970
15916
  const tid = useTestIds({}, "rightSidebar");
15971
15917
  return /* @__PURE__ */ jsxs62(Fragment24, { children: [
15972
15918
  /* @__PURE__ */ jsx121("div", { css: Css.df.jcfe.absolute.right0.pr3.$, children: /* @__PURE__ */ jsx121(AnimatePresence2, { children: !selectedIcon && /* @__PURE__ */ jsx121(
@@ -16027,7 +15973,7 @@ function IconButtonList({ content, selectedIcon, onIconClick }) {
16027
15973
  }
16028
15974
 
16029
15975
  // src/components/Toast/ToastContext.tsx
16030
- import { createContext as createContext5, useCallback as useCallback21, useContext as useContext14, useMemo as useMemo32, useState as useState35 } from "react";
15976
+ import { createContext as createContext5, useCallback as useCallback21, useContext as useContext14, useMemo as useMemo32, useState as useState36 } from "react";
16031
15977
  import { jsx as jsx122 } from "@emotion/react/jsx-runtime";
16032
15978
  var ToastContext = createContext5({
16033
15979
  setNotice: () => {
@@ -16038,7 +15984,7 @@ var ToastContext = createContext5({
16038
15984
  notice: void 0
16039
15985
  });
16040
15986
  function ToastProvider(props) {
16041
- const [notice, setNotice] = useState35();
15987
+ const [notice, setNotice] = useState36();
16042
15988
  const clear = useCallback21(() => setNotice(void 0), [setNotice]);
16043
15989
  const contextValue = useMemo32(() => ({ setNotice, notice, clear }), [notice, clear]);
16044
15990
  return /* @__PURE__ */ jsx122(ToastContext.Provider, { value: contextValue, children: props.children });
@@ -16056,13 +16002,13 @@ function Toast() {
16056
16002
  }
16057
16003
 
16058
16004
  // src/components/Layout/PageHeaderBreadcrumbs.tsx
16059
- import { Fragment as Fragment26, useMemo as useMemo33, useState as useState36 } from "react";
16005
+ import { Fragment as Fragment26, useMemo as useMemo33, useState as useState37 } from "react";
16060
16006
  import { Link as Link4 } from "react-router-dom";
16061
16007
  import { Fragment as Fragment27, jsx as jsx124, jsxs as jsxs63 } from "@emotion/react/jsx-runtime";
16062
16008
  function PageHeaderBreadcrumbs({ breadcrumb }) {
16063
16009
  const tids = useTestIds({}, "pageHeaderBreadcrumbs");
16064
16010
  const breadcrumbs = useMemo33(() => Array.isArray(breadcrumb) ? breadcrumb : [breadcrumb], [breadcrumb]);
16065
- const [collapsed, setCollapsed] = useState36(true);
16011
+ const [collapsed, setCollapsed] = useState37(true);
16066
16012
  function renderBreadcrumb(bc, index, hideDivisor) {
16067
16013
  return (
16068
16014
  // Adding index to key to prevent rendering issues when multiple items have the same label
@@ -16226,7 +16172,7 @@ function SectionNavLink(props) {
16226
16172
  );
16227
16173
  }
16228
16174
  function useActiveSection(sectionsWithRefs) {
16229
- const [activeSection, setActiveSection] = useState37(null);
16175
+ const [activeSection, setActiveSection] = useState38(null);
16230
16176
  const debouncedIntersectionCallback = useDebouncedCallback5(
16231
16177
  (entries) => {
16232
16178
  const sectionsInView = entries.filter((entry) => entry.isIntersecting && entry.intersectionRatio > 0.2).sort((a, b) => {
@@ -16283,7 +16229,7 @@ function FullBleed({ children, omitPadding = false }) {
16283
16229
  }
16284
16230
 
16285
16231
  // src/components/Layout/GridTableLayout/GridTableLayout.tsx
16286
- import React17, { useEffect as useEffect27, useMemo as useMemo38, useState as useState40 } from "react";
16232
+ import React17, { useEffect as useEffect27, useMemo as useMemo38, useState as useState41 } from "react";
16287
16233
 
16288
16234
  // src/components/ButtonMenu.tsx
16289
16235
  import { useRef as useRef44 } from "react";
@@ -16335,7 +16281,7 @@ function isSelectionButtonMenuProps(props) {
16335
16281
  }
16336
16282
 
16337
16283
  // src/components/Filters/FilterDropdownMenu.tsx
16338
- import { memo as memo2, useMemo as useMemo36, useState as useState39 } from "react";
16284
+ import { memo as memo2, useMemo as useMemo36, useState as useState40 } from "react";
16339
16285
 
16340
16286
  // src/components/CountBadge.tsx
16341
16287
  import { jsx as jsx127 } from "@emotion/react/jsx-runtime";
@@ -16720,7 +16666,7 @@ var CheckboxFilter = class extends BaseFilter {
16720
16666
  };
16721
16667
 
16722
16668
  // src/components/Filters/FilterModal.tsx
16723
- import { useState as useState38 } from "react";
16669
+ import { useState as useState39 } from "react";
16724
16670
 
16725
16671
  // src/components/Modal/OpenModal.tsx
16726
16672
  import { useEffect as useEffect25 } from "react";
@@ -16746,7 +16692,7 @@ function FilterModal(props) {
16746
16692
  const { filter, filters, onApply } = props;
16747
16693
  const testId = useTestIds(props, filterTestIdPrefix);
16748
16694
  const { closeModal } = useModal();
16749
- const [modalFilter, setModalFilter] = useState38(filter);
16695
+ const [modalFilter, setModalFilter] = useState39(filter);
16750
16696
  return /* @__PURE__ */ jsxs68(Fragment31, { children: [
16751
16697
  /* @__PURE__ */ jsx137(ModalHeader, { children: "More Filters" }),
16752
16698
  /* @__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 +16847,7 @@ import { Fragment as Fragment32, jsx as jsx140, jsxs as jsxs70 } from "@emotion/
16901
16847
  function FilterDropdownMenu(props) {
16902
16848
  const { filter, onChange, filterDefs, groupBy } = props;
16903
16849
  const testId = useTestIds(props, filterTestIdPrefix);
16904
- const [isOpen, setIsOpen] = useState39(false);
16850
+ const [isOpen, setIsOpen] = useState40(false);
16905
16851
  const activeFilterCount = useMemo36(() => getActiveFilterCount(filter), [filter]);
16906
16852
  const filterImpls = useMemo36(() => buildFilterImpls(filterDefs), [filterDefs]);
16907
16853
  const renderFilters = () => {
@@ -17326,7 +17272,7 @@ function useGridTableLayoutState({
17326
17272
  const filterFallback = { filterDefs: {}, storageKey: "unset-filter" };
17327
17273
  const { filter, setFilter } = usePersistedFilter(persistedFilter ?? filterFallback);
17328
17274
  const groupBy = useGroupBy(maybeGroupBy ?? { none: "none" });
17329
- const [searchString, setSearchString] = useState40("");
17275
+ const [searchString, setSearchString] = useState41("");
17330
17276
  const columnsFallback = "unset-columns";
17331
17277
  const [visibleColumnIds, setVisibleColumnIds] = useSessionStorage(
17332
17278
  persistedColumns?.storageKey ?? columnsFallback,
@@ -17339,7 +17285,7 @@ function useGridTableLayoutState({
17339
17285
  100
17340
17286
  // default page size
17341
17287
  );
17342
- const [page, setPage] = useState40({
17288
+ const [page, setPage] = useState41({
17343
17289
  offset: 0,
17344
17290
  limit: persistedPageSize
17345
17291
  });
@@ -17382,7 +17328,7 @@ function Header2(props) {
17382
17328
  }
17383
17329
  function SearchBox({ onSearch }) {
17384
17330
  const [{ search: initialValue }, setQueryParams] = useQueryParams3({ search: StringParam2 });
17385
- const [value, setValue] = useState40(initialValue || "");
17331
+ const [value, setValue] = useState41(initialValue || "");
17386
17332
  const [debouncedSearch] = useDebounce2(value, 300);
17387
17333
  useEffect27(() => {
17388
17334
  onSearch(debouncedSearch);
@@ -17414,7 +17360,7 @@ function PreventBrowserScroll({ children }) {
17414
17360
  }
17415
17361
 
17416
17362
  // src/components/Layout/RightPaneLayout/RightPaneContext.tsx
17417
- import React18, { useCallback as useCallback23, useContext as useContext15, useMemo as useMemo39, useState as useState41 } from "react";
17363
+ import React18, { useCallback as useCallback23, useContext as useContext15, useMemo as useMemo39, useState as useState42 } from "react";
17418
17364
  import { jsx as jsx148 } from "@emotion/react/jsx-runtime";
17419
17365
  var RightPaneContext = React18.createContext({
17420
17366
  openInPane: () => {
@@ -17427,8 +17373,8 @@ var RightPaneContext = React18.createContext({
17427
17373
  rightPaneContent: null
17428
17374
  });
17429
17375
  function RightPaneProvider({ children }) {
17430
- const [rightPaneContent, setRightPaneContent] = useState41(void 0);
17431
- const [isRightPaneOpen, setIsRightPaneOpen] = useState41(false);
17376
+ const [rightPaneContent, setRightPaneContent] = useState42(void 0);
17377
+ const [isRightPaneOpen, setIsRightPaneOpen] = useState42(false);
17432
17378
  const openInPane = useCallback23(
17433
17379
  (opts) => {
17434
17380
  setRightPaneContent(opts?.content);
@@ -17613,19 +17559,43 @@ function ButtonGroup(props) {
17613
17559
  // Adding `line-height: 0` prevent inheriting line-heights that might throw off sizing within the button group.
17614
17560
  /* @__PURE__ */ jsx152("div", { ...tid, css: Css.df.lh(0).add({ ...sizeStyles2[size] }).$, children: buttons.map(({ disabled: buttonDisabled, ...buttonProps }, i) => (
17615
17561
  // 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)
17562
+ /* @__PURE__ */ jsx152(
17563
+ GroupButton,
17564
+ {
17565
+ ...buttonProps,
17566
+ disabled: disabled || buttonDisabled,
17567
+ size,
17568
+ isFirst: i === 0,
17569
+ isLast: i === buttons.length - 1,
17570
+ ...tid
17571
+ },
17572
+ i
17573
+ )
17617
17574
  )) })
17618
17575
  );
17619
17576
  }
17620
17577
  function GroupButton(props) {
17621
- const { icon, iconInc, iconColor, text, active, onClick: onPress, disabled, size, tooltip, ...otherProps } = props;
17578
+ const {
17579
+ icon,
17580
+ iconInc,
17581
+ iconColor,
17582
+ text,
17583
+ active,
17584
+ onClick: onPress,
17585
+ disabled,
17586
+ size,
17587
+ tooltip,
17588
+ isFirst,
17589
+ isLast,
17590
+ ...otherProps
17591
+ } = props;
17622
17592
  const ariaProps = { onPress, isDisabled: !!disabled, ...otherProps };
17623
17593
  const ref = useRef47(null);
17624
17594
  const { buttonProps, isPressed } = useButton10(ariaProps, ref);
17625
17595
  const { isFocusVisible, focusProps } = useFocusRing12();
17626
17596
  const { hoverProps, isHovered } = useHover15(ariaProps);
17627
17597
  const tid = useTestIds(props);
17628
- return /* @__PURE__ */ jsx152("span", { css: getButtonStyles2(), children: maybeTooltip({
17598
+ return /* @__PURE__ */ jsx152("span", { css: getButtonStyles2(isFirst, isLast), children: maybeTooltip({
17629
17599
  title: resolveTooltip(disabled, tooltip),
17630
17600
  placement: "top",
17631
17601
  children: /* @__PURE__ */ jsxs78(
@@ -17656,15 +17626,15 @@ var pressedStyles = Css.bgGray200.$;
17656
17626
  var activeStyles3 = Css.bgGray300.$;
17657
17627
  var hoverStyles3 = Css.bgGray100.$;
17658
17628
  var defaultFocusRingStyles2 = Css.relative.z2.bshFocus.$;
17659
- function getButtonStyles2() {
17629
+ function getButtonStyles2(isFirst, isLast) {
17660
17630
  return {
17661
17631
  ...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).$
17632
+ // Our first button should have a rounded left border.
17633
+ ...isFirst && Css.add("borderRadius", "4px 0 0 4px").$,
17634
+ // Our last button should have a rounded right border.
17635
+ ...isLast && Css.add("borderRadius", "0 4px 4px 0").$,
17636
+ // Nudge buttons one pixel to the left so they visually share a border.
17637
+ ...!isFirst && Css.mlPx(-1).$
17668
17638
  };
17669
17639
  }
17670
17640
  var sizeStyles2 = {
@@ -17684,13 +17654,13 @@ import { useHover as useHover16 } from "react-aria";
17684
17654
 
17685
17655
  // src/components/Tag.tsx
17686
17656
  import { useResizeObserver as useResizeObserver4 } from "@react-aria/utils";
17687
- import { useRef as useRef48, useState as useState42 } from "react";
17657
+ import { useRef as useRef48, useState as useState43 } from "react";
17688
17658
  import { jsx as jsx153, jsxs as jsxs79 } from "@emotion/react/jsx-runtime";
17689
17659
  function Tag(props) {
17690
17660
  const { text, type, xss, preventTooltip = false, ...otherProps } = props;
17691
17661
  const typeStyles2 = getStyles(type);
17692
17662
  const tid = useTestIds(otherProps);
17693
- const [showTooltip, setShowTooltip] = useState42(false);
17663
+ const [showTooltip, setShowTooltip] = useState43(false);
17694
17664
  const ref = useRef48(null);
17695
17665
  useResizeObserver4({
17696
17666
  ref,
@@ -17794,9 +17764,9 @@ function Copy(props) {
17794
17764
  return /* @__PURE__ */ jsx155(
17795
17765
  "div",
17796
17766
  {
17767
+ className: "beam-copy",
17797
17768
  css: {
17798
- ...Css.sm.gray700.mt2.mb3.wPx(480).$,
17799
- "& > p": Css.my2.$
17769
+ ...Css.sm.gray700.mt2.mb3.wPx(480).$
17800
17770
  },
17801
17771
  children: props.children
17802
17772
  }
@@ -17829,6 +17799,7 @@ function DnDGrid(props) {
17829
17799
  const reorderViaKeyboard = useRef49(false);
17830
17800
  const transformFrom = useRef49({ x: 0, y: 0 });
17831
17801
  const tid = useTestIds(props, "dndGrid");
17802
+ const activeStyles4 = activeItemStyles ?? Css.bshModal.$;
17832
17803
  const getGridItems = useCallback24(() => {
17833
17804
  return gridEl.current ? Array.from(gridEl.current.querySelectorAll(`[${gridItemIdKey}]`)) : [];
17834
17805
  }, []);
@@ -17838,19 +17809,19 @@ function DnDGrid(props) {
17838
17809
  const initReorder = useCallback24(() => {
17839
17810
  if (gridEl.current && dragEl.current) {
17840
17811
  initialOrder.current = getGridItemIdOrder();
17841
- dragEl.current.classList.add(activeGridItemClass);
17812
+ setInlineStyles(dragEl.current, activeStyles4);
17842
17813
  }
17843
- }, [getGridItemIdOrder]);
17814
+ }, [getGridItemIdOrder, activeStyles4]);
17844
17815
  const commitReorder = useCallback24(() => {
17845
17816
  if (gridEl.current && dragEl.current) {
17846
17817
  const currentOrder = getGridItemIdOrder();
17847
17818
  if (!equal2(currentOrder, initialOrder.current)) onReorder(currentOrder);
17848
- dragEl.current.classList.remove(activeGridItemClass);
17819
+ clearInlineStyles(dragEl.current, activeStyles4);
17849
17820
  dragEl.current = void 0;
17850
17821
  reorderViaKeyboard.current = false;
17851
17822
  initialOrder.current = currentOrder;
17852
17823
  }
17853
- }, [onReorder, getGridItemIdOrder]);
17824
+ }, [onReorder, getGridItemIdOrder, activeStyles4]);
17854
17825
  const cancelReorder = useCallback24(() => {
17855
17826
  if (gridEl.current && dragEl.current && initialOrder.current) {
17856
17827
  const currentOrder = getGridItemIdOrder();
@@ -17868,11 +17839,11 @@ function DnDGrid(props) {
17868
17839
  }
17869
17840
  }
17870
17841
  }
17871
- dragEl.current.classList.remove(activeGridItemClass);
17842
+ clearInlineStyles(dragEl.current, activeStyles4);
17872
17843
  dragEl.current = void 0;
17873
17844
  reorderViaKeyboard.current = false;
17874
17845
  }
17875
- }, [getGridItemIdOrder, getGridItems]);
17846
+ }, [getGridItemIdOrder, getGridItems, activeStyles4]);
17876
17847
  const onMove = useCallback24((e) => {
17877
17848
  if (!reorderViaKeyboard.current && dragEl.current && cloneEl.current && gridEl.current) {
17878
17849
  const clientX = "clientX" in e ? e.clientX : e.touches[0].clientX;
@@ -17911,18 +17882,21 @@ function DnDGrid(props) {
17911
17882
  );
17912
17883
  cloneEl.current?.setAttribute(gridCloneKey, "true");
17913
17884
  cloneEl.current.removeAttribute("id");
17914
- cloneEl.current?.classList.remove(activeGridItemClass);
17915
17885
  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
- );
17886
+ dragEl.current.style.pointerEvents = "none";
17887
+ dragEl.current.style.position = "fixed";
17888
+ dragEl.current.style.zIndex = "9999";
17889
+ dragEl.current.style.top = `${top}px`;
17890
+ dragEl.current.style.left = `${left}px`;
17891
+ dragEl.current.style.width = `${rect.width}px`;
17892
+ dragEl.current.style.height = `${rect.height}px`;
17893
+ setInlineStyles(dragEl.current, activeStyles4);
17920
17894
  gridEl.current.style.cursor = "grabbing";
17921
17895
  gridEl.current.addEventListener("mousemove", onMove);
17922
17896
  gridEl.current.addEventListener("touchmove", onMove);
17923
17897
  }
17924
17898
  },
17925
- [initReorder, onMove]
17899
+ [initReorder, onMove, activeStyles4]
17926
17900
  );
17927
17901
  const onDragEnd = useCallback24(
17928
17902
  (e) => {
@@ -17996,7 +17970,7 @@ function DnDGrid(props) {
17996
17970
  {
17997
17971
  ref: gridEl,
17998
17972
  css: {
17999
- ...Css.ctis.dg.addIn(`& .${activeGridItemClass}`, activeItemStyles ?? Css.bshModal.$).$,
17973
+ ...Css.ctis.dg.$,
18000
17974
  ...gridStyles
18001
17975
  },
18002
17976
  onTouchStart: onDragStart,
@@ -18010,7 +17984,6 @@ function DnDGrid(props) {
18010
17984
  }
18011
17985
  var gridItemIdKey = "dndgrid-itemid";
18012
17986
  var gridCloneKey = "dndgrid-clone";
18013
- var activeGridItemClass = "dndgrid-active";
18014
17987
 
18015
17988
  // src/components/DnDGrid/DnDGridItemHandle.tsx
18016
17989
  import { mergeProps as mergeProps12, useFocusRing as useFocusRing13, useHover as useHover17 } from "react-aria";
@@ -18195,12 +18168,12 @@ function HbSpinnerProvider({ quips = [], children }) {
18195
18168
 
18196
18169
  // src/components/MaxLines.tsx
18197
18170
  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";
18171
+ import { useCallback as useCallback25, useEffect as useEffect29, useRef as useRef50, useState as useState44 } from "react";
18199
18172
  import { jsx as jsx161, jsxs as jsxs82 } from "@emotion/react/jsx-runtime";
18200
18173
  function MaxLines({ maxLines, children }) {
18201
18174
  const elRef = useRef50(null);
18202
- const [hasMore, setHasMore] = useState43(false);
18203
- const [expanded, setExpanded] = useState43(false);
18175
+ const [hasMore, setHasMore] = useState44(false);
18176
+ const [expanded, setExpanded] = useState44(false);
18204
18177
  useLayoutEffect2(() => {
18205
18178
  if (!elRef.current) return;
18206
18179
  setHasMore(elRef.current.scrollHeight > elRef.current.clientHeight);
@@ -18221,7 +18194,7 @@ function MaxLines({ maxLines, children }) {
18221
18194
 
18222
18195
  // src/components/ScrollShadows.tsx
18223
18196
  import { useResizeObserver as useResizeObserver6 } from "@react-aria/utils";
18224
- import { useCallback as useCallback26, useMemo as useMemo47, useRef as useRef51, useState as useState44 } from "react";
18197
+ import { useCallback as useCallback26, useMemo as useMemo47, useRef as useRef51, useState as useState45 } from "react";
18225
18198
  import { jsx as jsx162, jsxs as jsxs83 } from "@emotion/react/jsx-runtime";
18226
18199
  function ScrollShadows(props) {
18227
18200
  const { children, xss, horizontal = false, bgColor = "rgba(255,255,255,1)" /* White */ } = props;
@@ -18230,8 +18203,8 @@ function ScrollShadows(props) {
18230
18203
  if (!bgColor.includes("rgba")) {
18231
18204
  throw new Error("ScrollShadows: bgColor prop must be in the format 'rgba(255, 255, 255, 1)'");
18232
18205
  }
18233
- const [showStartShadow, setShowStartShadow] = useState44(false);
18234
- const [showEndShadow, setShowEndShadow] = useState44(false);
18206
+ const [showStartShadow, setShowStartShadow] = useState45(false);
18207
+ const [showEndShadow, setShowEndShadow] = useState45(false);
18235
18208
  const scrollRef = useRef51(null);
18236
18209
  const [startShadowStyles, endShadowStyles] = useMemo47(() => {
18237
18210
  const transparentBgColor = bgColor.replace(/,1\)$/, ",0)");
@@ -18676,7 +18649,7 @@ var SuperDrawerContent = ({ children, actions }) => {
18676
18649
 
18677
18650
  // src/components/Tabs.tsx
18678
18651
  import { camelCase as camelCase5 } from "change-case";
18679
- import { useEffect as useEffect31, useMemo as useMemo49, useRef as useRef53, useState as useState45 } from "react";
18652
+ import { useEffect as useEffect31, useMemo as useMemo49, useRef as useRef53, useState as useState46 } from "react";
18680
18653
  import { mergeProps as mergeProps13, useFocusRing as useFocusRing15, useHover as useHover19 } from "react-aria";
18681
18654
  import { matchPath, Route } from "react-router";
18682
18655
  import { Link as Link5, useLocation } from "react-router-dom";
@@ -18722,7 +18695,7 @@ function Tabs(props) {
18722
18695
  ) : props.selected;
18723
18696
  const { isFocusVisible, focusProps } = useFocusRing15();
18724
18697
  const tid = useTestIds(others, "tabs");
18725
- const [active, setActive] = useState45(selected);
18698
+ const [active, setActive] = useState46(selected);
18726
18699
  const ref = useRef53(null);
18727
18700
  useEffect31(() => setActive(selected), [selected]);
18728
18701
  function onKeyUp(e) {