@uniformdev/design-system 18.38.2-alpha.6 → 19.1.1-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/esm/index.js CHANGED
@@ -220,6 +220,16 @@ var mq = (size) => `@media (min-width: ${breakpoints[size]}px)`;
220
220
  var supports = (cssProp) => `@supports (${cssProp})`;
221
221
  var cq = (size) => `@container (min-width: ${size})`;
222
222
 
223
+ // src/utils/formatDate.ts
224
+ var formatDate = (date) => {
225
+ const normalizeDate = new Date(date).toLocaleDateString(navigator.language, {
226
+ year: "numeric",
227
+ month: "short",
228
+ day: "numeric"
229
+ });
230
+ return normalizeDate;
231
+ };
232
+
223
233
  // src/utils/replaceUnderscoreInString.ts
224
234
  var replaceUnderscoreInString = (title) => (title == null ? void 0 : title.includes("_")) ? title.replaceAll("_", " ") : title;
225
235
 
@@ -430,7 +440,6 @@ var inputIcon = css2`
430
440
  display: flex;
431
441
  position: absolute;
432
442
  inset: 0 var(--spacing-base) 0 auto;
433
- pointer-events: none;
434
443
  `;
435
444
  var inputWithIcon = css2`
436
445
  padding-right: var(--spacing-2xl);
@@ -11452,6 +11461,7 @@ var TwoColumnLayoutMain = css28``;
11452
11461
  var TwoColumnLayoutSupporting = css28`
11453
11462
  display: flex;
11454
11463
  flex-direction: column;
11464
+ gap: var(--spacing-md);
11455
11465
  `;
11456
11466
 
11457
11467
  // src/components/Layout/TwoColumnLayout.tsx
@@ -12680,30 +12690,44 @@ var InputSelect = ({
12680
12690
  };
12681
12691
 
12682
12692
  // src/components/Input/InputToggle.tsx
12693
+ import * as React14 from "react";
12683
12694
  import { jsx as jsx52, jsxs as jsxs31 } from "@emotion/react/jsx-runtime";
12684
- var InputToggle = ({
12685
- label,
12686
- type,
12687
- disabled,
12688
- checked,
12689
- name,
12690
- caption,
12691
- errorMessage,
12692
- warningMessage,
12693
- testId,
12694
- fontWeight = "medium",
12695
- ...props
12696
- }) => {
12697
- return /* @__PURE__ */ jsxs31(Label, { css: [inputToggleLabel, disabled ? inputDisabled : void 0], "data-test-id": testId, children: [
12698
- /* @__PURE__ */ jsx52("input", { type, css: toggleInput, checked, name, disabled, ...props }),
12699
- /* @__PURE__ */ jsx52("span", { css: inlineLabel(fontWeight), dangerouslySetInnerHTML: { __html: label } }),
12700
- caption || errorMessage ? /* @__PURE__ */ jsxs31("span", { css: inputToggleMessageContainer, children: [
12701
- caption ? /* @__PURE__ */ jsx52(Caption, { children: caption }) : null,
12702
- errorMessage ? /* @__PURE__ */ jsx52(ErrorMessage, { message: errorMessage }) : null,
12703
- warningMessage && !errorMessage ? /* @__PURE__ */ jsx52(WarningMessage, { message: warningMessage }) : null
12704
- ] }) : null
12705
- ] });
12706
- };
12695
+ var InputToggle = React14.forwardRef(
12696
+ ({
12697
+ label,
12698
+ type,
12699
+ disabled,
12700
+ checked,
12701
+ name,
12702
+ caption,
12703
+ errorMessage,
12704
+ warningMessage,
12705
+ testId,
12706
+ fontWeight = "medium",
12707
+ ...props
12708
+ }, ref) => {
12709
+ return /* @__PURE__ */ jsxs31(Label, { css: [inputToggleLabel, disabled ? inputDisabled : void 0], "data-test-id": testId, children: [
12710
+ /* @__PURE__ */ jsx52(
12711
+ "input",
12712
+ {
12713
+ ref,
12714
+ type,
12715
+ css: toggleInput,
12716
+ checked,
12717
+ name,
12718
+ disabled,
12719
+ ...props
12720
+ }
12721
+ ),
12722
+ /* @__PURE__ */ jsx52("span", { css: inlineLabel(fontWeight), dangerouslySetInnerHTML: { __html: label } }),
12723
+ caption || errorMessage ? /* @__PURE__ */ jsxs31("span", { css: inputToggleMessageContainer, children: [
12724
+ caption ? /* @__PURE__ */ jsx52(Caption, { children: caption }) : null,
12725
+ errorMessage ? /* @__PURE__ */ jsx52(ErrorMessage, { message: errorMessage }) : null,
12726
+ warningMessage && !errorMessage ? /* @__PURE__ */ jsx52(WarningMessage, { message: warningMessage }) : null
12727
+ ] }) : null
12728
+ ] });
12729
+ }
12730
+ );
12707
12731
 
12708
12732
  // src/components/Input/Legend.tsx
12709
12733
  import { jsx as jsx53 } from "@emotion/react/jsx-runtime";
@@ -12870,8 +12894,8 @@ var LimitsBar = ({ current, max, label }) => {
12870
12894
 
12871
12895
  // src/components/LinkList/LinkList.styles.ts
12872
12896
  import { css as css44 } from "@emotion/react";
12873
- var LinkListContainer = css44`
12874
- padding: var(--spacing-md);
12897
+ var LinkListContainer = (padding) => css44`
12898
+ padding: ${padding};
12875
12899
 
12876
12900
  ${mq("sm")} {
12877
12901
  grid-column: last-col / span 1;
@@ -12881,8 +12905,8 @@ var LinkListContainer = css44`
12881
12905
 
12882
12906
  // src/components/LinkList/LinkList.tsx
12883
12907
  import { jsx as jsx57, jsxs as jsxs34 } from "@emotion/react/jsx-runtime";
