@uniformdev/design-system 18.35.1-alpha.18 → 18.35.1-alpha.22

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
@@ -89,6 +89,10 @@ __export(src_exports, {
89
89
  MenuGroup: () => MenuGroup,
90
90
  MenuItem: () => MenuItem,
91
91
  MenuItemSeparator: () => MenuItemSeparator,
92
+ ObjectCompositionListItem: () => ObjectCompositionListItem,
93
+ ObjectListContainer: () => ObjectListContainer,
94
+ ObjectListItemLoadingSkeleton: () => ObjectListItemLoadingSkeleton,
95
+ ObjectPersonalizationListItem: () => ObjectPersonalizationListItem,
92
96
  PageHeaderSection: () => PageHeaderSection,
93
97
  Paragraph: () => Paragraph,
94
98
  ParameterDataResource: () => ParameterDataResource,
@@ -430,6 +434,16 @@ var mq = (size) => `@media (min-width: ${breakpoints[size]}px)`;
430
434
  var supports = (cssProp) => `@supports (${cssProp})`;
431
435
  var cq = (size) => `@container (min-width: ${size})`;
432
436
 
437
+ // src/utils/formatDate.ts
438
+ var formatDate = (date) => {
439
+ const normalizeDate = new Date(date).toLocaleDateString(navigator.language, {
440
+ year: "numeric",
441
+ month: "short",
442
+ day: "numeric"
443
+ });
444
+ return normalizeDate;
445
+ };
446
+
433
447
  // src/utils/replaceUnderscoreInString.ts
434
448
  var replaceUnderscoreInString = (title) => (title == null ? void 0 : title.includes("_")) ? title.replaceAll("_", " ") : title;
435
449
 
@@ -10894,9 +10908,15 @@ var Menu = ({
10894
10908
  menuTrigger,
10895
10909
  placement = "auto",
10896
10910
  menuItemsContainerCssClasses,
10897
- children
10911
+ children,
10912
+ forceVisible
10898
10913
  }) => {
10899
- const menuState = (0, import_Menu.useMenuState)({ placement });
10914
+ const menuState = (0, import_Menu.useMenuState)({ placement, visible: forceVisible });
10915
+ React6.useEffect(() => {
10916
+ if (forceVisible !== void 0) {
10917
+ menuState.setVisible(forceVisible);
10918
+ }
10919
+ });
10900
10920
  return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(MenuContext.Provider, { value: menuState, children: [
10901
10921
  /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_Menu.MenuButton, { ...menuState, ref: menuTrigger.ref, ...menuTrigger.props, children: (triggerProps) => React6.cloneElement(menuTrigger, triggerProps) }),
10902
10922
  /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_Portal.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
@@ -11458,8 +11478,8 @@ var Callout = ({ type = "info", compact = false, title, children, className }) =
11458
11478
  children: /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)("div", { css: calloutInner, children: [
11459
11479
  compact ? null : /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("div", { css: calloutIconWrap, children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(Icon2, { css: [calloutIcon, calloutTypeData.iconColor] }) }),
11460
11480
  /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)("div", { css: [calloutBody, compact ? calloutBodyCompact : void 0], children: [
11461
- title ? /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("div", { css: [calloutTitle], children: title }) : null,
11462
- children ? /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("div", { css: [calloutTypeData.descriptionColor], children }) : null
11481
+ title ? /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("div", { css: [calloutTitle], "data-test-id": "callout-title", children: title }) : null,
11482
+ children ? /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("div", { css: [calloutTypeData.descriptionColor], "data-test-id": "callout-description", children }) : null
11463
11483
  ] })
11464
11484
  ] })
11465
11485
  }
@@ -11588,40 +11608,9 @@ var CardContainer2 = ({
11588
11608
  // src/components/Card/LoadingCardSkeleton.tsx
11589
11609
  var import_cg8 = require("react-icons/cg");
11590
11610
 
11591
- // src/components/Card/LoadingCardSkeleton.styles.ts
11592
- var import_react34 = require("@emotion/react");
11593
- var LoadingCardSkeleton = import_react34.css`
11594
- animation: ${skeletonLoading} 1s linear infinite alternate;
11595
- color: var(--gray-400);
11596
- border-radius: var(--rounded-base);
11597
- padding: var(--spacing-md);
11598
- min-height: 160px;
11599
- position: relative;
11600
- `;
11601
- var LoadingText = import_react34.css`
11602
- animation: ${fadeIn} 1s linear infinite alternate;
11603
- border-radius: var(--rounded-base);
11604
- background: var(--gray-300);
11605
- display: block;
11606
- `;
11607
- var LoadingTitle = import_react34.css`
11608
- width: clamp(200px, 100vw, 60%);
11609
- height: var(--spacing-md);
11610
- `;
11611
- var LoadingTimeStamp = import_react34.css`
11612
- width: clamp(200px, 100vw, 30%);
11613
- height: var(--spacing-sm);
11614
- `;
11615
- var LoadingMenuIcon = import_react34.css`
11616
- animation: ${fadeIn} 1s linear infinite alternate;
11617
- position: absolute;
11618
- top: var(--spacing-md);
11619
- right: var(--spacing-md);
11620
- `;
11621
-
11622
11611
  // src/components/Layout/styles/Container.styles.ts
11623
- var import_react35 = require("@emotion/react");
11624
- var Container = ({ backgroundColor, border, rounded, padding, margin }) => import_react35.css`
11612
+ var import_react34 = require("@emotion/react");
11613
+ var Container = ({ backgroundColor, border, rounded, padding, margin }) => import_react34.css`
11625
11614
  background: var(--${backgroundColor});
11626
11615
  ${border ? "border: 1px solid var(--gray-300)" : void 0};
11627
11616
  ${rounded ? `border-radius: var(--${rounded})` : void 0};
@@ -11659,11 +11648,11 @@ var Container2 = ({
11659
11648
  };
11660
11649
 
11661
11650
  // src/components/Layout/styles/TwoColumnLayout.styles.ts
11662
- var import_react36 = require("@emotion/react");
11663
- var TwoColumnLayoutContainer = (bgColor) => import_react36.css`
11651
+ var import_react35 = require("@emotion/react");
11652
+ var TwoColumnLayoutContainer = (bgColor) => import_react35.css`
11664
11653
  background: ${bgColor};
11665
11654
  `;
11666
- var TwoColumnLayoutInner = (invertLayout) => import_react36.css`
11655
+ var TwoColumnLayoutInner = (invertLayout) => import_react35.css`
11667
11656
  display: grid;
11668
11657
  max-width: var(--site-width);
11669
11658
  margin-inline: auto;
@@ -11679,10 +11668,11 @@ var TwoColumnLayoutInner = (invertLayout) => import_react36.css`
11679
11668
  }`}
11680
11669
  }
11681
11670
  `;
11682
- var TwoColumnLayoutMain = import_react36.css``;
11683
- var TwoColumnLayoutSupporting = import_react36.css`
11671
+ var TwoColumnLayoutMain = import_react35.css``;
11672
+ var TwoColumnLayoutSupporting = import_react35.css`
11684
11673
  display: flex;
11685
11674
  flex-direction: column;
11675
+ gap: var(--spacing-md);
11686
11676
  `;
11687
11677
 
11688
11678
  // src/components/Layout/TwoColumnLayout.tsx
@@ -11700,8 +11690,8 @@ var TwoColumnLayout = ({
11700
11690
  };
11701
11691
 
11702
11692
  // src/components/Layout/styles/VerticalRhythm.styles.ts
11703
- var import_react37 = require("@emotion/react");
11704
- var VerticalRhythmContainer = (size) => import_react37.css`
11693
+ var import_react36 = require("@emotion/react");
11694
+ var VerticalRhythmContainer = (size) => import_react36.css`
11705
11695
  display: flex;
11706
11696
  flex-direction: column;
11707
11697
  gap: var(--spacing-${size});
@@ -11714,6 +11704,37 @@ var VerticalRhythm = ({ tag = "div", gap = "base", children, ...props }) => {
11714
11704
  return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(Tag, { css: VerticalRhythmContainer(gap), ...props, children });
11715
11705
  };
11716
11706
 
11707
+ // src/components/Card/LoadingCardSkeleton.styles.ts
11708
+ var import_react37 = require("@emotion/react");
11709
+ var LoadingCardSkeleton = import_react37.css`
11710
+ animation: ${skeletonLoading} 1s linear infinite alternate;
11711
+ color: var(--gray-400);
11712
+ border-radius: var(--rounded-base);
11713
+ padding: var(--spacing-md);
11714
+ min-height: 160px;
11715
+ position: relative;
11716
+ `;
11717
+ var LoadingText = import_react37.css`
11718
+ animation: ${fadeIn} 1s linear infinite alternate;
11719
+ border-radius: var(--rounded-base);
11720
+ background: var(--gray-300);
11721
+ display: block;
11722
+ `;
11723
+ var LoadingTitle = import_react37.css`
11724
+ width: clamp(200px, 100vw, 60%);
11725
+ height: var(--spacing-md);
11726
+ `;
11727
+ var LoadingTimeStamp = import_react37.css`
11728
+ width: clamp(200px, 100vw, 30%);
11729
+ height: var(--spacing-sm);
11730
+ `;
11731
+ var LoadingMenuIcon = import_react37.css`
11732
+ animation: ${fadeIn} 1s linear infinite alternate;
11733
+ position: absolute;
11734
+ top: var(--spacing-md);
11735
+ right: var(--spacing-md);
11736
+ `;
11737
+
11717
11738
  // src/components/Card/LoadingCardSkeleton.tsx
11718
11739
  var import_jsx_runtime32 = require("@emotion/react/jsx-runtime");
11719
11740
  var LoadingCardSkeleton2 = () => {
@@ -11726,10 +11747,11 @@ var LoadingCardSkeleton2 = () => {
11726
11747
 
11727
11748
  // src/components/Counter/Counter.styles.ts
11728
11749
  var import_react38 = require("@emotion/react");
11729
- var counterContainer = import_react38.css`
11750
+ var counterContainer = (bgColor) => import_react38.css`
11730
11751
  align-items: center;
11731
11752
  border-radius: var(--rounded-full);
11732
11753
  border: 1px solid var(--gray-300);
11754
+ background: ${bgColor};
11733
11755
  color: var(--brand-secondary-1);
11734
11756
  display: inline-flex;
11735
11757
  font-size: var(--fs-xxs);
@@ -11759,7 +11781,7 @@ var counterIcon = import_react38.css`
11759
11781
 
11760
11782
  // src/components/Counter/Counter.tsx
11761
11783
  var import_jsx_runtime33 = require("@emotion/react/jsx-runtime");
11762
- var Counter = ({ count }) => {
11784
+ var Counter = ({ count, bgColor = "transparent" }) => {
11763
11785
  if (typeof count === "undefined") {
11764
11786
  return null;
11765
11787
  }
@@ -11768,7 +11790,7 @@ var Counter = ({ count }) => {
11768
11790
  /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Icon, { icon: "math-plus", iconColor: "currentColor", size: "0.5rem", css: counterIcon })
11769
11791
  ] }) : count;
11770
11792
  const formatCount = count === 0 ? /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("span", { css: counterZeroValue, title: `${count}` }) : isTripleDigits;
11771
- return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { css: counterContainer, children: formatCount });
11793
+ return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { css: counterContainer(bgColor), children: formatCount });
11772
11794
  };
11773
11795
 
11774
11796
  // src/components/DashedBox/DashedBox.styles.ts
@@ -12125,7 +12147,8 @@ var DrawerInner = ({
12125
12147
  children,
12126
12148
  header,
12127
12149
  instanceKey,
12128
- onRequestClose
12150
+ onRequestClose,
12151
+ testId = "side-dialog"
12129
12152
  }) => {
12130
12153
  const { registerDrawer, unregisterDrawer } = useDrawer();
12131
12154
  const closeButtonRef = (0, import_react44.useRef)(null);
@@ -12140,7 +12163,7 @@ var DrawerInner = ({
12140
12163
  tabIndex: -1,
12141
12164
  "aria-labelledby": headerId,
12142
12165
  css: drawerStyles(bgColor),
12143
- "data-test-id": "side-dialog",
12166
+ "data-test-id": testId,
12144
12167
  children: [
12145
12168
  /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
12146
12169
  Button,
@@ -12159,7 +12182,7 @@ var DrawerInner = ({
12159
12182
  ]
12160
12183
  }
12161
12184
  );
12162
- }, [children, header, id, stackId, bgColor, onRequestClose, ref]);
12185
+ }, [children, header, id, stackId, bgColor, onRequestClose, ref, testId]);
12163
12186
  (0, import_react44.useEffect)(() => {
12164
12187
  registerDrawer({
12165
12188
  drawer: {
@@ -12804,7 +12827,7 @@ var InputKeywordSearch = ({
12804
12827
  placeholder,
12805
12828
  showLabel: false,
12806
12829
  value,
12807
- icon: value ? /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("button", { css: inputSearchCloseBtn, onClick: onClear, children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Icon, { icon: "close", iconColor: "red", size: "1rem" }) }) : /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Icon, { icon: "search", iconColor: "gray", size: "1rem" }),
12830
+ icon: value ? /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("button", { css: inputSearchCloseBtn, onClick: onClear, type: "button", children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Icon, { icon: "close", iconColor: "red", size: "1rem" }) }) : /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Icon, { icon: "search", iconColor: "gray", size: "1rem" }),
12808
12831
  onChange: handleSearchTextChanged,
12809
12832
  onKeyPress: preventSubmitOnField,
12810
12833
  disabled,
@@ -12878,30 +12901,44 @@ var InputSelect = ({
12878
12901
  };
12879
12902
 
12880
12903
  // src/components/Input/InputToggle.tsx
12904
+ var React14 = __toESM(require("react"));
12881
12905
  var import_jsx_runtime51 = require("@emotion/react/jsx-runtime");
12882
- var InputToggle = ({
12883
- label,
12884
- type,
12885
- disabled,
12886
- checked,
12887
- name,
12888
- caption,
12889
- errorMessage,
12890
- warningMessage,
12891
- testId,
12892
- fontWeight = "medium",
12893
- ...props
12894
- }) => {
12895
- return /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(Label, { css: [inputToggleLabel, disabled ? inputDisabled : void 0], "data-test-id": testId, children: [
12896
- /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("input", { type, css: toggleInput, checked, name, disabled, ...props }),
12897
- /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("span", { css: inlineLabel(fontWeight), dangerouslySetInnerHTML: { __html: label } }),
12898
- caption || errorMessage ? /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("span", { css: inputToggleMessageContainer, children: [
12899
- caption ? /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Caption, { children: caption }) : null,
12900
- errorMessage ? /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(ErrorMessage, { message: errorMessage }) : null,
12901
- warningMessage && !errorMessage ? /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(WarningMessage, { message: warningMessage }) : null
12902
- ] }) : null
12903
- ] });
12904
- };
12906
+ var InputToggle = React14.forwardRef(
12907
+ ({
12908
+ label,
12909
+ type,
12910
+ disabled,
12911
+ checked,
12912
+ name,
12913
+ caption,
12914
+ errorMessage,
12915
+ warningMessage,
12916
+ testId,
12917
+ fontWeight = "medium",
12918
+ ...props
12919
+ }, ref) => {
12920
+ return /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(Label, { css: [inputToggleLabel, disabled ? inputDisabled : void 0], "data-test-id": testId, children: [
12921
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
12922
+ "input",
12923
+ {
12924
+ ref,
12925
+ type,
12926
+ css: toggleInput,
12927
+ checked,
12928
+ name,
12929
+ disabled,
12930
+ ...props
12931
+ }
12932
+ ),
12933
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("span", { css: inlineLabel(fontWeight), dangerouslySetInnerHTML: { __html: label } }),
12934
+ caption || errorMessage ? /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("span", { css: inputToggleMessageContainer, children: [
12935
+ caption ? /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Caption, { children: caption }) : null,
12936
+ errorMessage ? /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(ErrorMessage, { message: errorMessage }) : null,
12937
+ warningMessage && !errorMessage ? /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(WarningMessage, { message: warningMessage }) : null
12938
+ ] }) : null
12939
+ ] });
12940
+ }
12941
+ );
12905
12942
 
12906
12943
  // src/components/Input/Legend.tsx
12907
12944
  var import_jsx_runtime52 = require("@emotion/react/jsx-runtime");
@@ -13999,140 +14036,622 @@ var IntegrationModalHeader = ({ icon, name, menu: menu2, children }) => {
13999
14036
  ] });
