@uniformdev/design-system 19.202.0 → 19.202.1-alpha.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/esm/index.js CHANGED
@@ -1540,11 +1540,12 @@ function Tooltip({
1540
1540
  children,
1541
1541
  title: title2,
1542
1542
  placement = "bottom",
1543
+ gutter,
1543
1544
  visible,
1544
1545
  withoutPortal = false,
1545
1546
  ...props
1546
1547
  }) {
1547
- const tooltip = useTooltipState({ placement });
1548
+ const tooltip = useTooltipState({ placement, gutter });
1548
1549
  return !title2 ? children : /* @__PURE__ */ jsxs5(Fragment2, { children: [
1549
1550
  /* @__PURE__ */ jsx12(TooltipReference, { ...tooltip, ...children.props, children: (referenceProps) => React3.cloneElement(children, referenceProps) }),
1550
1551
  /* @__PURE__ */ jsxs5(
@@ -11789,6 +11790,9 @@ var AnimationFile = ({
11789
11790
  );
11790
11791
  };
11791
11792
 
11793
+ // src/components/Avatar/Avatar.tsx
11794
+ import { CgProfile } from "@react-icons/all-files/cg/CgProfile";
11795
+
11792
11796
  // src/components/Avatar/Avatar.styles.ts
11793
11797
  import { css as css18 } from "@emotion/react";
11794
11798
  var avatarStyles = css18`
@@ -11833,7 +11837,7 @@ var avatarSize2xlStyles = css18`
11833
11837
  `;
11834
11838
 
11835
11839
  // src/components/Avatar/Avatar.tsx
11836
- import { jsx as jsx20, jsxs as jsxs7 } from "@emotion/react/jsx-runtime";
11840
+ import { Fragment as Fragment4, jsx as jsx20, jsxs as jsxs7 } from "@emotion/react/jsx-runtime";
11837
11841
  var avatarSizeStylesMap = {
11838
11842
  "2xs": avatarSize2xsStyles,
11839
11843
  xs: avatarSizeXsStyles,
@@ -11845,10 +11849,11 @@ var avatarSizeStylesMap = {
11845
11849
  };
11846
11850
  var Avatar = ({ src, label = "", children, size = "md", as = "div", ...props }) => {
11847
11851
  const Element = as;
11848
- return /* @__PURE__ */ jsx20(Tooltip, { title: label, children: /* @__PURE__ */ jsxs7(Element, { css: [avatarStyles, avatarSizeStylesMap[size]], ...props, children: [
11849
- !src ? null : /* @__PURE__ */ jsx20("img", { role: "presentation", src, css: avatarImageStyles }),
11852
+ const body = /* @__PURE__ */ jsx20(Fragment4, { children: /* @__PURE__ */ jsxs7(Element, { css: [avatarStyles, avatarSizeStylesMap[size]], ...props, children: [
11853
+ src ? /* @__PURE__ */ jsx20("img", { role: "presentation", src, css: avatarImageStyles }) : children ? null : /* @__PURE__ */ jsx20(CgProfile, { css: avatarImageStyles }),
11850
11854
  children
11851
11855
  ] }) });
11856
+ return src || children ? /* @__PURE__ */ jsx20(Tooltip, { title: label, children: body }) : body;
11852
11857
  };
11853
11858
 
11854
11859
  // src/components/Avatar/AvatarGroup.styles.ts
@@ -11882,10 +11887,13 @@ var AvatarGroup = ({
11882
11887
  getTruncatedLabel = defaultGetTruncatedLabel,
11883
11888
  ...props
11884
11889
  }) => {
11890
+ if (max < 2) {
11891
+ throw new Error("max must be 2 or more");
11892
+ }
11885
11893
  const numberOfChildren = children.length;
11886
- const clampedMax = Math.max(max, 1);
11887
- const numberOfTruncatedItems = numberOfChildren <= clampedMax ? 0 : numberOfChildren - clampedMax;
11888
- const numberOfItemsToRender = numberOfTruncatedItems ? clampedMax - 1 : void 0;
11894
+ const numberOfTruncatedItems = numberOfChildren <= max ? 0 : numberOfChildren - max + 1;
11895
+ const numberOfItemsToRender = numberOfTruncatedItems ? Math.min(numberOfChildren, max - 1) : void 0;
11896
+ const childrenToRender = children.slice(0, numberOfItemsToRender);
11889
11897
  return /* @__PURE__ */ jsxs8(
11890
11898
  "div",
11891
11899
  {
@@ -11895,7 +11903,7 @@ var AvatarGroup = ({
11895
11903
  ],
11896
11904
  ...props,
11897
11905
  children: [
11898
- children,
11906
+ childrenToRender,
11899
11907
  !numberOfTruncatedItems ? null : /* @__PURE__ */ jsxs8(Avatar, { label: getTruncatedLabel(numberOfTruncatedItems), style: { display: "flex" }, children: [
11900
11908
  "+",
11901
11909
  numberOfTruncatedItems
@@ -12495,7 +12503,7 @@ var menuTriggerStyles = css26`
12495
12503
  border: none;
12496
12504
  background: transparent;
12497
12505
  padding: var(--spacing-xs);
12498
- color: var(--gray-500);
12506
+ color: var(--gray-600);
12499
12507
  transition: color var(--duration-fast) var(--timing-ease-out);
12500
12508
 
12501
12509
  &:focus,
@@ -13451,7 +13459,11 @@ var InputKeywordSearch = forwardRef8(
13451
13459
  }
13452
13460
  };
13453
13461
  const handleClear = () => {
13454
- onClear ? onClear() : onSearchTextChanged("");
13462
+ if (onClear) {
13463
+ onClear();
13464
+ } else {
13465
+ onSearchTextChanged("");
13466
+ }
13455
13467
  };
13456
13468
  return /* @__PURE__ */ jsx43(
13457
13469
  Input,
@@ -13508,7 +13520,7 @@ var DebouncedInputKeywordSearch = forwardRef8(
13508
13520
 
13509
13521
  // src/components/Input/InputSelect.tsx
13510
13522
  import { forwardRef as forwardRef9 } from "react";
13511
- import { Fragment as Fragment4, jsx as jsx44, jsxs as jsxs23 } from "@emotion/react/jsx-runtime";
13523
+ import { Fragment as Fragment5, jsx as jsx44, jsxs as jsxs23 } from "@emotion/react/jsx-runtime";
13512
13524
  var InputSelect = forwardRef9(
13513
13525
  ({
13514
13526
  label,
@@ -13531,7 +13543,7 @@ var InputSelect = forwardRef9(
13531
13543
  css: [inputContainer, typeof classNameContainer === "object" ? classNameContainer : void 0],
13532
13544
  className: typeof classNameContainer === "string" ? classNameContainer : "",
13533
13545
  children: [
13534
- showLabel ? /* @__PURE__ */ jsx44(Fragment4, { children: /* @__PURE__ */ jsxs23(
13546
+ showLabel ? /* @__PURE__ */ jsx44(Fragment5, { children: /* @__PURE__ */ jsxs23(
13535
13547
  Label,
13536
13548
  {
13537
13549
  htmlFor: props.id,
@@ -13810,10 +13822,10 @@ var SuccessMessage = ({ message, testId, ...props }) => {
13810
13822
 
13811
13823
  // src/components/Input/Textarea.tsx
13812
13824
  import { forwardRef as forwardRef12 } from "react";
13813
- import { Fragment as Fragment5, jsx as jsx49, jsxs as jsxs27 } from "@emotion/react/jsx-runtime";
13825
+ import { Fragment as Fragment6, jsx as jsx49, jsxs as jsxs27 } from "@emotion/react/jsx-runtime";
13814
13826
  var Textarea = forwardRef12(
13815
13827
  ({ label, icon, id, caption, showLabel = true, errorMessage, warningMessage, ...props }, ref) => {
13816
- return /* @__PURE__ */ jsxs27(Fragment5, { children: [
13828
+ return /* @__PURE__ */ jsxs27(Fragment6, { children: [
13817
13829
  showLabel ? /* @__PURE__ */ jsx49("label", { htmlFor: id, css: [labelText], children: label }) : null,
13818
13830
  /* @__PURE__ */ jsxs27("div", { css: [inputContainer], children: [
13819
13831
  /* @__PURE__ */ jsx49(
@@ -14066,7 +14078,7 @@ var wholeButtonWithMenuIconOffset = css38`
14066
14078
  `;
14067
14079
 
14068
14080
  // src/components/ButtonWithMenu/ButtonWithMenu.tsx
14069
- import { Fragment as Fragment6, jsx as jsx52, jsxs as jsxs30 } from "@emotion/react/jsx-runtime";
14081
+ import { Fragment as Fragment7, jsx as jsx52, jsxs as jsxs30 } from "@emotion/react/jsx-runtime";
14070
14082
  var buttonTheme = {
14071
14083
  primary: buttonPrimary2,
14072
14084
  secondary: buttonSecondary2,
@@ -14151,7 +14163,7 @@ var ButtonWithMenu = ({
14151
14163
  ],
14152
14164
  "data-testid": "multioptions-button",
14153
14165
  children: [
14154
- /* @__PURE__ */ jsx52(Tooltip, { visible: tip ? void 0 : false, title: /* @__PURE__ */ jsx52(Fragment6, { children: tip }), children: /* @__PURE__ */ jsx52("span", { children: primaryButton }) }),
14166
+ /* @__PURE__ */ jsx52(Tooltip, { visible: tip ? void 0 : false, title: /* @__PURE__ */ jsx52(Fragment7, { children: tip }), children: /* @__PURE__ */ jsx52("span", { children: primaryButton }) }),
14155
14167
  disabledValue ? menuButton2 : /* @__PURE__ */ jsx52(
14156
14168
  Menu,
14157
14169
  {
@@ -14495,7 +14507,7 @@ var paragraph = css42`
14495
14507
  `;
14496
14508
 
14497
14509
  // src/components/Typography/Paragraph.tsx
14498
- import { Fragment as Fragment7, jsx as jsx56 } from "@emotion/react/jsx-runtime";
14510
+ import { Fragment as Fragment8, jsx as jsx56 } from "@emotion/react/jsx-runtime";
14499
14511
  import { createElement } from "@emotion/react";
14500
14512
  var Paragraph = ({ className, htmlContent, children, ...pAttributes }) => {
14501
14513
  if (htmlContent && Array.isArray(htmlContent)) {
@@ -14509,7 +14521,7 @@ var Paragraph = ({ className, htmlContent, children, ...pAttributes }) => {
14509
14521
  dangerouslySetInnerHTML: { __html: html }
14510
14522
  }
14511
14523
  ));
14512
- return /* @__PURE__ */ jsx56(Fragment7, { children: paragraphContent });
14524
+ return /* @__PURE__ */ jsx56(Fragment8, { children: paragraphContent });
14513
14525
  }
14514
14526
  return htmlContent ? /* @__PURE__ */ jsx56(
14515
14527
  "p",
@@ -14578,7 +14590,7 @@ var IntegrationHeaderSectionDocsLink = css43`
14578
14590
  `;
14579
14591
 
14580
14592
  // src/components/Typography/IntegrationHeaderSection.tsx
14581
- import { Fragment as Fragment8, jsx as jsx57, jsxs as jsxs33 } from "@emotion/react/jsx-runtime";
14593
+ import { Fragment as Fragment9, jsx as jsx57, jsxs as jsxs33 } from "@emotion/react/jsx-runtime";
14582
14594
  var IntegrationHeaderSectionHexImage = ({ ...props }) => {
14583
14595
  return /* @__PURE__ */ jsxs33("svg", { viewBox: "0 0 100 116", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...props, children: [
14584
14596
  /* @__PURE__ */ jsx57(
@@ -14618,7 +14630,7 @@ var IntegrationHeaderSection = ({
14618
14630
  ...props
14619
14631
  }) => {
14620
14632
  const CompIcon = icon && typeof icon !== "string" ? icon : null;
14621
- return /* @__PURE__ */ jsxs33(Fragment8, { children: [
14633
+ return /* @__PURE__ */ jsxs33(Fragment9, { children: [
14622
14634
  /* @__PURE__ */ jsxs33("div", { css: IntegrationHeaderSectionContainer, ...props, children: [
14623
14635
  /* @__PURE__ */ jsxs33("div", { css: IntegrationHeaderSectionTitleContainer, children: [
14624
14636
  icon ? /* @__PURE__ */ jsxs33("div", { css: IntegrationHeaderSectionIconContainer, children: [
@@ -15140,7 +15152,7 @@ var ChipDisabled = css48`
15140
15152
  `;
15141
15153
 
15142
15154
  // src/components/Chip/Chip.tsx
15143
- import { Fragment as Fragment9, jsx as jsx62, jsxs as jsxs37 } from "@emotion/react/jsx-runtime";
15155
+ import { Fragment as Fragment10, jsx as jsx62, jsxs as jsxs37 } from "@emotion/react/jsx-runtime";
15144
15156
  var chipTheme = {
15145
15157
  "accent-light": ChipThemeAccentLight,
15146
15158
  "accent-dark": ChipThemeAccentDark,
@@ -15179,7 +15191,7 @@ var Chip = ({
15179
15191
  ],
15180
15192
  ...props,
15181
15193
  children: [
15182
- icon ? /* @__PURE__ */ jsxs37(Fragment9, { children: [
15194
+ icon ? /* @__PURE__ */ jsxs37(Fragment10, { children: [
15183
15195
  /* @__PURE__ */ jsx62("span", { role: "presentation", css: [ChipIcon], children: /* @__PURE__ */ jsx62(Icon, { icon, iconColor, size: "1rem" }) }),
15184
15196
  /* @__PURE__ */ jsx62("span", { role: "separator", css: ChipSeparator })
15185
15197
  ] }) : null,
@@ -15436,7 +15448,7 @@ var PopoverDefaulterTriggerBtn = css52`
15436
15448
  var Popover = (maxWidth = "220px") => css52`
15437
15449
  border-left: var(--spacing-xs) solid var(--brand-secondary-3);
15438
15450
  border-radius: var(--rounded-base);
15439
- box-shadow: var(--shadow-base);
15451
+ box-shadow: var(--elevation-400);
15440
15452
  background: var(--white);
15441
15453
  display: grid;
15442
15454
  gap: var(--spacing-sm);
@@ -16429,7 +16441,7 @@ var DrawerContent2 = ({ children, buttonGroup, noPadding = false, ...props }) =>
16429
16441
 
16430
16442
  // src/components/Drawer/DrawerRenderer.tsx
16431
16443
  import { useEffect as useEffect7, useMemo as useMemo3 } from "react";
16432
- import { Fragment as Fragment10, jsx as jsx74, jsxs as jsxs45 } from "@emotion/react/jsx-runtime";
16444
+ import { Fragment as Fragment11, jsx as jsx74, jsxs as jsxs45 } from "@emotion/react/jsx-runtime";
16433
16445
  var drawerWidth = {
16434
16446
  narrow: "29rem",
16435
16447
  medium: "43rem",
@@ -16518,7 +16530,7 @@ var DrawerWrapper = ({
16518
16530
  offsetInPx = Math.round(maxLayeringInPx * relativeLevel);
16519
16531
  }
16520
16532
  const calculatedWidth = `calc(${width} - ${offsetInPx}px)`;
16521
- return /* @__PURE__ */ jsxs45(Fragment10, { children: [
16533
+ return /* @__PURE__ */ jsxs45(Fragment11, { children: [
16522
16534
  /* @__PURE__ */ jsx74("div", { css: drawerWrapperOverlayStyles, onClick: onOverlayClick }),
16523
16535
  /* @__PURE__ */ jsx74(
16524
16536
  "div",
@@ -17160,10 +17172,10 @@ var IntegrationLoadingFrame = css64`
17160
17172
  `;
17161
17173
 
17162
17174
  // src/components/Tiles/IntegrationLoadingTile.tsx
17163
- import { Fragment as Fragment11, jsx as jsx84, jsxs as jsxs52 } from "@emotion/react/jsx-runtime";
17175
+ import { Fragment as Fragment12, jsx as jsx84, jsxs as jsxs52 } from "@emotion/react/jsx-runtime";
17164
17176
  var IntegrationLoadingTile = ({ count = 1 }) => {
17165
17177
  const componentCount = Array.from(Array(count).keys());
17166
- return /* @__PURE__ */ jsx84(Fragment11, { children: componentCount.map((i) => /* @__PURE__ */ jsxs52("div", { css: IntegrationLoadingTileContainer, children: [
17178
+ return /* @__PURE__ */ jsx84(Fragment12, { children: componentCount.map((i) => /* @__PURE__ */ jsxs52("div", { css: IntegrationLoadingTileContainer, children: [
17167
17179
  /* @__PURE__ */ jsx84("div", { css: [IntegrationLoadingTileImg, IntegrationLoadingFrame], role: "presentation" }),
17168
17180
  /* @__PURE__ */ jsx84("div", { css: [IntegrationLoadingTileText, IntegrationLoadingFrame] })
17169
17181
  ] }, i)) });
@@ -17405,7 +17417,7 @@ var IntegrationModalHeaderContentWrapper = css69`
17405
17417
  `;
17406
17418
 
17407
17419
  // src/components/IntegrationModalHeader/IntegrationModalHeader.tsx
17408
- import { Fragment as Fragment12, jsx as jsx90, jsxs as jsxs55 } from "@emotion/react/jsx-runtime";
17420
+ import { Fragment as Fragment13, jsx as jsx90, jsxs as jsxs55 } from "@emotion/react/jsx-runtime";
17409
17421
  var HexModalBackground = ({ ...props }) => {
17410
17422
  return /* @__PURE__ */ jsxs55(
17411
17423
  "svg",
@@ -17446,7 +17458,7 @@ var HexModalBackground = ({ ...props }) => {
17446
17458
  );
17447
17459
  };
17448
17460
  var IntegrationModalHeader = ({ icon, name, menu, children }) => {
17449
- return /* @__PURE__ */ jsxs55(Fragment12, { children: [
17461
+ return /* @__PURE__ */ jsxs55(Fragment13, { children: [
17450
17462
  /* @__PURE__ */ jsx90(HexModalBackground, { css: IntegrationModalHeaderSVGBackground, role: "presentation" }),
17451
17463
  /* @__PURE__ */ jsx90("div", { css: IntegrationModalHeaderGroup, children: /* @__PURE__ */ jsxs55("div", { css: IntegrationModalHeaderTitleGroup, children: [
17452
17464
  icon ? /* @__PURE__ */ jsx90(IntegrationModalIcon, { icon, name: name || "" }) : null,
@@ -18354,7 +18366,7 @@ import {
18354
18366
  usePopoverStore
18355
18367
  } from "@ariakit/react";
18356
18368
  import { useEffect as useEffect14 } from "react";
18357
- import { Fragment as Fragment13, jsx as jsx100, jsxs as jsxs64 } from "@emotion/react/jsx-runtime";
18369
+ import { Fragment as Fragment14, jsx as jsx100, jsxs as jsxs64 } from "@emotion/react/jsx-runtime";
18358
18370
  var Popover3 = ({
18359
18371
  iconColor = "action",
18360
18372
  icon = "info",
@@ -18381,7 +18393,7 @@ var Popover3 = ({
18381
18393
  css: [PopoverBtn, trigger2 ? void 0 : PopoverDefaulterTriggerBtn],
18382
18394
  title: buttonText,
18383
18395
  "data-testid": testId,
18384
- children: trigger2 ? trigger2 : /* @__PURE__ */ jsxs64(Fragment13, { children: [
18396
+ children: trigger2 ? trigger2 : /* @__PURE__ */ jsxs64(Fragment14, { children: [
18385
18397
  /* @__PURE__ */ jsx100(Icon, { icon, iconColor, size: iconSize }),
18386
18398
  /* @__PURE__ */ jsx100("span", { hidden: true, children: buttonText })
18387
18399
  ] })
@@ -18796,6 +18808,9 @@ var ModalDialog = forwardRef16(
18796
18808
  );
18797
18809
  ModalDialog.displayName = "ModalDialog";
18798
18810
 
18811
+ // src/components/Objects/ObjectGridContainer.tsx
18812
+ import { forwardRef as forwardRef17 } from "react";
18813
+
18799
18814
  // src/components/Objects/styles/ObjectGridContainer.styles.ts
18800
18815
  import { css as css80 } from "@emotion/react";
18801
18816
  var ObjectGridContainer = (gridCount) => css80`
@@ -18806,9 +18821,20 @@ var ObjectGridContainer = (gridCount) => css80`
18806
18821
 
18807
18822
  // src/components/Objects/ObjectGridContainer.tsx
18808
18823
  import { jsx as jsx104 } from "@emotion/react/jsx-runtime";
18809
- var ObjectGridContainer2 = ({ gridCount = 3, children }) => {
18810
- return /* @__PURE__ */ jsx104("div", { "data-testid": "object-grid-container", css: ObjectGridContainer(gridCount), children });
18811
- };
18824
+ var ObjectGridContainer2 = forwardRef17(
18825
+ ({ gridCount = 3, children, ...props }, ref) => {
18826
+ return /* @__PURE__ */ jsx104(
18827
+ "div",
18828
+ {
18829
+ ref,
18830
+ "data-testid": "object-grid-container",
18831
+ css: ObjectGridContainer(gridCount),
18832
+ ...props,
18833
+ children
18834
+ }
18835
+ );
18836
+ }
18837
+ );
18812
18838
 
18813
18839
  // src/components/Objects/styles/ObjectGridItem.styles.ts
18814
18840
  import { css as css81 } from "@emotion/react";
@@ -18822,6 +18848,7 @@ var ObjectGridItem = css81`
18822
18848
 
18823
18849
  &[aria-selected='true'] {
18824
18850
  border: 1px solid var(--accent-dark);
18851
+ transition: border-color var(--duration-fast) var(--timing-ease-out);
18825
18852
  }
18826
18853
 
18827
18854
  &[aria-selected='false'] {
@@ -18830,20 +18857,54 @@ var ObjectGridItem = css81`
18830
18857
  }
18831
18858
  }
18832
18859
  `;
18860
+ var ObjectGridWithOnClick = css81`
18861
+ cursor: pointer;
18862
+ &:hover,
18863
+ &:focus {
18864
+ border: 1px solid var(--accent-dark);
18865
+ transition: border-color var(--duration-fast) var(--timing-ease-out);
18866
+ }
18867
+ `;
18833
18868
  var ObjectGridItemMediaWrapper = css81`
18834
18869
  display: flex;
18835
18870
  flex: 1 1 0;
18836
18871
  position: relative;
18837
18872
  `;
18873
+ var ObjectGridItemMediaInner = css81`
18874
+ background: var(--gray-50);
18875
+ border-radius: var(--rounded-base) var(--rounded-base) 0 0;
18876
+ position: relative;
18877
+ display: flex;
18878
+ align-items: center;
18879
+ justify-content: center;
18880
+ flex: 1;
18881
+ overflow: hidden;
18882
+ height: 100%;
18883
+ `;
18838
18884
  var ObjectGridItemContentWrapper = css81`
18839
- padding: 0 var(--spacing-sm) var(--spacing-sm);
18885
+ display: grid;
18886
+ grid-template-columns: 1fr auto;
18887
+ padding: var(--spacing-sm);
18888
+ gap: var(--spacing-sm);
18840
18889
  min-height: 52px;
18890
+ width: 100%;
18891
+ `;
18892
+ var ObjectGridItemInnerWrapper = css81`
18893
+ min-width: 0;
18841
18894
  `;
18842
18895
  var ObjectGridItemImage = css81`
18843
18896
  object-fit: cover;
18844
18897
  width: 100%;
18845
18898
  height: auto;
18846
18899
  `;
18900
+ var ObjectGridItemSubtitle = css81`
18901
+ color: var(--gray-500);
18902
+ font-size: var(--fs-sm);
18903
+ white-space: nowrap;
18904
+ overflow: hidden;
18905
+ text-overflow: ellipsis;
18906
+ max-width: 100%;
18907
+ `;
18847
18908
 
18848
18909
  // src/components/Objects/ObjectGridItem.tsx
18849
18910
  import { jsx as jsx105, jsxs as jsxs68 } from "@emotion/react/jsx-runtime";
@@ -18853,28 +18914,51 @@ var ObjectGridItem2 = ({
18853
18914
  rightSlot,
18854
18915
  menuItems,
18855
18916
  isSelected,
18856
- children
18917
+ children,
18918
+ menuTestId,
18919
+ ...props
18857
18920
  }) => {
18858
- return /* @__PURE__ */ jsxs68("div", { css: ObjectGridItem, "aria-selected": isSelected, children: [
18859
- /* @__PURE__ */ jsx105("div", { css: ObjectGridItemMediaWrapper, children: cover }),
18860
- /* @__PURE__ */ jsxs68(HorizontalRhythm, { css: ObjectGridItemContentWrapper, justify: "space-between", gap: "sm", children: [
18861
- /* @__PURE__ */ jsxs68(VerticalRhythm, { gap: "0", children: [
18862
- /* @__PURE__ */ jsx105(HorizontalRhythm, { gap: "xs", align: "center", children: header2 }),
18863
- children
18864
- ] }),
18865
- /* @__PURE__ */ jsxs68(HorizontalRhythm, { gap: "xs", align: "flex-start", children: [
18866
- rightSlot,
18867
- menuItems ? /* @__PURE__ */ jsx105(
18868
- Menu,
18869
- {
18870
- menuTrigger: /* @__PURE__ */ jsx105(MenuThreeDots, { "data-testid": "object-grid-item-menu-btn" }),
18871
- placement: "bottom-end",
18872
- children: menuItems
18873
- }
18874
- ) : null
18875
- ] })
18876
- ] })
18877
- ] });
18921
+ const hasOnClick = props.onClick;
18922
+ const onStopPropagation = (e) => {
18923
+ e.stopPropagation();
18924
+ };
18925
+ return /* @__PURE__ */ jsxs68(
18926
+ "div",
18927
+ {
18928
+ css: [ObjectGridItem, props.onClick ? ObjectGridWithOnClick : void 0],
18929
+ "aria-selected": isSelected,
18930
+ ...props,
18931
+ children: [
18932
+ /* @__PURE__ */ jsx105("div", { css: ObjectGridItemMediaWrapper, children: /* @__PURE__ */ jsx105("div", { css: ObjectGridItemMediaInner, children: cover }) }),
18933
+ /* @__PURE__ */ jsxs68("div", { css: ObjectGridItemContentWrapper, children: [
18934
+ /* @__PURE__ */ jsxs68(VerticalRhythm, { gap: "0", css: ObjectGridItemInnerWrapper, children: [
18935
+ /* @__PURE__ */ jsx105(HorizontalRhythm, { gap: "xs", align: "center", children: header2 }),
18936
+ /* @__PURE__ */ jsx105("div", { css: ObjectGridItemSubtitle, children })
18937
+ ] }),
18938
+ /* @__PURE__ */ jsxs68(
18939
+ HorizontalRhythm,
18940
+ {
18941
+ gap: "xs",
18942
+ align: "flex-start",
18943
+ css: { cursor: "default" },
18944
+ onClick: hasOnClick ? onStopPropagation : void 0,
18945
+ children: [
18946
+ rightSlot,
18947
+ menuItems ? /* @__PURE__ */ jsx105(
18948
+ Menu,
18949
+ {
18950
+ menuTrigger: /* @__PURE__ */ jsx105(MenuThreeDots, { "data-testid": menuTestId != null ? menuTestId : "object-grid-item-menu-btn" }),
18951
+ placement: "bottom-end",
18952
+ children: menuItems
18953
+ }
18954
+ ) : null
18955
+ ]
18956
+ }
18957
+ )
18958
+ ] })
18959
+ ]
18960
+ }
18961
+ );
18878
18962
  };
18879
18963
 
18880
18964
  // src/components/Objects/styles/ObjectGridItemCardCover.styles.ts
@@ -18883,8 +18967,15 @@ var CoverImage = css82`
18883
18967
  aspect-ratio: 16/9;
18884
18968
  max-width: 100%;
18885
18969
  max-height: 100%;
18886
- height: auto;
18970
+ height: inherit;
18971
+ width: inherit;
18887
18972
  padding: var(--spacing-sm);
18973
+ object-fit: contain;
18974
+ `;
18975
+ var CoverContainer = css82`
18976
+ aspect-ratio: 16/9;
18977
+ width: 100%;
18978
+ height: 100%;
18888
18979
  `;
18889
18980
  var CoverIconWrapper = css82`
18890
18981
  position: relative;
@@ -18892,7 +18983,7 @@ var CoverIconWrapper = css82`
18892
18983
  align-items: center;
18893
18984
  justify-content: center;
18894
18985
  flex: 1;
18895
- overflow: hidden;
18986
+ height: 100%;
18896
18987
  `;
18897
18988
  var CoverIconGhost = css82`
18898
18989
  position: absolute;
@@ -18904,7 +18995,7 @@ var CoverIconGhost = css82`
18904
18995
  `;
18905
18996
  var CoverSlot = css82`
18906
18997
  align-items: center;
18907
- background: var(--white);
18998
+ background: var(--gray-50);
18908
18999
  display: flex;
18909
19000
  justify-content: center;
18910
19001
  position: absolute;
@@ -18934,64 +19025,89 @@ var CoverButton = css82`
18934
19025
  outline: none;
18935
19026
  }
18936
19027
  `;
18937
- var CoverSelectedChip = css82`
18938
- animation: ${fadeInBottom} var(--duration-fast) var(--timing-ease-out) forwards;
18939
- opacity: 0;
19028
+ var CoverSlotBottom = css82`
18940
19029
  position: absolute;
18941
19030
  bottom: var(--spacing-base);
19031
+ `;
19032
+ var CoverSlotBottomLeft = css82`
19033
+ left: var(--spacing-base);
19034
+ `;
19035
+ var CoverSlotBottomRight = css82`
18942
19036
  right: var(--spacing-base);
18943
19037
  `;
19038
+ var CoverSelectedChip = css82`
19039
+ animation: ${fadeInBottom} var(--duration-fast) var(--timing-ease-out) forwards;
19040
+ opacity: 0;
19041
+ `;
18944
19042
 
18945
19043
  // src/components/Objects/ObjectGridItemCardCover.tsx
18946
- import { Fragment as Fragment14, jsx as jsx106, jsxs as jsxs69 } from "@emotion/react/jsx-runtime";
19044
+ import { Fragment as Fragment15, jsx as jsx106, jsxs as jsxs69 } from "@emotion/react/jsx-runtime";
18947
19045
  var ObjectGridItemCardCover = (props) => {
18948
19046
  if ("imageUrl" in props && props.imageUrl) {
18949
- const { imageUrl } = props;
18950
- return /* @__PURE__ */ jsx106(
19047
+ const { imageUrl, srcSet } = props;
19048
+ return /* @__PURE__ */ jsx106("div", { css: CoverContainer, children: /* @__PURE__ */ jsx106(
18951
19049
  "img",
18952
19050
  {
18953
19051
  src: imageUrl,
19052
+ srcSet,
19053
+ alt: props.alt,
18954
19054
  css: CoverImage,
18955
19055
  loading: "lazy",
18956
19056
  role: "presentation",
18957
- "data-testid": "object-grid-item-thumbnail"
19057
+ "data-testid": "object-grid-item-thumbnail",
19058
+ ...props
18958
19059
  }
18959
- );
19060
+ ) });
18960
19061
  }
18961
19062
  if ("icon" in props && props.icon) {
18962
- const { icon } = props;
18963
- return /* @__PURE__ */ jsxs69("div", { css: CoverIconWrapper, "data-testid": "object-grid-item-thumbnail", children: [
18964
- /* @__PURE__ */ jsx106(Icon, { icon, iconColor: "currentColor", css: CoverIconGhost }),
18965
- /* @__PURE__ */ jsx106(Icon, { icon, iconColor: "currentColor", size: 48 })
18966
- ] });
19063
+ const { icon, iconColor } = props;
19064
+ return /* @__PURE__ */ jsx106("div", { css: CoverContainer, children: /* @__PURE__ */ jsxs69("div", { css: CoverIconWrapper, "data-testid": "object-grid-item-thumbnail", ...props, children: [
19065
+ /* @__PURE__ */ jsx106(Icon, { icon, iconColor: iconColor != null ? iconColor : "currentColor", css: CoverIconGhost }),
19066
+ /* @__PURE__ */ jsx106(Icon, { icon, iconColor: iconColor != null ? iconColor : "currentColor", size: 48 })
19067
+ ] }) });
18967
19068
  }
18968
19069
  };
18969
19070
  var ObjectGridItemCover = ({
18970
19071
  coverSlotLeft,
18971
19072
  coverSlotRight,
19073
+ coverSlotBottomLeft,
19074
+ coverSlotBottomRight,
18972
19075
  ...props
18973
19076
  }) => {
18974
- return /* @__PURE__ */ jsxs69(Fragment14, { children: [
19077
+ return /* @__PURE__ */ jsxs69(Fragment15, { children: [
18975
19078
  coverSlotLeft ? /* @__PURE__ */ jsx106("div", { css: [CoverSlot, CoverSlotLeft], children: coverSlotLeft }) : null,
18976
19079
  /* @__PURE__ */ jsx106(ObjectGridItemCardCover, { ...props }),
18977
- coverSlotRight ? /* @__PURE__ */ jsx106("div", { css: [CoverSlot, CoverSlotRight], children: coverSlotRight }) : null
19080
+ coverSlotRight ? /* @__PURE__ */ jsx106("div", { css: [CoverSlot, CoverSlotRight], children: coverSlotRight }) : null,
19081
+ coverSlotBottomLeft ? /* @__PURE__ */ jsx106("div", { css: [CoverSlotBottom, CoverSlotBottomLeft], children: coverSlotBottomLeft }) : null,
19082
+ coverSlotBottomRight ? /* @__PURE__ */ jsx106("div", { css: [CoverSlotBottom, CoverSlotBottomRight], children: coverSlotBottomRight }) : null
18978
19083
  ] });
18979
19084
  };
18980
19085
  var ObjectGridItemCoverButton = ({
18981
19086
  id,
18982
19087
  isSelected,
18983
19088
  onSelection,
18984
- coverSlotLeft,
18985
- coverSlotRight,
18986
19089
  selectedText = "selected",
18987
19090
  ...props
18988
19091
  }) => {
18989
- return /* @__PURE__ */ jsxs69("button", { type: "button", css: CoverButton, onClick: () => onSelection(id), "aria-selected": isSelected, children: [
18990
- coverSlotLeft ? /* @__PURE__ */ jsx106("div", { css: [CoverSlot, CoverSlotLeft], children: coverSlotLeft }) : null,
18991
- /* @__PURE__ */ jsx106(ObjectGridItemCardCover, { ...props }),
18992
- coverSlotRight ? /* @__PURE__ */ jsx106("div", { css: [CoverSlot, CoverSlotRight], children: coverSlotRight }) : null,
18993
- isSelected ? /* @__PURE__ */ jsx106("div", { css: CoverSelectedChip, children: /* @__PURE__ */ jsx106(Chip, { text: selectedText, size: "xs", theme: "accent-dark" }) }) : null
18994
- ] });
19092
+ return /* @__PURE__ */ jsx106(
19093
+ "button",
19094
+ {
19095
+ type: "button",
19096
+ css: CoverButton,
19097
+ onClick: (e) => {
19098
+ e.stopPropagation();
19099
+ onSelection(id);
19100
+ },
19101
+ "aria-selected": isSelected,
19102
+ children: /* @__PURE__ */ jsx106(
19103
+ ObjectGridItemCover,
19104
+ {
19105
+ ...props,
19106
+ coverSlotBottomRight: isSelected ? /* @__PURE__ */ jsx106("div", { css: CoverSelectedChip, children: /* @__PURE__ */ jsx106(Chip, { text: selectedText, size: "xs", theme: "accent-dark" }) }) : null
19107
+ }
19108
+ )
19109
+ }
19110
+ );
18995
19111
  };
18996
19112
 
18997
19113
  // src/components/Objects/ObjectGridItemHeading.tsx
@@ -19000,12 +19116,13 @@ import { useEffect as useEffect16, useRef as useRef10, useState as useState13 }
19000
19116
  // src/components/Objects/styles/ObjectGridItemHeading.styles.ts
19001
19117
  import { css as css83 } from "@emotion/react";
19002
19118
  var ObjectGridItemHeading = css83`
19119
+ color: var(--gray-500);
19003
19120
  overflow: hidden;
19004
19121
  text-overflow: ellipsis;
19005
- white-space: initial;
19006
- display: -webkit-box;
19007
- -webkit-line-clamp: 1;
19008
- -webkit-box-orient: vertical;
19122
+ white-space: nowrap;
19123
+ min-width: 0;
19124
+ max-width: 100%;
19125
+ font-size: var(--fs-sm);
19009
19126
  `;
19010
19127
  var PopoverContent = css83`
19011
19128
  min-width: 50px;
@@ -19016,10 +19133,15 @@ import { jsx as jsx107, jsxs as jsxs70 } from "@emotion/react/jsx-runtime";
19016
19133
  var ObjectGridItemHeading2 = ({
19017
19134
  heading,
19018
19135
  beforeHeadingSlot,
19019
- afterHeadingSlot
19136
+ afterHeadingSlot,
19137
+ tooltip,
19138
+ ...props
19020
19139
  }) => {
19021
19140
  const [hasTruncation, setHasTruncation] = useState13(false);
19022
19141
  const headingRef = useRef10(null);
19142
+ const onStopPropagation = (e) => {
19143
+ e.stopPropagation();
19144
+ };
19023
19145
  useEffect16(() => {
19024
19146
  const currentHeading = headingRef.current;
19025
19147
  const observer = new ResizeObserver((entries) => {
@@ -19037,10 +19159,10 @@ var ObjectGridItemHeading2 = ({
19037
19159
  }
19038
19160
  };
19039
19161
  }, []);
19040
- return /* @__PURE__ */ jsxs70(HorizontalRhythm, { align: "center", gap: "xs", children: [
19041
- beforeHeadingSlot,
19042
- /* @__PURE__ */ jsx107(Tooltip, { title: hasTruncation ? heading : "", children: /* @__PURE__ */ jsx107("div", { role: "heading", css: ObjectGridItemHeading, ref: headingRef, children: heading }) }),
19043
- afterHeadingSlot
19162
+ return /* @__PURE__ */ jsxs70(HorizontalRhythm, { align: "center", gap: "xs", css: { minWidth: 0 }, children: [
19163
+ beforeHeadingSlot ? /* @__PURE__ */ jsx107(HorizontalRhythm, { gap: "xs", align: "center", onClick: onStopPropagation, children: beforeHeadingSlot }) : null,
19164
+ /* @__PURE__ */ jsx107(Tooltip, { title: hasTruncation && tooltip ? tooltip : "", children: /* @__PURE__ */ jsx107("div", { role: "heading", css: ObjectGridItemHeading, ref: headingRef, ...props, children: heading }) }),
19165
+ afterHeadingSlot ? /* @__PURE__ */ jsx107(HorizontalRhythm, { gap: "xs", align: "center", onClick: onStopPropagation, children: afterHeadingSlot }) : null
19044
19166
  ] });
19045
19167
  };
19046
19168
 
@@ -19050,9 +19172,10 @@ var ObjectGridItemIconWithTooltip = ({
19050
19172
  tooltipTitle,
19051
19173
  placement = "bottom-start",
19052
19174
  icon,
19053
- iconColor = "accent-dark"
19175
+ iconColor = "accent-dark",
19176
+ ...props
19054
19177
  }) => {
19055
- return /* @__PURE__ */ jsx108(Tooltip, { title: tooltipTitle, placement, children: /* @__PURE__ */ jsx108("span", { children: /* @__PURE__ */ jsx108(Icon, { icon, iconColor, size: "1rem" }) }) });
19178
+ return /* @__PURE__ */ jsx108(Tooltip, { title: tooltipTitle, placement, ...props, css: { minWidth: "max-content" }, children: /* @__PURE__ */ jsx108("span", { css: { whiteSpace: "nowrap" }, children: /* @__PURE__ */ jsx108(Icon, { icon, iconColor, size: "1rem" }) }) });
19056
19179
  };
19057
19180
 
19058
19181
  // src/components/Objects/styles/ObjectGridItemLoadingSkeleton.styles.ts
@@ -19845,7 +19968,7 @@ var ParameterDrawerHeader = ({ title: title2, iconBeforeTitle, children }) => {
19845
19968
  };
19846
19969
 
19847
19970
  // src/components/ParameterInputs/ParameterGroup.tsx
19848
- import { forwardRef as forwardRef17 } from "react";
19971
+ import { forwardRef as forwardRef18 } from "react";
19849
19972
 
19850
19973
  // src/components/ParameterInputs/styles/ParameterGroup.styles.ts
19851
19974
  import { css as css91 } from "@emotion/react";
@@ -19869,7 +19992,7 @@ var fieldsetLegend2 = css91`
19869
19992
 
19870
19993
  // src/components/ParameterInputs/ParameterGroup.tsx
19871
19994
  import { jsx as jsx119, jsxs as jsxs78 } from "@emotion/react/jsx-runtime";
19872
- var ParameterGroup = forwardRef17(
19995
+ var ParameterGroup = forwardRef18(
19873
19996
  ({ legend, isDisabled, children, ...props }, ref) => {
19874
19997
  return /* @__PURE__ */ jsxs78("fieldset", { css: fieldsetStyles, disabled: isDisabled, ref, ...props, children: [
19875
19998
  /* @__PURE__ */ jsx119("legend", { css: fieldsetLegend2, children: legend }),
@@ -19879,7 +20002,7 @@ var ParameterGroup = forwardRef17(
19879
20002
  );
19880
20003
 
19881
20004
  // src/components/ParameterInputs/ParameterImage.tsx
19882
- import { forwardRef as forwardRef19, useDeferredValue } from "react";
20005
+ import { forwardRef as forwardRef20, useDeferredValue } from "react";
19883
20006
 
19884
20007
  // src/components/ParameterInputs/ParameterImagePreview.tsx
19885
20008
  import { useState as useState14 } from "react";
@@ -19923,7 +20046,7 @@ var previewModalImage = css92`
19923
20046
  `;
19924
20047
 
19925
20048
  // src/components/ParameterInputs/ParameterImagePreview.tsx
19926
- import { Fragment as Fragment15, jsx as jsx120, jsxs as jsxs79 } from "@emotion/react/jsx-runtime";
20049
+ import { Fragment as Fragment16, jsx as jsx120, jsxs as jsxs79 } from "@emotion/react/jsx-runtime";
19927
20050
  function ParameterImagePreview({ imageSrc }) {
19928
20051
  const [showModal, setShowModal] = useState14(false);
19929
20052
  return imageSrc ? /* @__PURE__ */ jsxs79("div", { css: previewWrapper, children: [
@@ -19941,7 +20064,7 @@ function ParameterImagePreview({ imageSrc }) {
19941
20064
  ] }) : null;
19942
20065
  }
19943
20066
  var PreviewImageModal = ({ open, onRequestClose, imageSrc }) => {
19944
- return open ? /* @__PURE__ */ jsx120(Fragment15, { children: createPortal2(
20067
+ return open ? /* @__PURE__ */ jsx120(Fragment16, { children: createPortal2(
19945
20068
  /* @__PURE__ */ jsx120(
19946
20069
  Modal,
19947
20070
  {
@@ -19966,9 +20089,9 @@ var ParameterLabel = ({ id, asSpan, children, testId, ...props }) => {
19966
20089
  };
19967
20090
 
19968
20091
  // src/components/ParameterInputs/ParameterMenuButton.tsx
19969
- import { forwardRef as forwardRef18 } from "react";
20092
+ import { forwardRef as forwardRef19 } from "react";
19970
20093
  import { jsx as jsx122 } from "@emotion/react/jsx-runtime";
19971
- var ParameterMenuButton = forwardRef18(
20094
+ var ParameterMenuButton = forwardRef19(
19972
20095
  ({ label, children }, ref) => {
19973
20096
  return /* @__PURE__ */ jsx122(
19974
20097
  Menu,
@@ -20143,8 +20266,8 @@ var ParameterShellPlaceholder = ({ children }) => {
20143
20266
  var ParameterOverrideMarker = (props) => /* @__PURE__ */ jsx123(Tooltip, { title: "The default value has been overridden", children: /* @__PURE__ */ jsx123("button", { type: "button", css: overrideMarker, ...props, children: /* @__PURE__ */ jsx123("span", { hidden: true, children: "reset overridden value to default" }) }) });
20144
20267
 
20145
20268
  // src/components/ParameterInputs/ParameterImage.tsx
20146
- import { Fragment as Fragment16, jsx as jsx124, jsxs as jsxs81 } from "@emotion/react/jsx-runtime";
20147
- var ParameterImage = forwardRef19(
20269
+ import { Fragment as Fragment17, jsx as jsx124, jsxs as jsxs81 } from "@emotion/react/jsx-runtime";
20270
+ var ParameterImage = forwardRef20(
20148
20271
  ({ children, ...props }, ref) => {
20149
20272
  const { shellProps, innerProps } = extractParameterProps(props);
20150
20273
  return /* @__PURE__ */ jsxs81(ParameterShell, { "data-test-id": "parameter-image", ...shellProps, children: [
@@ -20153,11 +20276,11 @@ var ParameterImage = forwardRef19(
20153
20276
  ] });
20154
20277
  }
20155
20278
  );
20156
- var ParameterImageInner = forwardRef19((props, ref) => {
20279
+ var ParameterImageInner = forwardRef20((props, ref) => {
20157
20280
  const { value } = props;
20158
20281
  const { id, label, hiddenLabel, errorMessage } = useParameterShell();
20159
20282
  const deferredValue = useDeferredValue(value);
20160
- return /* @__PURE__ */ jsxs81(Fragment16, { children: [
20283
+ return /* @__PURE__ */ jsxs81(Fragment17, { children: [
20161
20284
  /* @__PURE__ */ jsx124(
20162
20285
  "input",
20163
20286
  {
@@ -20175,13 +20298,13 @@ var ParameterImageInner = forwardRef19((props, ref) => {
20175
20298
  });
20176
20299
 
20177
20300
  // src/components/ParameterInputs/ParameterInput.tsx
20178
- import { forwardRef as forwardRef20 } from "react";
20301
+ import { forwardRef as forwardRef21 } from "react";
20179
20302
  import { jsx as jsx125 } from "@emotion/react/jsx-runtime";
20180
- var ParameterInput = forwardRef20((props, ref) => {
20303
+ var ParameterInput = forwardRef21((props, ref) => {
20181
20304
  const { shellProps, innerProps } = extractParameterProps(props);
20182
20305
  return /* @__PURE__ */ jsx125(ParameterShell, { "data-testid": "parameter-input", ...shellProps, children: /* @__PURE__ */ jsx125(ParameterInputInner, { ref, ...innerProps }) });
20183
20306
  });
20184
- var ParameterInputInner = forwardRef20(
20307
+ var ParameterInputInner = forwardRef21(
20185
20308
  ({ ...props }, ref) => {
20186
20309
  const { id, label, hiddenLabel } = useParameterShell();
20187
20310
  return /* @__PURE__ */ jsx125(
@@ -20200,9 +20323,9 @@ var ParameterInputInner = forwardRef20(
20200
20323
  );
20201
20324
 
20202
20325
  // src/components/ParameterInputs/ParameterLink.tsx
20203
- import { forwardRef as forwardRef21 } from "react";
20326
+ import { forwardRef as forwardRef22 } from "react";
20204
20327
  import { jsx as jsx126, jsxs as jsxs82 } from "@emotion/react/jsx-runtime";
20205
- var ParameterLink = forwardRef21(
20328
+ var ParameterLink = forwardRef22(
20206
20329
  ({ disabled: disabled2, onConnectLink, externalLink, ...props }, ref) => {
20207
20330
  const { shellProps, innerProps } = extractParameterProps(props);
20208
20331
  return /* @__PURE__ */ jsx126(
@@ -20225,7 +20348,7 @@ var ParameterLink = forwardRef21(
20225
20348
  );
20226
20349
  }
20227
20350
  );
20228
- var ParameterLinkInner = forwardRef21(
20351
+ var ParameterLinkInner = forwardRef22(
20229
20352
  ({ externalLink, onConnectLink, disabled: disabled2, buttonText = "Select link", ...props }, ref) => {
20230
20353
  const { id, label, hiddenLabel } = useParameterShell();
20231
20354
  if (!props.value)
@@ -20252,6 +20375,7 @@ var ParameterLinkInner = forwardRef21(
20252
20375
  disabled: disabled2,
20253
20376
  onClick: onConnectLink,
20254
20377
  title: "edit current selection",
20378
+ "data-testid": "edit-current-selection",
20255
20379
  children: "edit"
20256
20380
  }
20257
20381
  ),
@@ -20330,7 +20454,7 @@ var ParameterMultiSelectInner = (props) => {
20330
20454
  };
20331
20455
 
20332
20456
  // src/components/ParameterInputs/ParameterNameAndPublicIdInput.tsx
20333
- import { Fragment as Fragment17, jsx as jsx128, jsxs as jsxs83 } from "@emotion/react/jsx-runtime";
20457
+ import { Fragment as Fragment18, jsx as jsx128, jsxs as jsxs83 } from "@emotion/react/jsx-runtime";
20334
20458
  var ParameterNameAndPublicIdInput = ({
20335
20459
  id,
20336
20460
  onBlur,
@@ -20356,7 +20480,7 @@ var ParameterNameAndPublicIdInput = ({
20356
20480
  navigator.clipboard.writeText(values[publicIdFieldName]);
20357
20481
  };
20358
20482
  autoFocus == null ? void 0 : autoFocus();
20359
- return /* @__PURE__ */ jsxs83(Fragment17, { children: [
20483
+ return /* @__PURE__ */ jsxs83(Fragment18, { children: [
20360
20484
  /* @__PURE__ */ jsx128(
20361
20485
  ParameterInput,
20362
20486
  {
@@ -20931,7 +21055,7 @@ var getSelectedNode = (selection) => {
20931
21055
  };
20932
21056
 
20933
21057
  // src/components/ParameterInputs/rich-text/LinkNodePlugin.tsx
20934
- import { Fragment as Fragment18, jsx as jsx129, jsxs as jsxs84 } from "@emotion/react/jsx-runtime";
21058
+ import { Fragment as Fragment19, jsx as jsx129, jsxs as jsxs84 } from "@emotion/react/jsx-runtime";
20935
21059
  var isProjectMapLinkValue = (value) => {
20936
21060
  return (value == null ? void 0 : value.type) === "projectMapNode" && Boolean(
20937
21061
  value.nodeId && value.path && value.projectMapId
@@ -21417,7 +21541,7 @@ function LinkNodePlugin({
21417
21541
  });
21418
21542
  });
21419
21543
  };
21420
- return /* @__PURE__ */ jsxs84(Fragment18, { children: [
21544
+ return /* @__PURE__ */ jsxs84(Fragment19, { children: [
21421
21545
  /* @__PURE__ */ jsx129(
21422
21546
  NodeEventPlugin,
21423
21547
  {
@@ -21616,7 +21740,7 @@ import {
21616
21740
  TableCellNode
21617
21741
  } from "@lexical/table";
21618
21742
  import { $getRoot as $getRoot2, $getSelection as $getSelection3, $isRangeSelection as $isRangeSelection3 } from "lexical";
21619
- import { forwardRef as forwardRef22, useCallback as useCallback11, useEffect as useEffect21, useLayoutEffect, useState as useState17 } from "react";
21743
+ import { forwardRef as forwardRef23, useCallback as useCallback11, useEffect as useEffect21, useLayoutEffect, useState as useState17 } from "react";
21620
21744
  import { jsx as jsx130, jsxs as jsxs85 } from "@emotion/react/jsx-runtime";
21621
21745
  function computeSelectionCount(selection) {
21622
21746
  const selectionShape = selection.getShape();
@@ -21629,7 +21753,7 @@ var tableActionMenuTrigger = css97`
21629
21753
  position: absolute;
21630
21754
  transform: translate(calc(-100% - 1px), 1px);
21631
21755
  `;
21632
- var TableActionMenuTrigger = forwardRef22((props, ref) => {
21756
+ var TableActionMenuTrigger = forwardRef23((props, ref) => {
21633
21757
  const { tableCellEl, positioningAnchorEl, ...rest } = props;
21634
21758
  const [coordinates, setCoordinates] = useState17({ x: 0, y: 0 });
21635
21759
  useLayoutEffect(() => {
@@ -21963,7 +22087,7 @@ import { calculateZoomLevel } from "@lexical/utils";
21963
22087
  import { $getNearestNodeFromDOMNode } from "lexical";
21964
22088
  import { useCallback as useCallback12, useEffect as useEffect22, useMemo as useMemo6, useRef as useRef13, useState as useState18 } from "react";
21965
22089
  import { createPortal as createPortal3 } from "react-dom";
21966
- import { Fragment as Fragment19, jsx as jsx131, jsxs as jsxs86 } from "@emotion/react/jsx-runtime";
22090
+ import { Fragment as Fragment20, jsx as jsx131, jsxs as jsxs86 } from "@emotion/react/jsx-runtime";
21967
22091
  var MIN_ROW_HEIGHT = 33;
21968
22092
  var MIN_COLUMN_WIDTH = 50;
21969
22093
  var tableResizer = css98`
@@ -22264,7 +22388,7 @@ function TableCellResizer({ editor, positioningAnchorEl }) {
22264
22388
  };
22265
22389
  }, [activeCell, draggingDirection, mouseCurrentPos, positioningAnchorEl]);
22266
22390
  const resizerStyles = getResizers();
22267
- return /* @__PURE__ */ jsx131("div", { ref: resizerRef, children: activeCell != null && !isMouseDown && /* @__PURE__ */ jsxs86(Fragment19, { children: [
22391
+ return /* @__PURE__ */ jsx131("div", { ref: resizerRef, children: activeCell != null && !isMouseDown && /* @__PURE__ */ jsxs86(Fragment20, { children: [
22268
22392
  /* @__PURE__ */ jsx131(
22269
22393
  "div",
22270
22394
  {
@@ -22524,7 +22648,7 @@ var useRichTextToolbarState = ({ config }) => {
22524
22648
  };
22525
22649
 
22526
22650
  // src/components/ParameterInputs/rich-text/toolbar/RichTextToolbar.tsx
22527
- import { Fragment as Fragment20, jsx as jsx132, jsxs as jsxs87 } from "@emotion/react/jsx-runtime";
22651
+ import { Fragment as Fragment21, jsx as jsx132, jsxs as jsxs87 } from "@emotion/react/jsx-runtime";
22528
22652
  var toolbar = css99`
22529
22653
  ${scrollbarStyles}
22530
22654
  background: var(--gray-50);
@@ -22767,18 +22891,26 @@ var RichTextToolbar = ({ config, customControls, onInsertTable, onInsertAsset })
22767
22891
  "button",
22768
22892
  {
22769
22893
  onClick: () => {
22770
- isLink ? editor.dispatchCommand(REMOVE_LINK_NODE_COMMAND, {}) : editor.dispatchCommand(OPEN_LINK_NODE_MODAL_COMMAND, {});
22894
+ if (isLink) {
22895
+ editor.dispatchCommand(REMOVE_LINK_NODE_COMMAND, {});
22896
+ } else {
22897
+ editor.dispatchCommand(OPEN_LINK_NODE_MODAL_COMMAND, {});
22898
+ }
22771
22899
  },
22772
22900
  css: [richTextToolbarButton, isLink ? richTextToolbarButtonActive : null],
22773
22901
  children: /* @__PURE__ */ jsx132(RichTextToolbarIcon, { icon: "link" })
22774
22902
  }
22775
22903
  ) }) : null,
22776
- visibleLists.size > 0 ? /* @__PURE__ */ jsxs87(Fragment20, { children: [
22904
+ visibleLists.size > 0 ? /* @__PURE__ */ jsxs87(Fragment21, { children: [
22777
22905
  visibleLists.has("unorderedList") ? /* @__PURE__ */ jsx132(Tooltip, { title: "Bullet List", placement: "top", children: /* @__PURE__ */ jsx132(
22778
22906
  "button",
22779
22907
  {
22780
22908
  onClick: () => {
22781
- activeElement === "unorderedList" ? editor.dispatchCommand(REMOVE_LIST_COMMAND, void 0) : editor.dispatchCommand(INSERT_UNORDERED_LIST_COMMAND, void 0);
22909
+ if (activeElement === "unorderedList") {
22910
+ editor.dispatchCommand(REMOVE_LIST_COMMAND, void 0);
22911
+ } else {
22912
+ editor.dispatchCommand(INSERT_UNORDERED_LIST_COMMAND, void 0);
22913
+ }
22782
22914
  },
22783
22915
  css: [
22784
22916
  richTextToolbarButton,
@@ -22791,7 +22923,11 @@ var RichTextToolbar = ({ config, customControls, onInsertTable, onInsertAsset })
22791
22923
  "button",
22792
22924
  {
22793
22925
  onClick: () => {
22794
- activeElement === "orderedList" ? editor.dispatchCommand(REMOVE_LIST_COMMAND, void 0) : editor.dispatchCommand(INSERT_ORDERED_LIST_COMMAND, void 0);
22926
+ if (activeElement === "orderedList") {
22927
+ editor.dispatchCommand(REMOVE_LIST_COMMAND, void 0);
22928
+ } else {
22929
+ editor.dispatchCommand(INSERT_ORDERED_LIST_COMMAND, void 0);
22930
+ }
22795
22931
  },
22796
22932
  css: [
22797
22933
  richTextToolbarButton,
@@ -22860,7 +22996,7 @@ var RichTextToolbar = ({ config, customControls, onInsertTable, onInsertAsset })
22860
22996
  var RichTextToolbar_default = RichTextToolbar;
22861
22997
 
22862
22998
  // src/components/ParameterInputs/ParameterRichText.tsx
22863
- import { Fragment as Fragment21, jsx as jsx133, jsxs as jsxs88 } from "@emotion/react/jsx-runtime";
22999
+ import { Fragment as Fragment22, jsx as jsx133, jsxs as jsxs88 } from "@emotion/react/jsx-runtime";
22864
23000
  var ParameterRichText = ({
22865
23001
  label,
22866
23002
  labelLeadingIcon,
@@ -22925,7 +23061,7 @@ var ParameterRichText = ({
22925
23061
  children
22926
23062
  }
22927
23063
  ),
22928
- menuItems ? /* @__PURE__ */ jsx133(ParameterMenuButton, { label: `${label} menu`, children: /* @__PURE__ */ jsx133(Fragment21, { children: menuItems }) }) : null
23064
+ menuItems ? /* @__PURE__ */ jsx133(ParameterMenuButton, { label: `${label} menu`, children: /* @__PURE__ */ jsx133(Fragment22, { children: menuItems }) }) : null
22929
23065
  ]
22930
23066
  }
22931
23067
  );
@@ -23086,7 +23222,7 @@ var ParameterRichTextInner = ({
23086
23222
  },
23087
23223
  editable: !readOnly
23088
23224
  };
23089
- return /* @__PURE__ */ jsxs88(Fragment21, { children: [
23225
+ return /* @__PURE__ */ jsxs88(Fragment22, { children: [
23090
23226
  /* @__PURE__ */ jsx133("div", { css: [editorWrapper], className: editorWrapperClassName, children: /* @__PURE__ */ jsx133(LexicalComposer, { initialConfig: lexicalConfig, children: /* @__PURE__ */ jsx133(
23091
23227
  RichText,
23092
23228
  {
@@ -23165,7 +23301,7 @@ var RichText = ({
23165
23301
  setPortalContainerRef(_portalContainerRef);
23166
23302
  }
23167
23303
  };
23168
- return /* @__PURE__ */ jsxs88(Fragment21, { children: [
23304
+ return /* @__PURE__ */ jsxs88(Fragment22, { children: [
23169
23305
  readOnly || minimalInteractivity ? null : /* @__PURE__ */ jsx133(
23170
23306
  RichTextToolbar_default,
23171
23307
  {
@@ -23209,7 +23345,7 @@ var RichText = ({
23209
23345
  ]
23210
23346
  }
23211
23347
  ),
23212
- /* @__PURE__ */ jsx133(Fragment21, { children }),
23348
+ /* @__PURE__ */ jsx133(Fragment22, { children }),
23213
23349
  editorContainerRef ? /* @__PURE__ */ jsx133(
23214
23350
  LinkNodePlugin,
23215
23351
  {
@@ -23228,15 +23364,15 @@ var RichText = ({
23228
23364
  };
23229
23365
 
23230
23366
  // src/components/ParameterInputs/ParameterSelect.tsx
23231
- import { forwardRef as forwardRef23 } from "react";
23367
+ import { forwardRef as forwardRef24 } from "react";
23232
23368
  import { jsx as jsx134, jsxs as jsxs89 } from "@emotion/react/jsx-runtime";
23233
- var ParameterSelect = forwardRef23(
23369
+ var ParameterSelect = forwardRef24(
23234
23370
  ({ defaultOption, options, ...props }, ref) => {
23235
23371
  const { shellProps, innerProps } = extractParameterProps(props);
23236
23372
  return /* @__PURE__ */ jsx134(ParameterShell, { ...shellProps, children: /* @__PURE__ */ jsx134(ParameterSelectInner, { options, defaultOption, ...innerProps, ref }) });
23237
23373
  }
23238
23374
  );
23239
- var ParameterSelectInner = forwardRef23(
23375
+ var ParameterSelectInner = forwardRef24(
23240
23376
  ({ defaultOption, options, ...props }, ref) => {
23241
23377
  const { id, label, hiddenLabel } = useParameterShell();
23242
23378
  return /* @__PURE__ */ jsxs89(
@@ -23260,13 +23396,13 @@ var ParameterSelectInner = forwardRef23(
23260
23396
  );
23261
23397
 
23262
23398
  // src/components/ParameterInputs/ParameterTextarea.tsx
23263
- import { forwardRef as forwardRef24 } from "react";
23399
+ import { forwardRef as forwardRef25 } from "react";
23264
23400
  import { jsx as jsx135 } from "@emotion/react/jsx-runtime";
23265
- var ParameterTextarea = forwardRef24((props, ref) => {
23401
+ var ParameterTextarea = forwardRef25((props, ref) => {
23266
23402
  const { shellProps, innerProps } = extractParameterProps(props);
23267
23403
  return /* @__PURE__ */ jsx135(ParameterShell, { "data-testid": "parameter-textarea", ...shellProps, children: /* @__PURE__ */ jsx135(ParameterTextareaInner, { ref, ...innerProps }) });
23268
23404
  });
23269
- var ParameterTextareaInner = forwardRef24(({ ...props }, ref) => {
23405
+ var ParameterTextareaInner = forwardRef25(({ ...props }, ref) => {
23270
23406
  const { id, label, hiddenLabel } = useParameterShell();
23271
23407
  return /* @__PURE__ */ jsx135(
23272
23408
  "textarea",
@@ -23281,13 +23417,13 @@ var ParameterTextareaInner = forwardRef24(({ ...props }, ref) => {
23281
23417
  });
23282
23418
 
23283
23419
  // src/components/ParameterInputs/ParameterToggle.tsx
23284
- import { forwardRef as forwardRef25 } from "react";
23420
+ import { forwardRef as forwardRef26 } from "react";
23285
23421
  import { jsx as jsx136, jsxs as jsxs90 } from "@emotion/react/jsx-runtime";
23286
- var ParameterToggle = forwardRef25((props, ref) => {
23422
+ var ParameterToggle = forwardRef26((props, ref) => {
23287
23423
  const { shellProps, innerProps } = extractParameterProps(props);
23288
23424
  return /* @__PURE__ */ jsx136(ParameterShell, { ...shellProps, children: /* @__PURE__ */ jsx136(ParameterToggleInner, { ref, ...innerProps }) });
23289
23425
  });
23290
- var ParameterToggleInner = forwardRef25(
23426
+ var ParameterToggleInner = forwardRef26(
23291
23427
  ({ children, ...props }, ref) => {
23292
23428
  const { id, label } = useParameterShell();
23293
23429
  return /* @__PURE__ */ jsxs90("label", { css: inputToggleLabel2, children: [
@@ -23843,7 +23979,7 @@ var Skeleton = ({
23843
23979
  );
23844
23980
 
23845
23981
  // src/components/Switch/Switch.tsx
23846
- import { forwardRef as forwardRef26 } from "react";
23982
+ import { forwardRef as forwardRef27 } from "react";
23847
23983
 
23848
23984
  // src/components/Switch/Switch.styles.ts
23849
23985
  import { css as css107 } from "@emotion/react";
@@ -23866,7 +24002,7 @@ var SwitchInput = (size) => css107`
23866
24002
  display: block;
23867
24003
  width: ${size === "sm" ? "var(--spacing-base)" : "var(--spacing-md)"};
23868
24004
  height: ${size === "sm" ? "var(--spacing-base)" : "var(--spacing-md)"};
23869
- margin-top: ${size === "sm" ? "var(--spacing-xs)" : "none"};
24005
+ margin-top: ${size === "sm" ? "var(--spacing-2xs)" : "none"};
23870
24006
  transition:
23871
24007
  transform var(--duration-fast) var(--timing-ease-out),
23872
24008
  background-color var(--duration-fast) var(--timing-ease-out),
@@ -23920,7 +24056,7 @@ var SwitchInputLabel = (size) => css107`
23920
24056
  overflow: hidden;
23921
24057
  width: ${size === "sm" ? "var(--spacing-lg)" : "var(--spacing-xl)"};
23922
24058
  height: ${size === "sm" ? "var(--spacing-base)" : "var(--spacing-md)"};
23923
- margin-top: ${size === "sm" ? "var(--spacing-xs)" : "none"};
24059
+ margin-top: ${size === "sm" ? "var(--spacing-2xs)" : "none"};
23924
24060
  position: absolute;
23925
24061
  left: 0;
23926
24062
  top: 0;
@@ -23933,14 +24069,14 @@ var SwitchText = (size) => css107`
23933
24069
  `;
23934
24070
 
23935
24071
  // src/components/Switch/Switch.tsx
23936
- import { Fragment as Fragment22, jsx as jsx141, jsxs as jsxs93 } from "@emotion/react/jsx-runtime";
23937
- var Switch = forwardRef26(
24072
+ import { Fragment as Fragment23, jsx as jsx141, jsxs as jsxs93 } from "@emotion/react/jsx-runtime";
24073
+ var Switch = forwardRef27(
23938
24074
  ({ label, infoText, toggleText, children, switchSize = "base", ...inputProps }, ref) => {
23939
24075
  let additionalText = infoText;
23940
24076
  if (infoText && toggleText) {
23941
24077
  additionalText = inputProps.checked ? toggleText : infoText;
23942
24078
  }
23943
- return /* @__PURE__ */ jsxs93(Fragment22, { children: [
24079
+ return /* @__PURE__ */ jsxs93(Fragment23, { children: [
23944
24080
  /* @__PURE__ */ jsxs93(
23945
24081
  "label",
23946
24082
  {
@@ -24136,7 +24272,6 @@ var StatusBulletContainer = css110`
24136
24272
  gap: var(--spacing-xs);
24137
24273
  line-height: 1;
24138
24274
  position: relative;
24139
- text-transform: lowercase;
24140
24275
 
24141
24276
  &:before {
24142
24277
  border-radius: var(--rounded-full);
@@ -24211,6 +24346,7 @@ var StatusBullet = ({
24211
24346
  hideText = false,
24212
24347
  size = "base",
24213
24348
  message,
24349
+ compact = false,
24214
24350
  ...props
24215
24351
  }) => {
24216
24352
  const currentStateStyles = {
@@ -24225,7 +24361,7 @@ var StatusBullet = ({
24225
24361
  Deleted: StatusDeleted
24226
24362
  };
24227
24363
  const statusSize = size === "base" ? StatusBulletBase : StatusBulletSmall;
24228
- return /* @__PURE__ */ jsx144(Tooltip, { title: message != null ? message : status, children: /* @__PURE__ */ jsx144(
24364
+ const StatusComponent = () => /* @__PURE__ */ jsx144(
24229
24365
  "span",
24230
24366
  {
24231
24367
  role: "status",
@@ -24233,7 +24369,11 @@ var StatusBullet = ({
24233
24369
  ...props,
24234
24370
  children: hideText ? null : message ? message : status
24235
24371
  }
24236
- ) });
24372
+ );
24373
+ if (compact) {
24374
+ return /* @__PURE__ */ jsx144(StatusComponent, {});
24375
+ }
24376
+ return /* @__PURE__ */ jsx144(Tooltip, { title: message != null ? message : status, children: /* @__PURE__ */ jsx144("div", { children: /* @__PURE__ */ jsx144(StatusComponent, {}) }) });
24237
24377
  };
24238
24378
  export {
24239
24379
  AddButton,