12884
- var LinkList = ({ title, children, ...props }) => {
12885
- return /* @__PURE__ */ jsxs34("div", { css: LinkListContainer, ...props, children: [
12908
+ var LinkList = ({ title, padding = "var(--spacing-md)", children, ...props }) => {
12909
+ return /* @__PURE__ */ jsxs34("div", { css: LinkListContainer(padding), ...props, children: [
12886
12910
  /* @__PURE__ */ jsx57(Heading, { level: 3, children: title }),
12887
12911
  children
12888
12912
  ] });
@@ -13801,8 +13825,211 @@ var IntegrationModalHeader = ({ icon, name, menu: menu2, children }) => {
13801
13825
  ] });
13802
13826
  };
13803
13827
 
13828
+ // src/components/ObjectList/ObjectCompositionListItem.tsx
13829
+ import { forwardRef as forwardRef8 } from "react";
13830
+
13831
+ // src/components/Validation/StatusBullet.styles.ts
13832
+ import { css as css58 } from "@emotion/react";
13833
+ var StatusBulletContainer = css58`
13834
+ align-items: center;
13835
+ align-self: center;
13836
+ color: var(--gray-500);
13837
+ display: inline-flex;
13838
+ font-weight: var(--fw-regular);
13839
+ gap: var(--spacing-xs);
13840
+ line-height: 1;
13841
+ position: relative;
13842
+ text-transform: lowercase;
13843
+
13844
+ &:before {
13845
+ border-radius: var(--rounded-full);
13846
+ content: '';
13847
+ display: block;
13848
+ }
13849
+ `;
13850
+ var StatusBulletBase = css58`
13851
+ font-size: var(--fs-sm);
13852
+ &:before {
13853
+ width: var(--fs-xs);
13854
+ height: var(--fs-xs);
13855
+ }
13856
+ `;
13857
+ var StatusBulletSmall = css58`
13858
+ font-size: var(--fs-xs);
13859
+ &:before {
13860
+ width: var(--fs-xxs);
13861
+ height: var(--fs-xxs);
13862
+ }
13863
+ `;
13864
+ var StatusDraft = css58`
13865
+ &:before {
13866
+ background: var(--white);
13867
+ box-shadow: inset 0 0 0 0.125rem var(--brand-primary-1);
13868
+ }
13869
+ `;
13870
+ var StatusModified = css58`
13871
+ &:before {
13872
+ background: linear-gradient(to right, var(--white) 50%, var(--brand-primary-1) 50% 100%);
13873
+ box-shadow: inset 0 0 0 0.125rem var(--brand-primary-1);
13874
+ }
13875
+ `;
13876
+ var StatusError = css58`
13877
+ color: var(--error);
13878
+ &:before {
13879
+ background: linear-gradient(120deg, var(--error) 40%, var(--white) 50%, var(--error) 60%);
13880
+ }
13881
+ `;
13882
+ var StatusPublished = css58`
13883
+ &:before {
13884
+ background: var(--brand-secondary-3);
13885
+ }
13886
+ `;
13887
+ var StatusOrphan = css58`
13888
+ &:before {
13889
+ background: var(--brand-secondary-5);
13890
+ }
13891
+ `;
13892
+
13893
+ // src/components/Validation/StatusBullet.tsx
13894
+ import { jsx as jsx73 } from "@emotion/react/jsx-runtime";
13895
+ var StatusBullet = ({
13896
+ status,
13897
+ hideText = false,
13898
+ size = "base",
13899
+ message,
13900
+ ...props
13901
+ }) => {
13902
+ const currentStateStyles = {
13903
+ Error: StatusError,
13904
+ Modified: StatusModified,
13905
+ Unsaved: StatusDraft,
13906
+ Orphan: StatusOrphan,
13907
+ Published: StatusPublished,
13908
+ Draft: StatusDraft
13909
+ };
13910
+ const statusSize = size === "base" ? StatusBulletBase : StatusBulletSmall;
13911
+ return /* @__PURE__ */ jsx73(
13912
+ "span",
13913
+ {
13914
+ role: "status",
13915
+ css: [StatusBulletContainer, currentStateStyles[status], statusSize],
13916
+ title: message != null ? message : status,
13917
+ ...props,
13918
+ children: hideText ? null : message ? message : status
13919
+ }
13920
+ );
13921
+ };
13922
+
13923
+ // src/components/ObjectList/styles/ObjectListItem.styles.ts
13924
+ import { css as css59 } from "@emotion/react";
13925
+ var ObjectListItemContainer = css59`
13926
+ border-top: 1px solid var(--gray-300);
13927
+ border-bottom: 1px solid var(--gray-300);
13928
+ display: block;
13929
+ padding: var(--spacing-base) var(--spacing-sm);
13930
+ font-size: var(--fs-sm);
13931
+ margin-bottom: -1px;
13932
+ transition: background-color var(--duration-fast) var(--timing-ease-out);
13933
+ text-decoration: none;
13934
+
13935
+ &:hover {
13936
+ background: var(--gray-50);
13937
+
13938
+ & [role='heading'] {
13939
+ text-decoration: underline;
13940
+ }
13941
+ }
13942
+ `;
13943
+ var ObjectListItemLoading = css59`
13944
+ animation: ${skeletonLoading} 1s linear infinite alternate;
13945
+ border-color: var(--white);
13946
+ display: flex;
13947
+ flex-direction: column;
13948
+ padding: var(--spacing-base) var(--spacing-sm);
13949
+ gap: var(--spacing-sm);
13950
+ `;
13951
+ var ObjectListItemLoadingText = (textLength) => css59`
13952
+ animation: ${fadeIn} 1s linear infinite alternate;
13953
+ border-radius: var(--rounded-base);
13954
+ background: var(--gray-300);
13955
+ display: block;
13956
+ width: ${textLength};
13957
+ height: var(--fs-base);
13958
+ `;
13959
+ var ObjectListItemInlineGroup = css59`
13960
+ align-items: center;
13961
+ color: var(--gray-500);
13962
+ display: flex;
13963
+ gap: var(--spacing-base);
13964
+ `;
13965
+ var ObjectListItemIconTextGroup = css59`
13966
+ align-items: center;
13967
+ display: flex;
13968
+ gap: var(--spacing-xs);
13969
+ `;
13970
+ var ObjectListItemInlineHeadingGroup = css59`
13971
+ justify-content: space-between;
13972
+ `;
13973
+ var ObjectListItemTitle = css59`
13974
+ color: var(--brand-secondary-1);
13975
+ font-size: var(--fs-base);
13976
+ line-height: 1;
13977
+ `;
13978
+ var ObjectListItemSmallText = css59`
13979
+ font-size: var(--fs-sm);
13980
+ min-width: max-content;
13981
+ `;
13982
+ var ObjectListKeyText = css59`
13983
+ color: var(--gray-400);
13984
+ font-size: var(--fs-sm);
13985
+ text-transform: capitalize;
13986
+ `;
13987
+ var ObjectListValueText = css59`
13988
+ color: var(--gray-500);
13989
+ font-size: var(--fs-sm);
13990
+ text-transform: none;
13991
+ `;
13992
+
13993
+ // src/components/ObjectList/ObjectCompositionListItem.tsx
13994
+ import { jsx as jsx74, jsxs as jsxs48 } from "@emotion/react/jsx-runtime";
13995
+ var ObjectCompositionListItem = forwardRef8(
13996
+ ({
13997
+ title,
13998
+ date,
13999
+ componentName,
14000
+ icon,
14001
+ publishStatus,
14002
+ href,
14003
+ as,
14004
+ linkManagerComponent: LinkManager,
14005
+ ...props
14006
+ }, ref) => {
14007
+ return /* @__PURE__ */ jsx74(LinkManager, { ...props, as, href, ref, passHref: true, legacyBehavior: true, role: "listitem", children: /* @__PURE__ */ jsxs48("a", { css: ObjectListItemContainer, children: [
14008
+ /* @__PURE__ */ jsxs48("div", { css: [ObjectListItemInlineGroup, ObjectListItemInlineHeadingGroup], children: [
14009
+ /* @__PURE__ */ jsx74("span", { role: "heading", css: ObjectListItemTitle, children: title }),
14010
+ /* @__PURE__ */ jsx74("time", { role: "time", dateTime: `${date}`, css: ObjectListItemSmallText, children: formatDate(date) })
14011
+ ] }),
14012
+ /* @__PURE__ */ jsxs48("div", { css: ObjectListItemInlineGroup, children: [
14013
+ !icon && !componentName ? null : /* @__PURE__ */ jsxs48("div", { css: [ObjectListItemIconTextGroup, ObjectListItemSmallText], children: [
14014
+ !icon ? null : /* @__PURE__ */ jsx74(Icon, { icon, size: "1rem" }),
14015
+ !componentName ? null : /* @__PURE__ */ jsx74("span", { children: componentName })
14016
+ ] }),
14017
+ !publishStatus ? null : /* @__PURE__ */ jsx74(StatusBullet, { status: publishStatus })
14018
+ ] })
14019
+ ] }) });
14020
+ }
14021
+ );
14022
+
14023
+ // src/components/ObjectList/ObjectListContainer.tsx
14024
+ import * as React18 from "react";
14025
+
14026
+ // src/components/SegmentedControl/SegmentedControl.tsx
14027
+ import { css as css62 } from "@emotion/react";
14028
+ import { useCallback as useCallback3, useMemo as useMemo2 } from "react";
14029
+ import { CgCheck as CgCheck3 } from "react-icons/cg";
14030
+
13804
14031
  // src/components/Tooltip/Tooltip.tsx
13805
- import React15 from "react";
14032
+ import React16 from "react";
13806
14033
  import {
13807
14034
  Tooltip as ReakitTooltip,
13808
14035
  TooltipArrow,
@@ -13811,8 +14038,8 @@ import {
13811
14038
  } from "reakit/Tooltip";
13812
14039
 
13813
14040
  // src/components/Tooltip/Tooltip.styles.ts
13814
- import { css as css58 } from "@emotion/react";
13815
- var TooltipContainer = css58`
14041
+ import { css as css60 } from "@emotion/react";
14042
+ var TooltipContainer = css60`
13816
14043
  border: 2px solid var(--gray-300);
13817
14044
  border-radius: var(--rounded-base);
13818
14045
  padding: var(--spacing-xs) var(--spacing-sm);
@@ -13820,61 +14047,353 @@ var TooltipContainer = css58`
13820
14047
  font-size: var(--fs-xs);
13821
14048
  background: var(--white);
13822
14049
  `;
13823
- var TooltipArrowStyles = css58`
14050
+ var TooltipArrowStyles = css60`
13824
14051
  svg {
13825
14052
  fill: var(--gray-300);
13826
14053
  }
13827
14054
  `;
13828
14055
 
13829
14056
  // src/components/Tooltip/Tooltip.tsx
13830
- import { Fragment as Fragment9, jsx as jsx73, jsxs as jsxs48 } from "@emotion/react/jsx-runtime";
14057
+ import { Fragment as Fragment9, jsx as jsx75, jsxs as jsxs49 } from "@emotion/react/jsx-runtime";
13831
14058
  function Tooltip({ children, title, placement = "bottom", visible, ...props }) {
13832
14059
  const tooltip = useTooltipState({ placement });
13833
- return !title ? children : /* @__PURE__ */ jsxs48(Fragment9, { children: [
13834
- /* @__PURE__ */ jsx73(TooltipReference, { ...tooltip, ...children.props, children: (referenceProps) => React15.cloneElement(children, referenceProps) }),
13835
- /* @__PURE__ */ jsxs48(ReakitTooltip, { ...tooltip, ...props, css: TooltipContainer, visible: visible != null ? visible : tooltip.visible, children: [
13836
- /* @__PURE__ */ jsx73(TooltipArrow, { ...tooltip, css: TooltipArrowStyles }),
14060
+ return !title ? children : /* @__PURE__ */ jsxs49(Fragment9, { children: [
14061
+ /* @__PURE__ */ jsx75(TooltipReference, { ...tooltip, ...children.props, children: (referenceProps) => React16.cloneElement(children, referenceProps) }),
14062
+ /* @__PURE__ */ jsxs49(ReakitTooltip, { ...tooltip, ...props, css: TooltipContainer, visible: visible != null ? visible : tooltip.visible, children: [
14063
+ /* @__PURE__ */ jsx75(TooltipArrow, { ...tooltip, css: TooltipArrowStyles }),
13837
14064
  title
13838
14065
  ] })
13839
14066
  ] });
13840
14067
  }
13841
14068
 
13842
- // src/components/ParameterInputs/styles/ParameterBindingButton.styles.ts
13843
- import { css as css59 } from "@emotion/react";
13844
- var inputIconBtn = css59`
13845
- align-items: center;
13846
- border: none;
13847
- border-radius: var(--rounded-base);
13848
- background: none;
13849
- display: flex;
13850
- padding: var(--spacing-2xs);
13851
- transition: background var(--duration-fast) var(--timing-ease-out),
13852
- color var(--duration-fast) var(--timing-ease-out);
14069
+ // src/components/SegmentedControl/SegmentedControl.styles.ts
14070
+ import { css as css61 } from "@emotion/react";
14071
+ var segmentedControlStyles = css61`
14072
+ --segmented-control-rounded-value: var(--rounded-base);
14073
+ --segmented-control-border-width: 1px;
14074
+ --segmented-control-selected-color: var(--brand-secondary-3);
14075
+ --segmented-control-first-border-radius: var(--segmented-control-rounded-value) 0 0
14076
+ var(--segmented-control-rounded-value);
14077
+ --segmented-control-last-border-radius: 0 var(--segmented-control-rounded-value)
14078
+ var(--segmented-control-rounded-value) 0;
13853
14079
 
13854
- &:hover,
13855
- &[aria-pressed='true']:not(:disabled) {
13856
- background: var(--brand-secondary-3);
13857
- color: var(--white);
14080
+ position: relative;
14081
+ display: flex;
14082
+ justify-content: flex-start;
14083
+ width: fit-content;
14084
+ background-color: var(--gray-300);
14085
+ padding: var(--segmented-control-border-width);
14086
+ gap: var(--segmented-control-border-width);
14087
+ border-radius: calc(var(--segmented-control-rounded-value) + var(--segmented-control-border-width));
14088
+ font-size: var(--fs-xs);
14089
+ `;
14090
+ var segmentedControlVerticalStyles = css61`
14091
+ flex-direction: column;
14092
+ --segmented-control-first-border-radius: var(--segmented-control-rounded-value)
14093
+ var(--segmented-control-rounded-value) 0 0;
14094
+ --segmented-control-last-border-radius: 0 0 var(--segmented-control-rounded-value)
14095
+ var(--segmented-control-rounded-value);
14096
+ `;
14097
+ var segmentedControlItemStyles = css61`
14098
+ &:first-of-type label {
14099
+ border-radius: var(--segmented-control-first-border-radius);
13858
14100
  }
13859
-
13860
- &[aria-disabled='true'] {
13861
- background: none;
13862
- color: currentColor;
14101
+ &:last-of-type label {
14102
+ border-radius: var(--segmented-control-last-border-radius);
13863
14103
  }
13864
14104
  `;
14105
+ var segmentedControlInputStyles = css61`
14106
+ clip: rect(0, 0, 0, 0);
14107
+ position: absolute;
14108
+ width: 1px;
14109
+ height: 1px;
14110
+ overflow: hidden;
14111
+ `;
14112
+ var segmentedControlLabelStyles = css61`
14113
+ position: relative;
14114
+ display: flex;
14115
+ align-items: center;
14116
+ justify-content: center;
14117
+ height: 2rem;
14118
+ padding-inline: var(--spacing-base);
14119
+ background-color: white;
14120
+ transition-property: background-color, color, box-shadow;
14121
+ transition-duration: var(--duration-xfast);
14122
+ transition-timing-function: ease-in-out;
14123
+ z-index: 1;
14124
+ cursor: pointer;
13865
14125
 
13866
- // src/components/ParameterInputs/ConnectToDataElementButton.tsx
13867
- import { jsx as jsx74, jsxs as jsxs49 } from "@emotion/react/jsx-runtime";
13868
- var ConnectToDataElementButton = ({
13869
- icon,
13870
- iconColor,
13871
- children,
13872
- isBound,
13873
- isLocked,
13874
- ...props
13875
- }) => {
14126
+ &:has(:checked:not(:disabled)) {
14127
+ background-color: var(--segmented-control-selected-color);
14128
+ outline: var(--segmented-control-border-width) solid var(--segmented-control-selected-color);
14129
+ box-shadow: 0 0.43em 1.7em 0 rgba(0, 0, 0, 0.15);
14130
+ color: white;
14131
+ -webkit-text-stroke-width: thin;
14132
+ z-index: 0;
14133
+ }
14134
+
14135
+ &:hover:not(:has(:disabled, :checked)) {
14136
+ background-color: var(--gray-100);
14137
+ }
14138
+
14139
+ &:has(:disabled) {
14140
+ color: var(--gray-400);
14141
+ cursor: default;
14142
+ }
14143
+
14144
+ &:has(:checked:disabled) {
14145
+ color: var(--gray-50);
14146
+ background-color: var(--gray-400);
14147
+ }
14148
+ `;
14149
+ var segmentedControlLabelIconOnlyStyles = css61`
14150
+ padding-inline: 0.5em;
14151
+ `;
14152
+ var segmentedControlLabelCheckStyles = css61`
14153
+ opacity: 0.5;
14154
+ `;
14155
+ var segmentedControlLabelContentStyles = css61`
14156
+ display: flex;
14157
+ align-items: center;
14158
+ justify-content: center;
14159
+ gap: var(--spacing-sm);
14160
+ height: 100%;
14161
+ `;
14162
+ var segmentedControlLabelTextStyles = css61``;
14163
+
14164
+ // src/components/SegmentedControl/SegmentedControl.tsx
14165
+ import { jsx as jsx76, jsxs as jsxs50 } from "@emotion/react/jsx-runtime";
14166
+ var SegmentedControl = ({
14167
+ name,
14168
+ options,
14169
+ value,
14170
+ onChange,
14171
+ noCheckmark = false,
14172
+ disabled = false,
14173
+ orientation = "horizontal",
14174
+ size = "md",
14175
+ ...props
14176
+ }) => {
14177
+ const onOptionChange = useCallback3(
14178
+ (event) => {
14179
+ if (event.target.checked) {
14180
+ onChange == null ? void 0 : onChange(options[parseInt(event.target.value)].value);
14181
+ }
14182
+ },
14183
+ [options, onChange]
14184
+ );
14185
+ const sizeStyles = useMemo2(() => {
14186
+ const map = {
14187
+ sm: css62({ height: "calc(24px - 2px)", fontSize: "var(--fs-xs)" }),
14188
+ md: css62({ height: "calc(32px - 2px)", fontSize: "var(--fs-sm)" }),
14189
+ lg: css62({ height: "calc(40px - 2px)", fontSize: "var(--fs-base)" })
14190
+ };
14191
+ return map[size];
14192
+ }, [size]);
14193
+ const isIconOnly = useMemo2(() => {
14194
+ return options.every((option) => option.icon && !option.label);
14195
+ }, [options]);
14196
+ return /* @__PURE__ */ jsx76(
14197
+ "div",
14198
+ {
14199
+ css: [segmentedControlStyles, orientation === "vertical" ? segmentedControlVerticalStyles : void 0],
14200
+ ...props,
14201
+ children: options.map((option, index) => {
14202
+ const text = option.label ? option.label : option.icon ? null : String(option.value);
14203
+ const isDisabled = disabled || option.disabled;
14204
+ return /* @__PURE__ */ jsx76(
14205
+ Tooltip,
14206
+ {
14207
+ title: isDisabled || !option.tooltip ? "" : option.tooltip,
14208
+ children: /* @__PURE__ */ jsx76("div", { css: segmentedControlItemStyles, "data-test-id": "container-segmented-control", children: /* @__PURE__ */ jsxs50(
14209
+ "label",
14210
+ {
14211
+ css: [
14212
+ segmentedControlLabelStyles,
14213
+ sizeStyles,
14214
+ isIconOnly ? segmentedControlLabelIconOnlyStyles : void 0
14215
+ ],
14216
+ children: [
14217
+ /* @__PURE__ */ jsx76(
14218
+ "input",
14219
+ {
14220
+ css: segmentedControlInputStyles,
14221
+ type: "radio",
14222
+ name,
14223
+ value: index,
14224
+ checked: option.value === value,
14225
+ onChange: onOptionChange,
14226
+ disabled: isDisabled
14227
+ }
14228
+ ),
14229
+ option.value !== value || noCheckmark ? null : /* @__PURE__ */ jsx76(CgCheck3, { css: segmentedControlLabelCheckStyles, "aria-label": "Selected", size: "1.5em" }),
14230
+ /* @__PURE__ */ jsxs50("span", { css: segmentedControlLabelContentStyles, children: [
14231
+ !option.icon ? null : /* @__PURE__ */ jsx76(option.icon, { size: "1.5em" }),
14232
+ !text ? null : /* @__PURE__ */ jsx76("span", { css: segmentedControlLabelTextStyles, children: text })
14233
+ ] })
14234
+ ]
14235
+ }
14236
+ ) })
14237
+ },
14238
+ JSON.stringify(option.value)
14239
+ );
14240
+ })
14241
+ }
14242
+ );
14243
+ };
14244
+
14245
+ // src/components/ObjectList/ObjectListItemLoadingSkeleton.tsx
14246
+ import { jsx as jsx77, jsxs as jsxs51 } from "@emotion/react/jsx-runtime";
14247
+ var ObjectListItemLoadingSkeleton = () => {
14248
+ return /* @__PURE__ */ jsxs51("div", { css: [ObjectListItemContainer, ObjectListItemLoading], children: [
14249
+ /* @__PURE__ */ jsxs51("div", { css: [ObjectListItemInlineGroup, ObjectListItemInlineHeadingGroup], children: [
14250
+ /* @__PURE__ */ jsx77("span", { css: ObjectListItemLoadingText("30ch") }),
14251
+ /* @__PURE__ */ jsx77("span", { css: ObjectListItemLoadingText("5ch") })
14252
+ ] }),
14253
+ /* @__PURE__ */ jsxs51("div", { css: ObjectListItemInlineGroup, children: [
14254
+ /* @__PURE__ */ jsx77("span", { css: ObjectListItemLoadingText("10ch") }),
14255
+ /* @__PURE__ */ jsx77("span", { css: ObjectListItemLoadingText("10ch") })
14256
+ ] })
14257
+ ] });
14258
+ };
14259
+
14260
+ // src/components/ObjectList/styles/ObjectListContainer.styles.ts
14261
+ import { css as css63 } from "@emotion/react";
14262
+ var InlineGroup = css63`
14263
+ align-items: center;
14264
+ display: flex;
14265
+ gap: var(--spacing-base);
14266
+ `;
14267
+ var FilterGroup = css63`
14268
+ ${InlineGroup}
14269
+ justify-content: space-between
14270
+ `;
14271
+ var FilterGroupTitle = css63`
14272
+ font-weight: var(--fw-bold);
14273
+ font-size: var(--fs-sm);
14274
+ text-transform: uppercase;
14275
+ `;
14276
+ var GroupLabel = css63`
14277
+ font-size: var(--fs-sm);
14278
+ `;
14279
+
14280
+ // src/components/ObjectList/ObjectListContainer.tsx
14281
+ import { jsx as jsx78, jsxs as jsxs52 } from "@emotion/react/jsx-runtime";
14282
+ var ObjectListContainer = ({
14283
+ title = "Recent Compositions",
14284
+ list,
14285
+ filterOptions,
14286
+ filterValue,
14287
+ isLoading,
14288
+ isDisabled,
14289
+ hideControls,
14290
+ onSetFilterOption,
14291
+ resolveDefaultComponent = (value) => /* @__PURE__ */ jsx78(ObjectCompositionListItem, { ...value }),
14292
+ children,
14293
+ ...props
14294
+ }) => {
14295
+ const [loadingList, setLoadingList] = React18.useState(5);
14296
+ React18.useEffect(() => {
14297
+ if (list.length) {
14298
+ setLoadingList(list.length);
14299
+ }
14300
+ }, [list]);
14301
+ return /* @__PURE__ */ jsxs52(VerticalRhythm, { ...props, children: [
14302
+ /* @__PURE__ */ jsxs52("div", { css: FilterGroup, children: [
14303
+ /* @__PURE__ */ jsx78("span", { css: FilterGroupTitle, role: "headin", children: title }),
14304
+ hideControls ? null : /* @__PURE__ */ jsxs52("div", { css: InlineGroup, children: [
14305
+ /* @__PURE__ */ jsx78("span", { css: GroupLabel, children: "Show" }),
14306
+ /* @__PURE__ */ jsx78(
14307
+ SegmentedControl,
14308
+ {
14309
+ name: "recent-filter-options",
14310
+ options: filterOptions,
14311
+ value: filterValue,
14312
+ onChange: (e) => onSetFilterOption(e),
14313
+ noCheckmark: true,
14314
+ disabled: isDisabled
14315
+ }
14316
+ )
14317
+ ] })
14318
+ ] }),
14319
+ isLoading ? /* @__PURE__ */ jsx78("div", { children: Array.from(Array(loadingList).keys()).map((item) => /* @__PURE__ */ jsx78(ObjectListItemLoadingSkeleton, {}, item)) }) : null,
14320
+ list.length && !isLoading ? /* @__PURE__ */ jsx78("div", { role: "list", children: list == null ? void 0 : list.map((item) => resolveDefaultComponent(item)) }) : null,
14321
+ children
14322
+ ] });
14323
+ };
14324
+
14325
+ // src/components/ObjectList/ObjectPersonalizationListItem.tsx
14326
+ import { forwardRef as forwardRef9 } from "react";
14327
+ import { jsx as jsx79, jsxs as jsxs53 } from "@emotion/react/jsx-runtime";
14328
+ var ObjectPersonalizationListItem = forwardRef9(({ title, date, id, data, linkManagerComponent: LinkManager, as, ...props }, ref) => {
14329
+ return /* @__PURE__ */ jsxs53(
14330
+ LinkManager,
14331
+ {
14332
+ ...props,
14333
+ as,
14334
+ href: props.href,
14335
+ ref,
14336
+ passHref: true,
14337
+ legacyBehavior: true,
14338
+ css: ObjectListItemContainer,
14339
+ role: "listitem",
14340
+ children: [
14341
+ /* @__PURE__ */ jsxs53("div", { css: [ObjectListItemInlineGroup, ObjectListItemInlineHeadingGroup], children: [
14342
+ /* @__PURE__ */ jsx79("span", { role: "heading", css: ObjectListItemTitle, children: title }),
14343
+ /* @__PURE__ */ jsx79("time", { role: "time", dateTime: `${date}`, css: ObjectListItemSmallText, children: formatDate(date) })
14344
+ ] }),
14345
+ /* @__PURE__ */ jsxs53("div", { css: ObjectListItemInlineGroup, children: [
14346
+ /* @__PURE__ */ jsxs53("span", { css: ObjectListKeyText, children: [
14347
+ "ID: ",
14348
+ /* @__PURE__ */ jsx79("span", { css: ObjectListValueText, children: id })
14349
+ ] }),
14350
+ Object.entries(data).map(([key, value], i) => /* @__PURE__ */ jsxs53("span", { css: ObjectListKeyText, children: [
14351
+ key,
14352
+ ": ",
14353
+ /* @__PURE__ */ jsx79("span", { css: ObjectListValueText, children: value })
14354
+ ] }, i))
14355
+ ] })
14356
+ ]
14357
+ }
14358
+ );
14359
+ });
14360
+
14361
+ // src/components/ParameterInputs/styles/ParameterBindingButton.styles.ts
14362
+ import { css as css64 } from "@emotion/react";
14363
+ var inputIconBtn = css64`
14364
+ align-items: center;
14365
+ border: none;
14366
+ border-radius: var(--rounded-base);
14367
+ background: none;
14368
+ display: flex;
14369
+ padding: var(--spacing-2xs);
14370
+ transition: background var(--duration-fast) var(--timing-ease-out),
14371
+ color var(--duration-fast) var(--timing-ease-out);
14372
+
14373
+ &:hover,
14374
+ &[aria-pressed='true']:not(:disabled) {
14375
+ background: var(--brand-secondary-3);
14376
+ color: var(--white);
14377
+ }
14378
+
14379
+ &[aria-disabled='true'] {
14380
+ background: none;
14381
+ color: currentColor;
14382
+ }
14383
+ `;
14384
+
14385
+ // src/components/ParameterInputs/ConnectToDataElementButton.tsx
14386
+ import { jsx as jsx80, jsxs as jsxs54 } from "@emotion/react/jsx-runtime";
14387
+ var ConnectToDataElementButton = ({
14388
+ icon,
14389
+ iconColor,
14390
+ children,
14391
+ isBound,
14392
+ isLocked,
14393
+ ...props
14394
+ }) => {
13876
14395
  const title = isLocked ? "Read-only pattern parameter" : isBound ? "Connected to external content. Click to edit" : "Click to connect to external content";
13877
- return /* @__PURE__ */ jsx74(Tooltip, { title, children: /* @__PURE__ */ jsxs49(
14396
+ return /* @__PURE__ */ jsx80(Tooltip, { title, children: /* @__PURE__ */ jsxs54(
13878
14397
  "button",
13879
14398
  {
13880
14399
  css: inputIconBtn,
@@ -13883,7 +14402,7 @@ var ConnectToDataElementButton = ({
13883
14402
  "aria-disabled": isLocked,
13884
14403
  ...props,
13885
14404
  children: [
13886
- /* @__PURE__ */ jsx74(
14405
+ /* @__PURE__ */ jsx80(
13887
14406
  Icon,
13888
14407
  {
13889
14408
  icon: isLocked ? "lock" : icon ? icon : "arrows-expand-down-right",
@@ -13919,8 +14438,8 @@ var useParameterShell = () => {
13919
14438
  };
13920
14439
 
13921
14440
  // src/components/ParameterInputs/styles/ParameterInput.styles.ts
13922
- import { css as css60 } from "@emotion/react";
13923
- var inputContainer2 = css60`
14441
+ import { css as css65 } from "@emotion/react";
14442
+ var inputContainer2 = css65`
13924
14443
  position: relative;
13925
14444
 
13926
14445
  &:hover,
@@ -13932,14 +14451,14 @@ var inputContainer2 = css60`
13932
14451
  }
13933
14452
  }
13934
14453
  `;
13935
- var labelText2 = css60`
14454
+ var labelText2 = css65`
13936
14455
  align-items: center;
13937
14456
  display: flex;
13938
14457
  gap: var(--spacing-xs);
13939
14458
  font-weight: var(--fw-regular);
13940
14459
  margin: 0 0 var(--spacing-xs);
13941
14460
  `;
13942
- var input2 = css60`
14461
+ var input2 = css65`
13943
14462
  display: block;
13944
14463
  appearance: none;
13945
14464
  box-sizing: border-box;
@@ -13983,18 +14502,18 @@ var input2 = css60`
13983
14502
  color: var(--gray-400);
13984
14503
  }
13985
14504
  `;
13986
- var selectInput = css60`
14505
+ var selectInput = css65`
13987
14506
  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");
13988
14507
  background-position: right var(--spacing-sm) center;
13989
14508
  background-repeat: no-repeat;
13990
14509
  background-size: 1rem;
13991
14510
  padding-right: var(--spacing-xl);
13992
14511
  `;
13993
- var inputWrapper = css60`
14512
+ var inputWrapper = css65`
13994
14513
  display: flex; // used to correct overflow with chrome textarea
13995
14514
  position: relative;
13996
14515
  `;
13997
- var inputIcon2 = css60`
14516
+ var inputIcon2 = css65`
13998
14517
  align-items: center;
13999
14518
  background: var(--white);
14000
14519
  border-radius: var(--rounded-md) 0 0 var(--rounded-md);
@@ -14010,7 +14529,7 @@ var inputIcon2 = css60`
14010
14529
  width: var(--spacing-lg);
14011
14530
  z-index: var(--z-10);
14012
14531
  `;
14013
- var inputToggleLabel2 = css60`
14532
+ var inputToggleLabel2 = css65`
14014
14533
  align-items: center;
14015
14534
  background: var(--white);
14016
14535
  cursor: pointer;
@@ -14021,7 +14540,7 @@ var inputToggleLabel2 = css60`
14021
14540
  min-height: var(--spacing-md);
14022
14541
  position: relative;
14023
14542
  `;
14024
- var toggleInput2 = css60`
14543
+ var toggleInput2 = css65`
14025
14544
  appearance: none;
14026
14545
  border: 1px solid var(--gray-300);
14027
14546
  background: var(--white);
@@ -14060,7 +14579,7 @@ var toggleInput2 = css60`
14060
14579
  border-color: var(--gray-300);
14061
14580
  }
14062
14581
  `;
14063
- var inlineLabel2 = css60`
14582
+ var inlineLabel2 = css65`
14064
14583
  padding-left: var(--spacing-lg);
14065
14584
  font-size: var(--fs-sm);
14066
14585
  font-weight: var(--fw-regular);
@@ -14076,7 +14595,7 @@ var inlineLabel2 = css60`
14076
14595
  }
14077
14596
  }
14078
14597
  `;
14079
- var inputMenu = css60`
14598
+ var inputMenu = css65`
14080
14599
  background: none;
14081
14600
  border: none;
14082
14601
  padding: var(--spacing-2xs);
@@ -14092,14 +14611,14 @@ var inputMenu = css60`
14092
14611
  background-color: var(--gray-200);
14093
14612
  }
14094
14613
  `;
14095
- var textarea2 = css60`
14614
+ var textarea2 = css65`
14096
14615
  resize: vertical;
14097
14616
  min-height: 2rem;
14098
14617
  `;
14099
- var imageWrapper = css60`
14618
+ var imageWrapper = css65`
14100
14619
  background: var(--white);
14101
14620
  `;
14102
- var img = css60`
14621
+ var img = css65`
14103
14622
  animation: ${fadeIn} var(--duration-fast) var(--timing-ease-out) forwards;
14104
14623
  object-fit: contain;
14105
14624
  max-width: 100%;
@@ -14107,7 +14626,7 @@ var img = css60`
14107
14626
  opacity: var(--opacity-0);
14108
14627
  margin: var(--spacing-sm) auto 0;
14109
14628
  `;
14110
- var dataConnectButton = css60`
14629
+ var dataConnectButton = css65`
14111
14630
  align-items: center;
14112
14631
  appearance: none;
14113
14632
  box-sizing: border-box;
@@ -14142,7 +14661,7 @@ var dataConnectButton = css60`
14142
14661
  pointer-events: none;
14143
14662
  }
14144
14663
  `;
14145
- var linkParameterBtn = css60`
14664
+ var linkParameterBtn = css65`
14146
14665
  border-radius: var(--rounded-base);
14147
14666
  background: var(--white);
14148
14667
  border: none;
@@ -14151,7 +14670,7 @@ var linkParameterBtn = css60`
14151
14670
  font-size: var(--fs-sm);
14152
14671
  line-height: 1;
14153
14672
  `;
14154
- var linkParameterControls = css60`
14673
+ var linkParameterControls = css65`
14155
14674
  position: absolute;
14156
14675
  inset: 0 0 0 auto;
14157
14676
  padding: 0 var(--spacing-base);
@@ -14160,12 +14679,12 @@ var linkParameterControls = css60`
14160
14679
  justify-content: center;
14161
14680
  gap: var(--spacing-base);
14162
14681
  `;
14163
- var linkParameterInput = (withExternalLinkIcon) => css60`
14682
+ var linkParameterInput = (withExternalLinkIcon) => css65`
14164
14683
  padding-right: calc(
14165
14684
  ${withExternalLinkIcon ? "var(--spacing-2xl)" : "var(--spacing-xl)"} + var(--spacing-base)
14166
14685
  );
14167
14686
  `;
14168
- var linkParameterIcon = css60`
14687
+ var linkParameterIcon = css65`
14169
14688
  align-items: center;
14170
14689
  color: var(--brand-secondary-3);
14171
14690
  display: flex;
@@ -14180,7 +14699,7 @@ var linkParameterIcon = css60`
14180
14699
  `;
14181
14700
 
14182
14701
  // src/components/ParameterInputs/ParameterDataResource.tsx
14183
- import { jsx as jsx75, jsxs as jsxs50 } from "@emotion/react/jsx-runtime";
14702
+ import { jsx as jsx81, jsxs as jsxs55 } from "@emotion/react/jsx-runtime";
14184
14703
  function ParameterDataResource({
14185
14704
  label,
14186
14705
  labelLeadingIcon,
@@ -14190,12 +14709,12 @@ function ParameterDataResource({
14190
14709
  disabled,
14191
14710
  children
14192
14711
  }) {
14193
- return /* @__PURE__ */ jsxs50("div", { "data-testid": "parameter-data-connect-button", children: [
14194
- /* @__PURE__ */ jsxs50("span", { css: labelText2, children: [
14712
+ return /* @__PURE__ */ jsxs55("div", { "data-testid": "parameter-data-connect-button", children: [
14713
+ /* @__PURE__ */ jsxs55("span", { css: labelText2, children: [
14195
14714
  labelLeadingIcon ? labelLeadingIcon : null,
14196
14715
  label
14197
14716
  ] }),
14198
- /* @__PURE__ */ jsxs50(
14717
+ /* @__PURE__ */ jsxs55(
14199
14718
  "button",
14200
14719
  {
14201
14720
  type: "button",
@@ -14204,30 +14723,30 @@ function ParameterDataResource({
14204
14723
  disabled,
14205
14724
  onClick: onConnectDatasource,
14206
14725
  children: [
14207
- /* @__PURE__ */ jsx75("span", { className: "advance-input-icon", css: [inputIcon2], children: /* @__PURE__ */ jsx75(Icon, { icon: "stack", iconColor: "currentColor", size: "1rem" }) }),
14726
+ /* @__PURE__ */ jsx81("span", { className: "advance-input-icon", css: [inputIcon2], children: /* @__PURE__ */ jsx81(Icon, { icon: "stack", iconColor: "currentColor", size: "1rem" }) }),
14208
14727
  children
14209
14728
  ]
14210
14729
  }
14211
14730
  ),
14212
- caption ? /* @__PURE__ */ jsx75(Caption, { children: caption }) : null
14731
+ caption ? /* @__PURE__ */ jsx81(Caption, { children: caption }) : null
14213
14732
  ] });
14214
14733
  }
14215
14734
 
14216
14735
  // src/components/ParameterInputs/styles/ParameterDrawerHeader.styles.ts
14217
- import { css as css61 } from "@emotion/react";
14218
- var ParameterDrawerHeaderContainer = css61`
14736
+ import { css as css66 } from "@emotion/react";
14737
+ var ParameterDrawerHeaderContainer = css66`
14219
14738
  align-items: center;
14220
14739
  display: flex;
14221
14740
  gap: var(--spacing-base);
14222
14741
  justify-content: space-between;
14223
14742
  margin-bottom: var(--spacing-sm);
14224
14743
  `;
14225
- var ParameterDrawerHeaderTitleGroup = css61`
14744
+ var ParameterDrawerHeaderTitleGroup = css66`
14226
14745
  align-items: center;
14227
14746
  display: flex;
14228
14747
  gap: var(--spacing-sm);
14229
14748
  `;
14230
- var ParameterDrawerHeaderTitle = css61`
14749
+ var ParameterDrawerHeaderTitle = css66`
14231
14750
  text-overflow: ellipsis;
14232
14751
  white-space: nowrap;
14233
14752
  overflow: hidden;
@@ -14235,23 +14754,23 @@ var ParameterDrawerHeaderTitle = css61`
14235
14754
  `;
14236
14755
 
14237
14756
  // src/components/ParameterInputs/ParameterDrawerHeader.tsx
14238
- import { jsx as jsx76, jsxs as jsxs51 } from "@emotion/react/jsx-runtime";
14757
+ import { jsx as jsx82, jsxs as jsxs56 } from "@emotion/react/jsx-runtime";
14239
14758
  var ParameterDrawerHeader = ({ title, iconBeforeTitle, children }) => {
14240
- return /* @__PURE__ */ jsxs51("div", { css: ParameterDrawerHeaderContainer, children: [
14241
- /* @__PURE__ */ jsxs51("header", { css: ParameterDrawerHeaderTitleGroup, children: [
14759
+ return /* @__PURE__ */ jsxs56("div", { css: ParameterDrawerHeaderContainer, children: [
14760
+ /* @__PURE__ */ jsxs56("header", { css: ParameterDrawerHeaderTitleGroup, children: [
14242
14761
  iconBeforeTitle,
14243
- /* @__PURE__ */ jsx76(Heading, { level: 3, withMarginBottom: false, css: ParameterDrawerHeaderTitle, title, children: title })
14762
+ /* @__PURE__ */ jsx82(Heading, { level: 3, withMarginBottom: false, css: ParameterDrawerHeaderTitle, title, children: title })
14244
14763
  ] }),
14245
14764
  children
14246
14765
  ] });
14247
14766
  };
14248
14767
 
14249
14768
  // src/components/ParameterInputs/ParameterGroup.tsx
14250
- import { forwardRef as forwardRef7 } from "react";
14769
+ import { forwardRef as forwardRef10 } from "react";
14251
14770
 
14252
14771
  // src/components/ParameterInputs/styles/ParameterGroup.styles.ts
14253
- import { css as css62 } from "@emotion/react";
14254
- var fieldsetStyles = css62`
14772
+ import { css as css67 } from "@emotion/react";
14773
+ var fieldsetStyles = css67`
14255
14774
  &:disabled,
14256
14775
  [readonly] {
14257
14776
  pointer-events: none;
@@ -14262,7 +14781,7 @@ var fieldsetStyles = css62`
14262
14781
  }
14263
14782
  }
14264
14783
  `;
14265
- var fieldsetLegend2 = css62`
14784
+ var fieldsetLegend2 = css67`
14266
14785
  display: block;
14267
14786
  font-weight: var(--fw-medium);
14268
14787
  margin-bottom: var(--spacing-sm);
@@ -14270,38 +14789,38 @@ var fieldsetLegend2 = css62`
14270
14789
  `;
14271
14790
 
14272
14791
  // src/components/ParameterInputs/ParameterGroup.tsx
14273
- import { jsx as jsx77, jsxs as jsxs52 } from "@emotion/react/jsx-runtime";
14274
- var ParameterGroup = forwardRef7(
14792
+ import { jsx as jsx83, jsxs as jsxs57 } from "@emotion/react/jsx-runtime";
14793
+ var ParameterGroup = forwardRef10(
14275
14794
  ({ legend, isDisabled, children, ...props }, ref) => {
14276
- return /* @__PURE__ */ jsxs52("fieldset", { css: fieldsetStyles, disabled: isDisabled, ref, ...props, children: [
14277
- /* @__PURE__ */ jsx77("legend", { css: fieldsetLegend2, children: legend }),
14795
+ return /* @__PURE__ */ jsxs57("fieldset", { css: fieldsetStyles, disabled: isDisabled, ref, ...props, children: [
14796
+ /* @__PURE__ */ jsx83("legend", { css: fieldsetLegend2, children: legend }),
14278
14797
  children
14279
14798
  ] });
14280
14799
  }
14281
14800
  );
14282
14801
 
14283
14802
  // src/components/ParameterInputs/ParameterImage.tsx
14284
- import { forwardRef as forwardRef9, useCallback as useCallback3, useDeferredValue, useEffect as useEffect9, useState as useState8 } from "react";
14803
+ import { forwardRef as forwardRef12, useCallback as useCallback4, useDeferredValue, useEffect as useEffect10, useState as useState9 } from "react";
14285
14804
 
14286
14805
  // src/components/ParameterInputs/ParameterShell.tsx
14287
- import { useState as useState7 } from "react";
14806
+ import { useState as useState8 } from "react";
14288
14807
 
14289
14808
  // src/components/ParameterInputs/ParameterLabel.tsx
14290
- import { jsx as jsx78 } from "@emotion/react/jsx-runtime";
14809
+ import { jsx as jsx84 } from "@emotion/react/jsx-runtime";
14291
14810
  var ParameterLabel = ({ id, asSpan, children, ...props }) => {
14292
- return !asSpan ? /* @__PURE__ */ jsx78("label", { ...props, htmlFor: id, css: labelText2, children }) : /* @__PURE__ */ jsx78("span", { "aria-labelledby": id, css: labelText2, children });
14811
+ return !asSpan ? /* @__PURE__ */ jsx84("label", { ...props, htmlFor: id, css: labelText2, children }) : /* @__PURE__ */ jsx84("span", { "aria-labelledby": id, css: labelText2, children });
14293
14812
  };
14294
14813
 
14295
14814
  // src/components/ParameterInputs/ParameterMenuButton.tsx
14296
- import { forwardRef as forwardRef8 } from "react";
14297
- import { jsx as jsx79 } from "@emotion/react/jsx-runtime";
14298
- var ParameterMenuButton = forwardRef8(
14815
+ import { forwardRef as forwardRef11 } from "react";
14816
+ import { jsx as jsx85 } from "@emotion/react/jsx-runtime";
14817
+ var ParameterMenuButton = forwardRef11(
14299
14818
  ({ label, children }, ref) => {
14300
- return /* @__PURE__ */ jsx79(
14819
+ return /* @__PURE__ */ jsx85(
14301
14820
  Menu,
14302
14821
  {
14303
14822
  menuLabel: `${label} menu`,
14304
- menuTrigger: /* @__PURE__ */ jsx79(
14823
+ menuTrigger: /* @__PURE__ */ jsx85(
14305
14824
  "button",
14306
14825
  {
14307
14826
  className: "parameter-menu",
@@ -14309,7 +14828,7 @@ var ParameterMenuButton = forwardRef8(
14309
14828
  type: "button",
14310
14829
  "aria-label": `${label} options`,
14311
14830
  ref,
14312
- children: /* @__PURE__ */ jsx79(Icon, { icon: "more-alt", iconColor: "currentColor", size: "0.9rem" })
14831
+ children: /* @__PURE__ */ jsx85(Icon, { icon: "more-alt", iconColor: "currentColor", size: "0.9rem" })
14313
14832
  }
14314
14833
  ),
14315
14834
  children
@@ -14319,15 +14838,15 @@ var ParameterMenuButton = forwardRef8(
14319
14838
  );
14320
14839
 
14321
14840
  // src/components/ParameterInputs/styles/ParameterShell.styles.ts
14322
- import { css as css63 } from "@emotion/react";
14323
- var emptyParameterShell = css63`
14841
+ import { css as css68 } from "@emotion/react";
14842
+ var emptyParameterShell = css68`
14324
14843
  border-radius: var(--rounded-sm);
14325
14844
  background: var(--white);
14326
14845
  flex-grow: 1;
14327
14846
  padding: var(--spacing-xs);
14328
14847
  position: relative;
14329
14848
  `;
14330
- var emptyParameterShellText = css63`
14849
+ var emptyParameterShellText = css68`
14331
14850
  background: var(--brand-secondary-6);
14332
14851
  border-radius: var(--rounded-sm);
14333
14852
  padding: var(--spacing-sm);
@@ -14335,7 +14854,7 @@ var emptyParameterShellText = css63`
14335
14854
  font-size: var(--fs-sm);
14336
14855
  margin: 0;
14337
14856
  `;
14338
- var overrideMarker = css63`
14857
+ var overrideMarker = css68`
14339
14858
  border-radius: var(--rounded-sm);
14340
14859
  border: 10px solid var(--gray-300);
14341
14860
  border-left-color: transparent;
@@ -14346,7 +14865,7 @@ var overrideMarker = css63`
14346
14865
  `;
14347
14866
 
14348
14867
  // src/components/ParameterInputs/ParameterShell.tsx
14349
- import { jsx as jsx80, jsxs as jsxs53 } from "@emotion/react/jsx-runtime";
14868
+ import { jsx as jsx86, jsxs as jsxs58 } from "@emotion/react/jsx-runtime";
14350
14869
  var extractParameterProps = (props) => {
14351
14870
  const {
14352
14871
  id,
@@ -14405,21 +14924,21 @@ var ParameterShell = ({
14405
14924
  children,
14406
14925
  ...props
14407
14926
  }) => {
14408
- const [manualErrorMessage, setManualErrorMessage] = useState7(void 0);
14927
+ const [manualErrorMessage, setManualErrorMessage] = useState8(void 0);
14409
14928
  const setErrorMessage = (message) => setManualErrorMessage(message);
14410
14929
  const errorMessaging = errorMessage || manualErrorMessage;
14411
- return /* @__PURE__ */ jsxs53("div", { css: inputContainer2, ...props, children: [
14412
- hiddenLabel || title ? null : /* @__PURE__ */ jsxs53(ParameterLabel, { id, css: labelText2, children: [
14930
+ return /* @__PURE__ */ jsxs58("div", { css: inputContainer2, ...props, children: [
14931
+ hiddenLabel || title ? null : /* @__PURE__ */ jsxs58(ParameterLabel, { id, css: labelText2, children: [
14413
14932
  labelLeadingIcon ? labelLeadingIcon : null,
14414
14933
  label
14415
14934
  ] }),
14416
- !title ? null : /* @__PURE__ */ jsxs53(ParameterLabel, { id, asSpan: true, children: [
14935
+ !title ? null : /* @__PURE__ */ jsxs58(ParameterLabel, { id, asSpan: true, children: [
14417
14936
  labelLeadingIcon ? labelLeadingIcon : null,
14418
14937
  title
14419
14938
  ] }),
14420
- /* @__PURE__ */ jsxs53("div", { css: inputWrapper, children: [
14421
- menuItems ? /* @__PURE__ */ jsx80(ParameterMenuButton, { label: `${label} menu`, children: menuItems }) : null,
14422
- /* @__PURE__ */ jsx80(
14939
+ /* @__PURE__ */ jsxs58("div", { css: inputWrapper, children: [
14940
+ menuItems ? /* @__PURE__ */ jsx86(ParameterMenuButton, { label: `${label} menu`, children: menuItems }) : null,
14941
+ /* @__PURE__ */ jsx86(
14423
14942
  ParameterShellContext.Provider,
14424
14943
  {
14425
14944
  value: {
@@ -14429,32 +14948,32 @@ var ParameterShell = ({
14429
14948
  errorMessage: errorMessaging,
14430
14949
  onManuallySetErrorMessage: (message) => setErrorMessage(message)
14431
14950
  },
14432
- children: /* @__PURE__ */ jsxs53(ParameterShellPlaceholder, { children: [
14951
+ children: /* @__PURE__ */ jsxs58(ParameterShellPlaceholder, { children: [
14433
14952
  children,
14434
- hasOverriddenValue && onResetOverriddenValue ? /* @__PURE__ */ jsx80(ParameterOverrideMarker, { onClick: onResetOverriddenValue }) : null
14953
+ hasOverriddenValue && onResetOverriddenValue ? /* @__PURE__ */ jsx86(ParameterOverrideMarker, { onClick: onResetOverriddenValue }) : null
14435
14954
  ] })
14436
14955
  }
14437
14956
  )
14438
14957
  ] }),
14439
- caption ? /* @__PURE__ */ jsx80(Caption, { testId: captionTestId, children: caption }) : null,
14440
- errorMessaging ? /* @__PURE__ */ jsx80(ErrorMessage, { message: errorMessaging, testId: errorTestId }) : null,
14441
- warningMessage ? /* @__PURE__ */ jsx80(WarningMessage, { message: warningMessage }) : null,
14442
- infoMessage ? /* @__PURE__ */ jsx80(InfoMessage, { message: infoMessage }) : null
14958
+ caption ? /* @__PURE__ */ jsx86(Caption, { testId: captionTestId, children: caption }) : null,
14959
+ errorMessaging ? /* @__PURE__ */ jsx86(ErrorMessage, { message: errorMessaging, testId: errorTestId }) : null,
14960
+ warningMessage ? /* @__PURE__ */ jsx86(WarningMessage, { message: warningMessage }) : null,
14961
+ infoMessage ? /* @__PURE__ */ jsx86(InfoMessage, { message: infoMessage }) : null
14443
14962
  ] });
14444
14963
  };
14445
14964
  var ParameterShellPlaceholder = ({ children }) => {
14446
- return /* @__PURE__ */ jsx80("div", { css: emptyParameterShell, children });
14965
+ return /* @__PURE__ */ jsx86("div", { css: emptyParameterShell, children });
14447
14966
  };
14448
- var ParameterOverrideMarker = (props) => /* @__PURE__ */ jsx80(Tooltip, { title: "The default value has been overridden", children: /* @__PURE__ */ jsx80("button", { type: "button", css: overrideMarker, ...props, children: /* @__PURE__ */ jsx80("span", { hidden: true, children: "reset overridden value to default" }) }) });
14967
+ var ParameterOverrideMarker = (props) => /* @__PURE__ */ jsx86(Tooltip, { title: "The default value has been overridden", children: /* @__PURE__ */ jsx86("button", { type: "button", css: overrideMarker, ...props, children: /* @__PURE__ */ jsx86("span", { hidden: true, children: "reset overridden value to default" }) }) });
14449
14968
 
14450
14969
  // src/components/ParameterInputs/ParameterImage.tsx
14451
- import { Fragment as Fragment10, jsx as jsx81, jsxs as jsxs54 } from "@emotion/react/jsx-runtime";
14452
- var ParameterImage = forwardRef9((props, ref) => {
14970
+ import { Fragment as Fragment10, jsx as jsx87, jsxs as jsxs59 } from "@emotion/react/jsx-runtime";
14971
+ var ParameterImage = forwardRef12((props, ref) => {
14453
14972
  const { shellProps, innerProps } = extractParameterProps(props);
14454
- return /* @__PURE__ */ jsx81(ParameterShell, { "data-test-id": "parameter-image", ...shellProps, children: /* @__PURE__ */ jsx81(ParameterImageInner, { ref, ...innerProps }) });
14973
+ return /* @__PURE__ */ jsx87(ParameterShell, { "data-test-id": "parameter-image", ...shellProps, children: /* @__PURE__ */ jsx87(ParameterImageInner, { ref, ...innerProps }) });
14455
14974
  });
14456
14975
  var BrokenImage = ({ ...props }) => {
14457
- return /* @__PURE__ */ jsxs54(
14976
+ return /* @__PURE__ */ jsxs59(
14458
14977
  "svg",
14459
14978
  {
14460
14979
  width: "214",
@@ -14465,11 +14984,11 @@ var BrokenImage = ({ ...props }) => {
14465
14984
  xmlnsXlink: "http://www.w3.org/1999/xlink",
14466
14985
  ...props,
14467
14986
  children: [
14468
- /* @__PURE__ */ jsx81("rect", { width: "214", height: "214", fill: "#F9FAFB" }),
14469
- /* @__PURE__ */ jsx81("rect", { width: "214", height: "214", fill: "url(#pattern0)" }),
14470
- /* @__PURE__ */ jsxs54("defs", { children: [
14471
- /* @__PURE__ */ jsx81("pattern", { id: "pattern0", patternContentUnits: "objectBoundingBox", width: "1", height: "1", children: /* @__PURE__ */ jsx81("use", { xlinkHref: "#image0_761_4353", transform: "scale(0.0025)" }) }),
14472
- /* @__PURE__ */ jsx81(
14987
+ /* @__PURE__ */ jsx87("rect", { width: "214", height: "214", fill: "#F9FAFB" }),
14988
+ /* @__PURE__ */ jsx87("rect", { width: "214", height: "214", fill: "url(#pattern0)" }),
14989
+ /* @__PURE__ */ jsxs59("defs", { children: [
14990
+ /* @__PURE__ */ jsx87("pattern", { id: "pattern0", patternContentUnits: "objectBoundingBox", width: "1", height: "1", children: /* @__PURE__ */ jsx87("use", { xlinkHref: "#image0_761_4353", transform: "scale(0.0025)" }) }),
14991
+ /* @__PURE__ */ jsx87(
14473
14992
  "image",
14474
14993
  {
14475
14994
  id: "image0_761_4353",
@@ -14483,14 +15002,14 @@ var BrokenImage = ({ ...props }) => {
14483
15002
  }
14484
15003
  );
14485
15004
  };
14486
- var ParameterImageInner = forwardRef9(
15005
+ var ParameterImageInner = forwardRef12(
14487
15006
  ({ ...props }, ref) => {
14488
15007
  const { value } = props;
14489
15008
  const { id, label, hiddenLabel, errorMessage, onManuallySetErrorMessage } = useParameterShell();
14490
- const [loading, setLoading] = useState8(false);
15009
+ const [loading, setLoading] = useState9(false);
14491
15010
  const deferredValue = useDeferredValue(value);
14492
15011
  const errorText = "The text you provided is not a valid URL";
14493
- const updateImageSrc = useCallback3(() => {
15012
+ const updateImageSrc = useCallback4(() => {
14494
15013
  let message = void 0;
14495
15014
  try {
14496
15015
  if (value !== "") {
@@ -14518,11 +15037,11 @@ var ParameterImageInner = forwardRef9(
14518
15037
  onManuallySetErrorMessage(errorText);
14519
15038
  }
14520
15039
  };
14521
- useEffect9(() => {
15040
+ useEffect10(() => {
14522
15041
  updateImageSrc();
14523
15042
  }, [value]);
14524
- return /* @__PURE__ */ jsxs54(Fragment10, { children: [
14525
- /* @__PURE__ */ jsx81(
15043
+ return /* @__PURE__ */ jsxs59(Fragment10, { children: [
15044
+ /* @__PURE__ */ jsx87(
14526
15045
  "input",
14527
15046
  {
14528
15047
  css: input2,
@@ -14534,8 +15053,8 @@ var ParameterImageInner = forwardRef9(
14534
15053
  ...props
14535
15054
  }
14536
15055
  ),
14537
- /* @__PURE__ */ jsxs54("div", { css: imageWrapper, children: [
14538
- deferredValue && !errorMessage ? /* @__PURE__ */ jsx81(
15056
+ /* @__PURE__ */ jsxs59("div", { css: imageWrapper, children: [
15057
+ deferredValue && !errorMessage ? /* @__PURE__ */ jsx87(
14539
15058
  "img",
14540
15059
  {
14541
15060
  src: deferredValue,
@@ -14545,24 +15064,24 @@ var ParameterImageInner = forwardRef9(
14545
15064
  loading: "lazy"
14546
15065
  }
14547
15066
  ) : null,
14548
- deferredValue && errorMessage ? /* @__PURE__ */ jsx81(BrokenImage, { css: img }) : null
15067
+ deferredValue && errorMessage ? /* @__PURE__ */ jsx87(BrokenImage, { css: img }) : null
14549
15068
  ] }),
14550
- loading ? /* @__PURE__ */ jsx81(LoadingIcon, {}) : null
15069
+ loading ? /* @__PURE__ */ jsx87(LoadingIcon, {}) : null
14551
15070
  ] });
14552
15071
  }
14553
15072
  );
14554
15073
 
14555
15074
  // src/components/ParameterInputs/ParameterInput.tsx
14556
- import { forwardRef as forwardRef10 } from "react";
14557
- import { jsx as jsx82 } from "@emotion/react/jsx-runtime";
14558
- var ParameterInput = forwardRef10((props, ref) => {
15075
+ import { forwardRef as forwardRef13 } from "react";
15076
+ import { jsx as jsx88 } from "@emotion/react/jsx-runtime";
15077
+ var ParameterInput = forwardRef13((props, ref) => {
14559
15078
  const { shellProps, innerProps } = extractParameterProps(props);
14560
- return /* @__PURE__ */ jsx82(ParameterShell, { "data-test-id": "parameter-input", ...shellProps, children: /* @__PURE__ */ jsx82(ParameterInputInner, { ref, ...innerProps }) });
15079
+ return /* @__PURE__ */ jsx88(ParameterShell, { "data-test-id": "parameter-input", ...shellProps, children: /* @__PURE__ */ jsx88(ParameterInputInner, { ref, ...innerProps }) });
14561
15080
  });
14562
- var ParameterInputInner = forwardRef10(
15081
+ var ParameterInputInner = forwardRef13(
14563
15082
  ({ ...props }, ref) => {
14564
15083
  const { id, label, hiddenLabel } = useParameterShell();
14565
- return /* @__PURE__ */ jsx82(
15084
+ return /* @__PURE__ */ jsx88(
14566
15085
  "input",
14567
15086
  {
14568
15087
  css: input2,
@@ -14578,19 +15097,19 @@ var ParameterInputInner = forwardRef10(
14578
15097
  );
14579
15098
 
14580
15099
  // src/components/ParameterInputs/ParameterLink.tsx
14581
- import { forwardRef as forwardRef11 } from "react";
14582
- import { jsx as jsx83, jsxs as jsxs55 } from "@emotion/react/jsx-runtime";
14583
- var ParameterLink = forwardRef11(
15100
+ import { forwardRef as forwardRef14 } from "react";
15101
+ import { jsx as jsx89, jsxs as jsxs60 } from "@emotion/react/jsx-runtime";
15102
+ var ParameterLink = forwardRef14(
14584
15103
  ({ buttonText = "Select link", disabled, onConnectLink, externalLink, ...props }, ref) => {
14585
15104
  const { shellProps, innerProps } = extractParameterProps(props);
14586
- return /* @__PURE__ */ jsx83(
15105
+ return /* @__PURE__ */ jsx89(
14587
15106
  ParameterShell,
14588
15107
  {
14589
15108
  "data-test-id": "link-parameter-editor",
14590
15109
  ...shellProps,
14591
15110
  label: innerProps.value ? shellProps.label : "",
14592
15111
  title: !innerProps.value ? shellProps.label : void 0,
14593
- children: !innerProps.value ? /* @__PURE__ */ jsx83("button", { type: "button", css: dataConnectButton, disabled, onClick: onConnectLink, children: buttonText }) : /* @__PURE__ */ jsx83(
15112
+ children: !innerProps.value ? /* @__PURE__ */ jsx89("button", { type: "button", css: dataConnectButton, disabled, onClick: onConnectLink, children: buttonText }) : /* @__PURE__ */ jsx89(
14594
15113
  ParameterLinkInner,
14595
15114
  {
14596
15115
  onConnectLink,
@@ -14603,11 +15122,11 @@ var ParameterLink = forwardRef11(
14603
15122
  );
14604
15123
  }
14605
15124
  );
14606
- var ParameterLinkInner = forwardRef11(
15125
+ var ParameterLinkInner = forwardRef14(
14607
15126
  ({ externalLink, onConnectLink, disabled, ...props }, ref) => {
14608
15127
  const { id, label, hiddenLabel } = useParameterShell();
14609
- return /* @__PURE__ */ jsxs55("div", { css: inputWrapper, children: [
14610
- /* @__PURE__ */ jsx83(
15128
+ return /* @__PURE__ */ jsxs60("div", { css: inputWrapper, children: [
15129
+ /* @__PURE__ */ jsx89(
14611
15130
  "input",
14612
15131
  {
14613
15132
  type: "text",
@@ -14619,8 +15138,8 @@ var ParameterLinkInner = forwardRef11(
14619
15138
  ...props
14620
15139
  }
14621
15140
  ),
14622
- /* @__PURE__ */ jsxs55("div", { css: linkParameterControls, children: [
14623
- /* @__PURE__ */ jsx83(
15141
+ /* @__PURE__ */ jsxs60("div", { css: linkParameterControls, children: [
15142
+ /* @__PURE__ */ jsx89(
14624
15143
  "button",
14625
15144
  {
14626
15145
  type: "button",
@@ -14631,7 +15150,7 @@ var ParameterLinkInner = forwardRef11(
14631
15150
  children: "edit"
14632
15151
  }
14633
15152
  ),
14634
- externalLink ? /* @__PURE__ */ jsx83(
15153
+ externalLink ? /* @__PURE__ */ jsx89(
14635
15154
  "a",
14636
15155
  {
14637
15156
  href: externalLink,
@@ -14639,7 +15158,7 @@ var ParameterLinkInner = forwardRef11(
14639
15158
  title: "Open link in new tab",
14640
15159
  target: "_blank",
14641
15160
  rel: "noopener noreferrer",
14642
- children: /* @__PURE__ */ jsx83(Icon, { icon: "arrows-expand-up-right", iconColor: "currentColor", size: "1rem" })
15161
+ children: /* @__PURE__ */ jsx89(Icon, { icon: "arrows-expand-up-right", iconColor: "currentColor", size: "1rem" })
14643
15162
  }
14644
15163
  ) : null
14645
15164
  ] })
@@ -14648,7 +15167,7 @@ var ParameterLinkInner = forwardRef11(
14648
15167
  );
14649
15168
 
14650
15169
  // src/components/ParameterInputs/ParameterNameAndPublicIdInput.tsx
14651
- import { Fragment as Fragment11, jsx as jsx84, jsxs as jsxs56 } from "@emotion/react/jsx-runtime";
15170
+ import { Fragment as Fragment11, jsx as jsx90, jsxs as jsxs61 } from "@emotion/react/jsx-runtime";
14652
15171
  var ParameterNameAndPublicIdInput = ({
14653
15172
  id,
14654
15173
  onBlur,
@@ -14674,8 +15193,8 @@ var ParameterNameAndPublicIdInput = ({
14674
15193
  navigator.clipboard.writeText(values[publicIdFieldName]);
14675
15194
  };
14676
15195
  autoFocus == null ? void 0 : autoFocus();
14677
- return /* @__PURE__ */ jsxs56(Fragment11, { children: [
14678
- /* @__PURE__ */ jsx84(
15196
+ return /* @__PURE__ */ jsxs61(Fragment11, { children: [
15197
+ /* @__PURE__ */ jsx90(
14679
15198
  ParameterInput,
14680
15199
  {
14681
15200
  id: nameIdField,
@@ -14694,7 +15213,7 @@ var ParameterNameAndPublicIdInput = ({
14694
15213
  value: values[nameIdField]
14695
15214
  }
14696
15215
  ),
14697
- /* @__PURE__ */ jsx84(
15216
+ /* @__PURE__ */ jsx90(
14698
15217
  ParameterInput,
14699
15218
  {
14700
15219
  id: publicIdFieldName,
@@ -14708,11 +15227,11 @@ var ParameterNameAndPublicIdInput = ({
14708
15227
  caption: publicIdCaption,
14709
15228
  placeholder: publicIdPlaceholderText,
14710
15229
  errorMessage: publicIdError,
14711
- menuItems: /* @__PURE__ */ jsx84(
15230
+ menuItems: /* @__PURE__ */ jsx90(
14712
15231
  MenuItem,
14713
15232
  {
14714
15233
  disabled: !values[publicIdFieldName],
14715
- icon: /* @__PURE__ */ jsx84(Icon, { icon: "path-trim", iconColor: "currentColor" }),
15234
+ icon: /* @__PURE__ */ jsx90(Icon, { icon: "path-trim", iconColor: "currentColor" }),
14716
15235
  onClick: handleCopyPidFieldValue,
14717
15236
  children: "Copy"
14718
15237
  }
@@ -14720,14 +15239,14 @@ var ParameterNameAndPublicIdInput = ({
14720
15239
  value: values[publicIdFieldName]
14721
15240
  }
14722
15241
  ),
14723
- (warnOverLength == null ? void 0 : warnOverLength.length) && values[publicIdFieldName].length > warnOverLength.length ? /* @__PURE__ */ jsx84(Callout, { type: "caution", children: warnOverLength.message }) : null
15242
+ (warnOverLength == null ? void 0 : warnOverLength.length) && values[publicIdFieldName].length > warnOverLength.length ? /* @__PURE__ */ jsx90(Callout, { type: "caution", children: warnOverLength.message }) : null
14724
15243
  ] });
14725
15244
  };
14726
15245
 
14727
15246
  // src/components/ParameterInputs/ParameterRichText.tsx
14728
- import { forwardRef as forwardRef12 } from "react";
14729
- import { Fragment as Fragment12, jsx as jsx85, jsxs as jsxs57 } from "@emotion/react/jsx-runtime";
14730
- var ParameterRichText = forwardRef12(
15247
+ import { forwardRef as forwardRef15 } from "react";
15248
+ import { Fragment as Fragment12, jsx as jsx91, jsxs as jsxs62 } from "@emotion/react/jsx-runtime";
15249
+ var ParameterRichText = forwardRef15(
14731
15250
  ({
14732
15251
  label,
14733
15252
  labelLeadingIcon,
@@ -14740,7 +15259,7 @@ var ParameterRichText = forwardRef12(
14740
15259
  menuItems,
14741
15260
  ...props
14742
15261
  }, ref) => {
14743
- return /* @__PURE__ */ jsxs57(
15262
+ return /* @__PURE__ */ jsxs62(
14744
15263
  ParameterShell,
14745
15264
  {
14746
15265
  "data-test-id": "parameter-input",
@@ -14753,16 +15272,16 @@ var ParameterRichText = forwardRef12(
14753
15272
  captionTestId,
14754
15273
  menuItems,
14755
15274
  children: [
14756
- /* @__PURE__ */ jsx85(ParameterRichTextInner, { ref, ...props }),
14757
- menuItems ? /* @__PURE__ */ jsx85(ParameterMenuButton, { label: `${label} menu`, children: /* @__PURE__ */ jsx85(Fragment12, { children: menuItems }) }) : null
15275
+ /* @__PURE__ */ jsx91(ParameterRichTextInner, { ref, ...props }),
15276
+ menuItems ? /* @__PURE__ */ jsx91(ParameterMenuButton, { label: `${label} menu`, children: /* @__PURE__ */ jsx91(Fragment12, { children: menuItems }) }) : null
14758
15277
  ]
14759
15278
  }
14760
15279
  );
14761
15280
  }
14762
15281
  );
14763
- var ParameterRichTextInner = forwardRef12(({ ...props }, ref) => {
15282
+ var ParameterRichTextInner = forwardRef15(({ ...props }, ref) => {
14764
15283
  const { id, label, hiddenLabel } = useParameterShell();
14765
- return /* @__PURE__ */ jsx85(
15284
+ return /* @__PURE__ */ jsx91(
14766
15285
  "textarea",
14767
15286
  {
14768
15287
  css: [input2, textarea2],
@@ -14775,18 +15294,18 @@ var ParameterRichTextInner = forwardRef12(({ ...props }, ref) => {
14775
15294
  });
14776
15295
 
14777
15296
  // src/components/ParameterInputs/ParameterSelect.tsx
14778
- import { forwardRef as forwardRef13 } from "react";
14779
- import { jsx as jsx86, jsxs as jsxs58 } from "@emotion/react/jsx-runtime";
14780
- var ParameterSelect = forwardRef13(
15297
+ import { forwardRef as forwardRef16 } from "react";
15298
+ import { jsx as jsx92, jsxs as jsxs63 } from "@emotion/react/jsx-runtime";
15299
+ var ParameterSelect = forwardRef16(
14781
15300
  ({ defaultOption, options, ...props }, ref) => {
14782
15301
  const { shellProps, innerProps } = extractParameterProps(props);
14783
- return /* @__PURE__ */ jsx86(ParameterShell, { ...shellProps, children: /* @__PURE__ */ jsx86(ParameterSelectInner, { options, defaultOption, ...innerProps, ref }) });
15302
+ return /* @__PURE__ */ jsx92(ParameterShell, { ...shellProps, children: /* @__PURE__ */ jsx92(ParameterSelectInner, { options, defaultOption, ...innerProps, ref }) });
14784
15303
  }
14785
15304
  );
14786
- var ParameterSelectInner = forwardRef13(
15305
+ var ParameterSelectInner = forwardRef16(
14787
15306
  ({ defaultOption, options, ...props }, ref) => {
14788
15307
  const { id, label, hiddenLabel } = useParameterShell();
14789
- return /* @__PURE__ */ jsxs58(
15308
+ return /* @__PURE__ */ jsxs63(
14790
15309
  "select",
14791
15310
  {
14792
15311
  css: [input2, selectInput],
@@ -14795,10 +15314,10 @@ var ParameterSelectInner = forwardRef13(
14795
15314
  ref,
14796
15315
  ...props,
14797
15316
  children: [
14798
- defaultOption ? /* @__PURE__ */ jsx86("option", { value: "", children: defaultOption }) : null,
15317
+ defaultOption ? /* @__PURE__ */ jsx92("option", { value: "", children: defaultOption }) : null,
14799
15318
  options.map((option) => {
14800
15319
  var _a;
14801
- return /* @__PURE__ */ jsx86("option", { value: (_a = option.value) != null ? _a : option.label, children: option.label }, option.label);
15320
+ return /* @__PURE__ */ jsx92("option", { value: (_a = option.value) != null ? _a : option.label, children: option.label }, option.label);
14802
15321
  })
14803
15322
  ]
14804
15323
  }
@@ -14807,15 +15326,15 @@ var ParameterSelectInner = forwardRef13(
14807
15326
  );
14808
15327
 
14809
15328
  // src/components/ParameterInputs/ParameterTextarea.tsx
14810
- import { forwardRef as forwardRef14 } from "react";
14811
- import { jsx as jsx87 } from "@emotion/react/jsx-runtime";
14812
- var ParameterTextarea = forwardRef14((props, ref) => {
15329
+ import { forwardRef as forwardRef17 } from "react";
15330
+ import { jsx as jsx93 } from "@emotion/react/jsx-runtime";
15331
+ var ParameterTextarea = forwardRef17((props, ref) => {
14813
15332
  const { shellProps, innerProps } = extractParameterProps(props);
14814
- return /* @__PURE__ */ jsx87(ParameterShell, { "data-test-id": "parameter-textarea", ...shellProps, children: /* @__PURE__ */ jsx87(ParameterTextareaInner, { ref, ...innerProps }) });
15333
+ return /* @__PURE__ */ jsx93(ParameterShell, { "data-test-id": "parameter-textarea", ...shellProps, children: /* @__PURE__ */ jsx93(ParameterTextareaInner, { ref, ...innerProps }) });
14815
15334
  });
14816
- var ParameterTextareaInner = forwardRef14(({ ...props }, ref) => {
15335
+ var ParameterTextareaInner = forwardRef17(({ ...props }, ref) => {
14817
15336
  const { id, label, hiddenLabel } = useParameterShell();
14818
- return /* @__PURE__ */ jsx87(
15337
+ return /* @__PURE__ */ jsx93(
14819
15338
  "textarea",
14820
15339
  {
14821
15340
  css: [input2, textarea2],
@@ -14828,18 +15347,18 @@ var ParameterTextareaInner = forwardRef14(({ ...props }, ref) => {
14828
15347
  });
14829
15348
 
14830
15349
  // src/components/ParameterInputs/ParameterToggle.tsx
14831
- import { forwardRef as forwardRef15 } from "react";
14832
- import { jsx as jsx88, jsxs as jsxs59 } from "@emotion/react/jsx-runtime";
14833
- var ParameterToggle = forwardRef15((props, ref) => {
15350
+ import { forwardRef as forwardRef18 } from "react";
15351
+ import { jsx as jsx94, jsxs as jsxs64 } from "@emotion/react/jsx-runtime";
15352
+ var ParameterToggle = forwardRef18((props, ref) => {
14834
15353
  const { shellProps, innerProps } = extractParameterProps(props);
14835
- return /* @__PURE__ */ jsx88(ParameterShell, { ...shellProps, children: /* @__PURE__ */ jsx88(ParameterToggleInner, { ref, ...innerProps }) });
15354
+ return /* @__PURE__ */ jsx94(ParameterShell, { ...shellProps, children: /* @__PURE__ */ jsx94(ParameterToggleInner, { ref, ...innerProps }) });
14836
15355
  });
14837
- var ParameterToggleInner = forwardRef15(
15356
+ var ParameterToggleInner = forwardRef18(
14838
15357
  ({ ...props }, ref) => {
14839
15358
  const { id, label } = useParameterShell();
14840
- return /* @__PURE__ */ jsxs59("label", { css: inputToggleLabel2, children: [
14841
- /* @__PURE__ */ jsx88("input", { css: toggleInput2, type: props.type, id, ref, ...props }),
14842
- /* @__PURE__ */ jsx88("span", { css: inlineLabel2, children: label })
15359
+ return /* @__PURE__ */ jsxs64("label", { css: inputToggleLabel2, children: [
15360
+ /* @__PURE__ */ jsx94("input", { css: toggleInput2, type: props.type, id, ref, ...props }),
15361
+ /* @__PURE__ */ jsx94("span", { css: inlineLabel2, children: label })
14843
15362
  ] });
14844
15363
  }
14845
15364
  );
@@ -14853,13 +15372,13 @@ import {
14853
15372
  import { Portal as Portal2 } from "reakit/Portal";
14854
15373
 
14855
15374
  // src/components/Popover/Popover.styles.ts
14856
- import { css as css64 } from "@emotion/react";
14857
- var PopoverBtn = css64`
15375
+ import { css as css69 } from "@emotion/react";
15376
+ var PopoverBtn = css69`
14858
15377
  border: none;
14859
15378
  background: none;
14860
15379
  padding: 0;
14861
15380
  `;
14862
- var Popover = css64`
15381
+ var Popover = css69`
14863
15382
  border-left: var(--spacing-xs) solid var(--brand-secondary-3);
14864
15383
  border-radius: var(--rounded-base);
14865
15384
  box-shadow: var(--shadow-base);
@@ -14872,47 +15391,49 @@ var Popover = css64`
14872
15391
  `;
14873
15392
 
14874
15393
  // src/components/Popover/Popover.tsx
14875
- import { Fragment as Fragment13, jsx as jsx89, jsxs as jsxs60 } from "@emotion/react/jsx-runtime";
15394
+ import { Fragment as Fragment13, jsx as jsx95, jsxs as jsxs65 } from "@emotion/react/jsx-runtime";
14876
15395
  var Popover2 = ({
14877
15396
  iconColor = "green",
15397
+ icon = "info",
15398
+ iconSize = "1rem",
14878
15399
  buttonText,
14879
15400
  ariaLabel,
14880
15401
  placement = "bottom",
14881
15402
  children
14882
15403
  }) => {
14883
15404
  const popover = usePopoverState({ placement });
14884
- return /* @__PURE__ */ jsxs60(Fragment13, { children: [
14885
- /* @__PURE__ */ jsxs60(PopoverDisclosure, { ...popover, css: PopoverBtn, title: buttonText, children: [
14886
- /* @__PURE__ */ jsx89(Icon, { icon: "info", iconColor, size: "1rem" }),
14887
- /* @__PURE__ */ jsx89("span", { hidden: true, children: buttonText })
15405
+ return /* @__PURE__ */ jsxs65(Fragment13, { children: [
15406
+ /* @__PURE__ */ jsxs65(PopoverDisclosure, { ...popover, css: PopoverBtn, title: buttonText, children: [
15407
+ /* @__PURE__ */ jsx95(Icon, { icon, iconColor, size: iconSize }),
15408
+ /* @__PURE__ */ jsx95("span", { hidden: true, children: buttonText })
14888
15409
  ] }),
14889
- /* @__PURE__ */ jsx89(Portal2, { children: /* @__PURE__ */ jsx89(ReakitPopover, { css: Popover, ...popover, "aria-label": ariaLabel, children }) })
15410
+ /* @__PURE__ */ jsx95(Portal2, { children: /* @__PURE__ */ jsx95(ReakitPopover, { css: Popover, ...popover, "aria-label": ariaLabel, children }) })
14890
15411
  ] });
14891
15412
  };
14892
15413
 
14893
15414
  // src/components/ProgressList/ProgressList.tsx
14894
- import { css as css66 } from "@emotion/react";
14895
- import { useMemo as useMemo2 } from "react";
15415
+ import { css as css71 } from "@emotion/react";
15416
+ import { useMemo as useMemo3 } from "react";
14896
15417
  import { CgCheckO, CgRadioCheck, CgRecord } from "react-icons/cg";
14897
15418
 
14898
15419
  // src/components/ProgressList/styles/ProgressList.styles.ts
14899
- import { css as css65 } from "@emotion/react";
14900
- var progressListStyles = css65`
15420
+ import { css as css70 } from "@emotion/react";
15421
+ var progressListStyles = css70`
14901
15422
  display: flex;
14902
15423
  flex-direction: column;
14903
15424
  gap: var(--spacing-sm);
14904
15425
  list-style-type: none;
14905
15426
  `;
14906
- var progressListItemStyles = css65`
15427
+ var progressListItemStyles = css70`
14907
15428
  display: flex;
14908
15429
  gap: var(--spacing-base);
14909
15430
  align-items: center;
14910
15431
  `;
14911
15432
 
14912
15433
  // src/components/ProgressList/ProgressList.tsx
14913
- import { jsx as jsx90, jsxs as jsxs61 } from "@emotion/react/jsx-runtime";
15434
+ import { jsx as jsx96, jsxs as jsxs66 } from "@emotion/react/jsx-runtime";
14914
15435
  var ProgressList = ({ inProgressId, items, autoEllipsis, ...htmlProps }) => {
14915
- const itemsWithStatus = useMemo2(() => {
15436
+ const itemsWithStatus = useMemo3(() => {
14916
15437
  const indexOfInProgressItem = items.findIndex(({ id }) => id === inProgressId);
14917
15438
  return items.map((item, index) => {
14918
15439
  let status = "queued";
@@ -14924,8 +15445,8 @@ var ProgressList = ({ inProgressId, items, autoEllipsis, ...htmlProps }) => {
14924
15445
  return { ...item, status };
14925
15446
  });
14926
15447
  }, [items, inProgressId]);
14927
- return /* @__PURE__ */ jsx90("ol", { css: progressListStyles, ...htmlProps, children: itemsWithStatus.map(({ id, label, status, error, errorLevel }) => {
14928
- return /* @__PURE__ */ jsx90(
15448
+ return /* @__PURE__ */ jsx96("ol", { css: progressListStyles, ...htmlProps, children: itemsWithStatus.map(({ id, label, status, error, errorLevel }) => {
15449
+ return /* @__PURE__ */ jsx96(
14929
15450
  ProgressListItem,
14930
15451
  {
14931
15452
  status,
@@ -14945,7 +15466,7 @@ var ProgressListItem = ({
14945
15466
  errorLevel = "danger",
14946
15467
  autoEllipsis = false
14947
15468
  }) => {
14948
- const Icon2 = useMemo2(() => {
15469
+ const Icon2 = useMemo3(() => {
14949
15470
  if (error) {
14950
15471
  return warningIcon;
14951
15472
  }
@@ -14956,14 +15477,14 @@ var ProgressListItem = ({
14956
15477
  };
14957
15478
  return iconPerStatus[status];
14958
15479
  }, [status, error]);
14959
- const statusStyles = useMemo2(() => {
15480
+ const statusStyles = useMemo3(() => {
14960
15481
  if (error) {
14961
- return errorLevel === "caution" ? css66`
15482
+ return errorLevel === "caution" ? css71`
14962
15483
  color: rgb(161, 98, 7);
14963
15484
  & svg {
14964
15485
  color: rgb(250, 204, 21);
14965
15486
  }
14966
- ` : css66`
15487
+ ` : css71`
14967
15488
  color: rgb(185, 28, 28);
14968
15489
  & svg {
14969
15490
  color: var(--brand-primary-2);
@@ -14971,221 +15492,40 @@ var ProgressListItem = ({
14971
15492
  `;
14972
15493
  }
14973
15494
  const colorPerStatus = {
14974
- completed: css66`
15495
+ completed: css71`
14975
15496
  opacity: 0.75;
14976
15497
  `,
14977
- inProgress: css66`
15498
+ inProgress: css71`
14978
15499
  -webkit-text-stroke-width: thin;
14979
15500
  `,
14980
- queued: css66`
15501
+ queued: css71`
14981
15502
  opacity: 0.5;
14982
15503
  `
14983
15504
  };
14984
15505
  return colorPerStatus[status];
14985
15506
  }, [status, error, errorLevel]);
14986
- return /* @__PURE__ */ jsxs61("li", { css: [progressListItemStyles, statusStyles], children: [
14987
- /* @__PURE__ */ jsx90(Tooltip, { title: error != null ? error : "", children: /* @__PURE__ */ jsx90("div", { children: /* @__PURE__ */ jsx90(Icon2, { size: 20 }) }) }),
14988
- /* @__PURE__ */ jsxs61("div", { children: [
15507
+ return /* @__PURE__ */ jsxs66("li", { css: [progressListItemStyles, statusStyles], children: [
15508
+ /* @__PURE__ */ jsx96(Tooltip, { title: error != null ? error : "", children: /* @__PURE__ */ jsx96("div", { children: /* @__PURE__ */ jsx96(Icon2, { size: 20 }) }) }),
15509
+ /* @__PURE__ */ jsxs66("div", { children: [
14989
15510
  children,
14990
- /* @__PURE__ */ jsx90("span", { css: { visibility: autoEllipsis && status === "inProgress" && !error ? "visible" : "hidden" }, children: "..." })
15511
+ /* @__PURE__ */ jsx96("span", { css: { visibility: autoEllipsis && status === "inProgress" && !error ? "visible" : "hidden" }, children: "..." })
14991
15512
  ] })
14992
15513
  ] });
14993
15514
  };
14994
15515
 
14995
- // src/components/SegmentedControl/SegmentedControl.tsx
14996
- import { css as css68 } from "@emotion/react";
14997
- import { useCallback as useCallback4, useMemo as useMemo3 } from "react";
14998
- import { CgCheck as CgCheck3 } from "react-icons/cg";
14999
-
15000
- // src/components/SegmentedControl/SegmentedControl.styles.ts
15001
- import { css as css67 } from "@emotion/react";
15002
- var segmentedControlStyles = css67`
15003
- --segmented-control-rounded-value: var(--rounded-base);
15004
- --segmented-control-border-width: 1px;
15005
- --segmented-control-selected-color: var(--brand-secondary-3);
15006
- --segmented-control-first-border-radius: var(--segmented-control-rounded-value) 0 0
15007
- var(--segmented-control-rounded-value);
15008
- --segmented-control-last-border-radius: 0 var(--segmented-control-rounded-value)
15009
- var(--segmented-control-rounded-value) 0;
15010
-
15011
- position: relative;
15012
- display: flex;
15013
- justify-content: flex-start;
15014
- width: fit-content;
15015
- background-color: var(--gray-300);
15016
- padding: var(--segmented-control-border-width);
15017
- gap: var(--segmented-control-border-width);
15018
- border-radius: calc(var(--segmented-control-rounded-value) + var(--segmented-control-border-width));
15019
- font-size: var(--fs-xs);
15020
- `;
15021
- var segmentedControlVerticalStyles = css67`
15022
- flex-direction: column;
15023
- --segmented-control-first-border-radius: var(--segmented-control-rounded-value)
15024
- var(--segmented-control-rounded-value) 0 0;
15025
- --segmented-control-last-border-radius: 0 0 var(--segmented-control-rounded-value)
15026
- var(--segmented-control-rounded-value);
15027
- `;
15028
- var segmentedControlItemStyles = css67`
15029
- &:first-of-type label {
15030
- border-radius: var(--segmented-control-first-border-radius);
15031
- }
15032
- &:last-of-type label {
15033
- border-radius: var(--segmented-control-last-border-radius);
15034
- }
15035
- `;
15036
- var segmentedControlInputStyles = css67`
15037
- clip: rect(0, 0, 0, 0);
15038
- position: absolute;
15039
- width: 1px;
15040
- height: 1px;
15041
- overflow: hidden;
15042
- `;
15043
- var segmentedControlLabelStyles = css67`
15044
- position: relative;
15045
- display: flex;
15046
- align-items: center;
15047
- justify-content: center;
15048
- height: 2rem;
15049
- padding-inline: var(--spacing-base);
15050
- background-color: white;
15051
- transition-property: background-color, color, box-shadow;
15052
- transition-duration: var(--duration-xfast);
15053
- transition-timing-function: ease-in-out;
15054
- z-index: 1;
15055
- cursor: pointer;
15056
-
15057
- &:has(:checked:not(:disabled)) {
15058
- background-color: var(--segmented-control-selected-color);
15059
- outline: var(--segmented-control-border-width) solid var(--segmented-control-selected-color);
15060
- box-shadow: 0 0.43em 1.7em 0 rgba(0, 0, 0, 0.15);
15061
- color: white;
15062
- -webkit-text-stroke-width: thin;
15063
- z-index: 0;
15064
- }
15065
-
15066
- &:hover:not(:has(:disabled, :checked)) {
15067
- background-color: var(--gray-100);
15068
- }
15069
-
15070
- &:has(:disabled) {
15071
- color: var(--gray-400);
15072
- cursor: default;
15073
- }
15074
-
15075
- &:has(:checked:disabled) {
15076
- color: var(--gray-50);
15077
- background-color: var(--gray-400);
15078
- }
15079
- `;
15080
- var segmentedControlLabelIconOnlyStyles = css67`
15081
- padding-inline: 0.5em;
15082
- `;
15083
- var segmentedControlLabelCheckStyles = css67`
15084
- opacity: 0.5;
15085
- `;
15086
- var segmentedControlLabelContentStyles = css67`
15087
- display: flex;
15088
- align-items: center;
15089
- justify-content: center;
15090
- gap: var(--spacing-sm);
15091
- height: 100%;
15092
- `;
15093
- var segmentedControlLabelTextStyles = css67``;
15094
-
15095
- // src/components/SegmentedControl/SegmentedControl.tsx
15096
- import { jsx as jsx91, jsxs as jsxs62 } from "@emotion/react/jsx-runtime";
15097
- var SegmentedControl = ({
15098
- name,
15099
- options,
15100
- value,
15101
- onChange,
15102
- noCheckmark = false,
15103
- disabled = false,
15104
- orientation = "horizontal",
15105
- size = "md",
15106
- ...props
15107
- }) => {
15108
- const onOptionChange = useCallback4(
15109
- (event) => {
15110
- if (event.target.checked) {
15111
- onChange == null ? void 0 : onChange(options[parseInt(event.target.value)].value);
15112
- }
15113
- },
15114
- [options, onChange]
15115
- );
15116
- const sizeStyles = useMemo3(() => {
15117
- const map = {
15118
- sm: css68({ height: "calc(24px - 2px)", fontSize: "var(--fs-xs)" }),
15119
- md: css68({ height: "calc(32px - 2px)", fontSize: "var(--fs-sm)" }),
15120
- lg: css68({ height: "calc(40px - 2px)", fontSize: "var(--fs-base)" })
15121
- };
15122
- return map[size];
15123
- }, [size]);
15124
- const isIconOnly = useMemo3(() => {
15125
- return options.every((option) => option.icon && !option.label);
15126
- }, [options]);
15127
- return /* @__PURE__ */ jsx91(
15128
- "div",
15129
- {
15130
- css: [segmentedControlStyles, orientation === "vertical" ? segmentedControlVerticalStyles : void 0],
15131
- ...props,
15132
- children: options.map((option, index) => {
15133
- const text = option.label ? option.label : option.icon ? null : String(option.value);
15134
- const isDisabled = disabled || option.disabled;
15135
- return /* @__PURE__ */ jsx91(
15136
- Tooltip,
15137
- {
15138
- title: isDisabled || !option.tooltip ? "" : option.tooltip,
15139
- children: /* @__PURE__ */ jsx91("div", { css: segmentedControlItemStyles, children: /* @__PURE__ */ jsxs62(
15140
- "label",
15141
- {
15142
- css: [
15143
- segmentedControlLabelStyles,
15144
- sizeStyles,
15145
- isIconOnly ? segmentedControlLabelIconOnlyStyles : void 0
15146
- ],
15147
- children: [
15148
- /* @__PURE__ */ jsx91(
15149
- "input",
15150
- {
15151
- css: segmentedControlInputStyles,
15152
- type: "radio",
15153
- name,
15154
- value: index,
15155
- checked: option.value === value,
15156
- onChange: onOptionChange,
15157
- disabled: isDisabled
15158
- }
15159
- ),
15160
- option.value !== value || noCheckmark ? null : /* @__PURE__ */ jsx91(CgCheck3, { css: segmentedControlLabelCheckStyles, "aria-label": "Selected", size: "1.5em" }),
15161
- /* @__PURE__ */ jsxs62("span", { css: segmentedControlLabelContentStyles, children: [
15162
- !option.icon ? null : /* @__PURE__ */ jsx91(option.icon, { size: "1.5em" }),
15163
- !text ? null : /* @__PURE__ */ jsx91("span", { css: segmentedControlLabelTextStyles, children: text })
15164
- ] })
15165
- ]
15166
- }
15167
- ) })
15168
- },
15169
- JSON.stringify(option.value)
15170
- );
15171
- })
15172
- }
15173
- );
15174
- };
15175
-
15176
15516
  // src/components/Skeleton/Skeleton.styles.ts
15177
- import { css as css69, keyframes as keyframes4 } from "@emotion/react";
15517
+ import { css as css72, keyframes as keyframes4 } from "@emotion/react";
15178
15518
  var lightFadingOut = keyframes4`
15179
15519
  from { opacity: 0.1; }
15180
15520
  to { opacity: 0.025; }
15181
15521
  `;
15182
- var skeletonStyles = css69`
15522
+ var skeletonStyles = css72`
15183
15523
  animation: ${lightFadingOut} 1s ease-out infinite alternate;
15184
15524
  background-color: var(--gray-900);
15185
15525
  `;
15186
15526
 
15187
15527
  // src/components/Skeleton/Skeleton.tsx
15188
- import { jsx as jsx92 } from "@emotion/react/jsx-runtime";
15528
+ import { jsx as jsx97 } from "@emotion/react/jsx-runtime";
15189
15529
  var Skeleton = ({
15190
15530
  width = "100%",
15191
15531
  height = "1.25rem",
@@ -15193,7 +15533,7 @@ var Skeleton = ({
15193
15533
  circle = false,
15194
15534
  children,
15195
15535
  ...otherProps
15196
- }) => /* @__PURE__ */ jsx92(
15536
+ }) => /* @__PURE__ */ jsx97(
15197
15537
  "div",
15198
15538
  {
15199
15539
  css: [
@@ -15213,11 +15553,11 @@ var Skeleton = ({
15213
15553
  );
15214
15554
 
15215
15555
  // src/components/Switch/Switch.tsx
15216
- import * as React18 from "react";
15556
+ import * as React20 from "react";
15217
15557
 
15218
15558
  // src/components/Switch/Switch.styles.ts
15219
- import { css as css70 } from "@emotion/react";
15220
- var SwitchInputContainer = css70`
15559
+ import { css as css73 } from "@emotion/react";
15560
+ var SwitchInputContainer = css73`
15221
15561
  cursor: pointer;
15222
15562
  display: inline-block;
15223
15563
  position: relative;
@@ -15226,7 +15566,7 @@ var SwitchInputContainer = css70`
15226
15566
  vertical-align: middle;
15227
15567
  user-select: none;
15228
15568
  `;
15229
- var SwitchInput = css70`
15569
+ var SwitchInput = css73`
15230
15570
  appearance: none;
15231
15571
  border-radius: var(--rounded-full);
15232
15572
  background-color: var(--white);
@@ -15264,7 +15604,7 @@ var SwitchInput = css70`
15264
15604
  cursor: not-allowed;
15265
15605
  }
15266
15606
  `;
15267
- var SwitchInputDisabled = css70`
15607
+ var SwitchInputDisabled = css73`
15268
15608
  opacity: var(--opacity-50);
15269
15609
  cursor: not-allowed;
15270
15610
 
@@ -15272,7 +15612,7 @@ var SwitchInputDisabled = css70`
15272
15612
  cursor: not-allowed;
15273
15613
  }
15274
15614
  `;
15275
- var SwitchInputLabel = css70`
15615
+ var SwitchInputLabel = css73`
15276
15616
  align-items: center;
15277
15617
  color: var(--brand-secondary-1);
15278
15618
  display: inline-flex;
@@ -15294,98 +15634,98 @@ var SwitchInputLabel = css70`
15294
15634
  top: 0;
15295
15635
  }
15296
15636
  `;
15297
- var SwitchText = css70`
15637
+ var SwitchText = css73`
15298
15638
  color: var(--gray-500);
15299
15639
  font-size: var(--fs-sm);
15300
15640
  padding-inline: var(--spacing-2xl) 0;
15301
15641
  `;
15302
15642
 
15303
15643
  // src/components/Switch/Switch.tsx
15304
- import { Fragment as Fragment14, jsx as jsx93, jsxs as jsxs63 } from "@emotion/react/jsx-runtime";
15305
- var Switch = React18.forwardRef(
15644
+ import { Fragment as Fragment14, jsx as jsx98, jsxs as jsxs67 } from "@emotion/react/jsx-runtime";
15645
+ var Switch = React20.forwardRef(
15306
15646
  ({ label, infoText, toggleText, children, ...inputProps }, ref) => {
15307
15647
  let additionalText = infoText;
15308
15648
  if (infoText && toggleText) {
15309
15649
  additionalText = inputProps.checked ? toggleText : infoText;
15310
15650
  }
15311
- return /* @__PURE__ */ jsxs63(Fragment14, { children: [
15312
- /* @__PURE__ */ jsxs63("label", { css: [SwitchInputContainer, inputProps.disabled ? SwitchInputDisabled : void 0], children: [
15313
- /* @__PURE__ */ jsx93("input", { type: "checkbox", css: SwitchInput, ...inputProps, ref }),
15314
- /* @__PURE__ */ jsx93("span", { css: SwitchInputLabel, children: label })
15651
+ return /* @__PURE__ */ jsxs67(Fragment14, { children: [
15652
+ /* @__PURE__ */ jsxs67("label", { css: [SwitchInputContainer, inputProps.disabled ? SwitchInputDisabled : void 0], children: [
15653
+ /* @__PURE__ */ jsx98("input", { type: "checkbox", css: SwitchInput, ...inputProps, ref }),
15654
+ /* @__PURE__ */ jsx98("span", { css: SwitchInputLabel, children: label })
15315
15655
  ] }),
15316
- additionalText ? /* @__PURE__ */ jsx93("p", { css: SwitchText, children: additionalText }) : null,
15656
+ additionalText ? /* @__PURE__ */ jsx98("p", { css: SwitchText, children: additionalText }) : null,
15317
15657
  children
15318
15658
  ] });
15319
15659
  }
15320
15660
  );
15321
15661
 
15322
15662
  // src/components/Table/Table.tsx
15323
- import * as React19 from "react";
15663
+ import * as React21 from "react";
15324
15664
 
15325
15665
  // src/components/Table/Table.styles.ts
15326
- import { css as css71 } from "@emotion/react";
15327
- var table = css71`
15666
+ import { css as css74 } from "@emotion/react";
15667
+ var table = css74`
15328
15668
  border-bottom: 1px solid var(--gray-400);
15329
15669
  border-collapse: collapse;
15330
15670
  min-width: 100%;
15331
15671
  table-layout: auto;
15332
15672
  `;
15333
- var tableHead = css71`
15673
+ var tableHead = css74`
15334
15674
  background: var(--gray-100);
15335
15675
  color: var(--brand-secondary-1);
15336
15676
  text-align: left;
15337
15677
  `;
15338
- var tableRow = css71`
15678
+ var tableRow = css74`
15339
15679
  border-bottom: 1px solid var(--gray-200);
15340
15680
  `;
15341
- var tableCellHead = css71`
15681
+ var tableCellHead = css74`
15342
15682
  font-size: var(--fs-sm);
15343
15683
  padding: var(--spacing-base) var(--spacing-md);
15344
15684
  text-transform: uppercase;
15345
15685
  font-weight: var(--fw-bold);
15346
15686
  `;
15347
- var tableCellData = css71`
15687
+ var tableCellData = css74`
15348
15688
  padding: var(--spacing-base) var(--spacing-md);
15349
15689
  `;
15350
15690
 
15351
15691
  // src/components/Table/Table.tsx
15352
- import { jsx as jsx94 } from "@emotion/react/jsx-runtime";
15353
- var Table = React19.forwardRef(({ children, ...otherProps }, ref) => {
15354
- return /* @__PURE__ */ jsx94("table", { ref, css: table, ...otherProps, children });
15692
+ import { jsx as jsx99 } from "@emotion/react/jsx-runtime";
15693
+ var Table = React21.forwardRef(({ children, ...otherProps }, ref) => {
15694
+ return /* @__PURE__ */ jsx99("table", { ref, css: table, ...otherProps, children });
15355
15695
  });
15356
- var TableHead = React19.forwardRef(
15696
+ var TableHead = React21.forwardRef(
15357
15697
  ({ children, ...otherProps }, ref) => {
15358
- return /* @__PURE__ */ jsx94("thead", { ref, css: tableHead, ...otherProps, children });
15698
+ return /* @__PURE__ */ jsx99("thead", { ref, css: tableHead, ...otherProps, children });
15359
15699
  }
15360
15700
  );
15361
- var TableBody = React19.forwardRef(
15701
+ var TableBody = React21.forwardRef(
15362
15702
  ({ children, ...otherProps }, ref) => {
15363
- return /* @__PURE__ */ jsx94("tbody", { ref, ...otherProps, children });
15703
+ return /* @__PURE__ */ jsx99("tbody", { ref, ...otherProps, children });
15364
15704
  }
15365
15705
  );
15366
- var TableFoot = React19.forwardRef(
15706
+ var TableFoot = React21.forwardRef(
15367
15707
  ({ children, ...otherProps }, ref) => {
15368
- return /* @__PURE__ */ jsx94("tfoot", { ref, ...otherProps, children });
15708
+ return /* @__PURE__ */ jsx99("tfoot", { ref, ...otherProps, children });
15369
15709
  }
15370
15710
  );
15371
- var TableRow = React19.forwardRef(
15711
+ var TableRow = React21.forwardRef(
15372
15712
  ({ children, ...otherProps }, ref) => {
15373
- return /* @__PURE__ */ jsx94("tr", { ref, css: tableRow, ...otherProps, children });
15713
+ return /* @__PURE__ */ jsx99("tr", { ref, css: tableRow, ...otherProps, children });
15374
15714
  }
15375
15715
  );
15376
- var TableCellHead = React19.forwardRef(
15716
+ var TableCellHead = React21.forwardRef(
15377
15717
  ({ children, ...otherProps }, ref) => {
15378
- return /* @__PURE__ */ jsx94("th", { ref, css: tableCellHead, ...otherProps, children });
15718
+ return /* @__PURE__ */ jsx99("th", { ref, css: tableCellHead, ...otherProps, children });
15379
15719
  }
15380
15720
  );
15381
- var TableCellData = React19.forwardRef(
15721
+ var TableCellData = React21.forwardRef(
15382
15722
  ({ children, ...otherProps }, ref) => {
15383
- return /* @__PURE__ */ jsx94("td", { ref, css: tableCellData, ...otherProps, children });
15723
+ return /* @__PURE__ */ jsx99("td", { ref, css: tableCellData, ...otherProps, children });
15384
15724
  }
15385
15725
  );
15386
15726
 
15387
15727
  // src/components/Tabs/Tabs.tsx
15388
- import { createContext as createContext6, useContext as useContext7, useEffect as useEffect10, useMemo as useMemo4 } from "react";
15728
+ import { createContext as createContext6, useContext as useContext7, useEffect as useEffect11, useMemo as useMemo4 } from "react";
15389
15729
  import {
15390
15730
  Tab as ReakitTab,
15391
15731
  TabList as ReakitTabList,
@@ -15394,8 +15734,8 @@ import {
15394
15734
  } from "reakit/Tab";
15395
15735
 
15396
15736
  // src/components/Tabs/Tabs.styles.ts
15397
- import { css as css72 } from "@emotion/react";
15398
- var tabButtonStyles = css72`
15737
+ import { css as css75 } from "@emotion/react";
15738
+ var tabButtonStyles = css75`
15399
15739
  align-items: center;
15400
15740
  border: 0;
15401
15741
  height: 2.5rem;
@@ -15412,14 +15752,14 @@ var tabButtonStyles = css72`
15412
15752
  -webkit-text-stroke-width: thin;
15413
15753
  }
15414
15754
  `;
15415
- var tabButtonGroupStyles = css72`
15755
+ var tabButtonGroupStyles = css75`
15416
15756
  display: flex;
15417
15757
  gap: var(--spacing-base);
15418
15758
  border-bottom: 1px solid var(--gray-300);
15419
15759
  `;
15420
15760
 
15421
15761
  // src/components/Tabs/Tabs.tsx
15422
- import { jsx as jsx95 } from "@emotion/react/jsx-runtime";
15762
+ import { jsx as jsx100 } from "@emotion/react/jsx-runtime";
15423
15763
  var CurrentTabContext = createContext6(null);
15424
15764
  var useCurrentTab = () => {
15425
15765
  const context = useContext7(CurrentTabContext);
@@ -15435,7 +15775,7 @@ var Tabs = ({ children, onSelectedIdChange, useHashForState, selectedId, ...prop
15435
15775
  return useHashForState && typeof window !== "undefined" && window.location.hash ? window.location.hash.substring(1) : void 0;
15436
15776
  }, [selectedId, useHashForState]);
15437
15777
  const tab = useTabState({ ...props, selectedId: selected });
15438
- useEffect10(() => {
15778
+ useEffect11(() => {
15439
15779
  var _a;
15440
15780
  const selectedValueWithoutNull = (_a = tab.selectedId) != null ? _a : void 0;
15441
15781
  onSelectedIdChange == null ? void 0 : onSelectedIdChange(selectedValueWithoutNull);
@@ -15443,116 +15783,24 @@ var Tabs = ({ children, onSelectedIdChange, useHashForState, selectedId, ...prop
15443
15783
  window.location.hash = selectedValueWithoutNull != null ? selectedValueWithoutNull : "";
15444
15784
  }
15445
15785
  }, [tab.selectedId, onSelectedIdChange, useHashForState]);
15446
- useEffect10(() => {
15786
+ useEffect11(() => {
15447
15787
  if (selected && selected !== tab.selectedId) {
15448
15788
  tab.setSelectedId(selected);
15449
15789
  }
15450
15790
  }, [selected]);
15451
- return /* @__PURE__ */ jsx95(CurrentTabContext.Provider, { value: tab, children });
15791
+ return /* @__PURE__ */ jsx100(CurrentTabContext.Provider, { value: tab, children });
15452
15792
  };
15453
15793
  var TabButtonGroup = ({ children, ...props }) => {
15454
15794
  const currentTab = useCurrentTab();
15455
- return /* @__PURE__ */ jsx95(ReakitTabList, { ...props, ...currentTab, css: tabButtonGroupStyles, children });
15795
+ return /* @__PURE__ */ jsx100(ReakitTabList, { ...props, ...currentTab, css: tabButtonGroupStyles, children });
15456
15796
  };
15457
15797
  var TabButton = ({ children, id, ...props }) => {
15458
15798
  const currentTab = useCurrentTab();
15459
- return /* @__PURE__ */ jsx95(ReakitTab, { type: "button", id, ...currentTab, ...props, css: tabButtonStyles, children });
15799
+ return /* @__PURE__ */ jsx100(ReakitTab, { type: "button", id, ...currentTab, ...props, css: tabButtonStyles, children });
15460
15800
  };
15461
15801
  var TabContent = ({ children, ...props }) => {
15462
15802
  const currentTab = useCurrentTab();
15463
- return /* @__PURE__ */ jsx95(ReakitTabPanel, { ...props, ...currentTab, children });
15464
- };
15465
-
15466
- // src/components/Validation/StatusBullet.styles.ts
15467
- import { css as css73 } from "@emotion/react";
15468
- var StatusBulletContainer = css73`
15469
- align-items: center;
15470
- align-self: center;
15471
- color: var(--gray-500);
15472
- display: inline-flex;
15473
- font-weight: var(--fw-regular);
15474
- gap: var(--spacing-xs);
15475
- line-height: 1;
15476
- position: relative;
15477
- text-transform: lowercase;
15478
-
15479
- &:before {
15480
- border-radius: var(--rounded-full);
15481
- content: '';
15482
- display: block;
15483
- }
15484
- `;
15485
- var StatusBulletBase = css73`
15486
- font-size: var(--fs-sm);
15487
- &:before {
15488
- width: var(--fs-xs);
15489
- height: var(--fs-xs);
15490
- }
15491
- `;
15492
- var StatusBulletSmall = css73`
15493
- font-size: var(--fs-xs);
15494
- &:before {
15495
- width: var(--fs-xxs);
15496
- height: var(--fs-xxs);
15497
- }
15498
- `;
15499
- var StatusDraft = css73`
15500
- &:before {
15501
- background: var(--white);
15502
- box-shadow: inset 0 0 0 0.125rem var(--brand-primary-1);
15503
- }
15504
- `;
15505
- var StatusModified = css73`
15506
- &:before {
15507
- background: linear-gradient(to right, var(--white) 50%, var(--brand-primary-1) 50% 100%);
15508
- box-shadow: inset 0 0 0 0.125rem var(--brand-primary-1);
15509
- }
15510
- `;
15511
- var StatusError = css73`
15512
- color: var(--error);
15513
- &:before {
15514
- background: linear-gradient(120deg, var(--error) 40%, var(--white) 50%, var(--error) 60%);
15515
- }
15516
- `;
15517
- var StatusPublished = css73`
15518
- &:before {
15519
- background: var(--brand-secondary-3);
15520
- }
15521
- `;
15522
- var StatusOrphan = css73`
15523
- &:before {
15524
- background: var(--brand-secondary-5);
15525
- }
15526
- `;
15527
-
15528
- // src/components/Validation/StatusBullet.tsx
15529
- import { jsx as jsx96 } from "@emotion/react/jsx-runtime";
15530
- var StatusBullet = ({
15531
- status,
15532
- hideText = false,
15533
- size = "base",
15534
- message,
15535
- ...props
15536
- }) => {
15537
- const currentStateStyles = {
15538
- Error: StatusError,
15539
- Modified: StatusModified,
15540
- Unsaved: StatusDraft,
15541
- Orphan: StatusOrphan,
15542
- Published: StatusPublished,
15543
- Draft: StatusDraft
15544
- };
15545
- const statusSize = size === "base" ? StatusBulletBase : StatusBulletSmall;
15546
- return /* @__PURE__ */ jsx96(
15547
- "span",
15548
- {
15549
- role: "status",
15550
- css: [StatusBulletContainer, currentStateStyles[status], statusSize],
15551
- title: message != null ? message : status,
15552
- ...props,
15553
- children: hideText ? null : message ? message : status
15554
- }
15555
- );
15803
+ return /* @__PURE__ */ jsx100(ReakitTabPanel, { ...props, ...currentTab, children });
15556
15804
  };
15557
15805
  export {
15558
15806
  AddButton,
@@ -15614,6 +15862,10 @@ export {
15614
15862
  MenuGroup,
15615
15863
  MenuItem,
15616
15864
  MenuItemSeparator,
15865
+ ObjectCompositionListItem,
15866
+ ObjectListContainer,
15867
+ ObjectListItemLoadingSkeleton,
15868
+ ObjectPersonalizationListItem,
15617
15869
  PageHeaderSection,
15618
15870
  Paragraph,
15619
15871
  ParameterDataResource,