14000
14037
  };
14001
14038
 
14002
- // src/components/Tooltip/Tooltip.tsx
14003
- var import_react74 = __toESM(require("react"));
14004
- var import_Tooltip = require("reakit/Tooltip");
14039
+ // src/components/ObjectList/ObjectCompositionListItem.tsx
14040
+ var import_react75 = require("react");
14005
14041
 
14006
- // src/components/Tooltip/Tooltip.styles.ts
14042
+ // src/components/Validation/StatusBullet.styles.ts
14007
14043
  var import_react73 = require("@emotion/react");
14008
- var TooltipContainer = import_react73.css`
14009
- border: 2px solid var(--gray-300);
14010
- border-radius: var(--rounded-base);
14011
- padding: var(--spacing-xs) var(--spacing-sm);
14044
+ var StatusBulletContainer = import_react73.css`
14045
+ align-items: center;
14046
+ align-self: center;
14012
14047
  color: var(--gray-500);
14048
+ display: inline-flex;
14049
+ font-weight: var(--fw-regular);
14050
+ gap: var(--spacing-xs);
14051
+ line-height: 1;
14052
+ position: relative;
14053
+ text-transform: lowercase;
14054
+
14055
+ &:before {
14056
+ border-radius: var(--rounded-full);
14057
+ content: '';
14058
+ display: block;
14059
+ }
14060
+ `;
14061
+ var StatusBulletBase = import_react73.css`
14062
+ font-size: var(--fs-sm);
14063
+ &:before {
14064
+ width: var(--fs-xs);
14065
+ height: var(--fs-xs);
14066
+ }
14067
+ `;
14068
+ var StatusBulletSmall = import_react73.css`
14013
14069
  font-size: var(--fs-xs);
14014
- background: var(--white);
14070
+ &:before {
14071
+ width: var(--fs-xxs);
14072
+ height: var(--fs-xxs);
14073
+ }
14015
14074
  `;
14016
- var TooltipArrowStyles = import_react73.css`
14017
- svg {
14018
- fill: var(--gray-300);
14075
+ var StatusDraft = import_react73.css`
14076
+ &:before {
14077
+ background: var(--white);
14078
+ box-shadow: inset 0 0 0 0.125rem var(--brand-primary-1);
14019
14079
  }
14020
14080
  `;
14021
-
14022
- // src/components/Tooltip/Tooltip.tsx
14023
- var import_jsx_runtime72 = require("@emotion/react/jsx-runtime");
14024
- function Tooltip({ children, title, placement = "bottom", visible, ...props }) {
14025
- const tooltip = (0, import_Tooltip.useTooltipState)({ placement });
14026
- return !title ? children : /* @__PURE__ */ (0, import_jsx_runtime72.jsxs)(import_jsx_runtime72.Fragment, { children: [
14027
- /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(import_Tooltip.TooltipReference, { ...tooltip, ...children.props, children: (referenceProps) => import_react74.default.cloneElement(children, referenceProps) }),
14028
- /* @__PURE__ */ (0, import_jsx_runtime72.jsxs)(import_Tooltip.Tooltip, { ...tooltip, ...props, css: TooltipContainer, visible: visible != null ? visible : tooltip.visible, children: [
14029
- /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(import_Tooltip.TooltipArrow, { ...tooltip, css: TooltipArrowStyles }),
14030
- title
14031
- ] })
14032
- ] });
14033
- }
14034
-
14035
- // src/components/ParameterInputs/styles/ParameterBindingButton.styles.ts
14036
- var import_react75 = require("@emotion/react");
14037
- var inputIconBtn = import_react75.css`
14038
- align-items: center;
14039
- border: none;
14040
- border-radius: var(--rounded-base);
14041
- background: none;
14042
- display: flex;
14043
- padding: var(--spacing-2xs);
14044
- transition: background var(--duration-fast) var(--timing-ease-out),
14045
- color var(--duration-fast) var(--timing-ease-out);
14046
-
14047
- &:hover,
14048
- &[aria-pressed='true']:not(:disabled) {
14081
+ var StatusModified = import_react73.css`
14082
+ &:before {
14083
+ background: linear-gradient(to right, var(--white) 50%, var(--brand-primary-1) 50% 100%);
14084
+ box-shadow: inset 0 0 0 0.125rem var(--brand-primary-1);
14085
+ }
14086
+ `;
14087
+ var StatusError = import_react73.css`
14088
+ color: var(--error);
14089
+ &:before {
14090
+ background: linear-gradient(120deg, var(--error) 40%, var(--white) 50%, var(--error) 60%);
14091
+ }
14092
+ `;
14093
+ var StatusPublished = import_react73.css`
14094
+ &:before {
14049
14095
  background: var(--brand-secondary-3);
14050
- color: var(--white);
14051
14096
  }
14052
-
14053
- &[aria-disabled='true'] {
14054
- background: none;
14055
- color: currentColor;
14097
+ `;
14098
+ var StatusOrphan = import_react73.css`
14099
+ &:before {
14100
+ background: var(--brand-secondary-5);
14056
14101
  }
14057
14102
  `;
14058
14103
 
14059
- // src/components/ParameterInputs/ConnectToDataElementButton.tsx
14060
- var import_jsx_runtime73 = require("@emotion/react/jsx-runtime");
14061
- var ConnectToDataElementButton = ({
14062
- icon,
14063
- iconColor,
14064
- children,
14065
- isBound,
14066
- isLocked,
14104
+ // src/components/Validation/StatusBullet.tsx
14105
+ var import_jsx_runtime72 = require("@emotion/react/jsx-runtime");
14106
+ var StatusBullet = ({
14107
+ status,
14108
+ hideText = false,
14109
+ size = "base",
14110
+ message,
14067
14111
  ...props
14068
14112
  }) => {
14069
- const title = isLocked ? "Read-only pattern parameter" : isBound ? "Connected to external content. Click to edit" : "Click to connect to external content";
14070
- return /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(Tooltip, { title, children: /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)(
14071
- "button",
14113
+ const currentStateStyles = {
14114
+ Error: StatusError,
14115
+ Modified: StatusModified,
14116
+ Unsaved: StatusDraft,
14117
+ Orphan: StatusOrphan,
14118
+ Published: StatusPublished,
14119
+ Draft: StatusDraft
14120
+ };
14121
+ const statusSize = size === "base" ? StatusBulletBase : StatusBulletSmall;
14122
+ return /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
14123
+ "span",
14072
14124
  {
14073
- css: inputIconBtn,
14074
- type: "button",
14075
- "aria-pressed": isBound,
14076
- "aria-disabled": isLocked,
14125
+ role: "status",
14126
+ css: [StatusBulletContainer, currentStateStyles[status], statusSize],
14127
+ title: message != null ? message : status,
14077
14128
  ...props,
14078
- children: [
14079
- /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
14080
- Icon,
14081
- {
14082
- icon: isLocked ? "lock" : icon ? icon : "arrows-expand-down-right",
14083
- iconColor: iconColor ? iconColor : "currentColor",
14084
- size: "1rem"
14085
- }
14086
- ),
14087
- children
14088
- ]
14129
+ children: hideText ? null : message ? message : status
14089
14130
  }
14090
- ) });
14131
+ );
14091
14132
  };
14092
14133
 
14093
- // src/components/ParameterInputs/hooks/ParameterShellContext.tsx
14094
- var import_react76 = require("react");
14095
- var ParameterShellContext = (0, import_react76.createContext)({
14096
- id: "",
14097
- label: "",
14098
- hiddenLabel: void 0,
14099
- errorMessage: void 0,
14100
- onManuallySetErrorMessage: () => {
14101
- }
14102
- });
14103
- var useParameterShell = () => {
14104
- const { id, label, hiddenLabel, errorMessage, onManuallySetErrorMessage } = (0, import_react76.useContext)(ParameterShellContext);
14105
- return {
14106
- id,
14107
- label,
14108
- hiddenLabel,
14109
- errorMessage,
14110
- onManuallySetErrorMessage
14111
- };
14112
- };
14134
+ // src/components/ObjectList/styles/ObjectListItem.styles.ts
14135
+ var import_react74 = require("@emotion/react");
14136
+ var ObjectListItemContainer = import_react74.css`
14137
+ border-top: 1px solid var(--gray-300);
14138
+ border-bottom: 1px solid var(--gray-300);
14139
+ display: block;
14140
+ padding: var(--spacing-base) var(--spacing-sm);
14141
+ font-size: var(--fs-sm);
14142
+ margin-bottom: -1px;
14143
+ transition: background-color var(--duration-fast) var(--timing-ease-out);
14144
+ text-decoration: none;
14113
14145
 
14114
- // src/components/ParameterInputs/styles/ParameterInput.styles.ts
14115
- var import_react77 = require("@emotion/react");
14116
- var inputContainer2 = import_react77.css`
14117
- position: relative;
14146
+ &:hover {
14147
+ background: var(--gray-50);
14118
14148
 
14119
- &:hover,
14120
- &:focus,
14121
- &:focus-within {
14122
- .parameter-menu {
14123
- opacity: var(--opacity-100);
14124
- translate: 0 0;
14149
+ & [role='heading'] {
14150
+ text-decoration: underline;
14125
14151
  }
14126
14152
  }
14127
14153
  `;
14128
- var labelText2 = import_react77.css`
14129
- align-items: center;
14154
+ var ObjectListItemLoading = import_react74.css`
14155
+ animation: ${skeletonLoading} 1s linear infinite alternate;
14156
+ border-color: var(--white);
14157
+ display: flex;
14158
+ flex-direction: column;
14159
+ padding: var(--spacing-base) var(--spacing-sm);
14160
+ gap: var(--spacing-sm);
14161
+ `;
14162
+ var ObjectListItemLoadingText = (textLength) => import_react74.css`
14163
+ animation: ${fadeIn} 1s linear infinite alternate;
14164
+ border-radius: var(--rounded-base);
14165
+ background: var(--gray-300);
14166
+ display: block;
14167
+ width: ${textLength};
14168
+ height: var(--fs-sm);
14169
+ `;
14170
+ var ObjectListItemInlineGroup = import_react74.css`
14171
+ align-items: center;
14172
+ display: flex;
14173
+ gap: var(--spacing-sm);
14174
+ `;
14175
+ var ObjectListItemInlineHeadingGroup = import_react74.css`
14176
+ justify-content: space-between;
14177
+ `;
14178
+ var ObjectListItemTitle = import_react74.css`
14179
+ color: var(--brand-secondary-1);
14180
+ font-size: var(--fs-sm);
14181
+ `;
14182
+ var ObjectListItemSmallText = import_react74.css`
14183
+ color: var(--brand-secondary-1);
14184
+ font-size: var(--fs-xs);
14185
+ min-width: max-content;
14186
+ `;
14187
+ var ObjectListKeyText = import_react74.css`
14188
+ color: var(--gray-400);
14189
+ font-size: var(--fs-xs);
14190
+ text-transform: capitalize;
14191
+ `;
14192
+ var ObjectListValueText = import_react74.css`
14193
+ color: var(--gray-500);
14194
+ font-size: var(--fs-xs);
14195
+ text-transform: none;
14196
+ `;
14197
+
14198
+ // src/components/ObjectList/ObjectCompositionListItem.tsx
14199
+ var import_jsx_runtime73 = require("@emotion/react/jsx-runtime");
14200
+ var ObjectCompositionListItem = (0, import_react75.forwardRef)(
14201
+ ({
14202
+ title,
14203
+ date,
14204
+ componentName,
14205
+ icon,
14206
+ publishStatus,
14207
+ href,
14208
+ as,
14209
+ linkManagerComponent: LinkManager,
14210
+ ...props
14211
+ }, ref) => {
14212
+ return /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(LinkManager, { ...props, as, href, ref, passHref: true, legacyBehavior: true, role: "listitem", children: /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("a", { css: ObjectListItemContainer, children: [
14213
+ /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("div", { css: [ObjectListItemInlineGroup, ObjectListItemInlineHeadingGroup], children: [
14214
+ /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("span", { role: "heading", css: ObjectListItemTitle, children: title }),
14215
+ /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("time", { role: "time", dateTime: `${date}`, css: ObjectListItemSmallText, children: formatDate(date) })
14216
+ ] }),
14217
+ /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("div", { css: ObjectListItemInlineGroup, children: [
14218
+ !icon && !componentName ? null : /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("div", { css: [ObjectListItemInlineGroup, ObjectListItemSmallText], children: [
14219
+ !icon ? null : /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(Icon, { icon, size: "1rem" }),
14220
+ !componentName ? null : /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("span", { children: componentName })
14221
+ ] }),
14222
+ !publishStatus ? null : /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(StatusBullet, { status: publishStatus, size: "sm" })
14223
+ ] })
14224
+ ] }) });
14225
+ }
14226
+ );
14227
+
14228
+ // src/components/ObjectList/ObjectListContainer.tsx
14229
+ var React18 = __toESM(require("react"));
14230
+
14231
+ // src/components/SegmentedControl/SegmentedControl.tsx
14232
+ var import_react79 = require("@emotion/react");
14233
+ var import_react80 = require("react");
14234
+ var import_cg15 = require("react-icons/cg");
14235
+
14236
+ // src/components/Tooltip/Tooltip.tsx
14237
+ var import_react77 = __toESM(require("react"));
14238
+ var import_Tooltip = require("reakit/Tooltip");
14239
+
14240
+ // src/components/Tooltip/Tooltip.styles.ts
14241
+ var import_react76 = require("@emotion/react");
14242
+ var TooltipContainer = import_react76.css`
14243
+ border: 2px solid var(--gray-300);
14244
+ border-radius: var(--rounded-base);
14245
+ padding: var(--spacing-xs) var(--spacing-sm);
14246
+ color: var(--gray-500);
14247
+ font-size: var(--fs-xs);
14248
+ background: var(--white);
14249
+ `;
14250
+ var TooltipArrowStyles = import_react76.css`
14251
+ svg {
14252
+ fill: var(--gray-300);
14253
+ }
14254
+ `;
14255
+
14256
+ // src/components/Tooltip/Tooltip.tsx
14257
+ var import_jsx_runtime74 = require("@emotion/react/jsx-runtime");
14258
+ function Tooltip({ children, title, placement = "bottom", visible, ...props }) {
14259
+ const tooltip = (0, import_Tooltip.useTooltipState)({ placement });
14260
+ return !title ? children : /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)(import_jsx_runtime74.Fragment, { children: [
14261
+ /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(import_Tooltip.TooltipReference, { ...tooltip, ...children.props, children: (referenceProps) => import_react77.default.cloneElement(children, referenceProps) }),
14262
+ /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)(import_Tooltip.Tooltip, { ...tooltip, ...props, css: TooltipContainer, visible: visible != null ? visible : tooltip.visible, children: [
14263
+ /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(import_Tooltip.TooltipArrow, { ...tooltip, css: TooltipArrowStyles }),
14264
+ title
14265
+ ] })
14266
+ ] });
14267
+ }
14268
+
14269
+ // src/components/SegmentedControl/SegmentedControl.styles.ts
14270
+ var import_react78 = require("@emotion/react");
14271
+ var segmentedControlStyles = import_react78.css`
14272
+ --segmented-control-rounded-value: var(--rounded-base);
14273
+ --segmented-control-border-width: 1px;
14274
+ --segmented-control-selected-color: var(--brand-secondary-3);
14275
+ --segmented-control-first-border-radius: var(--segmented-control-rounded-value) 0 0
14276
+ var(--segmented-control-rounded-value);
14277
+ --segmented-control-last-border-radius: 0 var(--segmented-control-rounded-value)
14278
+ var(--segmented-control-rounded-value) 0;
14279
+
14280
+ position: relative;
14281
+ display: flex;
14282
+ justify-content: flex-start;
14283
+ width: fit-content;
14284
+ background-color: var(--gray-300);
14285
+ padding: var(--segmented-control-border-width);
14286
+ gap: var(--segmented-control-border-width);
14287
+ border-radius: calc(var(--segmented-control-rounded-value) + var(--segmented-control-border-width));
14288
+ font-size: var(--fs-xs);
14289
+ `;
14290
+ var segmentedControlVerticalStyles = import_react78.css`
14291
+ flex-direction: column;
14292
+ --segmented-control-first-border-radius: var(--segmented-control-rounded-value)
14293
+ var(--segmented-control-rounded-value) 0 0;
14294
+ --segmented-control-last-border-radius: 0 0 var(--segmented-control-rounded-value)
14295
+ var(--segmented-control-rounded-value);
14296
+ `;
14297
+ var segmentedControlItemStyles = import_react78.css`
14298
+ &:first-of-type label {
14299
+ border-radius: var(--segmented-control-first-border-radius);
14300
+ }
14301
+ &:last-of-type label {
14302
+ border-radius: var(--segmented-control-last-border-radius);
14303
+ }
14304
+ `;
14305
+ var segmentedControlInputStyles = import_react78.css`
14306
+ clip: rect(0, 0, 0, 0);
14307
+ position: absolute;
14308
+ width: 1px;
14309
+ height: 1px;
14310
+ overflow: hidden;
14311
+ `;
14312
+ var segmentedControlLabelStyles = import_react78.css`
14313
+ position: relative;
14314
+ display: flex;
14315
+ align-items: center;
14316
+ justify-content: center;
14317
+ height: 2rem;
14318
+ padding-inline: var(--spacing-base);
14319
+ background-color: white;
14320
+ transition-property: background-color, color, box-shadow;
14321
+ transition-duration: var(--duration-xfast);
14322
+ transition-timing-function: ease-in-out;
14323
+ z-index: 1;
14324
+ cursor: pointer;
14325
+
14326
+ &:has(:checked:not(:disabled)) {
14327
+ background-color: var(--segmented-control-selected-color);
14328
+ outline: var(--segmented-control-border-width) solid var(--segmented-control-selected-color);
14329
+ box-shadow: 0 0.43em 1.7em 0 rgba(0, 0, 0, 0.15);
14330
+ color: white;
14331
+ -webkit-text-stroke-width: thin;
14332
+ z-index: 0;
14333
+ }
14334
+
14335
+ &:hover:not(:has(:disabled, :checked)) {
14336
+ background-color: var(--gray-100);
14337
+ }
14338
+
14339
+ &:has(:disabled) {
14340
+ color: var(--gray-400);
14341
+ cursor: default;
14342
+ }
14343
+
14344
+ &:has(:checked:disabled) {
14345
+ color: var(--gray-50);
14346
+ background-color: var(--gray-400);
14347
+ }
14348
+ `;
14349
+ var segmentedControlLabelIconOnlyStyles = import_react78.css`
14350
+ padding-inline: 0.5em;
14351
+ `;
14352
+ var segmentedControlLabelCheckStyles = import_react78.css`
14353
+ opacity: 0.5;
14354
+ `;
14355
+ var segmentedControlLabelContentStyles = import_react78.css`
14356
+ display: flex;
14357
+ align-items: center;
14358
+ justify-content: center;
14359
+ gap: var(--spacing-sm);
14360
+ height: 100%;
14361
+ `;
14362
+ var segmentedControlLabelTextStyles = import_react78.css``;
14363
+
14364
+ // src/components/SegmentedControl/SegmentedControl.tsx
14365
+ var import_jsx_runtime75 = require("@emotion/react/jsx-runtime");
14366
+ var SegmentedControl = ({
14367
+ name,
14368
+ options,
14369
+ value,
14370
+ onChange,
14371
+ noCheckmark = false,
14372
+ disabled = false,
14373
+ orientation = "horizontal",
14374
+ size = "md",
14375
+ ...props
14376
+ }) => {
14377
+ const onOptionChange = (0, import_react80.useCallback)(
14378
+ (event) => {
14379
+ if (event.target.checked) {
14380
+ onChange == null ? void 0 : onChange(options[parseInt(event.target.value)].value);
14381
+ }
14382
+ },
14383
+ [options, onChange]
14384
+ );
14385
+ const sizeStyles = (0, import_react80.useMemo)(() => {
14386
+ const map = {
14387
+ sm: (0, import_react79.css)({ height: "calc(24px - 2px)", fontSize: "var(--fs-xs)" }),
14388
+ md: (0, import_react79.css)({ height: "calc(32px - 2px)", fontSize: "var(--fs-sm)" }),
14389
+ lg: (0, import_react79.css)({ height: "calc(40px - 2px)", fontSize: "var(--fs-base)" })
14390
+ };
14391
+ return map[size];
14392
+ }, [size]);
14393
+ const isIconOnly = (0, import_react80.useMemo)(() => {
14394
+ return options.every((option) => option.icon && !option.label);
14395
+ }, [options]);
14396
+ return /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
14397
+ "div",
14398
+ {
14399
+ css: [segmentedControlStyles, orientation === "vertical" ? segmentedControlVerticalStyles : void 0],
14400
+ ...props,
14401
+ children: options.map((option, index) => {
14402
+ const text = option.label ? option.label : option.icon ? null : String(option.value);
14403
+ const isDisabled = disabled || option.disabled;
14404
+ return /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
14405
+ Tooltip,
14406
+ {
14407
+ title: isDisabled || !option.tooltip ? "" : option.tooltip,
14408
+ children: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("div", { css: segmentedControlItemStyles, children: /* @__PURE__ */ (0, import_jsx_runtime75.jsxs)(
14409
+ "label",
14410
+ {
14411
+ css: [
14412
+ segmentedControlLabelStyles,
14413
+ sizeStyles,
14414
+ isIconOnly ? segmentedControlLabelIconOnlyStyles : void 0
14415
+ ],
14416
+ children: [
14417
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
14418
+ "input",
14419
+ {
14420
+ css: segmentedControlInputStyles,
14421
+ type: "radio",
14422
+ name,
14423
+ value: index,
14424
+ checked: option.value === value,
14425
+ onChange: onOptionChange,
14426
+ disabled: isDisabled
14427
+ }
14428
+ ),
14429
+ option.value !== value || noCheckmark ? null : /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_cg15.CgCheck, { css: segmentedControlLabelCheckStyles, "aria-label": "Selected", size: "1.5em" }),
14430
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsxs)("span", { css: segmentedControlLabelContentStyles, children: [
14431
+ !option.icon ? null : /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(option.icon, { size: "1.5em" }),
14432
+ !text ? null : /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("span", { css: segmentedControlLabelTextStyles, children: text })
14433
+ ] })
14434
+ ]
14435
+ }
14436
+ ) })
14437
+ },
14438
+ JSON.stringify(option.value)
14439
+ );
14440
+ })
14441
+ }
14442
+ );
14443
+ };
14444
+
14445
+ // src/components/ObjectList/ObjectListItemLoadingSkeleton.tsx
14446
+ var import_jsx_runtime76 = require("@emotion/react/jsx-runtime");
14447
+ var ObjectListItemLoadingSkeleton = () => {
14448
+ return /* @__PURE__ */ (0, import_jsx_runtime76.jsxs)("div", { css: [ObjectListItemContainer, ObjectListItemLoading], children: [
14449
+ /* @__PURE__ */ (0, import_jsx_runtime76.jsxs)("div", { css: [ObjectListItemInlineGroup, ObjectListItemInlineHeadingGroup], children: [
14450
+ /* @__PURE__ */ (0, import_jsx_runtime76.jsx)("span", { css: ObjectListItemLoadingText("30ch") }),
14451
+ /* @__PURE__ */ (0, import_jsx_runtime76.jsx)("span", { css: ObjectListItemLoadingText("5ch") })
14452
+ ] }),
14453
+ /* @__PURE__ */ (0, import_jsx_runtime76.jsxs)("div", { css: ObjectListItemInlineGroup, children: [
14454
+ /* @__PURE__ */ (0, import_jsx_runtime76.jsx)("span", { css: ObjectListItemLoadingText("10ch") }),
14455
+ /* @__PURE__ */ (0, import_jsx_runtime76.jsx)("span", { css: ObjectListItemLoadingText("10ch") })
14456
+ ] })
14457
+ ] });
14458
+ };
14459
+
14460
+ // src/components/ObjectList/styles/ObjectListContainer.styles.ts
14461
+ var import_react81 = require("@emotion/react");
14462
+ var InlineGroup = import_react81.css`
14463
+ align-items: center;
14464
+ display: flex;
14465
+ gap: var(--spacing-base);
14466
+ `;
14467
+ var FilterGroup = import_react81.css`
14468
+ ${InlineGroup}
14469
+ justify-content: space-between
14470
+ `;
14471
+ var GroupLabel = import_react81.css`
14472
+ font-size: var(--fs-sm);
14473
+ `;
14474
+
14475
+ // src/components/ObjectList/ObjectListContainer.tsx
14476
+ var import_jsx_runtime77 = require("@emotion/react/jsx-runtime");
14477
+ var ObjectListContainer = ({
14478
+ title = "Recent Compositions",
14479
+ list,
14480
+ filterOptions,
14481
+ filterValue,
14482
+ isLoading,
14483
+ onSetFilterOption,
14484
+ resolveDefaultComponent = (value) => /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(ObjectCompositionListItem, { ...value }),
14485
+ children,
14486
+ ...props
14487
+ }) => {
14488
+ const [loadingList, setLoadingList] = React18.useState(5);
14489
+ React18.useEffect(() => {
14490
+ if (list.length) {
14491
+ setLoadingList(list.length);
14492
+ }
14493
+ }, [list]);
14494
+ return /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)(VerticalRhythm, { ...props, children: [
14495
+ /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)("div", { css: FilterGroup, children: [
14496
+ /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(Heading, { level: 4, withMarginBottom: false, children: title }),
14497
+ /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)("div", { css: InlineGroup, children: [
14498
+ /* @__PURE__ */ (0, import_jsx_runtime77.jsx)("span", { css: GroupLabel, children: "Show" }),
14499
+ /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(
14500
+ SegmentedControl,
14501
+ {
14502
+ name: "recent-filter-options",
14503
+ options: filterOptions,
14504
+ value: filterValue,
14505
+ onChange: (e) => onSetFilterOption(e),
14506
+ noCheckmark: true,
14507
+ disabled: list.length === 0
14508
+ }
14509
+ )
14510
+ ] })
14511
+ ] }),
14512
+ isLoading ? /* @__PURE__ */ (0, import_jsx_runtime77.jsx)("div", { children: Array.from(Array(loadingList).keys()).map((item) => /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(ObjectListItemLoadingSkeleton, {}, item)) }) : null,
14513
+ list.length && !isLoading ? /* @__PURE__ */ (0, import_jsx_runtime77.jsx)("div", { role: "list", children: list == null ? void 0 : list.map((item) => resolveDefaultComponent(item)) }) : null,
14514
+ children
14515
+ ] });
14516
+ };
14517
+
14518
+ // src/components/ObjectList/ObjectPersonalizationListItem.tsx
14519
+ var import_react82 = require("react");
14520
+ var import_jsx_runtime78 = require("@emotion/react/jsx-runtime");
14521
+ var ObjectPersonalizationListItem = (0, import_react82.forwardRef)(({ title, date, id, data, linkManagerComponent: LinkManager, as, ...props }, ref) => {
14522
+ return /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)(
14523
+ LinkManager,
14524
+ {
14525
+ ...props,
14526
+ as,
14527
+ href: props.href,
14528
+ ref,
14529
+ passHref: true,
14530
+ legacyBehavior: true,
14531
+ css: ObjectListItemContainer,
14532
+ role: "listitem",
14533
+ children: [
14534
+ /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("div", { css: [ObjectListItemInlineGroup, ObjectListItemInlineHeadingGroup], children: [
14535
+ /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("span", { role: "heading", css: ObjectListItemTitle, children: title }),
14536
+ /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("time", { role: "time", dateTime: `${date}`, css: ObjectListItemSmallText, children: formatDate(date) })
14537
+ ] }),
14538
+ /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("div", { css: ObjectListItemInlineGroup, children: [
14539
+ /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("span", { css: ObjectListKeyText, children: [
14540
+ "ID: ",
14541
+ /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("span", { css: ObjectListValueText, children: id })
14542
+ ] }),
14543
+ Object.entries(data).map(([key, value], i) => /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("span", { css: ObjectListKeyText, children: [
14544
+ key,
14545
+ ": ",
14546
+ /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("span", { css: ObjectListValueText, children: value })
14547
+ ] }, i))
14548
+ ] })
14549
+ ]
14550
+ }
14551
+ );
14552
+ });
14553
+
14554
+ // src/components/ParameterInputs/styles/ParameterBindingButton.styles.ts
14555
+ var import_react83 = require("@emotion/react");
14556
+ var inputIconBtn = import_react83.css`
14557
+ align-items: center;
14558
+ border: none;
14559
+ border-radius: var(--rounded-base);
14560
+ background: none;
14561
+ display: flex;
14562
+ padding: var(--spacing-2xs);
14563
+ transition: background var(--duration-fast) var(--timing-ease-out),
14564
+ color var(--duration-fast) var(--timing-ease-out);
14565
+
14566
+ &:hover,
14567
+ &[aria-pressed='true']:not(:disabled) {
14568
+ background: var(--brand-secondary-3);
14569
+ color: var(--white);
14570
+ }
14571
+
14572
+ &[aria-disabled='true'] {
14573
+ background: none;
14574
+ color: currentColor;
14575
+ }
14576
+ `;
14577
+
14578
+ // src/components/ParameterInputs/ConnectToDataElementButton.tsx
14579
+ var import_jsx_runtime79 = require("@emotion/react/jsx-runtime");
14580
+ var ConnectToDataElementButton = ({
14581
+ icon,
14582
+ iconColor,
14583
+ children,
14584
+ isBound,
14585
+ isLocked,
14586
+ ...props
14587
+ }) => {
14588
+ const title = isLocked ? "Read-only pattern parameter" : isBound ? "Connected to external content. Click to edit" : "Click to connect to external content";
14589
+ return /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(Tooltip, { title, children: /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)(
14590
+ "button",
14591
+ {
14592
+ css: inputIconBtn,
14593
+ type: "button",
14594
+ "aria-pressed": isBound,
14595
+ "aria-disabled": isLocked,
14596
+ ...props,
14597
+ children: [
14598
+ /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
14599
+ Icon,
14600
+ {
14601
+ icon: isLocked ? "lock" : icon ? icon : "arrows-expand-down-right",
14602
+ iconColor: iconColor ? iconColor : "currentColor",
14603
+ size: "1rem"
14604
+ }
14605
+ ),
14606
+ children
14607
+ ]
14608
+ }
14609
+ ) });
14610
+ };
14611
+
14612
+ // src/components/ParameterInputs/hooks/ParameterShellContext.tsx
14613
+ var import_react84 = require("react");
14614
+ var ParameterShellContext = (0, import_react84.createContext)({
14615
+ id: "",
14616
+ label: "",
14617
+ hiddenLabel: void 0,
14618
+ errorMessage: void 0,
14619
+ onManuallySetErrorMessage: () => {
14620
+ }
14621
+ });
14622
+ var useParameterShell = () => {
14623
+ const { id, label, hiddenLabel, errorMessage, onManuallySetErrorMessage } = (0, import_react84.useContext)(ParameterShellContext);
14624
+ return {
14625
+ id,
14626
+ label,
14627
+ hiddenLabel,
14628
+ errorMessage,
14629
+ onManuallySetErrorMessage
14630
+ };
14631
+ };
14632
+
14633
+ // src/components/ParameterInputs/styles/ParameterInput.styles.ts
14634
+ var import_react85 = require("@emotion/react");
14635
+ var inputContainer2 = import_react85.css`
14636
+ position: relative;
14637
+
14638
+ &:hover,
14639
+ &:focus,
14640
+ &:focus-within {
14641
+ .parameter-menu {
14642
+ opacity: var(--opacity-100);
14643
+ translate: 0 0;
14644
+ }
14645
+ }
14646
+ `;
14647
+ var labelText2 = import_react85.css`
14648
+ align-items: center;
14130
14649
  display: flex;
14131
14650
  gap: var(--spacing-xs);
14132
14651
  font-weight: var(--fw-regular);
14133
14652
  margin: 0 0 var(--spacing-xs);
14134
14653
  `;
14135
- var input2 = import_react77.css`
14654
+ var input2 = import_react85.css`
14136
14655
  display: block;
14137
14656
  appearance: none;
14138
14657
  box-sizing: border-box;
@@ -14146,7 +14665,7 @@ var input2 = import_react77.css`
14146
14665
  padding: var(--spacing-sm);
14147
14666
  width: 100%;
14148
14667
  position: relative;
14149
- white-space: wrap;
14668
+ white-space: normal;
14150
14669
  transition-property: background, border-color, color, box-shadow, border-radius;
14151
14670
  transition-duration: var(--duration-fast);
14152
14671
  transition-timing-function: var(--timing-ease-out);
@@ -14176,18 +14695,18 @@ var input2 = import_react77.css`
14176
14695
  color: var(--gray-400);
14177
14696
  }
14178
14697
  `;
14179
- var selectInput = import_react77.css`
14698
+ var selectInput = import_react85.css`
14180
14699
  background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%0A%3E%3Cpath d='M6.34317 7.75732L4.92896 9.17154L12 16.2426L19.0711 9.17157L17.6569 7.75735L12 13.4142L6.34317 7.75732Z' fill='currentColor' /%3E%3C/svg%3E");
14181
14700
  background-position: right var(--spacing-sm) center;
14182
14701
  background-repeat: no-repeat;
14183
14702
  background-size: 1rem;
14184
14703
  padding-right: var(--spacing-xl);
14185
14704
  `;
14186
- var inputWrapper = import_react77.css`
14705
+ var inputWrapper = import_react85.css`
14187
14706
  display: flex; // used to correct overflow with chrome textarea
14188
14707
  position: relative;
14189
14708
  `;
14190
- var inputIcon2 = import_react77.css`
14709
+ var inputIcon2 = import_react85.css`
14191
14710
  align-items: center;
14192
14711
  background: var(--white);
14193
14712
  border-radius: var(--rounded-md) 0 0 var(--rounded-md);
@@ -14203,7 +14722,7 @@ var inputIcon2 = import_react77.css`
14203
14722
  width: var(--spacing-lg);
14204
14723
  z-index: var(--z-10);
14205
14724
  `;
14206
- var inputToggleLabel2 = import_react77.css`
14725
+ var inputToggleLabel2 = import_react85.css`
14207
14726
  align-items: center;
14208
14727
  background: var(--white);
14209
14728
  cursor: pointer;
@@ -14214,7 +14733,7 @@ var inputToggleLabel2 = import_react77.css`
14214
14733
  min-height: var(--spacing-md);
14215
14734
  position: relative;
14216
14735
  `;
14217
- var toggleInput2 = import_react77.css`
14736
+ var toggleInput2 = import_react85.css`
14218
14737
  appearance: none;
14219
14738
  border: 1px solid var(--gray-300);
14220
14739
  background: var(--white);
@@ -14253,7 +14772,7 @@ var toggleInput2 = import_react77.css`
14253
14772
  border-color: var(--gray-300);
14254
14773
  }
14255
14774
  `;
14256
- var inlineLabel2 = import_react77.css`
14775
+ var inlineLabel2 = import_react85.css`
14257
14776
  padding-left: var(--spacing-lg);
14258
14777
  font-size: var(--fs-sm);
14259
14778
  font-weight: var(--fw-regular);
@@ -14269,7 +14788,7 @@ var inlineLabel2 = import_react77.css`
14269
14788
  }
14270
14789
  }
14271
14790
  `;
14272
- var inputMenu = import_react77.css`
14791
+ var inputMenu = import_react85.css`
14273
14792
  background: none;
14274
14793
  border: none;
14275
14794
  padding: var(--spacing-2xs);
@@ -14285,14 +14804,14 @@ var inputMenu = import_react77.css`
14285
14804
  background-color: var(--gray-200);
14286
14805
  }
14287
14806
  `;
14288
- var textarea2 = import_react77.css`
14807
+ var textarea2 = import_react85.css`
14289
14808
  resize: vertical;
14290
14809
  min-height: 2rem;
14291
14810
  `;
14292
- var imageWrapper = import_react77.css`
14811
+ var imageWrapper = import_react85.css`
14293
14812
  background: var(--white);
14294
14813
  `;
14295
- var img = import_react77.css`
14814
+ var img = import_react85.css`
14296
14815
  animation: ${fadeIn} var(--duration-fast) var(--timing-ease-out) forwards;
14297
14816
  object-fit: contain;
14298
14817
  max-width: 100%;
@@ -14300,7 +14819,7 @@ var img = import_react77.css`
14300
14819
  opacity: var(--opacity-0);
14301
14820
  margin: var(--spacing-sm) auto 0;
14302
14821
  `;
14303
- var dataConnectButton = import_react77.css`
14822
+ var dataConnectButton = import_react85.css`
14304
14823
  align-items: center;
14305
14824
  appearance: none;
14306
14825
  box-sizing: border-box;
@@ -14335,7 +14854,7 @@ var dataConnectButton = import_react77.css`
14335
14854
  pointer-events: none;
14336
14855
  }
14337
14856
  `;
14338
- var linkParameterBtn = import_react77.css`
14857
+ var linkParameterBtn = import_react85.css`
14339
14858
  border-radius: var(--rounded-base);
14340
14859
  background: var(--white);
14341
14860
  border: none;
@@ -14343,14 +14862,22 @@ var linkParameterBtn = import_react77.css`
14343
14862
  font-weight: var(--fw-regular);
14344
14863
  font-size: var(--fs-sm);
14345
14864
  line-height: 1;
14865
+ `;
14866
+ var linkParameterControls = import_react85.css`
14346
14867
  position: absolute;
14347
- inset: 0 var(--spacing-base) 0 auto;
14868
+ inset: 0 0 0 auto;
14348
14869
  padding: 0 var(--spacing-base);
14870
+ display: flex;
14871
+ flex-direction: row;
14872
+ justify-content: center;
14873
+ gap: var(--spacing-base);
14349
14874
  `;
14350
- var linkParameterInput = import_react77.css`
14351
- padding-right: calc(var(--spacing-2xl) + var(--spacing-base));
14875
+ var linkParameterInput = (withExternalLinkIcon) => import_react85.css`
14876
+ padding-right: calc(
14877
+ ${withExternalLinkIcon ? "var(--spacing-2xl)" : "var(--spacing-xl)"} + var(--spacing-base)
14878
+ );
14352
14879
  `;
14353
- var linkParameterIcon = import_react77.css`
14880
+ var linkParameterIcon = import_react85.css`
14354
14881
  align-items: center;
14355
14882
  color: var(--brand-secondary-3);
14356
14883
  display: flex;
@@ -14365,7 +14892,7 @@ var linkParameterIcon = import_react77.css`
14365
14892
  `;
14366
14893
 
14367
14894
  // src/components/ParameterInputs/ParameterDataResource.tsx
14368
- var import_jsx_runtime74 = require("@emotion/react/jsx-runtime");
14895
+ var import_jsx_runtime80 = require("@emotion/react/jsx-runtime");
14369
14896
  function ParameterDataResource({
14370
14897
  label,
14371
14898
  labelLeadingIcon,
@@ -14375,12 +14902,12 @@ function ParameterDataResource({
14375
14902
  disabled,
14376
14903
  children
14377
14904
  }) {
14378
- return /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)("div", { "data-testid": "parameter-data-connect-button", children: [
14379
- /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)("span", { css: labelText2, children: [
14905
+ return /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("div", { "data-testid": "parameter-data-connect-button", children: [
14906
+ /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("span", { css: labelText2, children: [
14380
14907
  labelLeadingIcon ? labelLeadingIcon : null,
14381
14908
  label
14382
14909
  ] }),
14383
- /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)(
14910
+ /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)(
14384
14911
  "button",
14385
14912
  {
14386
14913
  type: "button",
@@ -14389,30 +14916,30 @@ function ParameterDataResource({
14389
14916
  disabled,
14390
14917
  onClick: onConnectDatasource,
14391
14918
  children: [
14392
- /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("span", { className: "advance-input-icon", css: [inputIcon2], children: /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(Icon, { icon: "stack", iconColor: "currentColor", size: "1rem" }) }),
14919
+ /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("span", { className: "advance-input-icon", css: [inputIcon2], children: /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(Icon, { icon: "stack", iconColor: "currentColor", size: "1rem" }) }),
14393
14920
  children
14394
14921
  ]
14395
14922
  }
14396
14923
  ),
14397
- caption ? /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(Caption, { children: caption }) : null
14924
+ caption ? /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(Caption, { children: caption }) : null
14398
14925
  ] });
14399
14926
  }
14400
14927
 
14401
14928
  // src/components/ParameterInputs/styles/ParameterDrawerHeader.styles.ts
14402
- var import_react78 = require("@emotion/react");
14403
- var ParameterDrawerHeaderContainer = import_react78.css`
14929
+ var import_react86 = require("@emotion/react");
14930
+ var ParameterDrawerHeaderContainer = import_react86.css`
14404
14931
  align-items: center;
14405
14932
  display: flex;
14406
14933
  gap: var(--spacing-base);
14407
14934
  justify-content: space-between;
14408
14935
  margin-bottom: var(--spacing-sm);
14409
14936
  `;
14410
- var ParameterDrawerHeaderTitleGroup = import_react78.css`
14937
+ var ParameterDrawerHeaderTitleGroup = import_react86.css`
14411
14938
  align-items: center;
14412
14939
  display: flex;
14413
14940
  gap: var(--spacing-sm);
14414
14941
  `;
14415
- var ParameterDrawerHeaderTitle = import_react78.css`
14942
+ var ParameterDrawerHeaderTitle = import_react86.css`
14416
14943
  text-overflow: ellipsis;
14417
14944
  white-space: nowrap;
14418
14945
  overflow: hidden;
@@ -14420,23 +14947,23 @@ var ParameterDrawerHeaderTitle = import_react78.css`
14420
14947
  `;
14421
14948
 
14422
14949
  // src/components/ParameterInputs/ParameterDrawerHeader.tsx
14423
- var import_jsx_runtime75 = require("@emotion/react/jsx-runtime");
14950
+ var import_jsx_runtime81 = require("@emotion/react/jsx-runtime");
14424
14951
  var ParameterDrawerHeader = ({ title, iconBeforeTitle, children }) => {
14425
- return /* @__PURE__ */ (0, import_jsx_runtime75.jsxs)("div", { css: ParameterDrawerHeaderContainer, children: [
14426
- /* @__PURE__ */ (0, import_jsx_runtime75.jsxs)("header", { css: ParameterDrawerHeaderTitleGroup, children: [
14952
+ return /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("div", { css: ParameterDrawerHeaderContainer, children: [
14953
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("header", { css: ParameterDrawerHeaderTitleGroup, children: [
14427
14954
  iconBeforeTitle,
14428
- /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(Heading, { level: 3, withMarginBottom: false, css: ParameterDrawerHeaderTitle, title, children: title })
14955
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(Heading, { level: 3, withMarginBottom: false, css: ParameterDrawerHeaderTitle, title, children: title })
14429
14956
  ] }),
14430
14957
  children
14431
14958
  ] });
14432
14959
  };
14433
14960
 
14434
14961
  // src/components/ParameterInputs/ParameterGroup.tsx
14435
- var import_react80 = require("react");
14962
+ var import_react88 = require("react");
14436
14963
 
14437
14964
  // src/components/ParameterInputs/styles/ParameterGroup.styles.ts
14438
- var import_react79 = require("@emotion/react");
14439
- var fieldsetStyles = import_react79.css`
14965
+ var import_react87 = require("@emotion/react");
14966
+ var fieldsetStyles = import_react87.css`
14440
14967
  &:disabled,
14441
14968
  [readonly] {
14442
14969
  pointer-events: none;
@@ -14447,7 +14974,7 @@ var fieldsetStyles = import_react79.css`
14447
14974
  }
14448
14975
  }
14449
14976
  `;
14450
- var fieldsetLegend2 = import_react79.css`
14977
+ var fieldsetLegend2 = import_react87.css`
14451
14978
  display: block;
14452
14979
  font-weight: var(--fw-medium);
14453
14980
  margin-bottom: var(--spacing-sm);
@@ -14455,38 +14982,38 @@ var fieldsetLegend2 = import_react79.css`
14455
14982
  `;
14456
14983
 
14457
14984
  // src/components/ParameterInputs/ParameterGroup.tsx
14458
- var import_jsx_runtime76 = require("@emotion/react/jsx-runtime");
14459
- var ParameterGroup = (0, import_react80.forwardRef)(
14985
+ var import_jsx_runtime82 = require("@emotion/react/jsx-runtime");
14986
+ var ParameterGroup = (0, import_react88.forwardRef)(
14460
14987
  ({ legend, isDisabled, children, ...props }, ref) => {
14461
- return /* @__PURE__ */ (0, import_jsx_runtime76.jsxs)("fieldset", { css: fieldsetStyles, disabled: isDisabled, ref, ...props, children: [
14462
- /* @__PURE__ */ (0, import_jsx_runtime76.jsx)("legend", { css: fieldsetLegend2, children: legend }),
14988
+ return /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)("fieldset", { css: fieldsetStyles, disabled: isDisabled, ref, ...props, children: [
14989
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("legend", { css: fieldsetLegend2, children: legend }),
14463
14990
  children
14464
14991
  ] });
14465
14992
  }
14466
14993
  );
14467
14994
 
14468
14995
  // src/components/ParameterInputs/ParameterImage.tsx
14469
- var import_react84 = require("react");
14996
+ var import_react92 = require("react");
14470
14997
 
14471
14998
  // src/components/ParameterInputs/ParameterShell.tsx
14472
- var import_react83 = require("react");
14999
+ var import_react91 = require("react");
14473
15000
 
14474
15001
  // src/components/ParameterInputs/ParameterLabel.tsx
14475
- var import_jsx_runtime77 = require("@emotion/react/jsx-runtime");
15002
+ var import_jsx_runtime83 = require("@emotion/react/jsx-runtime");
14476
15003
  var ParameterLabel = ({ id, asSpan, children, ...props }) => {
14477
- return !asSpan ? /* @__PURE__ */ (0, import_jsx_runtime77.jsx)("label", { ...props, htmlFor: id, css: labelText2, children }) : /* @__PURE__ */ (0, import_jsx_runtime77.jsx)("span", { "aria-labelledby": id, css: labelText2, children });
15004
+ return !asSpan ? /* @__PURE__ */ (0, import_jsx_runtime83.jsx)("label", { ...props, htmlFor: id, css: labelText2, children }) : /* @__PURE__ */ (0, import_jsx_runtime83.jsx)("span", { "aria-labelledby": id, css: labelText2, children });
14478
15005
  };
14479
15006
 
14480
15007
  // src/components/ParameterInputs/ParameterMenuButton.tsx
14481
- var import_react81 = require("react");
14482
- var import_jsx_runtime78 = require("@emotion/react/jsx-runtime");
14483
- var ParameterMenuButton = (0, import_react81.forwardRef)(
15008
+ var import_react89 = require("react");
15009
+ var import_jsx_runtime84 = require("@emotion/react/jsx-runtime");
15010
+ var ParameterMenuButton = (0, import_react89.forwardRef)(
14484
15011
  ({ label, children }, ref) => {
14485
- return /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
15012
+ return /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(
14486
15013
  Menu,
14487
15014
  {
14488
15015
  menuLabel: `${label} menu`,
14489
- menuTrigger: /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
15016
+ menuTrigger: /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(
14490
15017
  "button",
14491
15018
  {
14492
15019
  className: "parameter-menu",
@@ -14494,7 +15021,7 @@ var ParameterMenuButton = (0, import_react81.forwardRef)(
14494
15021
  type: "button",
14495
15022
  "aria-label": `${label} options`,
14496
15023
  ref,
14497
- children: /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(Icon, { icon: "more-alt", iconColor: "currentColor", size: "0.9rem" })
15024
+ children: /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(Icon, { icon: "more-alt", iconColor: "currentColor", size: "0.9rem" })
14498
15025
  }
14499
15026
  ),
14500
15027
  children
@@ -14504,15 +15031,15 @@ var ParameterMenuButton = (0, import_react81.forwardRef)(
14504
15031
  );
14505
15032
 
14506
15033
  // src/components/ParameterInputs/styles/ParameterShell.styles.ts
14507
- var import_react82 = require("@emotion/react");
14508
- var emptyParameterShell = import_react82.css`
15034
+ var import_react90 = require("@emotion/react");
15035
+ var emptyParameterShell = import_react90.css`
14509
15036
  border-radius: var(--rounded-sm);
14510
15037
  background: var(--white);
14511
15038
  flex-grow: 1;
14512
15039
  padding: var(--spacing-xs);
14513
15040
  position: relative;
14514
15041
  `;
14515
- var emptyParameterShellText = import_react82.css`
15042
+ var emptyParameterShellText = import_react90.css`
14516
15043
  background: var(--brand-secondary-6);
14517
15044
  border-radius: var(--rounded-sm);
14518
15045
  padding: var(--spacing-sm);
@@ -14520,7 +15047,7 @@ var emptyParameterShellText = import_react82.css`
14520
15047
  font-size: var(--fs-sm);
14521
15048
  margin: 0;
14522
15049
  `;
14523
- var overrideMarker = import_react82.css`
15050
+ var overrideMarker = import_react90.css`
14524
15051
  border-radius: var(--rounded-sm);
14525
15052
  border: 10px solid var(--gray-300);
14526
15053
  border-left-color: transparent;
@@ -14531,7 +15058,7 @@ var overrideMarker = import_react82.css`
14531
15058
  `;
14532
15059
 
14533
15060
  // src/components/ParameterInputs/ParameterShell.tsx
14534
- var import_jsx_runtime79 = require("@emotion/react/jsx-runtime");
15061
+ var import_jsx_runtime85 = require("@emotion/react/jsx-runtime");
14535
15062
  var extractParameterProps = (props) => {
14536
15063
  const {
14537
15064
  id,
@@ -14590,21 +15117,21 @@ var ParameterShell = ({
14590
15117
  children,
14591
15118
  ...props
14592
15119
  }) => {
14593
- const [manualErrorMessage, setManualErrorMessage] = (0, import_react83.useState)(void 0);
15120
+ const [manualErrorMessage, setManualErrorMessage] = (0, import_react91.useState)(void 0);
14594
15121
  const setErrorMessage = (message) => setManualErrorMessage(message);
14595
15122
  const errorMessaging = errorMessage || manualErrorMessage;
14596
- return /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("div", { css: inputContainer2, ...props, children: [
14597
- hiddenLabel || title ? null : /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)(ParameterLabel, { id, css: labelText2, children: [
15123
+ return /* @__PURE__ */ (0, import_jsx_runtime85.jsxs)("div", { css: inputContainer2, ...props, children: [
15124
+ hiddenLabel || title ? null : /* @__PURE__ */ (0, import_jsx_runtime85.jsxs)(ParameterLabel, { id, css: labelText2, children: [
14598
15125
  labelLeadingIcon ? labelLeadingIcon : null,
14599
15126
  label
14600
15127
  ] }),
14601
- !title ? null : /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)(ParameterLabel, { id, asSpan: true, children: [
15128
+ !title ? null : /* @__PURE__ */ (0, import_jsx_runtime85.jsxs)(ParameterLabel, { id, asSpan: true, children: [
14602
15129
  labelLeadingIcon ? labelLeadingIcon : null,
14603
15130
  title
14604
15131
  ] }),
14605
- /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("div", { css: inputWrapper, children: [
14606
- menuItems ? /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(ParameterMenuButton, { label: `${label} menu`, children: menuItems }) : null,
14607
- /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
15132
+ /* @__PURE__ */ (0, import_jsx_runtime85.jsxs)("div", { css: inputWrapper, children: [
15133
+ menuItems ? /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(ParameterMenuButton, { label: `${label} menu`, children: menuItems }) : null,
15134
+ /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(
14608
15135
  ParameterShellContext.Provider,
14609
15136
  {
14610
15137
  value: {
@@ -14614,32 +15141,32 @@ var ParameterShell = ({
14614
15141
  errorMessage: errorMessaging,
14615
15142
  onManuallySetErrorMessage: (message) => setErrorMessage(message)
14616
15143
  },
14617
- children: /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)(ParameterShellPlaceholder, { children: [
15144
+ children: /* @__PURE__ */ (0, import_jsx_runtime85.jsxs)(ParameterShellPlaceholder, { children: [
14618
15145
  children,
14619
- hasOverriddenValue && onResetOverriddenValue ? /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(ParameterOverrideMarker, { onClick: onResetOverriddenValue }) : null
15146
+ hasOverriddenValue && onResetOverriddenValue ? /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(ParameterOverrideMarker, { onClick: onResetOverriddenValue }) : null
14620
15147
  ] })
14621
15148
  }
14622
15149
  )
14623
15150
  ] }),
14624
- caption ? /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(Caption, { testId: captionTestId, children: caption }) : null,
14625
- errorMessaging ? /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(ErrorMessage, { message: errorMessaging, testId: errorTestId }) : null,
14626
- warningMessage ? /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(WarningMessage, { message: warningMessage }) : null,
14627
- infoMessage ? /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(InfoMessage, { message: infoMessage }) : null
15151
+ caption ? /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(Caption, { testId: captionTestId, children: caption }) : null,
15152
+ errorMessaging ? /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(ErrorMessage, { message: errorMessaging, testId: errorTestId }) : null,
15153
+ warningMessage ? /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(WarningMessage, { message: warningMessage }) : null,
15154
+ infoMessage ? /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(InfoMessage, { message: infoMessage }) : null
14628
15155
  ] });
14629
15156
  };
14630
15157
  var ParameterShellPlaceholder = ({ children }) => {
14631
- return /* @__PURE__ */ (0, import_jsx_runtime79.jsx)("div", { css: emptyParameterShell, children });
15158
+ return /* @__PURE__ */ (0, import_jsx_runtime85.jsx)("div", { css: emptyParameterShell, children });
14632
15159
  };
14633
- var ParameterOverrideMarker = (props) => /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(Tooltip, { title: "The default value has been overridden", children: /* @__PURE__ */ (0, import_jsx_runtime79.jsx)("button", { type: "button", css: overrideMarker, ...props, children: /* @__PURE__ */ (0, import_jsx_runtime79.jsx)("span", { hidden: true, children: "reset overridden value to default" }) }) });
15160
+ var ParameterOverrideMarker = (props) => /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(Tooltip, { title: "The default value has been overridden", children: /* @__PURE__ */ (0, import_jsx_runtime85.jsx)("button", { type: "button", css: overrideMarker, ...props, children: /* @__PURE__ */ (0, import_jsx_runtime85.jsx)("span", { hidden: true, children: "reset overridden value to default" }) }) });
14634
15161
 
14635
15162
  // src/components/ParameterInputs/ParameterImage.tsx
14636
- var import_jsx_runtime80 = require("@emotion/react/jsx-runtime");
14637
- var ParameterImage = (0, import_react84.forwardRef)((props, ref) => {
15163
+ var import_jsx_runtime86 = require("@emotion/react/jsx-runtime");
15164
+ var ParameterImage = (0, import_react92.forwardRef)((props, ref) => {
14638
15165
  const { shellProps, innerProps } = extractParameterProps(props);
14639
- return /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(ParameterShell, { "data-test-id": "parameter-image", ...shellProps, children: /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(ParameterImageInner, { ref, ...innerProps }) });
15166
+ return /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(ParameterShell, { "data-test-id": "parameter-image", ...shellProps, children: /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(ParameterImageInner, { ref, ...innerProps }) });
14640
15167
  });
14641
15168
  var BrokenImage = ({ ...props }) => {
14642
- return /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)(
15169
+ return /* @__PURE__ */ (0, import_jsx_runtime86.jsxs)(
14643
15170
  "svg",
14644
15171
  {
14645
15172
  width: "214",
@@ -14650,11 +15177,11 @@ var BrokenImage = ({ ...props }) => {
14650
15177
  xmlnsXlink: "http://www.w3.org/1999/xlink",
14651
15178
  ...props,
14652
15179
  children: [
14653
- /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("rect", { width: "214", height: "214", fill: "#F9FAFB" }),
14654
- /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("rect", { width: "214", height: "214", fill: "url(#pattern0)" }),
14655
- /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("defs", { children: [
14656
- /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("pattern", { id: "pattern0", patternContentUnits: "objectBoundingBox", width: "1", height: "1", children: /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("use", { xlinkHref: "#image0_761_4353", transform: "scale(0.0025)" }) }),
14657
- /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
15180
+ /* @__PURE__ */ (0, import_jsx_runtime86.jsx)("rect", { width: "214", height: "214", fill: "#F9FAFB" }),
15181
+ /* @__PURE__ */ (0, import_jsx_runtime86.jsx)("rect", { width: "214", height: "214", fill: "url(#pattern0)" }),
15182
+ /* @__PURE__ */ (0, import_jsx_runtime86.jsxs)("defs", { children: [
15183
+ /* @__PURE__ */ (0, import_jsx_runtime86.jsx)("pattern", { id: "pattern0", patternContentUnits: "objectBoundingBox", width: "1", height: "1", children: /* @__PURE__ */ (0, import_jsx_runtime86.jsx)("use", { xlinkHref: "#image0_761_4353", transform: "scale(0.0025)" }) }),
15184
+ /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(
14658
15185
  "image",
14659
15186
  {
14660
15187
  id: "image0_761_4353",
@@ -14668,14 +15195,14 @@ var BrokenImage = ({ ...props }) => {
14668
15195
  }
14669
15196
  );
14670
15197
  };
14671
- var ParameterImageInner = (0, import_react84.forwardRef)(
15198
+ var ParameterImageInner = (0, import_react92.forwardRef)(
14672
15199
  ({ ...props }, ref) => {
14673
15200
  const { value } = props;
14674
15201
  const { id, label, hiddenLabel, errorMessage, onManuallySetErrorMessage } = useParameterShell();
14675
- const [loading, setLoading] = (0, import_react84.useState)(false);
14676
- const deferredValue = (0, import_react84.useDeferredValue)(value);
15202
+ const [loading, setLoading] = (0, import_react92.useState)(false);
15203
+ const deferredValue = (0, import_react92.useDeferredValue)(value);
14677
15204
  const errorText = "The text you provided is not a valid URL";
14678
- const updateImageSrc = (0, import_react84.useCallback)(() => {
15205
+ const updateImageSrc = (0, import_react92.useCallback)(() => {
14679
15206
  let message = void 0;
14680
15207
  try {
14681
15208
  if (value !== "") {
@@ -14703,11 +15230,11 @@ var ParameterImageInner = (0, import_react84.forwardRef)(
14703
15230
  onManuallySetErrorMessage(errorText);
14704
15231
  }
14705
15232
  };
14706
- (0, import_react84.useEffect)(() => {
15233
+ (0, import_react92.useEffect)(() => {
14707
15234
  updateImageSrc();
14708
15235
  }, [value]);
14709
- return /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)(import_jsx_runtime80.Fragment, { children: [
14710
- /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
15236
+ return /* @__PURE__ */ (0, import_jsx_runtime86.jsxs)(import_jsx_runtime86.Fragment, { children: [
15237
+ /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(
14711
15238
  "input",
14712
15239
  {
14713
15240
  css: input2,
@@ -14719,8 +15246,8 @@ var ParameterImageInner = (0, import_react84.forwardRef)(
14719
15246
  ...props
14720
15247
  }
14721
15248
  ),
14722
- /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("div", { css: imageWrapper, children: [
14723
- deferredValue && !errorMessage ? /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
15249
+ /* @__PURE__ */ (0, import_jsx_runtime86.jsxs)("div", { css: imageWrapper, children: [
15250
+ deferredValue && !errorMessage ? /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(
14724
15251
  "img",
14725
15252
  {
14726
15253
  src: deferredValue,
@@ -14730,24 +15257,24 @@ var ParameterImageInner = (0, import_react84.forwardRef)(
14730
15257
  loading: "lazy"
14731
15258
  }
14732
15259
  ) : null,
14733
- deferredValue && errorMessage ? /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(BrokenImage, { css: img }) : null
15260
+ deferredValue && errorMessage ? /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(BrokenImage, { css: img }) : null
14734
15261
  ] }),
14735
- loading ? /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(LoadingIcon, {}) : null
15262
+ loading ? /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(LoadingIcon, {}) : null
14736
15263
  ] });
14737
15264
  }
14738
15265
  );
14739
15266
 
14740
15267
  // src/components/ParameterInputs/ParameterInput.tsx
14741
- var import_react85 = require("react");
14742
- var import_jsx_runtime81 = require("@emotion/react/jsx-runtime");
14743
- var ParameterInput = (0, import_react85.forwardRef)((props, ref) => {
15268
+ var import_react93 = require("react");
15269
+ var import_jsx_runtime87 = require("@emotion/react/jsx-runtime");
15270
+ var ParameterInput = (0, import_react93.forwardRef)((props, ref) => {
14744
15271
  const { shellProps, innerProps } = extractParameterProps(props);
14745
- return /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(ParameterShell, { "data-test-id": "parameter-input", ...shellProps, children: /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(ParameterInputInner, { ref, ...innerProps }) });
15272
+ return /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(ParameterShell, { "data-test-id": "parameter-input", ...shellProps, children: /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(ParameterInputInner, { ref, ...innerProps }) });
14746
15273
  });
14747
- var ParameterInputInner = (0, import_react85.forwardRef)(
15274
+ var ParameterInputInner = (0, import_react93.forwardRef)(
14748
15275
  ({ ...props }, ref) => {
14749
15276
  const { id, label, hiddenLabel } = useParameterShell();
14750
- return /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
15277
+ return /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(
14751
15278
  "input",
14752
15279
  {
14753
15280
  css: input2,
@@ -14763,19 +15290,19 @@ var ParameterInputInner = (0, import_react85.forwardRef)(
14763
15290
  );
14764
15291
 
14765
15292
  // src/components/ParameterInputs/ParameterLink.tsx
14766
- var import_react86 = require("react");
14767
- var import_jsx_runtime82 = require("@emotion/react/jsx-runtime");
14768
- var ParameterLink = (0, import_react86.forwardRef)(
14769
- ({ buttonText = "Select project map node", disabled, onConnectLink, externalLink, ...props }, ref) => {
15293
+ var import_react94 = require("react");
15294
+ var import_jsx_runtime88 = require("@emotion/react/jsx-runtime");
15295
+ var ParameterLink = (0, import_react94.forwardRef)(
15296
+ ({ buttonText = "Select link", disabled, onConnectLink, externalLink, ...props }, ref) => {
14770
15297
  const { shellProps, innerProps } = extractParameterProps(props);
14771
- return /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
15298
+ return /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(
14772
15299
  ParameterShell,
14773
15300
  {
14774
15301
  "data-test-id": "link-parameter-editor",
14775
15302
  ...shellProps,
14776
15303
  label: innerProps.value ? shellProps.label : "",
14777
15304
  title: !innerProps.value ? shellProps.label : void 0,
14778
- children: !innerProps.value ? /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("button", { type: "button", css: dataConnectButton, disabled, onClick: onConnectLink, children: buttonText }) : /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
15305
+ children: !innerProps.value ? /* @__PURE__ */ (0, import_jsx_runtime88.jsx)("button", { type: "button", css: dataConnectButton, disabled, onClick: onConnectLink, children: buttonText }) : /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(
14779
15306
  ParameterLinkInner,
14780
15307
  {
14781
15308
  onConnectLink,
@@ -14788,15 +15315,15 @@ var ParameterLink = (0, import_react86.forwardRef)(
14788
15315
  );
14789
15316
  }
14790
15317
  );
14791
- var ParameterLinkInner = (0, import_react86.forwardRef)(
15318
+ var ParameterLinkInner = (0, import_react94.forwardRef)(
14792
15319
  ({ externalLink, onConnectLink, disabled, ...props }, ref) => {
14793
15320
  const { id, label, hiddenLabel } = useParameterShell();
14794
- return /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)("div", { css: inputWrapper, children: [
14795
- /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
15321
+ return /* @__PURE__ */ (0, import_jsx_runtime88.jsxs)("div", { css: inputWrapper, children: [
15322
+ /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(
14796
15323
  "input",
14797
15324
  {
14798
15325
  type: "text",
14799
- css: [input2, linkParameterInput],
15326
+ css: [input2, linkParameterInput(!!externalLink)],
14800
15327
  readOnly: Boolean(props.value),
14801
15328
  id,
14802
15329
  ref,
@@ -14804,34 +15331,36 @@ var ParameterLinkInner = (0, import_react86.forwardRef)(
14804
15331
  ...props
14805
15332
  }
14806
15333
  ),
14807
- /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
14808
- "button",
14809
- {
14810
- type: "button",
14811
- css: linkParameterBtn,
14812
- disabled,
14813
- onClick: onConnectLink,
14814
- title: "edit current selection",
14815
- children: "edit"
14816
- }
14817
- ),
14818
- externalLink ? /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
14819
- "a",
14820
- {
14821
- href: externalLink,
14822
- css: linkParameterIcon,
14823
- title: "Open link in new tab",
14824
- target: "_blank",
14825
- rel: "noopener noreferrer",
14826
- children: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(Icon, { icon: "arrows-expand-up-right", iconColor: "currentColor", size: "1rem" })
14827
- }
14828
- ) : null
15334
+ /* @__PURE__ */ (0, import_jsx_runtime88.jsxs)("div", { css: linkParameterControls, children: [
15335
+ /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(
15336
+ "button",
15337
+ {
15338
+ type: "button",
15339
+ css: linkParameterBtn,
15340
+ disabled,
15341
+ onClick: onConnectLink,
15342
+ title: "edit current selection",
15343
+ children: "edit"
15344
+ }
15345
+ ),
15346
+ externalLink ? /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(
15347
+ "a",
15348
+ {
15349
+ href: externalLink,
15350
+ css: linkParameterIcon,
15351
+ title: "Open link in new tab",
15352
+ target: "_blank",
15353
+ rel: "noopener noreferrer",
15354
+ children: /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(Icon, { icon: "arrows-expand-up-right", iconColor: "currentColor", size: "1rem" })
15355
+ }
15356
+ ) : null
15357
+ ] })
14829
15358
  ] });
14830
15359
  }
14831
15360
  );
14832
15361
 
14833
15362
  // src/components/ParameterInputs/ParameterNameAndPublicIdInput.tsx
14834
- var import_jsx_runtime83 = require("@emotion/react/jsx-runtime");
15363
+ var import_jsx_runtime89 = require("@emotion/react/jsx-runtime");
14835
15364
  var ParameterNameAndPublicIdInput = ({
14836
15365
  id,
14837
15366
  onBlur,
@@ -14857,8 +15386,8 @@ var ParameterNameAndPublicIdInput = ({
14857
15386
  navigator.clipboard.writeText(values[publicIdFieldName]);
14858
15387
  };
14859
15388
  autoFocus == null ? void 0 : autoFocus();
14860
- return /* @__PURE__ */ (0, import_jsx_runtime83.jsxs)(import_jsx_runtime83.Fragment, { children: [
14861
- /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(
15389
+ return /* @__PURE__ */ (0, import_jsx_runtime89.jsxs)(import_jsx_runtime89.Fragment, { children: [
15390
+ /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(
14862
15391
  ParameterInput,
14863
15392
  {
14864
15393
  id: nameIdField,
@@ -14877,7 +15406,7 @@ var ParameterNameAndPublicIdInput = ({
14877
15406
  value: values[nameIdField]
14878
15407
  }
14879
15408
  ),
14880
- /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(
15409
+ /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(
14881
15410
  ParameterInput,
14882
15411
  {
14883
15412
  id: publicIdFieldName,
@@ -14891,11 +15420,11 @@ var ParameterNameAndPublicIdInput = ({
14891
15420
  caption: publicIdCaption,
14892
15421
  placeholder: publicIdPlaceholderText,
14893
15422
  errorMessage: publicIdError,
14894
- menuItems: /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(
15423
+ menuItems: /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(
14895
15424
  MenuItem,
14896
15425
  {
14897
15426
  disabled: !values[publicIdFieldName],
14898
- icon: /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(Icon, { icon: "path-trim", iconColor: "currentColor" }),
15427
+ icon: /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(Icon, { icon: "path-trim", iconColor: "currentColor" }),
14899
15428
  onClick: handleCopyPidFieldValue,
14900
15429
  children: "Copy"
14901
15430
  }
@@ -14903,14 +15432,14 @@ var ParameterNameAndPublicIdInput = ({
14903
15432
  value: values[publicIdFieldName]
14904
15433
  }
14905
15434
  ),
14906
- (warnOverLength == null ? void 0 : warnOverLength.length) && values[publicIdFieldName].length > warnOverLength.length ? /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(Callout, { type: "caution", children: warnOverLength.message }) : null
15435
+ (warnOverLength == null ? void 0 : warnOverLength.length) && values[publicIdFieldName].length > warnOverLength.length ? /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(Callout, { type: "caution", children: warnOverLength.message }) : null
14907
15436
  ] });
14908
15437
  };
14909
15438
 
14910
15439
  // src/components/ParameterInputs/ParameterRichText.tsx
14911
- var import_react87 = require("react");
14912
- var import_jsx_runtime84 = require("@emotion/react/jsx-runtime");
14913
- var ParameterRichText = (0, import_react87.forwardRef)(
15440
+ var import_react95 = require("react");
15441
+ var import_jsx_runtime90 = require("@emotion/react/jsx-runtime");
15442
+ var ParameterRichText = (0, import_react95.forwardRef)(
14914
15443
  ({
14915
15444
  label,
14916
15445
  labelLeadingIcon,
@@ -14923,7 +15452,7 @@ var ParameterRichText = (0, import_react87.forwardRef)(
14923
15452
  menuItems,
14924
15453
  ...props
14925
15454
  }, ref) => {
14926
- return /* @__PURE__ */ (0, import_jsx_runtime84.jsxs)(
15455
+ return /* @__PURE__ */ (0, import_jsx_runtime90.jsxs)(
14927
15456
  ParameterShell,
14928
15457
  {
14929
15458
  "data-test-id": "parameter-input",
@@ -14936,16 +15465,16 @@ var ParameterRichText = (0, import_react87.forwardRef)(
14936
15465
  captionTestId,
14937
15466
  menuItems,
14938
15467
  children: [
14939
- /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(ParameterRichTextInner, { ref, ...props }),
14940
- menuItems ? /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(ParameterMenuButton, { label: `${label} menu`, children: /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(import_jsx_runtime84.Fragment, { children: menuItems }) }) : null
15468
+ /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(ParameterRichTextInner, { ref, ...props }),
15469
+ menuItems ? /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(ParameterMenuButton, { label: `${label} menu`, children: /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(import_jsx_runtime90.Fragment, { children: menuItems }) }) : null
14941
15470
  ]
14942
15471
  }
14943
15472
  );
14944
15473
  }
14945
15474
  );
14946
- var ParameterRichTextInner = (0, import_react87.forwardRef)(({ ...props }, ref) => {
15475
+ var ParameterRichTextInner = (0, import_react95.forwardRef)(({ ...props }, ref) => {
14947
15476
  const { id, label, hiddenLabel } = useParameterShell();
14948
- return /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(
15477
+ return /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(
14949
15478
  "textarea",
14950
15479
  {
14951
15480
  css: [input2, textarea2],
@@ -14958,18 +15487,18 @@ var ParameterRichTextInner = (0, import_react87.forwardRef)(({ ...props }, ref)
14958
15487
  });
14959
15488
 
14960
15489
  // src/components/ParameterInputs/ParameterSelect.tsx
14961
- var import_react88 = require("react");
14962
- var import_jsx_runtime85 = require("@emotion/react/jsx-runtime");
14963
- var ParameterSelect = (0, import_react88.forwardRef)(
15490
+ var import_react96 = require("react");
15491
+ var import_jsx_runtime91 = require("@emotion/react/jsx-runtime");
15492
+ var ParameterSelect = (0, import_react96.forwardRef)(
14964
15493
  ({ defaultOption, options, ...props }, ref) => {
14965
15494
  const { shellProps, innerProps } = extractParameterProps(props);
14966
- return /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(ParameterShell, { ...shellProps, children: /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(ParameterSelectInner, { options, defaultOption, ...innerProps, ref }) });
15495
+ return /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(ParameterShell, { ...shellProps, children: /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(ParameterSelectInner, { options, defaultOption, ...innerProps, ref }) });
14967
15496
  }
14968
15497
  );
14969
- var ParameterSelectInner = (0, import_react88.forwardRef)(
15498
+ var ParameterSelectInner = (0, import_react96.forwardRef)(
14970
15499
  ({ defaultOption, options, ...props }, ref) => {
14971
15500
  const { id, label, hiddenLabel } = useParameterShell();
14972
- return /* @__PURE__ */ (0, import_jsx_runtime85.jsxs)(
15501
+ return /* @__PURE__ */ (0, import_jsx_runtime91.jsxs)(
14973
15502
  "select",
14974
15503
  {
14975
15504
  css: [input2, selectInput],
@@ -14978,10 +15507,10 @@ var ParameterSelectInner = (0, import_react88.forwardRef)(
14978
15507
  ref,
14979
15508
  ...props,
14980
15509
  children: [
14981
- defaultOption ? /* @__PURE__ */ (0, import_jsx_runtime85.jsx)("option", { value: "", children: defaultOption }) : null,
15510
+ defaultOption ? /* @__PURE__ */ (0, import_jsx_runtime91.jsx)("option", { value: "", children: defaultOption }) : null,
14982
15511
  options.map((option) => {
14983
15512
  var _a;
14984
- return /* @__PURE__ */ (0, import_jsx_runtime85.jsx)("option", { value: (_a = option.value) != null ? _a : option.label, children: option.label }, option.label);
15513
+ return /* @__PURE__ */ (0, import_jsx_runtime91.jsx)("option", { value: (_a = option.value) != null ? _a : option.label, children: option.label }, option.label);
14985
15514
  })
14986
15515
  ]
14987
15516
  }
@@ -14990,15 +15519,15 @@ var ParameterSelectInner = (0, import_react88.forwardRef)(
14990
15519
  );
14991
15520
 
14992
15521
  // src/components/ParameterInputs/ParameterTextarea.tsx
14993
- var import_react89 = require("react");
14994
- var import_jsx_runtime86 = require("@emotion/react/jsx-runtime");
14995
- var ParameterTextarea = (0, import_react89.forwardRef)((props, ref) => {
15522
+ var import_react97 = require("react");
15523
+ var import_jsx_runtime92 = require("@emotion/react/jsx-runtime");
15524
+ var ParameterTextarea = (0, import_react97.forwardRef)((props, ref) => {
14996
15525
  const { shellProps, innerProps } = extractParameterProps(props);
14997
- return /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(ParameterShell, { "data-test-id": "parameter-textarea", ...shellProps, children: /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(ParameterTextareaInner, { ref, ...innerProps }) });
15526
+ return /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(ParameterShell, { "data-test-id": "parameter-textarea", ...shellProps, children: /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(ParameterTextareaInner, { ref, ...innerProps }) });
14998
15527
  });
14999
- var ParameterTextareaInner = (0, import_react89.forwardRef)(({ ...props }, ref) => {
15528
+ var ParameterTextareaInner = (0, import_react97.forwardRef)(({ ...props }, ref) => {
15000
15529
  const { id, label, hiddenLabel } = useParameterShell();
15001
- return /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(
15530
+ return /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(
15002
15531
  "textarea",
15003
15532
  {
15004
15533
  css: [input2, textarea2],
@@ -15011,18 +15540,18 @@ var ParameterTextareaInner = (0, import_react89.forwardRef)(({ ...props }, ref)
15011
15540
  });
15012
15541
 
15013
15542
  // src/components/ParameterInputs/ParameterToggle.tsx
15014
- var import_react90 = require("react");
15015
- var import_jsx_runtime87 = require("@emotion/react/jsx-runtime");
15016
- var ParameterToggle = (0, import_react90.forwardRef)((props, ref) => {
15543
+ var import_react98 = require("react");
15544
+ var import_jsx_runtime93 = require("@emotion/react/jsx-runtime");
15545
+ var ParameterToggle = (0, import_react98.forwardRef)((props, ref) => {
15017
15546
  const { shellProps, innerProps } = extractParameterProps(props);
15018
- return /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(ParameterShell, { ...shellProps, children: /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(ParameterToggleInner, { ref, ...innerProps }) });
15547
+ return /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(ParameterShell, { ...shellProps, children: /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(ParameterToggleInner, { ref, ...innerProps }) });
15019
15548
  });
15020
- var ParameterToggleInner = (0, import_react90.forwardRef)(
15549
+ var ParameterToggleInner = (0, import_react98.forwardRef)(
15021
15550
  ({ ...props }, ref) => {
15022
15551
  const { id, label } = useParameterShell();
15023
- return /* @__PURE__ */ (0, import_jsx_runtime87.jsxs)("label", { css: inputToggleLabel2, children: [
15024
- /* @__PURE__ */ (0, import_jsx_runtime87.jsx)("input", { css: toggleInput2, type: props.type, id, ref, ...props }),
15025
- /* @__PURE__ */ (0, import_jsx_runtime87.jsx)("span", { css: inlineLabel2, children: label })
15552
+ return /* @__PURE__ */ (0, import_jsx_runtime93.jsxs)("label", { css: inputToggleLabel2, children: [
15553
+ /* @__PURE__ */ (0, import_jsx_runtime93.jsx)("input", { css: toggleInput2, type: props.type, id, ref, ...props }),
15554
+ /* @__PURE__ */ (0, import_jsx_runtime93.jsx)("span", { css: inlineLabel2, children: label })
15026
15555
  ] });
15027
15556
  }
15028
15557
  );
@@ -15032,13 +15561,13 @@ var import_Popover = require("reakit/Popover");
15032
15561
  var import_Portal2 = require("reakit/Portal");
15033
15562
 
15034
15563
  // src/components/Popover/Popover.styles.ts
15035
- var import_react91 = require("@emotion/react");
15036
- var PopoverBtn = import_react91.css`
15564
+ var import_react99 = require("@emotion/react");
15565
+ var PopoverBtn = import_react99.css`
15037
15566
  border: none;
15038
15567
  background: none;
15039
15568
  padding: 0;
15040
15569
  `;
15041
- var Popover = import_react91.css`
15570
+ var Popover = import_react99.css`
15042
15571
  border-left: var(--spacing-xs) solid var(--brand-secondary-3);
15043
15572
  border-radius: var(--rounded-base);
15044
15573
  box-shadow: var(--shadow-base);
@@ -15051,7 +15580,7 @@ var Popover = import_react91.css`
15051
15580
  `;
15052
15581
 
15053
15582
  // src/components/Popover/Popover.tsx
15054
- var import_jsx_runtime88 = require("@emotion/react/jsx-runtime");
15583
+ var import_jsx_runtime94 = require("@emotion/react/jsx-runtime");
15055
15584
  var Popover2 = ({
15056
15585
  iconColor = "green",
15057
15586
  buttonText,
@@ -15060,38 +15589,38 @@ var Popover2 = ({
15060
15589
  children
15061
15590
  }) => {
15062
15591
  const popover = (0, import_Popover.usePopoverState)({ placement });
15063
- return /* @__PURE__ */ (0, import_jsx_runtime88.jsxs)(import_jsx_runtime88.Fragment, { children: [
15064
- /* @__PURE__ */ (0, import_jsx_runtime88.jsxs)(import_Popover.PopoverDisclosure, { ...popover, css: PopoverBtn, title: buttonText, children: [
15065
- /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(Icon, { icon: "info", iconColor, size: "1rem" }),
15066
- /* @__PURE__ */ (0, import_jsx_runtime88.jsx)("span", { hidden: true, children: buttonText })
15592
+ return /* @__PURE__ */ (0, import_jsx_runtime94.jsxs)(import_jsx_runtime94.Fragment, { children: [
15593
+ /* @__PURE__ */ (0, import_jsx_runtime94.jsxs)(import_Popover.PopoverDisclosure, { ...popover, css: PopoverBtn, title: buttonText, children: [
15594
+ /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(Icon, { icon: "info", iconColor, size: "1rem" }),
15595
+ /* @__PURE__ */ (0, import_jsx_runtime94.jsx)("span", { hidden: true, children: buttonText })
15067
15596
  ] }),
15068
- /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(import_Portal2.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(import_Popover.Popover, { css: Popover, ...popover, "aria-label": ariaLabel, children }) })
15597
+ /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(import_Portal2.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(import_Popover.Popover, { css: Popover, ...popover, "aria-label": ariaLabel, children }) })
15069
15598
  ] });
15070
15599
  };
15071
15600
 
15072
15601
  // src/components/ProgressList/ProgressList.tsx
15073
- var import_react93 = require("@emotion/react");
15074
- var import_react94 = require("react");
15075
- var import_cg15 = require("react-icons/cg");
15602
+ var import_react101 = require("@emotion/react");
15603
+ var import_react102 = require("react");
15604
+ var import_cg16 = require("react-icons/cg");
15076
15605
 
15077
15606
  // src/components/ProgressList/styles/ProgressList.styles.ts
15078
- var import_react92 = require("@emotion/react");
15079
- var progressListStyles = import_react92.css`
15607
+ var import_react100 = require("@emotion/react");
15608
+ var progressListStyles = import_react100.css`
15080
15609
  display: flex;
15081
15610
  flex-direction: column;
15082
15611
  gap: var(--spacing-sm);
15083
15612
  list-style-type: none;
15084
15613
  `;
15085
- var progressListItemStyles = import_react92.css`
15614
+ var progressListItemStyles = import_react100.css`
15086
15615
  display: flex;
15087
15616
  gap: var(--spacing-base);
15088
15617
  align-items: center;
15089
15618
  `;
15090
15619
 
15091
15620
  // src/components/ProgressList/ProgressList.tsx
15092
- var import_jsx_runtime89 = require("@emotion/react/jsx-runtime");
15621
+ var import_jsx_runtime95 = require("@emotion/react/jsx-runtime");
15093
15622
  var ProgressList = ({ inProgressId, items, autoEllipsis, ...htmlProps }) => {
15094
- const itemsWithStatus = (0, import_react94.useMemo)(() => {
15623
+ const itemsWithStatus = (0, import_react102.useMemo)(() => {
15095
15624
  const indexOfInProgressItem = items.findIndex(({ id }) => id === inProgressId);
15096
15625
  return items.map((item, index) => {
15097
15626
  let status = "queued";
@@ -15103,8 +15632,8 @@ var ProgressList = ({ inProgressId, items, autoEllipsis, ...htmlProps }) => {
15103
15632
  return { ...item, status };
15104
15633
  });
15105
15634
  }, [items, inProgressId]);
15106
- return /* @__PURE__ */ (0, import_jsx_runtime89.jsx)("ol", { css: progressListStyles, ...htmlProps, children: itemsWithStatus.map(({ id, label, status, error, errorLevel }) => {
15107
- return /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(
15635
+ return /* @__PURE__ */ (0, import_jsx_runtime95.jsx)("ol", { css: progressListStyles, ...htmlProps, children: itemsWithStatus.map(({ id, label, status, error, errorLevel }) => {
15636
+ return /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(
15108
15637
  ProgressListItem,
15109
15638
  {
15110
15639
  status,
@@ -15124,25 +15653,25 @@ var ProgressListItem = ({
15124
15653
  errorLevel = "danger",
15125
15654
  autoEllipsis = false
15126
15655
  }) => {
15127
- const Icon2 = (0, import_react94.useMemo)(() => {
15656
+ const Icon2 = (0, import_react102.useMemo)(() => {
15128
15657
  if (error) {
15129
15658
  return warningIcon;
15130
15659
  }
15131
15660
  const iconPerStatus = {
15132
- completed: import_cg15.CgCheckO,
15133
- inProgress: import_cg15.CgRecord,
15134
- queued: import_cg15.CgRadioCheck
15661
+ completed: import_cg16.CgCheckO,
15662
+ inProgress: import_cg16.CgRecord,
15663
+ queued: import_cg16.CgRadioCheck
15135
15664
  };
15136
15665
  return iconPerStatus[status];
15137
15666
  }, [status, error]);
15138
- const statusStyles = (0, import_react94.useMemo)(() => {
15667
+ const statusStyles = (0, import_react102.useMemo)(() => {
15139
15668
  if (error) {
15140
- return errorLevel === "caution" ? import_react93.css`
15669
+ return errorLevel === "caution" ? import_react101.css`
15141
15670
  color: rgb(161, 98, 7);
15142
15671
  & svg {
15143
15672
  color: rgb(250, 204, 21);
15144
15673
  }
15145
- ` : import_react93.css`
15674
+ ` : import_react101.css`
15146
15675
  color: rgb(185, 28, 28);
15147
15676
  & svg {
15148
15677
  color: var(--brand-primary-2);
@@ -15150,221 +15679,40 @@ var ProgressListItem = ({
15150
15679
  `;
15151
15680
  }
15152
15681
  const colorPerStatus = {
15153
- completed: import_react93.css`
15682
+ completed: import_react101.css`
15154
15683
  opacity: 0.75;
15155
15684
  `,
15156
- inProgress: import_react93.css`
15685
+ inProgress: import_react101.css`
15157
15686
  -webkit-text-stroke-width: thin;
15158
15687
  `,
15159
- queued: import_react93.css`
15688
+ queued: import_react101.css`
15160
15689
  opacity: 0.5;
15161
15690
  `
15162
15691
  };
15163
15692
  return colorPerStatus[status];
15164
15693
  }, [status, error, errorLevel]);
15165
- return /* @__PURE__ */ (0, import_jsx_runtime89.jsxs)("li", { css: [progressListItemStyles, statusStyles], children: [
15166
- /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(Tooltip, { title: error != null ? error : "", children: /* @__PURE__ */ (0, import_jsx_runtime89.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(Icon2, { size: 20 }) }) }),
15167
- /* @__PURE__ */ (0, import_jsx_runtime89.jsxs)("div", { children: [
15694
+ return /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)("li", { css: [progressListItemStyles, statusStyles], children: [
15695
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(Tooltip, { title: error != null ? error : "", children: /* @__PURE__ */ (0, import_jsx_runtime95.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(Icon2, { size: 20 }) }) }),
15696
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)("div", { children: [
15168
15697
  children,
15169
- /* @__PURE__ */ (0, import_jsx_runtime89.jsx)("span", { css: { visibility: autoEllipsis && status === "inProgress" && !error ? "visible" : "hidden" }, children: "..." })
15698
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsx)("span", { css: { visibility: autoEllipsis && status === "inProgress" && !error ? "visible" : "hidden" }, children: "..." })
15170
15699
  ] })
15171
15700
  ] });
15172
15701
  };
15173
15702
 
15174
- // src/components/SegmentedControl/SegmentedControl.tsx
15175
- var import_react96 = require("@emotion/react");
15176
- var import_react97 = require("react");
15177
- var import_cg16 = require("react-icons/cg");
15178
-
15179
- // src/components/SegmentedControl/SegmentedControl.styles.ts
15180
- var import_react95 = require("@emotion/react");
15181
- var segmentedControlStyles = import_react95.css`
15182
- --segmented-control-rounded-value: var(--rounded-base);
15183
- --segmented-control-border-width: 1px;
15184
- --segmented-control-selected-color: var(--brand-secondary-3);
15185
- --segmented-control-first-border-radius: var(--segmented-control-rounded-value) 0 0
15186
- var(--segmented-control-rounded-value);
15187
- --segmented-control-last-border-radius: 0 var(--segmented-control-rounded-value)
15188
- var(--segmented-control-rounded-value) 0;
15189
-
15190
- position: relative;
15191
- display: flex;
15192
- justify-content: flex-start;
15193
- width: fit-content;
15194
- background-color: var(--gray-300);
15195
- padding: var(--segmented-control-border-width);
15196
- gap: var(--segmented-control-border-width);
15197
- border-radius: calc(var(--segmented-control-rounded-value) + var(--segmented-control-border-width));
15198
- font-size: var(--fs-xs);
15199
- `;
15200
- var segmentedControlVerticalStyles = import_react95.css`
15201
- flex-direction: column;
15202
- --segmented-control-first-border-radius: var(--segmented-control-rounded-value)
15203
- var(--segmented-control-rounded-value) 0 0;
15204
- --segmented-control-last-border-radius: 0 0 var(--segmented-control-rounded-value)
15205
- var(--segmented-control-rounded-value);
15206
- `;
15207
- var segmentedControlItemStyles = import_react95.css`
15208
- &:first-of-type label {
15209
- border-radius: var(--segmented-control-first-border-radius);
15210
- }
15211
- &:last-of-type label {
15212
- border-radius: var(--segmented-control-last-border-radius);
15213
- }
15214
- `;
15215
- var segmentedControlInputStyles = import_react95.css`
15216
- clip: rect(0, 0, 0, 0);
15217
- position: absolute;
15218
- width: 1px;
15219
- height: 1px;
15220
- overflow: hidden;
15221
- `;
15222
- var segmentedControlLabelStyles = import_react95.css`
15223
- position: relative;
15224
- display: flex;
15225
- align-items: center;
15226
- justify-content: center;
15227
- height: 2rem;
15228
- padding-inline: var(--spacing-base);
15229
- background-color: white;
15230
- transition-property: background-color, color, box-shadow;
15231
- transition-duration: var(--duration-xfast);
15232
- transition-timing-function: ease-in-out;
15233
- z-index: 1;
15234
- cursor: pointer;
15235
-
15236
- &:has(:checked:not(:disabled)) {
15237
- background-color: var(--segmented-control-selected-color);
15238
- outline: var(--segmented-control-border-width) solid var(--segmented-control-selected-color);
15239
- box-shadow: 0 0.43em 1.7em 0 rgba(0, 0, 0, 0.15);
15240
- color: white;
15241
- -webkit-text-stroke-width: thin;
15242
- z-index: 0;
15243
- }
15244
-
15245
- &:hover:not(:has(:disabled, :checked)) {
15246
- background-color: var(--gray-100);
15247
- }
15248
-
15249
- &:has(:disabled) {
15250
- color: var(--gray-400);
15251
- cursor: default;
15252
- }
15253
-
15254
- &:has(:checked:disabled) {
15255
- color: var(--gray-50);
15256
- background-color: var(--gray-400);
15257
- }
15258
- `;
15259
- var segmentedControlLabelIconOnlyStyles = import_react95.css`
15260
- padding-inline: 0.5em;
15261
- `;
15262
- var segmentedControlLabelCheckStyles = import_react95.css`
15263
- opacity: 0.5;
15264
- `;
15265
- var segmentedControlLabelContentStyles = import_react95.css`
15266
- display: flex;
15267
- align-items: center;
15268
- justify-content: center;
15269
- gap: var(--spacing-sm);
15270
- height: 100%;
15271
- `;
15272
- var segmentedControlLabelTextStyles = import_react95.css``;
15273
-
15274
- // src/components/SegmentedControl/SegmentedControl.tsx
15275
- var import_jsx_runtime90 = require("@emotion/react/jsx-runtime");
15276
- var SegmentedControl = ({
15277
- name,
15278
- options,
15279
- value,
15280
- onChange,
15281
- noCheckmark = false,
15282
- disabled = false,
15283
- orientation = "horizontal",
15284
- size = "md",
15285
- ...props
15286
- }) => {
15287
- const onOptionChange = (0, import_react97.useCallback)(
15288
- (event) => {
15289
- if (event.target.checked) {
15290
- onChange == null ? void 0 : onChange(options[parseInt(event.target.value)].value);
15291
- }
15292
- },
15293
- [options, onChange]
15294
- );
15295
- const sizeStyles = (0, import_react97.useMemo)(() => {
15296
- const map = {
15297
- sm: (0, import_react96.css)({ height: "calc(24px - 2px)", fontSize: "var(--fs-xs)" }),
15298
- md: (0, import_react96.css)({ height: "calc(32px - 2px)", fontSize: "var(--fs-sm)" }),
15299
- lg: (0, import_react96.css)({ height: "calc(40px - 2px)", fontSize: "var(--fs-base)" })
15300
- };
15301
- return map[size];
15302
- }, [size]);
15303
- const isIconOnly = (0, import_react97.useMemo)(() => {
15304
- return options.every((option) => option.icon && !option.label);
15305
- }, [options]);
15306
- return /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(
15307
- "div",
15308
- {
15309
- css: [segmentedControlStyles, orientation === "vertical" ? segmentedControlVerticalStyles : void 0],
15310
- ...props,
15311
- children: options.map((option, index) => {
15312
- const text = option.label ? option.label : option.icon ? null : String(option.value);
15313
- const isDisabled = disabled || option.disabled;
15314
- return /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(
15315
- Tooltip,
15316
- {
15317
- title: isDisabled || !option.tooltip ? "" : option.tooltip,
15318
- children: /* @__PURE__ */ (0, import_jsx_runtime90.jsx)("div", { css: segmentedControlItemStyles, children: /* @__PURE__ */ (0, import_jsx_runtime90.jsxs)(
15319
- "label",
15320
- {
15321
- css: [
15322
- segmentedControlLabelStyles,
15323
- sizeStyles,
15324
- isIconOnly ? segmentedControlLabelIconOnlyStyles : void 0
15325
- ],
15326
- children: [
15327
- /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(
15328
- "input",
15329
- {
15330
- css: segmentedControlInputStyles,
15331
- type: "radio",
15332
- name,
15333
- value: index,
15334
- checked: option.value === value,
15335
- onChange: onOptionChange,
15336
- disabled: isDisabled
15337
- }
15338
- ),
15339
- option.value !== value || noCheckmark ? null : /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(import_cg16.CgCheck, { css: segmentedControlLabelCheckStyles, "aria-label": "Selected", size: "1.5em" }),
15340
- /* @__PURE__ */ (0, import_jsx_runtime90.jsxs)("span", { css: segmentedControlLabelContentStyles, children: [
15341
- !option.icon ? null : /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(option.icon, { size: "1.5em" }),
15342
- !text ? null : /* @__PURE__ */ (0, import_jsx_runtime90.jsx)("span", { css: segmentedControlLabelTextStyles, children: text })
15343
- ] })
15344
- ]
15345
- }
15346
- ) })
15347
- },
15348
- JSON.stringify(option.value)
15349
- );
15350
- })
15351
- }
15352
- );
15353
- };
15354
-
15355
15703
  // src/components/Skeleton/Skeleton.styles.ts
15356
- var import_react98 = require("@emotion/react");
15357
- var lightFadingOut = import_react98.keyframes`
15704
+ var import_react103 = require("@emotion/react");
15705
+ var lightFadingOut = import_react103.keyframes`
15358
15706
  from { opacity: 0.1; }
15359
15707
  to { opacity: 0.025; }
15360
15708
  `;
15361
- var skeletonStyles = import_react98.css`
15709
+ var skeletonStyles = import_react103.css`
15362
15710
  animation: ${lightFadingOut} 1s ease-out infinite alternate;
15363
15711
  background-color: var(--gray-900);
15364
15712
  `;
15365
15713
 
15366
15714
  // src/components/Skeleton/Skeleton.tsx
15367
- var import_jsx_runtime91 = require("@emotion/react/jsx-runtime");
15715
+ var import_jsx_runtime96 = require("@emotion/react/jsx-runtime");
15368
15716
  var Skeleton = ({
15369
15717
  width = "100%",
15370
15718
  height = "1.25rem",
@@ -15372,7 +15720,7 @@ var Skeleton = ({
15372
15720
  circle = false,
15373
15721
  children,
15374
15722
  ...otherProps
15375
- }) => /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(
15723
+ }) => /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(
15376
15724
  "div",
15377
15725
  {
15378
15726
  css: [
@@ -15392,11 +15740,11 @@ var Skeleton = ({
15392
15740
  );
15393
15741
 
15394
15742
  // src/components/Switch/Switch.tsx
15395
- var React18 = __toESM(require("react"));
15743
+ var React20 = __toESM(require("react"));
15396
15744
 
15397
15745
  // src/components/Switch/Switch.styles.ts
15398
- var import_react99 = require("@emotion/react");
15399
- var SwitchInputContainer = import_react99.css`
15746
+ var import_react104 = require("@emotion/react");
15747
+ var SwitchInputContainer = import_react104.css`
15400
15748
  cursor: pointer;
15401
15749
  display: inline-block;
15402
15750
  position: relative;
@@ -15405,7 +15753,7 @@ var SwitchInputContainer = import_react99.css`
15405
15753
  vertical-align: middle;
15406
15754
  user-select: none;
15407
15755
  `;
15408
- var SwitchInput = import_react99.css`
15756
+ var SwitchInput = import_react104.css`
15409
15757
  appearance: none;
15410
15758
  border-radius: var(--rounded-full);
15411
15759
  background-color: var(--white);
@@ -15443,7 +15791,7 @@ var SwitchInput = import_react99.css`
15443
15791
  cursor: not-allowed;
15444
15792
  }
15445
15793
  `;
15446
- var SwitchInputDisabled = import_react99.css`
15794
+ var SwitchInputDisabled = import_react104.css`
15447
15795
  opacity: var(--opacity-50);
15448
15796
  cursor: not-allowed;
15449
15797
 
@@ -15451,7 +15799,7 @@ var SwitchInputDisabled = import_react99.css`
15451
15799
  cursor: not-allowed;
15452
15800
  }
15453
15801
  `;
15454
- var SwitchInputLabel = import_react99.css`
15802
+ var SwitchInputLabel = import_react104.css`
15455
15803
  align-items: center;
15456
15804
  color: var(--brand-secondary-1);
15457
15805
  display: inline-flex;
@@ -15473,103 +15821,103 @@ var SwitchInputLabel = import_react99.css`
15473
15821
  top: 0;
15474
15822
  }
15475
15823
  `;
15476
- var SwitchText = import_react99.css`
15824
+ var SwitchText = import_react104.css`
15477
15825
  color: var(--gray-500);
15478
15826
  font-size: var(--fs-sm);
15479
15827
  padding-inline: var(--spacing-2xl) 0;
15480
15828
  `;
15481
15829
 
15482
15830
  // src/components/Switch/Switch.tsx
15483
- var import_jsx_runtime92 = require("@emotion/react/jsx-runtime");
15484
- var Switch = React18.forwardRef(
15831
+ var import_jsx_runtime97 = require("@emotion/react/jsx-runtime");
15832
+ var Switch = React20.forwardRef(
15485
15833
  ({ label, infoText, toggleText, children, ...inputProps }, ref) => {
15486
15834
  let additionalText = infoText;
15487
15835
  if (infoText && toggleText) {
15488
15836
  additionalText = inputProps.checked ? toggleText : infoText;
15489
15837
  }
15490
- return /* @__PURE__ */ (0, import_jsx_runtime92.jsxs)(import_jsx_runtime92.Fragment, { children: [
15491
- /* @__PURE__ */ (0, import_jsx_runtime92.jsxs)("label", { css: [SwitchInputContainer, inputProps.disabled ? SwitchInputDisabled : void 0], children: [
15492
- /* @__PURE__ */ (0, import_jsx_runtime92.jsx)("input", { type: "checkbox", css: SwitchInput, ...inputProps, ref }),
15493
- /* @__PURE__ */ (0, import_jsx_runtime92.jsx)("span", { css: SwitchInputLabel, children: label })
15838
+ return /* @__PURE__ */ (0, import_jsx_runtime97.jsxs)(import_jsx_runtime97.Fragment, { children: [
15839
+ /* @__PURE__ */ (0, import_jsx_runtime97.jsxs)("label", { css: [SwitchInputContainer, inputProps.disabled ? SwitchInputDisabled : void 0], children: [
15840
+ /* @__PURE__ */ (0, import_jsx_runtime97.jsx)("input", { type: "checkbox", css: SwitchInput, ...inputProps, ref }),
15841
+ /* @__PURE__ */ (0, import_jsx_runtime97.jsx)("span", { css: SwitchInputLabel, children: label })
15494
15842
  ] }),
15495
- additionalText ? /* @__PURE__ */ (0, import_jsx_runtime92.jsx)("p", { css: SwitchText, children: additionalText }) : null,
15843
+ additionalText ? /* @__PURE__ */ (0, import_jsx_runtime97.jsx)("p", { css: SwitchText, children: additionalText }) : null,
15496
15844
  children
15497
15845
  ] });
15498
15846
  }
15499
15847
  );
15500
15848
 
15501
15849
  // src/components/Table/Table.tsx
15502
- var React19 = __toESM(require("react"));
15850
+ var React21 = __toESM(require("react"));
15503
15851
 
15504
15852
  // src/components/Table/Table.styles.ts
15505
- var import_react100 = require("@emotion/react");
15506
- var table = import_react100.css`
15853
+ var import_react105 = require("@emotion/react");
15854
+ var table = import_react105.css`
15507
15855
  border-bottom: 1px solid var(--gray-400);
15508
15856
  border-collapse: collapse;
15509
15857
  min-width: 100%;
15510
15858
  table-layout: auto;
15511
15859
  `;
15512
- var tableHead = import_react100.css`
15860
+ var tableHead = import_react105.css`
15513
15861
  background: var(--gray-100);
15514
15862
  color: var(--brand-secondary-1);
15515
15863
  text-align: left;
15516
15864
  `;
15517
- var tableRow = import_react100.css`
15865
+ var tableRow = import_react105.css`
15518
15866
  border-bottom: 1px solid var(--gray-200);
15519
15867
  `;
15520
- var tableCellHead = import_react100.css`
15868
+ var tableCellHead = import_react105.css`
15521
15869
  font-size: var(--fs-sm);
15522
15870
  padding: var(--spacing-base) var(--spacing-md);
15523
15871
  text-transform: uppercase;
15524
15872
  font-weight: var(--fw-bold);
15525
15873
  `;
15526
- var tableCellData = import_react100.css`
15874
+ var tableCellData = import_react105.css`
15527
15875
  padding: var(--spacing-base) var(--spacing-md);
15528
15876
  `;
15529
15877
 
15530
15878
  // src/components/Table/Table.tsx
15531
- var import_jsx_runtime93 = require("@emotion/react/jsx-runtime");
15532
- var Table = React19.forwardRef(({ children, ...otherProps }, ref) => {
15533
- return /* @__PURE__ */ (0, import_jsx_runtime93.jsx)("table", { ref, css: table, ...otherProps, children });
15879
+ var import_jsx_runtime98 = require("@emotion/react/jsx-runtime");
15880
+ var Table = React21.forwardRef(({ children, ...otherProps }, ref) => {
15881
+ return /* @__PURE__ */ (0, import_jsx_runtime98.jsx)("table", { ref, css: table, ...otherProps, children });
15534
15882
  });
15535
- var TableHead = React19.forwardRef(
15883
+ var TableHead = React21.forwardRef(
15536
15884
  ({ children, ...otherProps }, ref) => {
15537
- return /* @__PURE__ */ (0, import_jsx_runtime93.jsx)("thead", { ref, css: tableHead, ...otherProps, children });
15885
+ return /* @__PURE__ */ (0, import_jsx_runtime98.jsx)("thead", { ref, css: tableHead, ...otherProps, children });
15538
15886
  }
15539
15887
  );
15540
- var TableBody = React19.forwardRef(
15888
+ var TableBody = React21.forwardRef(
15541
15889
  ({ children, ...otherProps }, ref) => {
15542
- return /* @__PURE__ */ (0, import_jsx_runtime93.jsx)("tbody", { ref, ...otherProps, children });
15890
+ return /* @__PURE__ */ (0, import_jsx_runtime98.jsx)("tbody", { ref, ...otherProps, children });
15543
15891
  }
15544
15892
  );
15545
- var TableFoot = React19.forwardRef(
15893
+ var TableFoot = React21.forwardRef(
15546
15894
  ({ children, ...otherProps }, ref) => {
15547
- return /* @__PURE__ */ (0, import_jsx_runtime93.jsx)("tfoot", { ref, ...otherProps, children });
15895
+ return /* @__PURE__ */ (0, import_jsx_runtime98.jsx)("tfoot", { ref, ...otherProps, children });
15548
15896
  }
15549
15897
  );
15550
- var TableRow = React19.forwardRef(
15898
+ var TableRow = React21.forwardRef(
15551
15899
  ({ children, ...otherProps }, ref) => {
15552
- return /* @__PURE__ */ (0, import_jsx_runtime93.jsx)("tr", { ref, css: tableRow, ...otherProps, children });
15900
+ return /* @__PURE__ */ (0, import_jsx_runtime98.jsx)("tr", { ref, css: tableRow, ...otherProps, children });
15553
15901
  }
15554
15902
  );
15555
- var TableCellHead = React19.forwardRef(
15903
+ var TableCellHead = React21.forwardRef(
15556
15904
  ({ children, ...otherProps }, ref) => {
15557
- return /* @__PURE__ */ (0, import_jsx_runtime93.jsx)("th", { ref, css: tableCellHead, ...otherProps, children });
15905
+ return /* @__PURE__ */ (0, import_jsx_runtime98.jsx)("th", { ref, css: tableCellHead, ...otherProps, children });
15558
15906
  }
15559
15907
  );
15560
- var TableCellData = React19.forwardRef(
15908
+ var TableCellData = React21.forwardRef(
15561
15909
  ({ children, ...otherProps }, ref) => {
15562
- return /* @__PURE__ */ (0, import_jsx_runtime93.jsx)("td", { ref, css: tableCellData, ...otherProps, children });
15910
+ return /* @__PURE__ */ (0, import_jsx_runtime98.jsx)("td", { ref, css: tableCellData, ...otherProps, children });
15563
15911
  }
15564
15912
  );
15565
15913
 
15566
15914
  // src/components/Tabs/Tabs.tsx
15567
- var import_react102 = require("react");
15915
+ var import_react107 = require("react");
15568
15916
  var import_Tab = require("reakit/Tab");
15569
15917
 
15570
15918
  // src/components/Tabs/Tabs.styles.ts
15571
- var import_react101 = require("@emotion/react");
15572
- var tabButtonStyles = import_react101.css`
15919
+ var import_react106 = require("@emotion/react");
15920
+ var tabButtonStyles = import_react106.css`
15573
15921
  align-items: center;
15574
15922
  border: 0;
15575
15923
  height: 2.5rem;
@@ -15586,30 +15934,30 @@ var tabButtonStyles = import_react101.css`
15586
15934
  -webkit-text-stroke-width: thin;
15587
15935
  }
15588
15936
  `;
15589
- var tabButtonGroupStyles = import_react101.css`
15937
+ var tabButtonGroupStyles = import_react106.css`
15590
15938
  display: flex;
15591
15939
  gap: var(--spacing-base);
15592
15940
  border-bottom: 1px solid var(--gray-300);
15593
15941
  `;
15594
15942
 
15595
15943
  // src/components/Tabs/Tabs.tsx
15596
- var import_jsx_runtime94 = require("@emotion/react/jsx-runtime");
15597
- var CurrentTabContext = (0, import_react102.createContext)(null);
15944
+ var import_jsx_runtime99 = require("@emotion/react/jsx-runtime");
15945
+ var CurrentTabContext = (0, import_react107.createContext)(null);
15598
15946
  var useCurrentTab = () => {
15599
- const context = (0, import_react102.useContext)(CurrentTabContext);
15947
+ const context = (0, import_react107.useContext)(CurrentTabContext);
15600
15948
  if (!context) {
15601
15949
  throw new Error("This component can only be used inside <Tabs>");
15602
15950
  }
15603
15951
  return context;
15604
15952
  };
15605
15953
  var Tabs = ({ children, onSelectedIdChange, useHashForState, selectedId, ...props }) => {
15606
- const selected = (0, import_react102.useMemo)(() => {
15954
+ const selected = (0, import_react107.useMemo)(() => {
15607
15955
  if (selectedId)
15608
15956
  return selectedId;
15609
15957
  return useHashForState && typeof window !== "undefined" && window.location.hash ? window.location.hash.substring(1) : void 0;
15610
15958
  }, [selectedId, useHashForState]);
15611
15959
  const tab = (0, import_Tab.useTabState)({ ...props, selectedId: selected });
15612
- (0, import_react102.useEffect)(() => {
15960
+ (0, import_react107.useEffect)(() => {
15613
15961
  var _a;
15614
15962
  const selectedValueWithoutNull = (_a = tab.selectedId) != null ? _a : void 0;
15615
15963
  onSelectedIdChange == null ? void 0 : onSelectedIdChange(selectedValueWithoutNull);
@@ -15617,116 +15965,24 @@ var Tabs = ({ children, onSelectedIdChange, useHashForState, selectedId, ...prop
15617
15965
  window.location.hash = selectedValueWithoutNull != null ? selectedValueWithoutNull : "";
15618
15966
  }
15619
15967
  }, [tab.selectedId, onSelectedIdChange, useHashForState]);
15620
- (0, import_react102.useEffect)(() => {
15968
+ (0, import_react107.useEffect)(() => {
15621
15969
  if (selected && selected !== tab.selectedId) {
15622
15970
  tab.setSelectedId(selected);
15623
15971
  }
15624
15972
  }, [selected]);
15625
- return /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(CurrentTabContext.Provider, { value: tab, children });
15973
+ return /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(CurrentTabContext.Provider, { value: tab, children });
15626
15974
  };
15627
15975
  var TabButtonGroup = ({ children, ...props }) => {
15628
15976
  const currentTab = useCurrentTab();
15629
- return /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(import_Tab.TabList, { ...props, ...currentTab, css: tabButtonGroupStyles, children });
15977
+ return /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(import_Tab.TabList, { ...props, ...currentTab, css: tabButtonGroupStyles, children });
15630
15978
  };
15631
15979
  var TabButton = ({ children, id, ...props }) => {
15632
15980
  const currentTab = useCurrentTab();
15633
- return /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(import_Tab.Tab, { type: "button", id, ...currentTab, ...props, css: tabButtonStyles, children });
15981
+ return /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(import_Tab.Tab, { type: "button", id, ...currentTab, ...props, css: tabButtonStyles, children });
15634
15982
  };
15635
15983
  var TabContent = ({ children, ...props }) => {
15636
15984
  const currentTab = useCurrentTab();
15637
- return /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(import_Tab.TabPanel, { ...props, ...currentTab, children });
15638
- };
15639
-
15640
- // src/components/Validation/StatusBullet.styles.ts
15641
- var import_react103 = require("@emotion/react");
15642
- var StatusBulletContainer = import_react103.css`
15643
- align-items: center;
15644
- align-self: center;
15645
- color: var(--gray-500);
15646
- display: inline-flex;
15647
- font-weight: var(--fw-regular);
15648
- gap: var(--spacing-xs);
15649
- line-height: 1;
15650
- position: relative;
15651
- text-transform: lowercase;
15652
-
15653
- &:before {
15654
- border-radius: var(--rounded-full);
15655
- content: '';
15656
- display: block;
15657
- }
15658
- `;
15659
- var StatusBulletBase = import_react103.css`
15660
- font-size: var(--fs-sm);
15661
- &:before {
15662
- width: var(--fs-xs);
15663
- height: var(--fs-xs);
15664
- }
15665
- `;
15666
- var StatusBulletSmall = import_react103.css`
15667
- font-size: var(--fs-xs);
15668
- &:before {
15669
- width: var(--fs-xxs);
15670
- height: var(--fs-xxs);
15671
- }
15672
- `;
15673
- var StatusDraft = import_react103.css`
15674
- &:before {
15675
- background: var(--white);
15676
- box-shadow: inset 0 0 0 0.125rem var(--brand-primary-1);
15677
- }
15678
- `;
15679
- var StatusModified = import_react103.css`
15680
- &:before {
15681
- background: linear-gradient(to right, var(--white) 50%, var(--brand-primary-1) 50% 100%);
15682
- box-shadow: inset 0 0 0 0.125rem var(--brand-primary-1);
15683
- }
15684
- `;
15685
- var StatusError = import_react103.css`
15686
- color: var(--error);
15687
- &:before {
15688
- background: linear-gradient(120deg, var(--error) 40%, var(--white) 50%, var(--error) 60%);
15689
- }
15690
- `;
15691
- var StatusPublished = import_react103.css`
15692
- &:before {
15693
- background: var(--brand-secondary-3);
15694
- }
15695
- `;
15696
- var StatusOrphan = import_react103.css`
15697
- &:before {
15698
- background: var(--brand-secondary-5);
15699
- }
15700
- `;
15701
-
15702
- // src/components/Validation/StatusBullet.tsx
15703
- var import_jsx_runtime95 = require("@emotion/react/jsx-runtime");
15704
- var StatusBullet = ({
15705
- status,
15706
- hideText = false,
15707
- size = "base",
15708
- message,
15709
- ...props
15710
- }) => {
15711
- const currentStateStyles = {
15712
- Error: StatusError,
15713
- Modified: StatusModified,
15714
- Unsaved: StatusDraft,
15715
- Orphan: StatusOrphan,
15716
- Published: StatusPublished,
15717
- Draft: StatusDraft
15718
- };
15719
- const statusSize = size === "base" ? StatusBulletBase : StatusBulletSmall;
15720
- return /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(
15721
- "span",
15722
- {
15723
- role: "status",
15724
- css: [StatusBulletContainer, currentStateStyles[status], statusSize],
15725
- title: message != null ? message : status,
15726
- ...props,
15727
- children: hideText ? null : message ? message : status
15728
- }
15729
- );
15985
+ return /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(import_Tab.TabPanel, { ...props, ...currentTab, children });
15730
15986
  };
15731
15987
  // Annotate the CommonJS export names for ESM import in node:
15732
15988
  0 && (module.exports = {
@@ -15789,6 +16045,10 @@ var StatusBullet = ({
15789
16045
  MenuGroup,
15790
16046
  MenuItem,
15791
16047
  MenuItemSeparator,
16048
+ ObjectCompositionListItem,
16049
+ ObjectListContainer,
16050
+ ObjectListItemLoadingSkeleton,
16051
+ ObjectPersonalizationListItem,
15792
16052
  PageHeaderSection,
15793
16053
  Paragraph,
15794
16054
  ParameterDataResource,