@uniformdev/design-system 19.165.2-alpha.0 → 19.167.2-alpha.3

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
@@ -7,7 +7,7 @@ var Theme = ({ disableReset = false, disableGlobalReset = false }) => {
7
7
  /* @__PURE__ */ jsx2(
8
8
  "link",
9
9
  {
10
- href: "https://fonts.googleapis.com/css2?family=DM+Sans:ital,wght@0,400;0,500;0,700;1,400;1,500;1,700&family=Quantico:wght@700&family=Space+Mono:ital,wght@0,400;0,700;1,400;1,700&display=swap",
10
+ href: "https://fonts.googleapis.com/css2?family=DM+Mono:ital,wght@0,300;0,400;0,500;1,300;1,400;1,500&family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&family=Quantico:ital,wght@0,400;0,700;1,400;1,700&display=swap",
11
11
  rel: "stylesheet"
12
12
  }
13
13
  ),
@@ -151,7 +151,7 @@ var Theme = ({ disableReset = false, disableGlobalReset = false }) => {
151
151
  /* font family */
152
152
  --ff-base: 'DM Sans', sans-serif;
153
153
  --ff-heading: 'Quantico', sans-serif;
154
- --ff-mono: 'Space Mono', monospace;
154
+ --ff-mono: 'DM Mono', monospace;
155
155
 
156
156
  /* max text width */
157
157
  --prose: 65ch;
@@ -177,6 +177,7 @@ var Theme = ({ disableReset = false, disableGlobalReset = false }) => {
177
177
  --rounded-sm: 0.125rem; /* 2px */
178
178
  --rounded-base: 0.25rem; /* 4px */
179
179
  --rounded-md: 0.375rem; /* 6px */
180
+ --rounded-lg: 0.5rem; /* 8px */
180
181
 
181
182
  /* anything below here should be removed as its not in our style guide */
182
183
  --rounded-xl: 0.75rem;
@@ -3137,6 +3138,25 @@ var uniformComponentPatternIcon = GenIcon2({
3137
3138
  }
3138
3139
  ]
3139
3140
  });
3141
+ var uniformCompositionPatternIcon = GenIcon2({
3142
+ tag: "svg",
3143
+ attr: {
3144
+ role: "img",
3145
+ viewBox: "0 0 24 24"
3146
+ },
3147
+ child: [
3148
+ {
3149
+ tag: "path",
3150
+ attr: {
3151
+ fillRule: "evenodd",
3152
+ clipRule: "evenodd",
3153
+ fill: "currentColor",
3154
+ d: "M6.92163 12H4V13.5H8.42163L6.92163 12ZM12.7397 17.8181C12.6083 17.9314 12.4372 18 12.25 18H3.25C2.83579 18 2.5 17.6642 2.5 17.25V6.75C2.5 6.33579 2.83579 6 3.25 6H8.5V9.75H9.17163L10.6716 8.25H10V6.07501C10.7159 6.22033 11.3577 6.56957 11.8622 7.05945L12.9229 5.99871C11.9761 5.07158 10.6798 4.5 9.25 4.5H3.25C2.00736 4.5 1 5.50736 1 6.75V17.25C1 18.4926 2.00736 19.5 3.25 19.5H12.25C12.8514 19.5 13.3977 19.2641 13.8013 18.8797L12.7397 17.8181ZM11.4216 16.5H4V15H9.92163L11.4216 16.5ZM4 10.5H7V9H4V10.5ZM12.5784 12L16.3497 8.22876L20.1209 12L16.3497 15.7712L12.5784 12ZM16.3497 18.5997L9.75 12L16.3497 5.40034L22.9493 12L16.3497 18.5997Z"
3155
+ },
3156
+ child: []
3157
+ }
3158
+ ]
3159
+ });
3140
3160
  var uniformContentTypeIcon = CgList;
3141
3161
  var uniformEntryIcon = CgPen;
3142
3162
  var uniformEntryPatternIcon = GenIcon2({
@@ -12182,15 +12202,18 @@ import { CgChevronDown as CgChevronDown3 } from "@react-icons/all-files/cg/CgChe
12182
12202
  import { css as css24 } from "@emotion/react";
12183
12203
  import { CgChevronDown } from "@react-icons/all-files/cg/CgChevronDown";
12184
12204
  import { jsx as jsx25, jsxs as jsxs13 } from "@emotion/react/jsx-runtime";
12185
- var buttonStyle = css24`
12205
+ var buttonStyle = (bgColor) => css24`
12186
12206
  border: 0;
12187
- background-color: white;
12207
+ background-color: ${bgColor};
12188
12208
  display: block;
12189
12209
  font-size: var(--fs-sm);
12190
12210
  line-height: 1.5;
12211
+ transition: background-color var(--duration-fast) var(--timing-ease-out),
12212
+ outline var(--duration-fast) var(--timing-ease-out);
12213
+ outline: 1px solid transparent;
12191
12214
 
12192
12215
  &:hover {
12193
- outline: 1px solid var(--gray-300);
12216
+ outline-color: var(--gray-300);
12194
12217
  background-color: var(--gray-100);
12195
12218
  }
12196
12219
 
@@ -12198,8 +12221,12 @@ var buttonStyle = css24`
12198
12221
  color: var(--gray-400);
12199
12222
  }
12200
12223
  `;
12201
- function DropdownStyleMenuTrigger({ children, ...buttonProps }) {
12202
- return /* @__PURE__ */ jsx25("button", { ...buttonProps, css: buttonStyle, type: "button", children: /* @__PURE__ */ jsxs13(HorizontalRhythm, { align: "center", gap: "xs", children: [
12224
+ function DropdownStyleMenuTrigger({
12225
+ bgColor = "var(--white)",
12226
+ children,
12227
+ ...buttonProps
12228
+ }) {
12229
+ return /* @__PURE__ */ jsx25("button", { ...buttonProps, css: buttonStyle(bgColor), type: "button", children: /* @__PURE__ */ jsxs13(HorizontalRhythm, { align: "center", gap: "xs", children: [
12203
12230
  /* @__PURE__ */ jsx25("div", { children }),
12204
12231
  /* @__PURE__ */ jsx25(CgChevronDown, { size: "1rem" })
12205
12232
  ] }) });
@@ -12427,19 +12454,14 @@ var Menu = React7.forwardRef(function Menu2({
12427
12454
  "data-testid": testId != null ? testId : "more-menu",
12428
12455
  hideOnHoverOutside: (event) => {
12429
12456
  var _a;
12430
- if (!menu.parent)
12431
- return false;
12457
+ if (!menu.parent) return false;
12432
12458
  const { contentElement, anchorElement } = menu.getState();
12433
12459
  const [target] = event.composedPath();
12434
- if (!target)
12435
- return false;
12460
+ if (!target) return false;
12436
12461
  const activeElement = (_a = target.ownerDocument) == null ? void 0 : _a.activeElement;
12437
- if (anchorElement == null ? void 0 : anchorElement.contains(target))
12438
- return false;
12439
- if (contentElement == null ? void 0 : contentElement.contains(target))
12440
- return false;
12441
- if (activeElement && target.contains(activeElement))
12442
- return false;
12462
+ if (anchorElement == null ? void 0 : anchorElement.contains(target)) return false;
12463
+ if (contentElement == null ? void 0 : contentElement.contains(target)) return false;
12464
+ if (activeElement && target.contains(activeElement)) return false;
12443
12465
  return true;
12444
12466
  },
12445
12467
  children: disableAutoSeparatorManagement ? children : filterMenuSeparators(children)
@@ -13260,8 +13282,7 @@ var InputInlineSelect = ({
13260
13282
  "aria-expanded": menuVisible,
13261
13283
  css: inlineSelectBtn,
13262
13284
  onClick: () => {
13263
- if (!disabled2)
13264
- setMenuVisible((prev) => !prev);
13285
+ if (!disabled2) setMenuVisible((prev) => !prev);
13265
13286
  },
13266
13287
  disabled: disabled2,
13267
13288
  ...props,
@@ -14120,6 +14141,7 @@ var container = css40`
14120
14141
  --calendar-cell-size: 1.8rem;
14121
14142
  width: fit-content;
14122
14143
  max-width: 100%;
14144
+ margin: 0 auto;
14123
14145
  `;
14124
14146
  var header = css40`
14125
14147
  display: flex;
@@ -14865,6 +14887,7 @@ var ChipMultiline = css48`
14865
14887
  padding-inline: var(--spacing-sm);
14866
14888
  `;
14867
14889
  var ChipThemeAccentLight = css48`
14890
+ --outline-color: var(--accent-light);
14868
14891
  background: var(--accent-light);
14869
14892
  color: var(--typography-base);
14870
14893
 
@@ -14890,6 +14913,7 @@ var ChipThemeAccentLight = css48`
14890
14913
  }
14891
14914
  `;
14892
14915
  var ChipThemeAccentDark = css48`
14916
+ --outline-color: var(--accent-dark);
14893
14917
  background: var(--accent-dark);
14894
14918
  color: var(--white);
14895
14919
 
@@ -14911,6 +14935,7 @@ var ChipThemeAccentDark = css48`
14911
14935
  }
14912
14936
  `;
14913
14937
  var ChipAltThemeAccentLight = css48`
14938
+ --outline-color: var(--accent-alt-light);
14914
14939
  background: var(--accent-alt-light);
14915
14940
  color: var(--typography-base);
14916
14941
 
@@ -14936,6 +14961,7 @@ var ChipAltThemeAccentLight = css48`
14936
14961
  }
14937
14962
  `;
14938
14963
  var ChipAltThemeAccentDark = css48`
14964
+ --outline-color: var(--accent-alt-dark);
14939
14965
  background: var(--accent-alt-dark);
14940
14966
  color: var(--white);
14941
14967
 
@@ -14957,6 +14983,7 @@ var ChipAltThemeAccentDark = css48`
14957
14983
  }
14958
14984
  `;
14959
14985
  var ChipThemeNeutralLight = css48`
14986
+ --outline-color: var(--gray-300);
14960
14987
  background: var(--gray-100);
14961
14988
  color: var(--typography-base);
14962
14989
  :where([role='button']) {
@@ -14967,6 +14994,7 @@ var ChipThemeNeutralLight = css48`
14967
14994
  }
14968
14995
  `;
14969
14996
  var ChipThemeNeutralDark = css48`
14997
+ --outline-color: var(--gray-700);
14970
14998
  background: var(--gray-700);
14971
14999
  color: var(--white);
14972
15000
  :where([role='button']) {
@@ -14986,6 +15014,15 @@ var ChipActionButton = css48`
14986
15014
  border-radius: 0 var(--rounded-full) var(--rounded-full) 0;
14987
15015
  padding: 0;
14988
15016
  `;
15017
+ var ChipOutlined = css48`
15018
+ background: var(--white);
15019
+ color: var(--typography-light);
15020
+ box-shadow: inset 0 0 0 1px var(--outline-color);
15021
+
15022
+ > [role='separator'] {
15023
+ border-color: var(--outline-color);
15024
+ }
15025
+ `;
14989
15026
 
14990
15027
  // src/components/Chip/Chip.tsx
14991
15028
  import { Fragment as Fragment9, jsx as jsx61, jsxs as jsxs38 } from "@emotion/react/jsx-runtime";
@@ -15002,6 +15039,7 @@ var Chip = ({
15002
15039
  text,
15003
15040
  size = "sm",
15004
15041
  theme = "accent-light",
15042
+ variant = "solid",
15005
15043
  chipAction,
15006
15044
  as = "span",
15007
15045
  ...props
@@ -15012,14 +15050,26 @@ var Chip = ({
15012
15050
  md: ChipMedium
15013
15051
  };
15014
15052
  const ElementType = as;
15015
- return /* @__PURE__ */ jsxs38(ElementType, { css: [ChipContainer, chipSize[size], chipTheme[theme]], ...props, children: [
15016
- icon ? /* @__PURE__ */ jsxs38(Fragment9, { children: [
15017
- /* @__PURE__ */ jsx61("span", { role: "presentation", css: [ChipIcon], children: /* @__PURE__ */ jsx61(Icon, { icon, iconColor: "currentColor", size: "1rem" }) }),
15018
- /* @__PURE__ */ jsx61("span", { role: "separator", css: ChipSeparator })
15019
- ] }) : null,
15020
- /* @__PURE__ */ jsx61("span", { css: ChipText, children: text }),
15021
- chipAction
15022
- ] });
15053
+ return /* @__PURE__ */ jsxs38(
15054
+ ElementType,
15055
+ {
15056
+ css: [
15057
+ ChipContainer,
15058
+ chipSize[size],
15059
+ chipTheme[theme],
15060
+ variant === "outlined" ? ChipOutlined : void 0
15061
+ ],
15062
+ ...props,
15063
+ children: [
15064
+ icon ? /* @__PURE__ */ jsxs38(Fragment9, { children: [
15065
+ /* @__PURE__ */ jsx61("span", { role: "presentation", css: [ChipIcon], children: /* @__PURE__ */ jsx61(Icon, { icon, iconColor: "currentColor", size: "1rem" }) }),
15066
+ /* @__PURE__ */ jsx61("span", { role: "separator", css: ChipSeparator })
15067
+ ] }) : null,
15068
+ /* @__PURE__ */ jsx61("span", { css: ChipText, children: text }),
15069
+ chipAction
15070
+ ]
15071
+ }
15072
+ );
15023
15073
  };
15024
15074
  var DismissibleChipAction = ({ onDismiss, ...props }) => {
15025
15075
  return /* @__PURE__ */ jsx61(
@@ -15281,12 +15331,21 @@ var trigger = css53`
15281
15331
  var popover = css53`
15282
15332
  padding: var(--spacing-md);
15283
15333
  max-width: none;
15284
- gap: var(--spacing-md);
15285
- grid-template-columns: 0.8fr 1fr;
15286
- grid-template-rows: 1fr 1fr;
15334
+ container-type: inline-size;
15335
+ width: 100%;
15336
+ `;
15337
+ var popoverInnerContent = css53`
15338
+ display: grid;
15339
+ gap: var(--spacing-base);
15287
15340
 
15288
- [data-variant='date'] & {
15289
- grid-template-rows: 1fr;
15341
+ ${cq("360px")} {
15342
+ grid-template-columns: 0.8fr 1fr;
15343
+ grid-template-rows: 1fr 1fr;
15344
+ gap: var(--spacing-md);
15345
+
15346
+ [data-variant='date'] & {
15347
+ grid-template-rows: 1fr;
15348
+ }
15290
15349
  }
15291
15350
  `;
15292
15351
  var calendarSection = css53`
@@ -15305,6 +15364,15 @@ var timeSection = css53`
15305
15364
  var tzSection = css53`
15306
15365
  align-self: stretch;
15307
15366
  `;
15367
+ var datePart = css53`
15368
+ text-overflow: ellipsis;
15369
+ overflow: hidden;
15370
+ white-space: nowrap;
15371
+ `;
15372
+ var datePartButton = css53`
15373
+ // this allows the button to be as wide as the text
15374
+ min-width: 0;
15375
+ `;
15308
15376
 
15309
15377
  // src/components/DateTimePicker/DateTimePickerSummary.tsx
15310
15378
  import { jsx as jsx65, jsxs as jsxs40 } from "@emotion/react/jsx-runtime";
@@ -15342,10 +15410,10 @@ function DateTimePickerSummary({
15342
15410
  }
15343
15411
  }
15344
15412
  }
15345
- const datePart = (value == null ? void 0 : value.datetime) ? dateFormat.format(new Date(value.datetime)) : null;
15413
+ const datePart2 = (value == null ? void 0 : value.datetime) ? dateFormat.format(new Date(value.datetime)) : null;
15346
15414
  const timePart = (value == null ? void 0 : value.datetime) ? timeFormat.format(new Date(value.datetime)) : null;
15347
- return datePart ? /* @__PURE__ */ jsxs40("span", { children: [
15348
- /* @__PURE__ */ jsx65("em", { css: inputLabelFocal, children: datePart }),
15415
+ return datePart2 ? /* @__PURE__ */ jsxs40("span", { css: datePart, children: [
15416
+ /* @__PURE__ */ jsx65("em", { css: inputLabelFocal, children: datePart2 }),
15349
15417
  !!timePart && `, ${timePart}`,
15350
15418
  !!(value == null ? void 0 : value.timeZone) && timeZoneWasValid && ` in ${value == null ? void 0 : value.timeZone}`
15351
15419
  ] }) : /* @__PURE__ */ jsx65("span", { children: placeholder });
@@ -15531,7 +15599,7 @@ var DateTimePicker = ({
15531
15599
  PopoverDisclosure,
15532
15600
  {
15533
15601
  ...popover2,
15534
- css: inputLabel,
15602
+ css: datePartButton,
15535
15603
  as: Button,
15536
15604
  buttonType: "ghostUnimportant",
15537
15605
  disabled: disabled2,
@@ -15554,36 +15622,48 @@ var DateTimePicker = ({
15554
15622
  }
15555
15623
  ),
15556
15624
  /* @__PURE__ */ jsxs41(Popover2, { ...popover2, css: [Popover, popover], "aria-label": "Pick a date", children: [
15557
- /* @__PURE__ */ jsx66("div", { css: calendarSection, children: /* @__PURE__ */ jsx66(
15558
- Calendar,
15559
- {
15560
- value: draftDate == null ? void 0 : draftDate.toString(),
15561
- minValue: parsedMinVisible,
15562
- maxValue: parseMaxVisible,
15563
- timeZone: (draftTimeZone == null ? void 0 : draftTimeZone.value) || (parsedValue == null ? void 0 : parsedValue.timeZone) || getLocalTimeZone(),
15564
- onChange: handleDateChange,
15565
- "data-testid": `${testId}-calendar`
15566
- }
15567
- ) }),
15568
- variant !== "date" /* Date */ && /* @__PURE__ */ jsx66("div", { css: timeSection, children: /* @__PURE__ */ jsx66(
15569
- InputTime,
15570
- {
15571
- label: "Time",
15572
- value: draftTime == null ? void 0 : draftTime.toString(),
15573
- belowInputSlot: belowTimeInputSlot,
15574
- onChange: handleTimeChange
15575
- }
15576
- ) }),
15577
- /* @__PURE__ */ jsxs41("div", { css: tzSection, children: [
15578
- /* @__PURE__ */ jsx66(Label, { css: labelText, children: "Timezone" }),
15579
- /* @__PURE__ */ jsx66(
15580
- InputComboBox,
15625
+ /* @__PURE__ */ jsxs41("div", { css: popoverInnerContent, children: [
15626
+ /* @__PURE__ */ jsx66("div", { css: calendarSection, children: /* @__PURE__ */ jsx66(
15627
+ Calendar,
15581
15628
  {
15582
- value: draftTimeZone,
15583
- options: TIMEZONE_OPTIONS,
15584
- onChange: handleTimezoneChange
15629
+ value: draftDate == null ? void 0 : draftDate.toString(),
15630
+ minValue: parsedMinVisible,
15631
+ maxValue: parseMaxVisible,
15632
+ timeZone: (draftTimeZone == null ? void 0 : draftTimeZone.value) || (parsedValue == null ? void 0 : parsedValue.timeZone) || getLocalTimeZone(),
15633
+ onChange: handleDateChange,
15634
+ "data-testid": `${testId}-calendar`
15585
15635
  }
15586
- )
15636
+ ) }),
15637
+ variant !== "date" /* Date */ && /* @__PURE__ */ jsx66("div", { css: timeSection, children: /* @__PURE__ */ jsx66(
15638
+ InputTime,
15639
+ {
15640
+ label: "Time",
15641
+ value: draftTime == null ? void 0 : draftTime.toString(),
15642
+ belowInputSlot: belowTimeInputSlot,
15643
+ onChange: handleTimeChange
15644
+ }
15645
+ ) }),
15646
+ /* @__PURE__ */ jsxs41("div", { css: tzSection, children: [
15647
+ /* @__PURE__ */ jsx66(Label, { css: labelText, children: "Timezone" }),
15648
+ /* @__PURE__ */ jsx66(
15649
+ InputComboBox,
15650
+ {
15651
+ value: draftTimeZone,
15652
+ options: TIMEZONE_OPTIONS,
15653
+ onChange: handleTimezoneChange,
15654
+ menuPlacement: "auto",
15655
+ styles: {
15656
+ menu(base) {
15657
+ return {
15658
+ ...base,
15659
+ width: "fit-content",
15660
+ right: 0
15661
+ };
15662
+ }
15663
+ }
15664
+ }
15665
+ )
15666
+ ] })
15587
15667
  ] }),
15588
15668
  /* @__PURE__ */ jsxs41(HorizontalRhythm, { gap: "0", children: [
15589
15669
  /* @__PURE__ */ jsx66(Button, { buttonType: "secondary", onClick: handleSelectClick, children: "Select" }),
@@ -17234,40 +17314,407 @@ var JsonEditor = ({ defaultValue, onChange, jsonSchema, height, readOnly }) => {
17234
17314
  );
17235
17315
  };
17236
17316
 
17237
- // src/components/LimitsBar/LimitsBar.styles.ts
17317
+ // src/components/KeyValueInput/KeyValueInput.tsx
17318
+ import {
17319
+ closestCenter,
17320
+ DndContext,
17321
+ KeyboardSensor,
17322
+ PointerSensor,
17323
+ useSensor,
17324
+ useSensors
17325
+ } from "@dnd-kit/core";
17326
+ import { restrictToParentElement } from "@dnd-kit/modifiers";
17327
+ import {
17328
+ arrayMove,
17329
+ SortableContext,
17330
+ sortableKeyboardCoordinates,
17331
+ useSortable,
17332
+ verticalListSortingStrategy
17333
+ } from "@dnd-kit/sortable";
17334
+ import { CSS } from "@dnd-kit/utilities";
17335
+ import { useCallback as useCallback7, useEffect as useEffect12, useMemo as useMemo5, useRef as useRef7, useState as useState12 } from "react";
17336
+
17337
+ // src/utils/useDebouncedCallback.ts
17338
+ import { useEffect as useEffect11, useMemo as useMemo4, useRef as useRef6 } from "react";
17339
+ function useDebouncedCallback(callback, deps, delay, maxWait = 0) {
17340
+ const timeout = useRef6();
17341
+ const waitTimeout = useRef6();
17342
+ const cb = useRef6(callback);
17343
+ const lastCall = useRef6();
17344
+ const clear = () => {
17345
+ if (timeout.current) {
17346
+ clearTimeout(timeout.current);
17347
+ timeout.current = void 0;
17348
+ }
17349
+ if (waitTimeout.current) {
17350
+ clearTimeout(waitTimeout.current);
17351
+ waitTimeout.current = void 0;
17352
+ }
17353
+ };
17354
+ useEffect11(() => {
17355
+ return () => clear();
17356
+ }, []);
17357
+ useEffect11(() => {
17358
+ cb.current = callback;
17359
+ }, deps);
17360
+ return useMemo4(() => {
17361
+ const execute = () => {
17362
+ clear();
17363
+ if (!lastCall.current) return;
17364
+ const context = lastCall.current;
17365
+ lastCall.current = void 0;
17366
+ cb.current.apply(context.this, context.args);
17367
+ };
17368
+ const wrapped = function(...args) {
17369
+ if (timeout.current) {
17370
+ clearTimeout(timeout.current);
17371
+ }
17372
+ lastCall.current = { args, this: this };
17373
+ timeout.current = setTimeout(execute, delay);
17374
+ if (maxWait > 0 && !waitTimeout.current) {
17375
+ waitTimeout.current = setTimeout(execute, maxWait);
17376
+ }
17377
+ };
17378
+ Object.defineProperties(wrapped, {
17379
+ length: { value: callback.length },
17380
+ name: { value: `${callback.name || "anonymous"}__debounced__${delay}` }
17381
+ });
17382
+ return wrapped;
17383
+ }, [delay, maxWait, ...deps]);
17384
+ }
17385
+
17386
+ // src/components/KeyValueInput/KeyValueInput.styles.ts
17238
17387
  import { css as css69 } from "@emotion/react";
17239
- var LimitsBarContainer = css69`
17388
+ var LabelStyles = css69`
17389
+ text-transform: uppercase;
17390
+ font-weight: var(--fw-medium);
17391
+ `;
17392
+ var SelectKeyValueRowStyles = css69`
17393
+ animation: var(--duration-fast) var(--timing-ease-out);
17394
+ align-items: flex-start;
17395
+ display: grid;
17396
+ grid-template-columns: repeat(2, 1fr) 1.5rem;
17397
+ gap: var(--spacing-sm);
17398
+ background-color: white;
17399
+ flex: 1;
17400
+ `;
17401
+ var DragHandle = css69`
17402
+ position: relative;
17403
+ height: 3.125rem;
17404
+ width: 1rem;
17405
+ cursor: grab;
17406
+ background: transparent;
17407
+ border: 0;
17408
+
17409
+ &::after {
17410
+ content: '';
17411
+ display: block;
17412
+ position: absolute;
17413
+ left: 2px;
17414
+ top: var(--spacing-xs);
17415
+ bottom: var(--spacing-xs);
17416
+ width: 5px;
17417
+ border: 2px dotted var(--gray-300);
17418
+ border-top: 0;
17419
+ border-bottom: 0;
17420
+ opacity: 1;
17421
+ }
17422
+ `;
17423
+ var DragHandleDisabled = css69`
17424
+ opacity: 0.3;
17425
+ pointer-events: none;
17426
+ `;
17427
+ var rowWrapper = css69`
17428
+ display: flex;
17429
+ background-color: white;
17430
+ border-radius: var(--rounded-sm);
17431
+ `;
17432
+
17433
+ // src/components/KeyValueInput/KeyValueInput.tsx
17434
+ import { jsx as jsx90, jsxs as jsxs57 } from "@emotion/react/jsx-runtime";
17435
+ var initialSelectOptionValue = { key: "", value: "" };
17436
+ var generateItemId = (item, index) => item.uniqueId || item.value || item.key || `$index-${index}`;
17437
+ var KeyValueInput = ({
17438
+ value,
17439
+ onChange,
17440
+ label = "Options",
17441
+ newItemDefault = initialSelectOptionValue,
17442
+ keyLabel = "Text",
17443
+ valueLabel = "Value",
17444
+ keyInfoPopover,
17445
+ valueInfoPopover,
17446
+ disabled: disabled2,
17447
+ errors,
17448
+ onFocusChange
17449
+ }) => {
17450
+ const [isDragging, setIsDragging] = useState12(false);
17451
+ const popoverStoresMap = useRef7({});
17452
+ const lastRowFirstInputRef = useRef7(null);
17453
+ const sensors = useSensors(
17454
+ useSensor(PointerSensor),
17455
+ useSensor(KeyboardSensor, {
17456
+ coordinateGetter: sortableKeyboardCoordinates
17457
+ })
17458
+ );
17459
+ const valueWithIds = useMemo5(() => {
17460
+ return value.map((item, index) => ({ ...item, id: generateItemId(item, index) }));
17461
+ }, [value]);
17462
+ const handleAddOptionRow = useCallback7(() => {
17463
+ onChange([...value, newItemDefault]);
17464
+ }, [onChange, value, newItemDefault]);
17465
+ const handleDeleteOptionRow = useCallback7(
17466
+ (deleteIndex) => {
17467
+ const updatedOptions = value.filter((_, index) => index !== deleteIndex);
17468
+ onChange(updatedOptions);
17469
+ },
17470
+ [value, onChange]
17471
+ );
17472
+ const handleFocusChange = useDebouncedCallback(
17473
+ (isFocused) => {
17474
+ onFocusChange == null ? void 0 : onFocusChange(isFocused);
17475
+ },
17476
+ [onFocusChange],
17477
+ 300
17478
+ );
17479
+ const handleUpdateOptionRow = useCallback7(
17480
+ (rowIndex, rowValue) => {
17481
+ onChange(
17482
+ value.map((item, index) => {
17483
+ if (index === rowIndex) {
17484
+ return rowValue;
17485
+ }
17486
+ return item;
17487
+ })
17488
+ );
17489
+ },
17490
+ [onChange, value]
17491
+ );
17492
+ const handleDragEnd = useCallback7(
17493
+ (e) => {
17494
+ setIsDragging(false);
17495
+ const { active: active2, over } = e;
17496
+ if (!(over == null ? void 0 : over.id) || active2.id === over.id) {
17497
+ return;
17498
+ }
17499
+ const activeIndex = valueWithIds.findIndex(({ id }) => id === active2.id);
17500
+ const overIndex = valueWithIds.findIndex(({ id }) => id === over.id);
17501
+ onChange(arrayMove(value, activeIndex, overIndex));
17502
+ },
17503
+ [value, valueWithIds, onChange, setIsDragging]
17504
+ );
17505
+ const handleDragStart = useCallback7(() => {
17506
+ Object.values(popoverStoresMap.current).forEach((store) => {
17507
+ store.hide();
17508
+ });
17509
+ setIsDragging(true);
17510
+ }, [setIsDragging]);
17511
+ const handleDragCancel = useCallback7(() => {
17512
+ setIsDragging(false);
17513
+ }, [setIsDragging]);
17514
+ useEffect12(() => {
17515
+ if (lastRowFirstInputRef.current && value.length > 1) {
17516
+ lastRowFirstInputRef.current.focus();
17517
+ }
17518
+ }, [value.length]);
17519
+ return /* @__PURE__ */ jsxs57(VerticalRhythm, { gap: "xs", children: [
17520
+ /* @__PURE__ */ jsx90(HorizontalRhythm, { align: "center", justify: "space-between", css: { marginBottom: "var(--spacing-xs)" }, children: /* @__PURE__ */ jsx90("span", { css: LabelStyles, children: label }) }),
17521
+ /* @__PURE__ */ jsxs57("div", { css: [SelectKeyValueRowStyles, { paddingLeft: "var(--spacing-base)" }], children: [
17522
+ /* @__PURE__ */ jsxs57(HorizontalRhythm, { align: "center", gap: "xs", children: [
17523
+ /* @__PURE__ */ jsx90("span", { children: keyLabel }),
17524
+ !keyInfoPopover ? null : /* @__PURE__ */ jsx90(
17525
+ Popover3,
17526
+ {
17527
+ buttonText: `${keyLabel} info`,
17528
+ iconColor: "gray",
17529
+ placement: "bottom-start",
17530
+ onInit: ({ store }) => popoverStoresMap.current.label = store,
17531
+ children: keyInfoPopover
17532
+ }
17533
+ )
17534
+ ] }),
17535
+ /* @__PURE__ */ jsxs57(HorizontalRhythm, { align: "center", gap: "xs", children: [
17536
+ /* @__PURE__ */ jsx90("span", { children: valueLabel }),
17537
+ !valueInfoPopover ? null : /* @__PURE__ */ jsx90(
17538
+ Popover3,
17539
+ {
17540
+ buttonText: `${valueLabel} info`,
17541
+ iconColor: "gray",
17542
+ placement: "bottom-start",
17543
+ onInit: ({ store }) => popoverStoresMap.current.value = store,
17544
+ children: valueInfoPopover
17545
+ }
17546
+ )
17547
+ ] })
17548
+ ] }),
17549
+ /* @__PURE__ */ jsx90(VerticalRhythm, { gap: "sm", children: /* @__PURE__ */ jsx90(
17550
+ DndContext,
17551
+ {
17552
+ sensors,
17553
+ collisionDetection: closestCenter,
17554
+ onDragEnd: handleDragEnd,
17555
+ onDragStart: handleDragStart,
17556
+ onDragCancel: handleDragCancel,
17557
+ modifiers: [restrictToParentElement],
17558
+ children: /* @__PURE__ */ jsx90(SortableContext, { items: valueWithIds, strategy: verticalListSortingStrategy, children: valueWithIds.map(({ id, ...item }, index) => /* @__PURE__ */ jsx90(
17559
+ KeyValueInputItem,
17560
+ {
17561
+ id,
17562
+ firstInputRef: index === value.length - 1 ? lastRowFirstInputRef : null,
17563
+ value: item,
17564
+ keyLabel: `${keyLabel}, row ${index}`,
17565
+ valueLabel: `${valueLabel}, row ${index}`,
17566
+ disabled: disabled2,
17567
+ disabledDelete: value.length <= 1,
17568
+ disabledDnd: value.length === 1,
17569
+ error: errors == null ? void 0 : errors[index],
17570
+ onChange: (itemValue) => handleUpdateOptionRow(index, itemValue),
17571
+ onDelete: () => handleDeleteOptionRow(index),
17572
+ onFocusChange: handleFocusChange,
17573
+ "data-testid": "key-value-input-item"
17574
+ },
17575
+ isDragging ? id : index
17576
+ )) })
17577
+ }
17578
+ ) }),
17579
+ /* @__PURE__ */ jsxs57(
17580
+ Button,
17581
+ {
17582
+ "data-testid": "add-input-row-action",
17583
+ buttonType: "secondaryInvert",
17584
+ size: "xs",
17585
+ onClick: handleAddOptionRow,
17586
+ disabled: disabled2,
17587
+ css: { marginTop: "var(--spacing-base)" },
17588
+ children: [
17589
+ /* @__PURE__ */ jsx90(Icon, { icon: "math-plus", iconColor: "currentColor", size: "0.85rem" }),
17590
+ " Add option"
17591
+ ]
17592
+ }
17593
+ )
17594
+ ] });
17595
+ };
17596
+ var KeyValueInputItem = ({
17597
+ id,
17598
+ firstInputRef,
17599
+ keyLabel,
17600
+ value,
17601
+ valueLabel,
17602
+ disabled: disabled2,
17603
+ onChange,
17604
+ onDelete,
17605
+ error,
17606
+ onFocusChange,
17607
+ disabledDelete = false,
17608
+ disabledDnd = false
17609
+ }) => {
17610
+ const { attributes, listeners, setNodeRef, transform, transition, setActivatorNodeRef, isSorting } = useSortable({
17611
+ id,
17612
+ disabled: disabledDnd
17613
+ });
17614
+ const style = {
17615
+ transform: CSS.Transform.toString(transform),
17616
+ transition
17617
+ };
17618
+ return /* @__PURE__ */ jsxs57("div", { css: rowWrapper, ref: setNodeRef, style, children: [
17619
+ /* @__PURE__ */ jsx90(
17620
+ "button",
17621
+ {
17622
+ type: "button",
17623
+ css: [DragHandle, disabledDnd ? DragHandleDisabled : null],
17624
+ ref: setActivatorNodeRef,
17625
+ ...attributes,
17626
+ ...listeners
17627
+ }
17628
+ ),
17629
+ /* @__PURE__ */ jsxs57("div", { css: SelectKeyValueRowStyles, "data-testid": "key-value-input-item", children: [
17630
+ /* @__PURE__ */ jsx90(
17631
+ Input,
17632
+ {
17633
+ ref: firstInputRef,
17634
+ label: keyLabel,
17635
+ showLabel: false,
17636
+ disabled: disabled2,
17637
+ onChange: (e) => {
17638
+ const hasStoredValue = value.value !== value.key;
17639
+ onChange == null ? void 0 : onChange({
17640
+ key: e.currentTarget.value,
17641
+ value: hasStoredValue ? value.value : e.currentTarget.value
17642
+ });
17643
+ },
17644
+ onBlur: () => onFocusChange == null ? void 0 : onFocusChange(false),
17645
+ onFocus: () => onFocusChange == null ? void 0 : onFocusChange(true),
17646
+ value: value.key,
17647
+ errorMessage: isSorting ? void 0 : error == null ? void 0 : error.key,
17648
+ "data-testid": "key"
17649
+ }
17650
+ ),
17651
+ /* @__PURE__ */ jsx90(
17652
+ Input,
17653
+ {
17654
+ label: valueLabel,
17655
+ showLabel: false,
17656
+ disabled: disabled2,
17657
+ onChange: (e) => onChange == null ? void 0 : onChange({
17658
+ key: value.key,
17659
+ value: e.currentTarget.value
17660
+ }),
17661
+ onBlur: () => onFocusChange == null ? void 0 : onFocusChange(false),
17662
+ onFocus: () => onFocusChange == null ? void 0 : onFocusChange(true),
17663
+ value: value.value,
17664
+ errorMessage: isSorting ? void 0 : error == null ? void 0 : error.value,
17665
+ "data-testid": "value"
17666
+ }
17667
+ ),
17668
+ /* @__PURE__ */ jsx90("div", { css: { marginTop: "1rem" }, children: /* @__PURE__ */ jsx90(
17669
+ Button,
17670
+ {
17671
+ type: "button",
17672
+ buttonType: "ghostDestructive",
17673
+ "data-testid": "delete-row",
17674
+ onClick: onDelete,
17675
+ disabled: disabled2 || disabledDelete,
17676
+ size: "zero",
17677
+ children: /* @__PURE__ */ jsx90(Icon, { icon: "trash", size: 16, iconColor: "currentColor" })
17678
+ }
17679
+ ) })
17680
+ ] })
17681
+ ] });
17682
+ };
17683
+
17684
+ // src/components/LimitsBar/LimitsBar.styles.ts
17685
+ import { css as css70 } from "@emotion/react";
17686
+ var LimitsBarContainer = css70`
17240
17687
  margin-block: var(--spacing-sm);
17241
17688
  `;
17242
- var LimitsBarProgressBar = css69`
17689
+ var LimitsBarProgressBar = css70`
17243
17690
  background: var(--gray-100);
17244
17691
  margin-top: var(--spacing-sm);
17245
17692
  position: relative;
17246
17693
  overflow: hidden;
17247
17694
  height: 0.25rem;
17248
17695
  `;
17249
- var LimitsBarProgressBarLine = css69`
17696
+ var LimitsBarProgressBarLine = css70`
17250
17697
  position: absolute;
17251
17698
  inset: 0;
17252
17699
  transition: transform var(--duration-fast) var(--timing-ease-out);
17253
17700
  `;
17254
- var LimitsBarLabelContainer = css69`
17701
+ var LimitsBarLabelContainer = css70`
17255
17702
  display: flex;
17256
17703
  justify-content: space-between;
17257
17704
  font-weight: var(--fw-bold);
17258
17705
  `;
17259
- var LimitsBarLabel = css69`
17706
+ var LimitsBarLabel = css70`
17260
17707
  font-size: var(--fs-baase);
17261
17708
  `;
17262
- var LimitsBarBgColor = (statusColor) => css69`
17709
+ var LimitsBarBgColor = (statusColor) => css70`
17263
17710
  background: ${statusColor};
17264
17711
  `;
17265
- var LimitsBarTextColor = (statusColor) => css69`
17712
+ var LimitsBarTextColor = (statusColor) => css70`
17266
17713
  color: ${statusColor};
17267
17714
  `;
17268
17715
 
17269
17716
  // src/components/LimitsBar/LimitsBar.tsx
17270
- import { jsx as jsx90, jsxs as jsxs57 } from "@emotion/react/jsx-runtime";
17717
+ import { jsx as jsx91, jsxs as jsxs58 } from "@emotion/react/jsx-runtime";
17271
17718
  var LimitsBar = ({ current, max, label }) => {
17272
17719
  const maxPercentage = 100;
17273
17720
  const progressBarValue = Math.ceil(current / max * maxPercentage);
@@ -17278,16 +17725,16 @@ var LimitsBar = ({ current, max, label }) => {
17278
17725
  danger: "var(--brand-secondary-5)"
17279
17726
  };
17280
17727
  const statusColor = progressBarValue === 100 ? colorMap.danger : progressBarValue >= 75 ? colorMap.warn : colorMap.base;
17281
- return /* @__PURE__ */ jsxs57("div", { css: LimitsBarContainer, children: [
17282
- /* @__PURE__ */ jsxs57("div", { css: LimitsBarLabelContainer, children: [
17283
- /* @__PURE__ */ jsx90("span", { css: LimitsBarLabel, children: label }),
17284
- /* @__PURE__ */ jsxs57("span", { css: [LimitsBarLabel, LimitsBarTextColor(statusColor)], children: [
17728
+ return /* @__PURE__ */ jsxs58("div", { css: LimitsBarContainer, children: [
17729
+ /* @__PURE__ */ jsxs58("div", { css: LimitsBarLabelContainer, children: [
17730
+ /* @__PURE__ */ jsx91("span", { css: LimitsBarLabel, children: label }),
17731
+ /* @__PURE__ */ jsxs58("span", { css: [LimitsBarLabel, LimitsBarTextColor(statusColor)], children: [
17285
17732
  current,
17286
17733
  " of ",
17287
17734
  max
17288
17735
  ] })
17289
17736
  ] }),
17290
- /* @__PURE__ */ jsx90(
17737
+ /* @__PURE__ */ jsx91(
17291
17738
  "div",
17292
17739
  {
17293
17740
  role: "progressbar",
@@ -17296,7 +17743,7 @@ var LimitsBar = ({ current, max, label }) => {
17296
17743
  "aria-valuemax": max,
17297
17744
  "aria-valuetext": `${current} of ${max}`,
17298
17745
  css: LimitsBarProgressBar,
17299
- children: /* @__PURE__ */ jsx90(
17746
+ children: /* @__PURE__ */ jsx91(
17300
17747
  "span",
17301
17748
  {
17302
17749
  role: "presentation",
@@ -17312,8 +17759,8 @@ var LimitsBar = ({ current, max, label }) => {
17312
17759
  };
17313
17760
 
17314
17761
  // src/components/LinkList/LinkList.styles.ts
17315
- import { css as css70 } from "@emotion/react";
17316
- var LinkListContainer = (padding) => css70`
17762
+ import { css as css71 } from "@emotion/react";
17763
+ var LinkListContainer = (padding) => css71`
17317
17764
  padding: ${padding};
17318
17765
 
17319
17766
  ${mq("sm")} {
@@ -17321,30 +17768,30 @@ var LinkListContainer = (padding) => css70`
17321
17768
  grid-row: 1 / last-line;
17322
17769
  }
17323
17770
  `;
17324
- var LinkListTitle = css70`
17771
+ var LinkListTitle = css71`
17325
17772
  font-weight: var(--fw-bold);
17326
17773
  font-size: var(--fs-sm);
17327
17774
  text-transform: uppercase;
17328
17775
  `;
17329
17776
 
17330
17777
  // src/components/LinkList/LinkList.tsx
17331
- import { jsx as jsx91, jsxs as jsxs58 } from "@emotion/react/jsx-runtime";
17778
+ import { jsx as jsx92, jsxs as jsxs59 } from "@emotion/react/jsx-runtime";
17332
17779
  var LinkList = ({ title: title2, padding = "var(--spacing-md)", children, ...props }) => {
17333
- return /* @__PURE__ */ jsxs58("div", { css: LinkListContainer(padding), ...props, children: [
17334
- /* @__PURE__ */ jsx91(Heading2, { level: 3, css: LinkListTitle, children: title2 }),
17780
+ return /* @__PURE__ */ jsxs59("div", { css: LinkListContainer(padding), ...props, children: [
17781
+ /* @__PURE__ */ jsx92(Heading2, { level: 3, css: LinkListTitle, children: title2 }),
17335
17782
  children
17336
17783
  ] });
17337
17784
  };
17338
17785
 
17339
17786
  // src/components/List/ScrollableList.tsx
17340
- import { css as css72 } from "@emotion/react";
17787
+ import { css as css73 } from "@emotion/react";
17341
17788
 
17342
17789
  // src/components/List/styles/ScrollableList.styles.ts
17343
- import { css as css71 } from "@emotion/react";
17344
- var ScrollableListContainer = css71`
17790
+ import { css as css72 } from "@emotion/react";
17791
+ var ScrollableListContainer = css72`
17345
17792
  position: relative;
17346
17793
  `;
17347
- var ScrollableListInner = css71`
17794
+ var ScrollableListInner = css72`
17348
17795
  background: var(--gray-50);
17349
17796
  border-top: 1px solid var(--gray-200);
17350
17797
  border-bottom: 1px solid var(--gray-200);
@@ -17367,19 +17814,19 @@ var ScrollableListInner = css71`
17367
17814
  `;
17368
17815
 
17369
17816
  // src/components/List/ScrollableList.tsx
17370
- import { jsx as jsx92, jsxs as jsxs59 } from "@emotion/react/jsx-runtime";
17817
+ import { jsx as jsx93, jsxs as jsxs60 } from "@emotion/react/jsx-runtime";
17371
17818
  var ScrollableList = ({ label, children, ...props }) => {
17372
- return /* @__PURE__ */ jsxs59("div", { css: [ScrollableListContainer, scrollbarStyles], ...props, children: [
17373
- label ? /* @__PURE__ */ jsx92(
17819
+ return /* @__PURE__ */ jsxs60("div", { css: [ScrollableListContainer, scrollbarStyles], ...props, children: [
17820
+ label ? /* @__PURE__ */ jsx93(
17374
17821
  "span",
17375
17822
  {
17376
- css: css72`
17823
+ css: css73`
17377
17824
  ${labelText}
17378
17825
  `,
17379
17826
  children: label
17380
17827
  }
17381
17828
  ) : null,
17382
- /* @__PURE__ */ jsx92("div", { css: [ScrollableListInner, scrollbarStyles], children })
17829
+ /* @__PURE__ */ jsx93("div", { css: [ScrollableListInner, scrollbarStyles], children })
17383
17830
  ] });
17384
17831
  };
17385
17832
 
@@ -17387,8 +17834,8 @@ var ScrollableList = ({ label, children, ...props }) => {
17387
17834
  import { CgCheck as CgCheck3 } from "@react-icons/all-files/cg/CgCheck";
17388
17835
 
17389
17836
  // src/components/List/styles/ScrollableListItem.styles.ts
17390
- import { css as css73 } from "@emotion/react";
17391
- var ScrollableListItemContainer = css73`
17837
+ import { css as css74 } from "@emotion/react";
17838
+ var ScrollableListItemContainer = css74`
17392
17839
  align-items: center;
17393
17840
  background: var(--white);
17394
17841
  border-radius: var(--rounded-base);
@@ -17397,13 +17844,13 @@ var ScrollableListItemContainer = css73`
17397
17844
  min-height: 52px;
17398
17845
  transition: border-color var(--duration-fast) var(--timing-ease-out);
17399
17846
  `;
17400
- var ScrollableListItemShadow = css73`
17847
+ var ScrollableListItemShadow = css74`
17401
17848
  box-shadow: var(--shadow-base);
17402
17849
  `;
17403
- var ScrollableListItemActive = css73`
17850
+ var ScrollableListItemActive = css74`
17404
17851
  border-color: var(--brand-secondary-3);
17405
17852
  `;
17406
- var ScrollableListItemBtn = css73`
17853
+ var ScrollableListItemBtn = css74`
17407
17854
  align-items: center;
17408
17855
  border: none;
17409
17856
  background: transparent;
@@ -17418,27 +17865,27 @@ var ScrollableListItemBtn = css73`
17418
17865
  outline: none;
17419
17866
  }
17420
17867
  `;
17421
- var ScrollableListInputLabel = css73`
17868
+ var ScrollableListInputLabel = css74`
17422
17869
  align-items: center;
17423
17870
  cursor: pointer;
17424
17871
  display: flex;
17425
17872
  padding: var(--spacing-xs) var(--spacing-base) var(--spacing-xs);
17426
17873
  flex-grow: 1;
17427
17874
  `;
17428
- var ScrollableListInputText = css73`
17875
+ var ScrollableListInputText = css74`
17429
17876
  align-items: center;
17430
17877
  display: flex;
17431
17878
  gap: var(--spacing-sm);
17432
17879
  flex-grow: 1;
17433
17880
  flex-wrap: wrap;
17434
17881
  `;
17435
- var ScrollableListHiddenInput = css73`
17882
+ var ScrollableListHiddenInput = css74`
17436
17883
  position: absolute;
17437
17884
  height: 0;
17438
17885
  width: 0;
17439
17886
  opacity: 0;
17440
17887
  `;
17441
- var ScrollableListIcon = css73`
17888
+ var ScrollableListIcon = css74`
17442
17889
  border-radius: var(--rounded-full);
17443
17890
  background: var(--brand-secondary-3);
17444
17891
  color: var(--white);
@@ -17446,12 +17893,12 @@ var ScrollableListIcon = css73`
17446
17893
  min-width: 24px;
17447
17894
  opacity: 0;
17448
17895
  `;
17449
- var ScrollableListIconVisible = css73`
17896
+ var ScrollableListIconVisible = css74`
17450
17897
  animation: ${fadeInBottom} var(--duration-fast) var(--timing-ease-out) forwards;
17451
17898
  `;
17452
17899
 
17453
17900
  // src/components/List/ScrollableListInputItem.tsx
17454
- import { jsx as jsx93, jsxs as jsxs60 } from "@emotion/react/jsx-runtime";
17901
+ import { jsx as jsx94, jsxs as jsxs61 } from "@emotion/react/jsx-runtime";
17455
17902
  var ScrollableListInputItem = ({
17456
17903
  label,
17457
17904
  icon,
@@ -17461,7 +17908,7 @@ var ScrollableListInputItem = ({
17461
17908
  labelTestId,
17462
17909
  ...props
17463
17910
  }) => {
17464
- return /* @__PURE__ */ jsx93(
17911
+ return /* @__PURE__ */ jsx94(
17465
17912
  "div",
17466
17913
  {
17467
17914
  css: [
@@ -17470,13 +17917,13 @@ var ScrollableListInputItem = ({
17470
17917
  active2 ? ScrollableListItemActive : void 0
17471
17918
  ],
17472
17919
  ...props,
17473
- children: /* @__PURE__ */ jsxs60("label", { "data-testid": labelTestId, css: ScrollableListInputLabel, children: [
17474
- /* @__PURE__ */ jsxs60("span", { css: ScrollableListInputText, children: [
17920
+ children: /* @__PURE__ */ jsxs61("label", { "data-testid": labelTestId, css: ScrollableListInputLabel, children: [
17921
+ /* @__PURE__ */ jsxs61("span", { css: ScrollableListInputText, children: [
17475
17922
  icon,
17476
17923
  label
17477
17924
  ] }),
17478
- /* @__PURE__ */ jsx93("div", { css: ScrollableListHiddenInput, children }),
17479
- /* @__PURE__ */ jsx93(
17925
+ /* @__PURE__ */ jsx94("div", { css: ScrollableListHiddenInput, children }),
17926
+ /* @__PURE__ */ jsx94(
17480
17927
  Icon,
17481
17928
  {
17482
17929
  icon: CgCheck3,
@@ -17494,7 +17941,7 @@ var ScrollableListInputItem = ({
17494
17941
 
17495
17942
  // src/components/List/ScrollableListItem.tsx
17496
17943
  import { CgCheck as CgCheck4 } from "@react-icons/all-files/cg/CgCheck";
17497
- import { jsx as jsx94, jsxs as jsxs61 } from "@emotion/react/jsx-runtime";
17944
+ import { jsx as jsx95, jsxs as jsxs62 } from "@emotion/react/jsx-runtime";
17498
17945
  var ScrollableListItem = ({
17499
17946
  buttonText,
17500
17947
  icon,
@@ -17502,7 +17949,7 @@ var ScrollableListItem = ({
17502
17949
  disableShadow,
17503
17950
  ...props
17504
17951
  }) => {
17505
- return /* @__PURE__ */ jsx94(
17952
+ return /* @__PURE__ */ jsx95(
17506
17953
  "div",
17507
17954
  {
17508
17955
  css: [
@@ -17510,12 +17957,12 @@ var ScrollableListItem = ({
17510
17957
  disableShadow ? void 0 : ScrollableListItemShadow,
17511
17958
  active2 ? ScrollableListItemActive : void 0
17512
17959
  ],
17513
- children: /* @__PURE__ */ jsxs61("button", { css: ScrollableListItemBtn, type: "button", ...props, children: [
17514
- /* @__PURE__ */ jsxs61(HorizontalRhythm, { gap: "xs", align: "center", children: [
17960
+ children: /* @__PURE__ */ jsxs62("button", { css: ScrollableListItemBtn, type: "button", ...props, children: [
17961
+ /* @__PURE__ */ jsxs62(HorizontalRhythm, { gap: "xs", align: "center", children: [
17515
17962
  icon,
17516
- /* @__PURE__ */ jsx94("span", { children: buttonText })
17963
+ /* @__PURE__ */ jsx95("span", { children: buttonText })
17517
17964
  ] }),
17518
- /* @__PURE__ */ jsx94(
17965
+ /* @__PURE__ */ jsx95(
17519
17966
  Icon,
17520
17967
  {
17521
17968
  icon: CgCheck4,
@@ -17530,7 +17977,7 @@ var ScrollableListItem = ({
17530
17977
  };
17531
17978
 
17532
17979
  // src/components/LoadingIndicator/LoadingIndicator.styles.ts
17533
- import { css as css74, keyframes as keyframes3 } from "@emotion/react";
17980
+ import { css as css75, keyframes as keyframes3 } from "@emotion/react";
17534
17981
  function bounceFade(size) {
17535
17982
  const bounceHeight = size === "lg" ? 10 : 5;
17536
17983
  return keyframes3`
@@ -17551,13 +17998,13 @@ function bounceFade(size) {
17551
17998
  }
17552
17999
  `;
17553
18000
  }
17554
- var loader = css74`
18001
+ var loader = css75`
17555
18002
  display: inline-flex;
17556
18003
  justify-content: center;
17557
18004
  `;
17558
18005
  function loadingDot(size) {
17559
18006
  const dotSize = size === "lg" ? 8 : 4;
17560
- return css74`
18007
+ return css75`
17561
18008
  background-color: var(--gray-700);
17562
18009
  display: block;
17563
18010
  border-radius: var(--rounded-full);
@@ -17582,25 +18029,25 @@ function loadingDot(size) {
17582
18029
  }
17583
18030
 
17584
18031
  // src/components/LoadingIndicator/LoadingIndicator.tsx
17585
- import { jsx as jsx95, jsxs as jsxs62 } from "@emotion/react/jsx-runtime";
18032
+ import { jsx as jsx96, jsxs as jsxs63 } from "@emotion/react/jsx-runtime";
17586
18033
  var LoadingIndicator = ({
17587
18034
  size = "lg",
17588
18035
  ...props
17589
18036
  }) => {
17590
18037
  const dotStyle = loadingDot(size);
17591
- return /* @__PURE__ */ jsxs62("div", { role: "alert", css: loader, "data-testid": "loading-indicator", ...props, children: [
17592
- /* @__PURE__ */ jsx95("span", { css: dotStyle }),
17593
- /* @__PURE__ */ jsx95("span", { css: dotStyle }),
17594
- /* @__PURE__ */ jsx95("span", { css: dotStyle })
18038
+ return /* @__PURE__ */ jsxs63("div", { role: "alert", css: loader, "data-testid": "loading-indicator", ...props, children: [
18039
+ /* @__PURE__ */ jsx96("span", { css: dotStyle }),
18040
+ /* @__PURE__ */ jsx96("span", { css: dotStyle }),
18041
+ /* @__PURE__ */ jsx96("span", { css: dotStyle })
17595
18042
  ] });
17596
18043
  };
17597
18044
 
17598
18045
  // src/components/LoadingOverlay/LoadingOverlay.tsx
17599
- import { useCallback as useCallback7, useEffect as useEffect11, useRef as useRef6 } from "react";
18046
+ import { useCallback as useCallback8, useEffect as useEffect13, useRef as useRef8 } from "react";
17600
18047
 
17601
18048
  // src/components/LoadingOverlay/LoadingOverlay.styles.ts
17602
- import { css as css75 } from "@emotion/react";
17603
- var loadingOverlayContainer = css75`
18049
+ import { css as css76 } from "@emotion/react";
18050
+ var loadingOverlayContainer = css76`
17604
18051
  position: absolute;
17605
18052
  inset: 0;
17606
18053
  overflow: hidden;
@@ -17608,30 +18055,30 @@ var loadingOverlayContainer = css75`
17608
18055
  padding: var(--spacing-xl);
17609
18056
  overflow-y: auto;
17610
18057
  `;
17611
- var loadingOverlayVisible = css75`
18058
+ var loadingOverlayVisible = css76`
17612
18059
  display: flex;
17613
18060
  `;
17614
- var loadingOverlayHidden = css75`
18061
+ var loadingOverlayHidden = css76`
17615
18062
  display: none;
17616
18063
  `;
17617
- var loadingOverlayBackground = (bgColor) => css75`
18064
+ var loadingOverlayBackground = (bgColor) => css76`
17618
18065
  background: ${bgColor};
17619
18066
  opacity: 0.92;
17620
18067
  position: absolute;
17621
18068
  inset: 0 0;
17622
18069
  `;
17623
- var loadingOverlayBody = css75`
18070
+ var loadingOverlayBody = css76`
17624
18071
  align-items: center;
17625
18072
  display: flex;
17626
18073
  flex-direction: column;
17627
18074
  `;
17628
- var loadingOverlayMessage = css75`
18075
+ var loadingOverlayMessage = css76`
17629
18076
  color: var(--gray-600);
17630
18077
  margin: var(--spacing-base) 0 0;
17631
18078
  `;
17632
18079
 
17633
18080
  // src/components/LoadingOverlay/LoadingOverlay.tsx
17634
- import { jsx as jsx96, jsxs as jsxs63 } from "@emotion/react/jsx-runtime";
18081
+ import { jsx as jsx97, jsxs as jsxs64 } from "@emotion/react/jsx-runtime";
17635
18082
  var LoadingOverlay = ({
17636
18083
  isActive,
17637
18084
  statusMessage,
@@ -17642,14 +18089,14 @@ var LoadingOverlay = ({
17642
18089
  isPaused = false,
17643
18090
  children
17644
18091
  }) => {
17645
- const lottieRef = useRef6(null);
17646
- const onLoopComplete = useCallback7(() => {
18092
+ const lottieRef = useRef8(null);
18093
+ const onLoopComplete = useCallback8(() => {
17647
18094
  var _a, _b, _c;
17648
18095
  if (isPaused && !((_b = (_a = lottieRef.current) == null ? void 0 : _a.animationItem) == null ? void 0 : _b.isPaused)) {
17649
18096
  (_c = lottieRef.current) == null ? void 0 : _c.stop();
17650
18097
  }
17651
18098
  }, [isPaused]);
17652
- useEffect11(() => {
18099
+ useEffect13(() => {
17653
18100
  var _a, _b, _c, _d, _e, _f;
17654
18101
  if (!isPaused && ((_b = (_a = lottieRef.current) == null ? void 0 : _a.animationItem) == null ? void 0 : _b.isPaused)) {
17655
18102
  (_c = lottieRef.current) == null ? void 0 : _c.play();
@@ -17657,7 +18104,7 @@ var LoadingOverlay = ({
17657
18104
  (_f = lottieRef.current) == null ? void 0 : _f.stop();
17658
18105
  }
17659
18106
  }, [isPaused]);
17660
- return /* @__PURE__ */ jsxs63(
18107
+ return /* @__PURE__ */ jsxs64(
17661
18108
  "div",
17662
18109
  {
17663
18110
  role: "alert",
@@ -17665,9 +18112,9 @@ var LoadingOverlay = ({
17665
18112
  "aria-hidden": !isActive,
17666
18113
  "aria-busy": isActive && !isPaused,
17667
18114
  children: [
17668
- /* @__PURE__ */ jsx96("div", { css: loadingOverlayBackground(overlayBackgroundColor) }),
17669
- /* @__PURE__ */ jsx96("div", { css: { position: "relative", maxWidth: "100%", margin: isTopAligned ? "0" : "auto" }, children: /* @__PURE__ */ jsxs63("div", { css: loadingOverlayBody, children: [
17670
- /* @__PURE__ */ jsx96(
18115
+ /* @__PURE__ */ jsx97("div", { css: loadingOverlayBackground(overlayBackgroundColor) }),
18116
+ /* @__PURE__ */ jsx97("div", { css: { position: "relative", maxWidth: "100%", margin: isTopAligned ? "0" : "auto" }, children: /* @__PURE__ */ jsxs64("div", { css: loadingOverlayBody, children: [
18117
+ /* @__PURE__ */ jsx97(
17671
18118
  AnimationFile,
17672
18119
  {
17673
18120
  lottieRef,
@@ -17682,15 +18129,15 @@ var LoadingOverlay = ({
17682
18129
  }
17683
18130
  }
17684
18131
  ),
17685
- statusMessage ? /* @__PURE__ */ jsx96("div", { css: loadingOverlayMessage, children: statusMessage }) : null,
17686
- /* @__PURE__ */ jsx96("div", { css: { width: "100%", marginTop: "var(--spacing-md)" }, children })
18132
+ statusMessage ? /* @__PURE__ */ jsx97("div", { css: loadingOverlayMessage, children: statusMessage }) : null,
18133
+ /* @__PURE__ */ jsx97("div", { css: { width: "100%", marginTop: "var(--spacing-md)" }, children })
17687
18134
  ] }) })
17688
18135
  ]
17689
18136
  }
17690
18137
  );
17691
18138
  };
17692
18139
  var LoadingIcon = ({ height, width, ...props }) => {
17693
- return /* @__PURE__ */ jsx96(
18140
+ return /* @__PURE__ */ jsx97(
17694
18141
  "svg",
17695
18142
  {
17696
18143
  viewBox: "0 0 38 38",
@@ -17700,9 +18147,9 @@ var LoadingIcon = ({ height, width, ...props }) => {
17700
18147
  stroke: "currentColor",
17701
18148
  ...props,
17702
18149
  "data-testid": "loading-icon",
17703
- children: /* @__PURE__ */ jsx96("g", { fill: "none", fillRule: "evenodd", children: /* @__PURE__ */ jsxs63("g", { transform: "translate(1 1)", strokeWidth: "2", children: [
17704
- /* @__PURE__ */ jsx96("circle", { strokeOpacity: ".25", cx: "18", cy: "18", r: "18" }),
17705
- /* @__PURE__ */ jsx96("path", { d: "M36 18c0-9.94-8.06-18-18-18", transform: "rotate(166.645 18 18)", children: /* @__PURE__ */ jsx96(
18150
+ children: /* @__PURE__ */ jsx97("g", { fill: "none", fillRule: "evenodd", children: /* @__PURE__ */ jsxs64("g", { transform: "translate(1 1)", strokeWidth: "2", children: [
18151
+ /* @__PURE__ */ jsx97("circle", { strokeOpacity: ".25", cx: "18", cy: "18", r: "18" }),
18152
+ /* @__PURE__ */ jsx97("path", { d: "M36 18c0-9.94-8.06-18-18-18", transform: "rotate(166.645 18 18)", children: /* @__PURE__ */ jsx97(
17706
18153
  "animateTransform",
17707
18154
  {
17708
18155
  attributeName: "transform",
@@ -17719,17 +18166,18 @@ var LoadingIcon = ({ height, width, ...props }) => {
17719
18166
  };
17720
18167
 
17721
18168
  // src/components/MediaCard/MediaCard.tsx
17722
- import { useCallback as useCallback8 } from "react";
18169
+ import { useCallback as useCallback9 } from "react";
17723
18170
 
17724
18171
  // src/components/Popover/Popover.tsx
17725
18172
  import {
17726
18173
  Popover as AriakitPopover,
17727
18174
  PopoverDisclosure as PopoverDisclosure2,
17728
18175
  PopoverProvider,
18176
+ usePopoverContext,
17729
18177
  usePopoverStore
17730
18178
  } from "@ariakit/react";
17731
- import { useEffect as useEffect12 } from "react";
17732
- import { Fragment as Fragment13, jsx as jsx97, jsxs as jsxs64 } from "@emotion/react/jsx-runtime";
18179
+ import { useEffect as useEffect14 } from "react";
18180
+ import { Fragment as Fragment13, jsx as jsx98, jsxs as jsxs65 } from "@emotion/react/jsx-runtime";
17733
18181
  var Popover3 = ({
17734
18182
  iconColor = "action",
17735
18183
  icon = "info",
@@ -17745,29 +18193,33 @@ var Popover3 = ({
17745
18193
  ...otherProps
17746
18194
  }) => {
17747
18195
  const popover2 = usePopoverStore({ placement });
17748
- useEffect12(() => {
18196
+ useEffect14(() => {
17749
18197
  onInit == null ? void 0 : onInit({ store: popover2 });
17750
18198
  }, [popover2]);
17751
- return /* @__PURE__ */ jsxs64(PopoverProvider, { store: popover2, children: [
17752
- /* @__PURE__ */ jsx97(
18199
+ return /* @__PURE__ */ jsxs65(PopoverProvider, { store: popover2, children: [
18200
+ /* @__PURE__ */ jsx98(
17753
18201
  PopoverDisclosure2,
17754
18202
  {
17755
18203
  css: [PopoverBtn, trigger2 ? void 0 : PopoverDefaulterTriggerBtn],
17756
18204
  title: buttonText,
17757
18205
  "data-testid": testId,
17758
- children: trigger2 ? trigger2 : /* @__PURE__ */ jsxs64(Fragment13, { children: [
17759
- /* @__PURE__ */ jsx97(Icon, { icon, iconColor, size: iconSize }),
17760
- /* @__PURE__ */ jsx97("span", { hidden: true, children: buttonText })
18206
+ children: trigger2 ? trigger2 : /* @__PURE__ */ jsxs65(Fragment13, { children: [
18207
+ /* @__PURE__ */ jsx98(Icon, { icon, iconColor, size: iconSize }),
18208
+ /* @__PURE__ */ jsx98("span", { hidden: true, children: buttonText })
17761
18209
  ] })
17762
18210
  }
17763
18211
  ),
17764
- /* @__PURE__ */ jsx97(AriakitPopover, { unmountOnHide: true, css: Popover, ...otherProps, "aria-label": ariaLabel, children })
18212
+ /* @__PURE__ */ jsx98(AriakitPopover, { unmountOnHide: true, css: Popover, ...otherProps, "aria-label": ariaLabel, children })
17765
18213
  ] });
17766
18214
  };
18215
+ var usePopoverComponentContext = () => {
18216
+ const contextValue = usePopoverContext();
18217
+ return contextValue;
18218
+ };
17767
18219
 
17768
18220
  // src/components/MediaCard/MediaCard.styles.ts
17769
- import { css as css76 } from "@emotion/react";
17770
- var cardBase = css76`
18221
+ import { css as css77 } from "@emotion/react";
18222
+ var cardBase = css77`
17771
18223
  --mediacard-title-color: var(--gray-500);
17772
18224
  display: flex;
17773
18225
  flex-direction: column;
@@ -17791,7 +18243,7 @@ var cardBase = css76`
17791
18243
  cursor: default;
17792
18244
  }
17793
18245
  `;
17794
- var coverWrapper = css76`
18246
+ var coverWrapper = css77`
17795
18247
  position: relative;
17796
18248
  display: flex;
17797
18249
  align-items: center;
@@ -17804,10 +18256,10 @@ var coverWrapper = css76`
17804
18256
  outline: none;
17805
18257
  border: 0;
17806
18258
  `;
17807
- var contentWrapper = css76`
18259
+ var contentWrapper = css77`
17808
18260
  padding: var(--spacing-sm);
17809
18261
  `;
17810
- var title = css76`
18262
+ var title = css77`
17811
18263
  font-size: var(--fs-sm);
17812
18264
  color: var(--mediacard-title-color);
17813
18265
  white-space: nowrap;
@@ -17822,7 +18274,7 @@ var title = css76`
17822
18274
  outline: 2px solid var(--primary-action-default);
17823
18275
  }
17824
18276
  `;
17825
- var subtitle = css76`
18277
+ var subtitle = css77`
17826
18278
  font-size: var(--fs-xs);
17827
18279
  color: var(--gray-500);
17828
18280
  white-space: nowrap;
@@ -17832,13 +18284,13 @@ var subtitle = css76`
17832
18284
  border: 0;
17833
18285
  background-color: transparent;
17834
18286
  `;
17835
- var sideSection = css76`
18287
+ var sideSection = css77`
17836
18288
  cursor: default;
17837
18289
  `;
17838
- var menuSection = css76`
18290
+ var menuSection = css77`
17839
18291
  cursor: default;
17840
18292
  `;
17841
- var menuButton = css76`
18293
+ var menuButton = css77`
17842
18294
  padding: var(--spacing-2xs);
17843
18295
  border-radius: var(--rounded-sm);
17844
18296
  border-width: 0;
@@ -17850,7 +18302,7 @@ var menuButton = css76`
17850
18302
  `;
17851
18303
 
17852
18304
  // src/components/MediaCard/MediaCard.tsx
17853
- import { jsx as jsx98, jsxs as jsxs65 } from "@emotion/react/jsx-runtime";
18305
+ import { jsx as jsx99, jsxs as jsxs66 } from "@emotion/react/jsx-runtime";
17854
18306
  var MediaCard = ({
17855
18307
  title: title2,
17856
18308
  subtitle: subtitle2,
@@ -17862,17 +18314,17 @@ var MediaCard = ({
17862
18314
  buttonType,
17863
18315
  ...cardProps
17864
18316
  }) => {
17865
- const onStopPropogation = useCallback8((e) => {
18317
+ const onStopPropogation = useCallback9((e) => {
17866
18318
  e.stopPropagation();
17867
18319
  }, []);
17868
18320
  const hasMenuItems = Array.isArray(menuItems) ? menuItems.length > 0 : Boolean(menuItems);
17869
- return /* @__PURE__ */ jsxs65(Card, { css: cardBase, ...cardProps, onClick, "data-testid": "card-item", children: [
17870
- /* @__PURE__ */ jsx98("button", { tabIndex: -1, css: coverWrapper, type: buttonType, children: cover }),
17871
- /* @__PURE__ */ jsx98("div", { css: contentWrapper, children: /* @__PURE__ */ jsxs65(HorizontalRhythm, { gap: "sm", justify: "space-between", align: "center", css: { width: "100%" }, children: [
17872
- /* @__PURE__ */ jsxs65(VerticalRhythm, { gap: "0", align: "flex-start", css: { flex: 1, minWidth: 0 }, children: [
17873
- /* @__PURE__ */ jsxs65(HorizontalRhythm, { gap: "xs", align: "center", css: { maxWidth: "100%" }, children: [
17874
- /* @__PURE__ */ jsx98("button", { css: title, "data-testid": "card-title", children: title2 }),
17875
- !infoPopover ? null : /* @__PURE__ */ jsx98("div", { css: { display: "flex", cursor: "default" }, onClick: onStopPropogation, children: /* @__PURE__ */ jsx98(
18321
+ return /* @__PURE__ */ jsxs66(Card, { css: cardBase, ...cardProps, onClick, "data-testid": "card-item", children: [
18322
+ /* @__PURE__ */ jsx99("button", { tabIndex: -1, css: coverWrapper, type: buttonType, children: cover }),
18323
+ /* @__PURE__ */ jsx99("div", { css: contentWrapper, children: /* @__PURE__ */ jsxs66(HorizontalRhythm, { gap: "sm", justify: "space-between", align: "center", css: { width: "100%" }, children: [
18324
+ /* @__PURE__ */ jsxs66(VerticalRhythm, { gap: "0", align: "flex-start", css: { flex: 1, minWidth: 0 }, children: [
18325
+ /* @__PURE__ */ jsxs66(HorizontalRhythm, { gap: "xs", align: "center", css: { maxWidth: "100%" }, children: [
18326
+ /* @__PURE__ */ jsx99("button", { css: title, "data-testid": "card-title", children: title2 }),
18327
+ !infoPopover ? null : /* @__PURE__ */ jsx99("div", { css: { display: "flex", cursor: "default" }, onClick: onStopPropogation, children: /* @__PURE__ */ jsx99(
17876
18328
  Popover3,
17877
18329
  {
17878
18330
  baseId: `info-of-${title2}`,
@@ -17881,31 +18333,31 @@ var MediaCard = ({
17881
18333
  iconColor: "default",
17882
18334
  tabIndex: 0,
17883
18335
  css: { display: "block", maxWidth: "20rem" },
17884
- children: /* @__PURE__ */ jsx98("div", { children: infoPopover })
18336
+ children: /* @__PURE__ */ jsx99("div", { children: infoPopover })
17885
18337
  }
17886
18338
  ) })
17887
18339
  ] }),
17888
- subtitle2 ? /* @__PURE__ */ jsx98("button", { tabIndex: -1, css: subtitle, children: subtitle2 }) : null
18340
+ subtitle2 ? /* @__PURE__ */ jsx99("button", { tabIndex: -1, css: subtitle, children: subtitle2 }) : null
17889
18341
  ] }),
17890
- sideSection2 ? /* @__PURE__ */ jsx98("div", { css: sideSection, onClick: onStopPropogation, children: sideSection2 }) : null,
17891
- hasMenuItems ? /* @__PURE__ */ jsx98(
18342
+ sideSection2 ? /* @__PURE__ */ jsx99("div", { css: sideSection, onClick: onStopPropogation, children: sideSection2 }) : null,
18343
+ hasMenuItems ? /* @__PURE__ */ jsx99(
17892
18344
  VerticalRhythm,
17893
18345
  {
17894
18346
  css: menuSection,
17895
18347
  align: "center",
17896
18348
  justify: "center",
17897
18349
  onClick: onStopPropogation,
17898
- children: /* @__PURE__ */ jsx98(
18350
+ children: /* @__PURE__ */ jsx99(
17899
18351
  Menu,
17900
18352
  {
17901
- menuTrigger: /* @__PURE__ */ jsx98(
18353
+ menuTrigger: /* @__PURE__ */ jsx99(
17902
18354
  "button",
17903
18355
  {
17904
18356
  type: "button",
17905
18357
  "aria-label": "More options",
17906
18358
  css: menuButton,
17907
18359
  "data-testid": "button-more",
17908
- children: /* @__PURE__ */ jsx98(Icon, { icon: "more-alt", iconColor: "gray", size: 16 })
18360
+ children: /* @__PURE__ */ jsx99(Icon, { icon: "more-alt", iconColor: "gray", size: 16 })
17909
18361
  }
17910
18362
  ),
17911
18363
  menuLabel: `Menu of ${title2}`,
@@ -17920,12 +18372,13 @@ var MediaCard = ({
17920
18372
  };
17921
18373
 
17922
18374
  // src/components/Modal/Modal.tsx
18375
+ import { PortalContext } from "@ariakit/react";
17923
18376
  import { CgClose as CgClose4 } from "@react-icons/all-files/cg/CgClose";
17924
- import React20, { useEffect as useEffect13, useRef as useRef7 } from "react";
18377
+ import React20, { useEffect as useEffect15, useRef as useRef9 } from "react";
17925
18378
 
17926
18379
  // src/components/Modal/Modal.styles.ts
17927
- import { css as css77 } from "@emotion/react";
17928
- var modalStyles = css77`
18380
+ import { css as css78 } from "@emotion/react";
18381
+ var modalStyles = css78`
17929
18382
  border: none;
17930
18383
  position: relative;
17931
18384
  max-width: calc(100% - var(--spacing-base) * 2);
@@ -17939,16 +18392,16 @@ var modalStyles = css77`
17939
18392
  opacity: 0.4;
17940
18393
  }
17941
18394
  `;
17942
- var modalSizeSmall = css77`
18395
+ var modalSizeSmall = css78`
17943
18396
  width: clamp(280px, 100vw, 400px);
17944
18397
  `;
17945
- var modalSizeMedium = css77`
18398
+ var modalSizeMedium = css78`
17946
18399
  width: clamp(280px, 100vw, 600px);
17947
18400
  `;
17948
- var modalSizeLarge = css77`
18401
+ var modalSizeLarge = css78`
17949
18402
  width: clamp(280px, 100vw, 800px);
17950
18403
  `;
17951
- var modalInnerStyles = css77`
18404
+ var modalInnerStyles = css78`
17952
18405
  position: relative;
17953
18406
  width: 100%;
17954
18407
  display: flex;
@@ -17961,7 +18414,7 @@ var modalInnerStyles = css77`
17961
18414
  box-shadow: var(--elevation-500);
17962
18415
  border-radius: var(--rounded-base);
17963
18416
  `;
17964
- var modalHeaderStyles = css77`
18417
+ var modalHeaderStyles = css78`
17965
18418
  display: flex;
17966
18419
  align-items: flex-start;
17967
18420
  gap: var(--spacing-base);
@@ -17969,10 +18422,10 @@ var modalHeaderStyles = css77`
17969
18422
  font-family: var(--ff-base);
17970
18423
  line-height: 1.2;
17971
18424
  `;
17972
- var modalHeaderHeaderStyles = css77`
18425
+ var modalHeaderHeaderStyles = css78`
17973
18426
  max-width: calc(100% - 3rem);
17974
18427
  `;
17975
- var modalCloseButtonStyles = css77`
18428
+ var modalCloseButtonStyles = css78`
17976
18429
  background: transparent;
17977
18430
  border: none;
17978
18431
  color: var(--gray-300);
@@ -17987,7 +18440,7 @@ var modalCloseButtonStyles = css77`
17987
18440
  color: var(--gray-400);
17988
18441
  }
17989
18442
  `;
17990
- var modalContentStyles = css77`
18443
+ var modalContentStyles = css78`
17991
18444
  position: relative;
17992
18445
  flex: 1;
17993
18446
  overflow: auto;
@@ -17996,10 +18449,10 @@ var modalContentStyles = css77`
17996
18449
  border-radius: var(--rounded-sm);
17997
18450
  ${scrollbarStyles}
17998
18451
  `;
17999
- var modalDialogWrapper = css77`
18452
+ var modalDialogWrapper = css78`
18000
18453
  padding: 0 var(--spacing-lg) var(--spacing-md);
18001
18454
  `;
18002
- var modalDialogInnerStyles = css77`
18455
+ var modalDialogInnerStyles = css78`
18003
18456
  // we need to override the gap of the modalInnerStyles when using a modal dialog
18004
18457
  > div {
18005
18458
  gap: 0;
@@ -18007,7 +18460,7 @@ var modalDialogInnerStyles = css77`
18007
18460
  `;
18008
18461
 
18009
18462
  // src/components/Modal/Modal.tsx
18010
- import { jsx as jsx99, jsxs as jsxs66 } from "@emotion/react/jsx-runtime";
18463
+ import { jsx as jsx100, jsxs as jsxs67 } from "@emotion/react/jsx-runtime";
18011
18464
  var defaultModalWidth = "75rem";
18012
18465
  var defaultModalHeight = "51rem";
18013
18466
  var Modal = React20.forwardRef(
@@ -18023,7 +18476,7 @@ var Modal = React20.forwardRef(
18023
18476
  withoutContentBackground = false,
18024
18477
  ...modalProps
18025
18478
  }, ref) => {
18026
- const dialogRef = useRef7(null);
18479
+ const dialogRef = useRef9(null);
18027
18480
  const size = {
18028
18481
  sm: modalSizeSmall,
18029
18482
  md: modalSizeMedium,
@@ -18035,7 +18488,7 @@ var Modal = React20.forwardRef(
18035
18488
  },
18036
18489
  shortcut: "escape"
18037
18490
  });
18038
- useEffect13(() => {
18491
+ useEffect15(() => {
18039
18492
  var _a;
18040
18493
  if (!document.contains(dialogRef.current)) {
18041
18494
  console.warn(
@@ -18049,7 +18502,7 @@ var Modal = React20.forwardRef(
18049
18502
  (_a2 = dialogRef.current) == null ? void 0 : _a2.close();
18050
18503
  };
18051
18504
  }, []);
18052
- return /* @__PURE__ */ jsx99(
18505
+ return /* @__PURE__ */ jsx100(
18053
18506
  "dialog",
18054
18507
  {
18055
18508
  ref: (element) => {
@@ -18071,15 +18524,15 @@ var Modal = React20.forwardRef(
18071
18524
  e.preventDefault();
18072
18525
  },
18073
18526
  ...modalProps,
18074
- children: /* @__PURE__ */ jsxs66(
18527
+ children: /* @__PURE__ */ jsx100(PortalContext.Provider, { value: dialogRef.current, children: /* @__PURE__ */ jsxs67(
18075
18528
  "div",
18076
18529
  {
18077
18530
  css: [modalInnerStyles, { height: height === "auto" ? "auto" : "100%" }],
18078
18531
  onClick: (e) => e.stopPropagation(),
18079
18532
  children: [
18080
- /* @__PURE__ */ jsxs66("div", { css: modalHeaderStyles, children: [
18081
- !header2 ? null : /* @__PURE__ */ jsx99("div", { css: modalHeaderHeaderStyles, children: header2 }),
18082
- /* @__PURE__ */ jsx99(
18533
+ /* @__PURE__ */ jsxs67("div", { css: modalHeaderStyles, children: [
18534
+ !header2 ? null : /* @__PURE__ */ jsx100("div", { css: modalHeaderHeaderStyles, children: header2 }),
18535
+ /* @__PURE__ */ jsx100(
18083
18536
  Button,
18084
18537
  {
18085
18538
  type: "button",
@@ -18088,11 +18541,11 @@ var Modal = React20.forwardRef(
18088
18541
  title: "Close dialog",
18089
18542
  buttonType: "ghost",
18090
18543
  "data-testid": "close-dialog",
18091
- children: /* @__PURE__ */ jsx99(Icon, { icon: CgClose4, iconColor: "currentColor", size: 24 })
18544
+ children: /* @__PURE__ */ jsx100(Icon, { icon: CgClose4, iconColor: "currentColor", size: 24 })
18092
18545
  }
18093
18546
  )
18094
18547
  ] }),
18095
- /* @__PURE__ */ jsx99(
18548
+ /* @__PURE__ */ jsx100(
18096
18549
  "div",
18097
18550
  {
18098
18551
  css: [
@@ -18103,10 +18556,10 @@ var Modal = React20.forwardRef(
18103
18556
  children
18104
18557
  }
18105
18558
  ),
18106
- buttonGroup ? /* @__PURE__ */ jsx99(HorizontalRhythm, { children: buttonGroup }) : null
18559
+ buttonGroup ? /* @__PURE__ */ jsx100(HorizontalRhythm, { children: buttonGroup }) : null
18107
18560
  ]
18108
18561
  }
18109
- )
18562
+ ) })
18110
18563
  }
18111
18564
  );
18112
18565
  }
@@ -18115,10 +18568,10 @@ Modal.displayName = "Modal";
18115
18568
 
18116
18569
  // src/components/Modal/ModalDialog.tsx
18117
18570
  import { forwardRef as forwardRef15 } from "react";
18118
- import { jsx as jsx100, jsxs as jsxs67 } from "@emotion/react/jsx-runtime";
18571
+ import { jsx as jsx101, jsxs as jsxs68 } from "@emotion/react/jsx-runtime";
18119
18572
  var ModalDialog = forwardRef15(
18120
18573
  ({ header: header2, buttonGroup, modalSize = "lg", children, height = "auto", onRequestClose, ...props }, ref) => {
18121
- return /* @__PURE__ */ jsx100(
18574
+ return /* @__PURE__ */ jsx101(
18122
18575
  Modal,
18123
18576
  {
18124
18577
  ...props,
@@ -18130,10 +18583,10 @@ var ModalDialog = forwardRef15(
18130
18583
  withoutContentPadding: true,
18131
18584
  css: modalDialogInnerStyles,
18132
18585
  width: "",
18133
- children: /* @__PURE__ */ jsxs67(VerticalRhythm, { css: modalDialogWrapper, children: [
18134
- /* @__PURE__ */ jsx100("div", { css: modalHeaderStyles, children: header2 }),
18135
- /* @__PURE__ */ jsx100("div", { children }),
18136
- /* @__PURE__ */ jsx100(HorizontalRhythm, { children: buttonGroup })
18586
+ children: /* @__PURE__ */ jsxs68(VerticalRhythm, { css: modalDialogWrapper, children: [
18587
+ /* @__PURE__ */ jsx101("div", { css: modalHeaderStyles, children: header2 }),
18588
+ /* @__PURE__ */ jsx101("div", { children }),
18589
+ /* @__PURE__ */ jsx101(HorizontalRhythm, { children: buttonGroup })
18137
18590
  ] })
18138
18591
  }
18139
18592
  );
@@ -18142,22 +18595,22 @@ var ModalDialog = forwardRef15(
18142
18595
  ModalDialog.displayName = "ModalDialog";
18143
18596
 
18144
18597
  // src/components/Objects/styles/ObjectGridContainer.styles.ts
18145
- import { css as css78 } from "@emotion/react";
18146
- var ObjectGridContainer = (gridCount) => css78`
18598
+ import { css as css79 } from "@emotion/react";
18599
+ var ObjectGridContainer = (gridCount) => css79`
18147
18600
  display: grid;
18148
18601
  grid-template-columns: repeat(${gridCount}, minmax(250px, 1fr));
18149
18602
  gap: var(--spacing-base);
18150
18603
  `;
18151
18604
 
18152
18605
  // src/components/Objects/ObjectGridContainer.tsx
18153
- import { jsx as jsx101 } from "@emotion/react/jsx-runtime";
18606
+ import { jsx as jsx102 } from "@emotion/react/jsx-runtime";
18154
18607
  var ObjectGridContainer2 = ({ gridCount = 3, children }) => {
18155
- return /* @__PURE__ */ jsx101("div", { "data-testid": "object-grid-container", css: ObjectGridContainer(gridCount), children });
18608
+ return /* @__PURE__ */ jsx102("div", { "data-testid": "object-grid-container", css: ObjectGridContainer(gridCount), children });
18156
18609
  };
18157
18610
 
18158
18611
  // src/components/Objects/styles/ObjectGridItem.styles.ts
18159
- import { css as css79 } from "@emotion/react";
18160
- var ObjectGridItem = css79`
18612
+ import { css as css80 } from "@emotion/react";
18613
+ var ObjectGridItem = css80`
18161
18614
  border: 1px solid var(--gray-300);
18162
18615
  border-radius: var(--rounded-base);
18163
18616
  background: var(--white);
@@ -18175,21 +18628,21 @@ var ObjectGridItem = css79`
18175
18628
  }
18176
18629
  }
18177
18630
  `;
18178
- var ObjectGridItemMediaWrapper = css79`
18631
+ var ObjectGridItemMediaWrapper = css80`
18179
18632
  display: flex;
18180
18633
  flex: 1 1 0;
18181
18634
  position: relative;
18182
18635
  `;
18183
- var ObjectGridItemContentWrapper = css79`
18636
+ var ObjectGridItemContentWrapper = css80`
18184
18637
  padding: 0 var(--spacing-sm) var(--spacing-sm);
18185
18638
  min-height: 52px;
18186
18639
  `;
18187
- var ObjectGridItemImage = css79`
18640
+ var ObjectGridItemImage = css80`
18188
18641
  object-fit: cover;
18189
18642
  width: 100%;
18190
18643
  height: auto;
18191
18644
  `;
18192
- var MenuBtn = css79`
18645
+ var MenuBtn = css80`
18193
18646
  border: none;
18194
18647
  background: transparent;
18195
18648
  padding: var(--spacing-xs);
@@ -18204,7 +18657,7 @@ var MenuBtn = css79`
18204
18657
  `;
18205
18658
 
18206
18659
  // src/components/Objects/ObjectGridItem.tsx
18207
- import { jsx as jsx102, jsxs as jsxs68 } from "@emotion/react/jsx-runtime";
18660
+ import { jsx as jsx103, jsxs as jsxs69 } from "@emotion/react/jsx-runtime";
18208
18661
  var ObjectGridItem2 = ({
18209
18662
  header: header2,
18210
18663
  cover,
@@ -18213,28 +18666,28 @@ var ObjectGridItem2 = ({
18213
18666
  isSelected,
18214
18667
  children
18215
18668
  }) => {
18216
- return /* @__PURE__ */ jsxs68("div", { css: ObjectGridItem, "aria-selected": isSelected, children: [
18217
- /* @__PURE__ */ jsx102("div", { css: ObjectGridItemMediaWrapper, children: cover }),
18218
- /* @__PURE__ */ jsxs68(HorizontalRhythm, { css: ObjectGridItemContentWrapper, justify: "space-between", gap: "sm", children: [
18219
- /* @__PURE__ */ jsxs68(VerticalRhythm, { gap: "0", children: [
18220
- /* @__PURE__ */ jsx102(HorizontalRhythm, { gap: "xs", align: "center", children: header2 }),
18669
+ return /* @__PURE__ */ jsxs69("div", { css: ObjectGridItem, "aria-selected": isSelected, children: [
18670
+ /* @__PURE__ */ jsx103("div", { css: ObjectGridItemMediaWrapper, children: cover }),
18671
+ /* @__PURE__ */ jsxs69(HorizontalRhythm, { css: ObjectGridItemContentWrapper, justify: "space-between", gap: "sm", children: [
18672
+ /* @__PURE__ */ jsxs69(VerticalRhythm, { gap: "0", children: [
18673
+ /* @__PURE__ */ jsx103(HorizontalRhythm, { gap: "xs", align: "center", children: header2 }),
18221
18674
  children
18222
18675
  ] }),
18223
- /* @__PURE__ */ jsxs68(HorizontalRhythm, { gap: "xs", align: "flex-start", children: [
18676
+ /* @__PURE__ */ jsxs69(HorizontalRhythm, { gap: "xs", align: "flex-start", children: [
18224
18677
  rightSlot,
18225
- menuItems ? /* @__PURE__ */ jsx102(
18678
+ menuItems ? /* @__PURE__ */ jsx103(
18226
18679
  Menu,
18227
18680
  {
18228
18681
  menuTrigger: (
18229
18682
  // TODO: once insights lands we should be able to replace this with MenuTrigger component
18230
- /* @__PURE__ */ jsx102(
18683
+ /* @__PURE__ */ jsx103(
18231
18684
  "button",
18232
18685
  {
18233
18686
  type: "button",
18234
18687
  "data-testid": "object-grid-item-menu-btn",
18235
18688
  title: "menu options",
18236
18689
  css: MenuBtn,
18237
- children: /* @__PURE__ */ jsx102(Icon, { icon: "more-alt", size: "1rem", iconColor: "currentColor" })
18690
+ children: /* @__PURE__ */ jsx103(Icon, { icon: "more-alt", size: "1rem", iconColor: "currentColor" })
18238
18691
  }
18239
18692
  )
18240
18693
  ),
@@ -18248,15 +18701,15 @@ var ObjectGridItem2 = ({
18248
18701
  };
18249
18702
 
18250
18703
  // src/components/Objects/styles/ObjectGridItemCardCover.styles.ts
18251
- import { css as css80 } from "@emotion/react";
18252
- var CoverImage = css80`
18704
+ import { css as css81 } from "@emotion/react";
18705
+ var CoverImage = css81`
18253
18706
  aspect-ratio: 16/9;
18254
18707
  max-width: 100%;
18255
18708
  max-height: 100%;
18256
18709
  height: auto;
18257
18710
  padding: var(--spacing-sm);
18258
18711
  `;
18259
- var CoverIconWrapper = css80`
18712
+ var CoverIconWrapper = css81`
18260
18713
  position: relative;
18261
18714
  display: flex;
18262
18715
  align-items: center;
@@ -18264,7 +18717,7 @@ var CoverIconWrapper = css80`
18264
18717
  flex: 1;
18265
18718
  overflow: hidden;
18266
18719
  `;
18267
- var CoverIconGhost = css80`
18720
+ var CoverIconGhost = css81`
18268
18721
  position: absolute;
18269
18722
  width: 60%;
18270
18723
  height: auto;
@@ -18272,7 +18725,7 @@ var CoverIconGhost = css80`
18272
18725
  opacity: 0.05;
18273
18726
  transform: rotateZ(-15deg) translate(35%, 30%);
18274
18727
  `;
18275
- var CoverSlot = css80`
18728
+ var CoverSlot = css81`
18276
18729
  align-items: center;
18277
18730
  background: var(--white);
18278
18731
  display: flex;
@@ -18283,15 +18736,15 @@ var CoverSlot = css80`
18283
18736
  width: 24px;
18284
18737
  height: 24px;
18285
18738
  `;
18286
- var CoverSlotLeft = css80`
18739
+ var CoverSlotLeft = css81`
18287
18740
  border-bottom-right-radius: var(--rounded-base);
18288
18741
  left: var(--spacing-sm);
18289
18742
  `;
18290
- var CoverSlotRight = css80`
18743
+ var CoverSlotRight = css81`
18291
18744
  border-bottom-left-radius: var(--rounded-base);
18292
18745
  right: var(--spacing-sm);
18293
18746
  `;
18294
- var CoverButton = css80`
18747
+ var CoverButton = css81`
18295
18748
  align-items: stretch;
18296
18749
  border: none;
18297
18750
  background: none;
@@ -18304,7 +18757,7 @@ var CoverButton = css80`
18304
18757
  outline: none;
18305
18758
  }
18306
18759
  `;
18307
- var CoverSelectedChip = css80`
18760
+ var CoverSelectedChip = css81`
18308
18761
  animation: ${fadeInBottom} var(--duration-fast) var(--timing-ease-out) forwards;
18309
18762
  opacity: 0;
18310
18763
  position: absolute;
@@ -18313,11 +18766,11 @@ var CoverSelectedChip = css80`
18313
18766
  `;
18314
18767
 
18315
18768
  // src/components/Objects/ObjectGridItemCardCover.tsx
18316
- import { Fragment as Fragment14, jsx as jsx103, jsxs as jsxs69 } from "@emotion/react/jsx-runtime";
18769
+ import { Fragment as Fragment14, jsx as jsx104, jsxs as jsxs70 } from "@emotion/react/jsx-runtime";
18317
18770
  var ObjectGridItemCardCover = (props) => {
18318
18771
  if ("imageUrl" in props && props.imageUrl) {
18319
18772
  const { imageUrl } = props;
18320
- return /* @__PURE__ */ jsx103(
18773
+ return /* @__PURE__ */ jsx104(
18321
18774
  "img",
18322
18775
  {
18323
18776
  src: imageUrl,
@@ -18330,9 +18783,9 @@ var ObjectGridItemCardCover = (props) => {
18330
18783
  }
18331
18784
  if ("icon" in props && props.icon) {
18332
18785
  const { icon } = props;
18333
- return /* @__PURE__ */ jsxs69("div", { css: CoverIconWrapper, "data-testid": "object-grid-item-thumbnail", children: [
18334
- /* @__PURE__ */ jsx103(Icon, { icon, iconColor: "currentColor", css: CoverIconGhost }),
18335
- /* @__PURE__ */ jsx103(Icon, { icon, iconColor: "currentColor", size: 48 })
18786
+ return /* @__PURE__ */ jsxs70("div", { css: CoverIconWrapper, "data-testid": "object-grid-item-thumbnail", children: [
18787
+ /* @__PURE__ */ jsx104(Icon, { icon, iconColor: "currentColor", css: CoverIconGhost }),
18788
+ /* @__PURE__ */ jsx104(Icon, { icon, iconColor: "currentColor", size: 48 })
18336
18789
  ] });
18337
18790
  }
18338
18791
  };
@@ -18341,10 +18794,10 @@ var ObjectGridItemCover = ({
18341
18794
  coverSlotRight,
18342
18795
  ...props
18343
18796
  }) => {
18344
- return /* @__PURE__ */ jsxs69(Fragment14, { children: [
18345
- coverSlotLeft ? /* @__PURE__ */ jsx103("div", { css: [CoverSlot, CoverSlotLeft], children: coverSlotLeft }) : null,
18346
- /* @__PURE__ */ jsx103(ObjectGridItemCardCover, { ...props }),
18347
- coverSlotRight ? /* @__PURE__ */ jsx103("div", { css: [CoverSlot, CoverSlotRight], children: coverSlotRight }) : null
18797
+ return /* @__PURE__ */ jsxs70(Fragment14, { children: [
18798
+ coverSlotLeft ? /* @__PURE__ */ jsx104("div", { css: [CoverSlot, CoverSlotLeft], children: coverSlotLeft }) : null,
18799
+ /* @__PURE__ */ jsx104(ObjectGridItemCardCover, { ...props }),
18800
+ coverSlotRight ? /* @__PURE__ */ jsx104("div", { css: [CoverSlot, CoverSlotRight], children: coverSlotRight }) : null
18348
18801
  ] });
18349
18802
  };
18350
18803
  var ObjectGridItemCoverButton = ({
@@ -18356,20 +18809,20 @@ var ObjectGridItemCoverButton = ({
18356
18809
  selectedText = "selected",
18357
18810
  ...props
18358
18811
  }) => {
18359
- return /* @__PURE__ */ jsxs69("button", { type: "button", css: CoverButton, onClick: () => onSelection(id), "aria-selected": isSelected, children: [
18360
- coverSlotLeft ? /* @__PURE__ */ jsx103("div", { css: [CoverSlot, CoverSlotLeft], children: coverSlotLeft }) : null,
18361
- /* @__PURE__ */ jsx103(ObjectGridItemCardCover, { ...props }),
18362
- coverSlotRight ? /* @__PURE__ */ jsx103("div", { css: [CoverSlot, CoverSlotRight], children: coverSlotRight }) : null,
18363
- isSelected ? /* @__PURE__ */ jsx103("div", { css: CoverSelectedChip, children: /* @__PURE__ */ jsx103(Chip, { text: selectedText, size: "xs", theme: "accent-dark" }) }) : null
18812
+ return /* @__PURE__ */ jsxs70("button", { type: "button", css: CoverButton, onClick: () => onSelection(id), "aria-selected": isSelected, children: [
18813
+ coverSlotLeft ? /* @__PURE__ */ jsx104("div", { css: [CoverSlot, CoverSlotLeft], children: coverSlotLeft }) : null,
18814
+ /* @__PURE__ */ jsx104(ObjectGridItemCardCover, { ...props }),
18815
+ coverSlotRight ? /* @__PURE__ */ jsx104("div", { css: [CoverSlot, CoverSlotRight], children: coverSlotRight }) : null,
18816
+ isSelected ? /* @__PURE__ */ jsx104("div", { css: CoverSelectedChip, children: /* @__PURE__ */ jsx104(Chip, { text: selectedText, size: "xs", theme: "accent-dark" }) }) : null
18364
18817
  ] });
18365
18818
  };
18366
18819
 
18367
18820
  // src/components/Objects/ObjectGridItemHeading.tsx
18368
- import { useEffect as useEffect14, useRef as useRef8, useState as useState12 } from "react";
18821
+ import { useEffect as useEffect16, useRef as useRef10, useState as useState13 } from "react";
18369
18822
 
18370
18823
  // src/components/Objects/styles/ObjectGridItemHeading.styles.ts
18371
- import { css as css81 } from "@emotion/react";
18372
- var ObjectGridItemHeading = css81`
18824
+ import { css as css82 } from "@emotion/react";
18825
+ var ObjectGridItemHeading = css82`
18373
18826
  overflow: hidden;
18374
18827
  text-overflow: ellipsis;
18375
18828
  white-space: initial;
@@ -18377,20 +18830,20 @@ var ObjectGridItemHeading = css81`
18377
18830
  -webkit-line-clamp: 1;
18378
18831
  -webkit-box-orient: vertical;
18379
18832
  `;
18380
- var PopoverContent = css81`
18833
+ var PopoverContent = css82`
18381
18834
  min-width: 50px;
18382
18835
  `;
18383
18836
 
18384
18837
  // src/components/Objects/ObjectGridItemHeading.tsx
18385
- import { jsx as jsx104, jsxs as jsxs70 } from "@emotion/react/jsx-runtime";
18838
+ import { jsx as jsx105, jsxs as jsxs71 } from "@emotion/react/jsx-runtime";
18386
18839
  var ObjectGridItemHeading2 = ({
18387
18840
  heading,
18388
18841
  beforeHeadingSlot,
18389
18842
  afterHeadingSlot
18390
18843
  }) => {
18391
- const [hasTruncation, setHasTruncation] = useState12(false);
18392
- const headingRef = useRef8(null);
18393
- useEffect14(() => {
18844
+ const [hasTruncation, setHasTruncation] = useState13(false);
18845
+ const headingRef = useRef10(null);
18846
+ useEffect16(() => {
18394
18847
  const currentHeading = headingRef.current;
18395
18848
  const observer = new ResizeObserver((entries) => {
18396
18849
  for (const entry of entries) {
@@ -18407,57 +18860,57 @@ var ObjectGridItemHeading2 = ({
18407
18860
  }
18408
18861
  };
18409
18862
  }, []);
18410
- return /* @__PURE__ */ jsxs70(HorizontalRhythm, { align: "center", gap: "xs", children: [
18863
+ return /* @__PURE__ */ jsxs71(HorizontalRhythm, { align: "center", gap: "xs", children: [
18411
18864
  beforeHeadingSlot,
18412
- /* @__PURE__ */ jsx104(Tooltip, { title: hasTruncation ? heading : "", children: /* @__PURE__ */ jsx104("div", { role: "heading", css: ObjectGridItemHeading, ref: headingRef, children: heading }) }),
18865
+ /* @__PURE__ */ jsx105(Tooltip, { title: hasTruncation ? heading : "", children: /* @__PURE__ */ jsx105("div", { role: "heading", css: ObjectGridItemHeading, ref: headingRef, children: heading }) }),
18413
18866
  afterHeadingSlot
18414
18867
  ] });
18415
18868
  };
18416
18869
 
18417
18870
  // src/components/Objects/ObjectGridItemIconWithTooltip.tsx
18418
- import { jsx as jsx105 } from "@emotion/react/jsx-runtime";
18871
+ import { jsx as jsx106 } from "@emotion/react/jsx-runtime";
18419
18872
  var ObjectGridItemIconWithTooltip = ({
18420
18873
  tooltipTitle,
18421
18874
  placement = "bottom-start",
18422
18875
  icon,
18423
18876
  iconColor = "accent-dark"
18424
18877
  }) => {
18425
- return /* @__PURE__ */ jsx105(Tooltip, { title: tooltipTitle, placement, children: /* @__PURE__ */ jsx105("span", { children: /* @__PURE__ */ jsx105(Icon, { icon, iconColor, size: "1rem" }) }) });
18878
+ return /* @__PURE__ */ jsx106(Tooltip, { title: tooltipTitle, placement, children: /* @__PURE__ */ jsx106("span", { children: /* @__PURE__ */ jsx106(Icon, { icon, iconColor, size: "1rem" }) }) });
18426
18879
  };
18427
18880
 
18428
18881
  // src/components/Pagination/Pagination.tsx
18429
18882
  import Paginate from "react-paginate";
18430
18883
 
18431
18884
  // src/components/Pagination/Pagniation.styles.ts
18432
- import { css as css82 } from "@emotion/css";
18433
- var container2 = css82`
18885
+ import { css as css83 } from "@emotion/css";
18886
+ var container2 = css83`
18434
18887
  align-items: center;
18435
18888
  display: flex;
18436
18889
  `;
18437
- var disabled = css82`
18890
+ var disabled = css83`
18438
18891
  opacity: var(--opacity-50);
18439
18892
  `;
18440
- var disabledLink = css82`
18893
+ var disabledLink = css83`
18441
18894
  cursor: pointer-default;
18442
18895
  `;
18443
- var pageLink = css82`
18896
+ var pageLink = css83`
18444
18897
  display: block;
18445
18898
  padding: var(--spacing-sm) var(--spacing-base);
18446
18899
  `;
18447
- var prevNextControls = css82`
18900
+ var prevNextControls = css83`
18448
18901
  padding: var(--spacing-sm) var(--spacing-base);
18449
18902
  `;
18450
- var active = css82`
18903
+ var active = css83`
18451
18904
  border-radius: var(--rounded-base);
18452
18905
  background: var(--gray-200);
18453
18906
  `;
18454
- var page = css82`
18907
+ var page = css83`
18455
18908
  margin-left: var(--spacing-xs);
18456
18909
  margin-right: var(--spacing-xs);
18457
18910
  `;
18458
18911
 
18459
18912
  // src/components/Pagination/Pagination.tsx
18460
- import { jsx as jsx106 } from "@emotion/react/jsx-runtime";
18913
+ import { jsx as jsx107 } from "@emotion/react/jsx-runtime";
18461
18914
  function Pagination({
18462
18915
  limit,
18463
18916
  offset,
@@ -18472,12 +18925,12 @@ function Pagination({
18472
18925
  if (pageCount <= 1) {
18473
18926
  return null;
18474
18927
  }
18475
- return /* @__PURE__ */ jsx106(
18928
+ return /* @__PURE__ */ jsx107(
18476
18929
  Paginate,
18477
18930
  {
18478
18931
  forcePage: currentPage,
18479
- previousLabel: /* @__PURE__ */ jsx106("div", { className: prevNextControls, children: "<" }),
18480
- nextLabel: /* @__PURE__ */ jsx106("div", { className: prevNextControls, children: ">" }),
18932
+ previousLabel: /* @__PURE__ */ jsx107("div", { className: prevNextControls, children: "<" }),
18933
+ nextLabel: /* @__PURE__ */ jsx107("div", { className: prevNextControls, children: ">" }),
18481
18934
  breakLabel: "...",
18482
18935
  pageCount,
18483
18936
  marginPagesDisplayed: 2,
@@ -18517,8 +18970,8 @@ var useParameterShell = () => {
18517
18970
  };
18518
18971
 
18519
18972
  // src/components/ParameterInputs/styles/LabelLeadingIcon.styles.ts
18520
- import { css as css83 } from "@emotion/react";
18521
- var inputIconBtn = css83`
18973
+ import { css as css84 } from "@emotion/react";
18974
+ var inputIconBtn = css84`
18522
18975
  align-items: center;
18523
18976
  border: none;
18524
18977
  border-radius: var(--rounded-base);
@@ -18544,7 +18997,7 @@ var inputIconBtn = css83`
18544
18997
  `;
18545
18998
 
18546
18999
  // src/components/ParameterInputs/LabelLeadingIcon.tsx
18547
- import { jsx as jsx107, jsxs as jsxs71 } from "@emotion/react/jsx-runtime";
19000
+ import { jsx as jsx108, jsxs as jsxs72 } from "@emotion/react/jsx-runtime";
18548
19001
  var LabelLeadingIcon = ({
18549
19002
  icon,
18550
19003
  iconColor,
@@ -18556,7 +19009,7 @@ var LabelLeadingIcon = ({
18556
19009
  ...props
18557
19010
  }) => {
18558
19011
  const titleFr = title2 != null ? title2 : isLocked ? "Read-only pattern parameter" : isBound ? "Connected to external content. Click to edit" : "Click to connect to external content";
18559
- return /* @__PURE__ */ jsx107(Tooltip, { title: titleFr, children: /* @__PURE__ */ jsxs71(
19012
+ return /* @__PURE__ */ jsx108(Tooltip, { title: titleFr, children: /* @__PURE__ */ jsxs72(
18560
19013
  "button",
18561
19014
  {
18562
19015
  css: inputIconBtn,
@@ -18566,7 +19019,7 @@ var LabelLeadingIcon = ({
18566
19019
  ...props,
18567
19020
  "data-testid": "lock-button",
18568
19021
  children: [
18569
- /* @__PURE__ */ jsx107(
19022
+ /* @__PURE__ */ jsx108(
18570
19023
  Icon,
18571
19024
  {
18572
19025
  icon: isLocked ? "lock" : icon ? icon : "arrows-expand-down-right",
@@ -18582,8 +19035,8 @@ var LabelLeadingIcon = ({
18582
19035
  var ConnectToDataElementButton = LabelLeadingIcon;
18583
19036
 
18584
19037
  // src/components/ParameterInputs/styles/ParameterInput.styles.ts
18585
- import { css as css84 } from "@emotion/react";
18586
- var inputContainer2 = css84`
19038
+ import { css as css85 } from "@emotion/react";
19039
+ var inputContainer2 = css85`
18587
19040
  position: relative;
18588
19041
  scroll-margin: var(--spacing-2xl);
18589
19042
 
@@ -18596,14 +19049,14 @@ var inputContainer2 = css84`
18596
19049
  }
18597
19050
  }
18598
19051
  `;
18599
- var labelText2 = css84`
19052
+ var labelText2 = css85`
18600
19053
  align-items: center;
18601
19054
  display: flex;
18602
19055
  gap: var(--spacing-xs);
18603
19056
  font-weight: var(--fw-regular);
18604
19057
  margin: 0 0 var(--spacing-xs);
18605
19058
  `;
18606
- var input3 = css84`
19059
+ var input3 = css85`
18607
19060
  display: block;
18608
19061
  appearance: none;
18609
19062
  box-sizing: border-box;
@@ -18651,18 +19104,18 @@ var input3 = css84`
18651
19104
  color: var(--gray-400);
18652
19105
  }
18653
19106
  `;
18654
- var selectInput = css84`
19107
+ var selectInput = css85`
18655
19108
  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");
18656
19109
  background-position: right var(--spacing-sm) center;
18657
19110
  background-repeat: no-repeat;
18658
19111
  background-size: 1rem;
18659
19112
  padding-right: var(--spacing-xl);
18660
19113
  `;
18661
- var inputWrapper = css84`
19114
+ var inputWrapper = css85`
18662
19115
  display: flex; // used to correct overflow with chrome textarea
18663
19116
  position: relative;
18664
19117
  `;
18665
- var inputIcon2 = css84`
19118
+ var inputIcon2 = css85`
18666
19119
  align-items: center;
18667
19120
  background: var(--white);
18668
19121
  border-radius: var(--rounded-md) 0 0 var(--rounded-md);
@@ -18678,7 +19131,7 @@ var inputIcon2 = css84`
18678
19131
  width: var(--spacing-lg);
18679
19132
  z-index: var(--z-10);
18680
19133
  `;
18681
- var inputToggleLabel2 = css84`
19134
+ var inputToggleLabel2 = css85`
18682
19135
  --inline-label-color: var(--typography-base);
18683
19136
  align-items: center;
18684
19137
  cursor: pointer;
@@ -18693,7 +19146,7 @@ var inputToggleLabel2 = css84`
18693
19146
  --inline-label-color: var(--gray-400);
18694
19147
  }
18695
19148
  `;
18696
- var toggleInput2 = css84`
19149
+ var toggleInput2 = css85`
18697
19150
  appearance: none;
18698
19151
  border: 1px solid var(--gray-200);
18699
19152
  background: var(--white);
@@ -18746,7 +19199,7 @@ var toggleInput2 = css84`
18746
19199
  border-color: var(--gray-300);
18747
19200
  }
18748
19201
  `;
18749
- var inlineLabel2 = css84`
19202
+ var inlineLabel2 = css85`
18750
19203
  color: var(--inline-label-color);
18751
19204
  padding-left: var(--spacing-md);
18752
19205
  font-size: var(--fs-sm);
@@ -18763,7 +19216,7 @@ var inlineLabel2 = css84`
18763
19216
  }
18764
19217
  }
18765
19218
  `;
18766
- var inputMenu = css84`
19219
+ var inputMenu = css85`
18767
19220
  background: none;
18768
19221
  border: none;
18769
19222
  padding: var(--spacing-2xs);
@@ -18771,10 +19224,10 @@ var inputMenu = css84`
18771
19224
  top: calc(var(--spacing-md) * -1.2);
18772
19225
  right: 0;
18773
19226
  `;
18774
- var inputActionItems = css84`
19227
+ var inputActionItems = css85`
18775
19228
  display: flex;
18776
19229
  `;
18777
- var inputMenuHover = css84`
19230
+ var inputMenuHover = css85`
18778
19231
  opacity: var(--opacity-50);
18779
19232
  transition: background-color var(--duration-fast) var(--timing-ease-out);
18780
19233
 
@@ -18784,11 +19237,11 @@ var inputMenuHover = css84`
18784
19237
  background-color: var(--gray-200);
18785
19238
  }
18786
19239
  `;
18787
- var textarea2 = css84`
19240
+ var textarea2 = css85`
18788
19241
  resize: vertical;
18789
19242
  min-height: 2rem;
18790
19243
  `;
18791
- var dataConnectButton = css84`
19244
+ var dataConnectButton = css85`
18792
19245
  align-items: center;
18793
19246
  appearance: none;
18794
19247
  box-sizing: border-box;
@@ -18823,7 +19276,7 @@ var dataConnectButton = css84`
18823
19276
  pointer-events: none;
18824
19277
  }
18825
19278
  `;
18826
- var linkParameterBtn = css84`
19279
+ var linkParameterBtn = css85`
18827
19280
  border-radius: var(--rounded-base);
18828
19281
  background: transparent;
18829
19282
  border: none;
@@ -18832,7 +19285,7 @@ var linkParameterBtn = css84`
18832
19285
  font-size: var(--fs-sm);
18833
19286
  line-height: 1;
18834
19287
  `;
18835
- var linkParameterControls = css84`
19288
+ var linkParameterControls = css85`
18836
19289
  position: absolute;
18837
19290
  inset: 0 0 0 auto;
18838
19291
  padding: 0 var(--spacing-base);
@@ -18841,7 +19294,7 @@ var linkParameterControls = css84`
18841
19294
  justify-content: center;
18842
19295
  gap: var(--spacing-base);
18843
19296
  `;
18844
- var linkParameterInput = (withExternalLinkIcon) => css84`
19297
+ var linkParameterInput = (withExternalLinkIcon) => css85`
18845
19298
  padding-right: calc(
18846
19299
  ${withExternalLinkIcon ? "calc(var(--spacing-lg) * 2 + var(--spacing-xs))" : "var(--spacing-xl)"} +
18847
19300
  var(--spacing-base)
@@ -18854,7 +19307,7 @@ var linkParameterInput = (withExternalLinkIcon) => css84`
18854
19307
  }
18855
19308
  }
18856
19309
  `;
18857
- var linkParameterIcon = css84`
19310
+ var linkParameterIcon = css85`
18858
19311
  align-items: center;
18859
19312
  color: var(--brand-secondary-3);
18860
19313
  display: flex;
@@ -18869,7 +19322,7 @@ var linkParameterIcon = css84`
18869
19322
  `;
18870
19323
 
18871
19324
  // src/components/ParameterInputs/ParameterDataResource.tsx
18872
- import { jsx as jsx108, jsxs as jsxs72 } from "@emotion/react/jsx-runtime";
19325
+ import { jsx as jsx109, jsxs as jsxs73 } from "@emotion/react/jsx-runtime";
18873
19326
  function ParameterDataResource({
18874
19327
  label,
18875
19328
  labelLeadingIcon,
@@ -18879,12 +19332,12 @@ function ParameterDataResource({
18879
19332
  disabled: disabled2,
18880
19333
  children
18881
19334
  }) {
18882
- return /* @__PURE__ */ jsxs72("div", { "data-testid": "parameter-data-connect-button", children: [
18883
- /* @__PURE__ */ jsxs72("span", { css: labelText2, children: [
19335
+ return /* @__PURE__ */ jsxs73("div", { "data-testid": "parameter-data-connect-button", children: [
19336
+ /* @__PURE__ */ jsxs73("span", { css: labelText2, children: [
18884
19337
  labelLeadingIcon ? labelLeadingIcon : null,
18885
19338
  label
18886
19339
  ] }),
18887
- /* @__PURE__ */ jsxs72(
19340
+ /* @__PURE__ */ jsxs73(
18888
19341
  "button",
18889
19342
  {
18890
19343
  type: "button",
@@ -18893,30 +19346,30 @@ function ParameterDataResource({
18893
19346
  disabled: disabled2,
18894
19347
  onClick: onConnectDatasource,
18895
19348
  children: [
18896
- /* @__PURE__ */ jsx108("span", { className: "advance-input-icon", css: [inputIcon2], children: /* @__PURE__ */ jsx108(Icon, { icon: "stack", iconColor: "currentColor", size: "1rem" }) }),
19349
+ /* @__PURE__ */ jsx109("span", { className: "advance-input-icon", css: [inputIcon2], children: /* @__PURE__ */ jsx109(Icon, { icon: "stack", iconColor: "currentColor", size: "1rem" }) }),
18897
19350
  children
18898
19351
  ]
18899
19352
  }
18900
19353
  ),
18901
- caption ? /* @__PURE__ */ jsx108(Caption, { children: caption }) : null
19354
+ caption ? /* @__PURE__ */ jsx109(Caption, { children: caption }) : null
18902
19355
  ] });
18903
19356
  }
18904
19357
 
18905
19358
  // src/components/ParameterInputs/styles/ParameterDrawerHeader.styles.ts
18906
- import { css as css85 } from "@emotion/react";
18907
- var ParameterDrawerHeaderContainer = css85`
19359
+ import { css as css86 } from "@emotion/react";
19360
+ var ParameterDrawerHeaderContainer = css86`
18908
19361
  align-items: center;
18909
19362
  display: flex;
18910
19363
  gap: var(--spacing-base);
18911
19364
  justify-content: space-between;
18912
19365
  margin-bottom: var(--spacing-sm);
18913
19366
  `;
18914
- var ParameterDrawerHeaderTitleGroup = css85`
19367
+ var ParameterDrawerHeaderTitleGroup = css86`
18915
19368
  align-items: center;
18916
19369
  display: flex;
18917
19370
  gap: var(--spacing-sm);
18918
19371
  `;
18919
- var ParameterDrawerHeaderTitle = css85`
19372
+ var ParameterDrawerHeaderTitle = css86`
18920
19373
  text-overflow: ellipsis;
18921
19374
  white-space: nowrap;
18922
19375
  overflow: hidden;
@@ -18924,12 +19377,12 @@ var ParameterDrawerHeaderTitle = css85`
18924
19377
  `;
18925
19378
 
18926
19379
  // src/components/ParameterInputs/ParameterDrawerHeader.tsx
18927
- import { jsx as jsx109, jsxs as jsxs73 } from "@emotion/react/jsx-runtime";
19380
+ import { jsx as jsx110, jsxs as jsxs74 } from "@emotion/react/jsx-runtime";
18928
19381
  var ParameterDrawerHeader = ({ title: title2, iconBeforeTitle, children }) => {
18929
- return /* @__PURE__ */ jsxs73("div", { css: ParameterDrawerHeaderContainer, children: [
18930
- /* @__PURE__ */ jsxs73("header", { css: ParameterDrawerHeaderTitleGroup, children: [
19382
+ return /* @__PURE__ */ jsxs74("div", { css: ParameterDrawerHeaderContainer, children: [
19383
+ /* @__PURE__ */ jsxs74("header", { css: ParameterDrawerHeaderTitleGroup, children: [
18931
19384
  iconBeforeTitle,
18932
- /* @__PURE__ */ jsx109(Heading2, { level: 3, withMarginBottom: false, css: ParameterDrawerHeaderTitle, title: title2, children: title2 })
19385
+ /* @__PURE__ */ jsx110(Heading2, { level: 3, withMarginBottom: false, css: ParameterDrawerHeaderTitle, title: title2, children: title2 })
18933
19386
  ] }),
18934
19387
  children
18935
19388
  ] });
@@ -18939,8 +19392,8 @@ var ParameterDrawerHeader = ({ title: title2, iconBeforeTitle, children }) => {
18939
19392
  import { forwardRef as forwardRef16 } from "react";
18940
19393
 
18941
19394
  // src/components/ParameterInputs/styles/ParameterGroup.styles.ts
18942
- import { css as css86 } from "@emotion/react";
18943
- var fieldsetStyles = css86`
19395
+ import { css as css87 } from "@emotion/react";
19396
+ var fieldsetStyles = css87`
18944
19397
  &:disabled,
18945
19398
  [readonly] {
18946
19399
  pointer-events: none;
@@ -18951,7 +19404,7 @@ var fieldsetStyles = css86`
18951
19404
  }
18952
19405
  }
18953
19406
  `;
18954
- var fieldsetLegend2 = css86`
19407
+ var fieldsetLegend2 = css87`
18955
19408
  display: block;
18956
19409
  font-weight: var(--fw-medium);
18957
19410
  margin-bottom: var(--spacing-sm);
@@ -18959,11 +19412,11 @@ var fieldsetLegend2 = css86`
18959
19412
  `;
18960
19413
 
18961
19414
  // src/components/ParameterInputs/ParameterGroup.tsx
18962
- import { jsx as jsx110, jsxs as jsxs74 } from "@emotion/react/jsx-runtime";
19415
+ import { jsx as jsx111, jsxs as jsxs75 } from "@emotion/react/jsx-runtime";
18963
19416
  var ParameterGroup = forwardRef16(
18964
19417
  ({ legend, isDisabled, children, ...props }, ref) => {
18965
- return /* @__PURE__ */ jsxs74("fieldset", { css: fieldsetStyles, disabled: isDisabled, ref, ...props, children: [
18966
- /* @__PURE__ */ jsx110("legend", { css: fieldsetLegend2, children: legend }),
19418
+ return /* @__PURE__ */ jsxs75("fieldset", { css: fieldsetStyles, disabled: isDisabled, ref, ...props, children: [
19419
+ /* @__PURE__ */ jsx111("legend", { css: fieldsetLegend2, children: legend }),
18967
19420
  children
18968
19421
  ] });
18969
19422
  }
@@ -18973,19 +19426,19 @@ var ParameterGroup = forwardRef16(
18973
19426
  import { forwardRef as forwardRef18, useDeferredValue } from "react";
18974
19427
 
18975
19428
  // src/components/ParameterInputs/ParameterImagePreview.tsx
18976
- import { useState as useState13 } from "react";
19429
+ import { useState as useState14 } from "react";
18977
19430
  import { createPortal as createPortal2 } from "react-dom";
18978
19431
 
18979
19432
  // src/components/ParameterInputs/styles/ParameterImage.styles.ts
18980
- import { css as css87 } from "@emotion/react";
18981
- var previewWrapper = css87`
19433
+ import { css as css88 } from "@emotion/react";
19434
+ var previewWrapper = css88`
18982
19435
  margin-top: var(--spacing-xs);
18983
19436
  background: var(--gray-50);
18984
19437
  padding: var(--spacing-sm);
18985
19438
  border: solid 1px var(--gray-300);
18986
19439
  border-radius: var(--rounded-sm);
18987
19440
  `;
18988
- var previewLink = css87`
19441
+ var previewLink = css88`
18989
19442
  display: block;
18990
19443
  width: 100%;
18991
19444
 
@@ -18993,7 +19446,7 @@ var previewLink = css87`
18993
19446
  max-height: 9rem;
18994
19447
  }
18995
19448
  `;
18996
- var previewModalWrapper = css87`
19449
+ var previewModalWrapper = css88`
18997
19450
  background: var(--gray-50);
18998
19451
  display: flex;
18999
19452
  height: 100%;
@@ -19002,7 +19455,7 @@ var previewModalWrapper = css87`
19002
19455
  border: solid 1px var(--gray-300);
19003
19456
  border-radius: var(--rounded-sm);
19004
19457
  `;
19005
- var previewModalImage = css87`
19458
+ var previewModalImage = css88`
19006
19459
  display: flex;
19007
19460
  height: 100%;
19008
19461
  width: 100%;
@@ -19014,32 +19467,32 @@ var previewModalImage = css87`
19014
19467
  `;
19015
19468
 
19016
19469
  // src/components/ParameterInputs/ParameterImagePreview.tsx
19017
- import { Fragment as Fragment15, jsx as jsx111, jsxs as jsxs75 } from "@emotion/react/jsx-runtime";
19470
+ import { Fragment as Fragment15, jsx as jsx112, jsxs as jsxs76 } from "@emotion/react/jsx-runtime";
19018
19471
  function ParameterImagePreview({ imageSrc }) {
19019
- const [showModal, setShowModal] = useState13(false);
19020
- return imageSrc ? /* @__PURE__ */ jsxs75("div", { css: previewWrapper, children: [
19021
- /* @__PURE__ */ jsx111(PreviewImageModal, { open: showModal, imageSrc, onRequestClose: () => setShowModal(false) }),
19022
- /* @__PURE__ */ jsx111(
19472
+ const [showModal, setShowModal] = useState14(false);
19473
+ return imageSrc ? /* @__PURE__ */ jsxs76("div", { css: previewWrapper, children: [
19474
+ /* @__PURE__ */ jsx112(PreviewImageModal, { open: showModal, imageSrc, onRequestClose: () => setShowModal(false) }),
19475
+ /* @__PURE__ */ jsx112(
19023
19476
  "button",
19024
19477
  {
19025
19478
  css: previewLink,
19026
19479
  onClick: () => {
19027
19480
  setShowModal(true);
19028
19481
  },
19029
- children: /* @__PURE__ */ jsx111(Image, { src: imageSrc, "data-testid": "parameter-image-preview" })
19482
+ children: /* @__PURE__ */ jsx112(Image, { src: imageSrc, "data-testid": "parameter-image-preview" })
19030
19483
  }
19031
19484
  )
19032
19485
  ] }) : null;
19033
19486
  }
19034
19487
  var PreviewImageModal = ({ open, onRequestClose, imageSrc }) => {
19035
- return open ? /* @__PURE__ */ jsx111(Fragment15, { children: createPortal2(
19036
- /* @__PURE__ */ jsx111(
19488
+ return open ? /* @__PURE__ */ jsx112(Fragment15, { children: createPortal2(
19489
+ /* @__PURE__ */ jsx112(
19037
19490
  Modal,
19038
19491
  {
19039
19492
  header: "Image Preview",
19040
19493
  onRequestClose,
19041
- buttonGroup: /* @__PURE__ */ jsx111(Button, { buttonType: "secondary", onClick: onRequestClose, children: "Ok" }),
19042
- children: /* @__PURE__ */ jsx111("div", { css: previewModalWrapper, children: /* @__PURE__ */ jsx111(Image, { src: imageSrc, css: previewModalImage, "data-testid": "parameter-image-preview" }) })
19494
+ buttonGroup: /* @__PURE__ */ jsx112(Button, { buttonType: "secondary", onClick: onRequestClose, children: "Ok" }),
19495
+ children: /* @__PURE__ */ jsx112("div", { css: previewModalWrapper, children: /* @__PURE__ */ jsx112(Image, { src: imageSrc, css: previewModalImage, "data-testid": "parameter-image-preview" }) })
19043
19496
  }
19044
19497
  ),
19045
19498
  document.body
@@ -19047,25 +19500,25 @@ var PreviewImageModal = ({ open, onRequestClose, imageSrc }) => {
19047
19500
  };
19048
19501
 
19049
19502
  // src/components/ParameterInputs/ParameterShell.tsx
19050
- import { css as css89 } from "@emotion/react";
19051
- import { useState as useState14 } from "react";
19503
+ import { css as css90 } from "@emotion/react";
19504
+ import { useState as useState15 } from "react";
19052
19505
 
19053
19506
  // src/components/ParameterInputs/ParameterLabel.tsx
19054
- import { jsx as jsx112 } from "@emotion/react/jsx-runtime";
19507
+ import { jsx as jsx113 } from "@emotion/react/jsx-runtime";
19055
19508
  var ParameterLabel = ({ id, asSpan, children, ...props }) => {
19056
- return !asSpan ? /* @__PURE__ */ jsx112("label", { ...props, htmlFor: id, css: labelText2, children }) : /* @__PURE__ */ jsx112("span", { "aria-labelledby": id, css: labelText2, children });
19509
+ return !asSpan ? /* @__PURE__ */ jsx113("label", { ...props, htmlFor: id, css: labelText2, children }) : /* @__PURE__ */ jsx113("span", { "aria-labelledby": id, css: labelText2, children });
19057
19510
  };
19058
19511
 
19059
19512
  // src/components/ParameterInputs/ParameterMenuButton.tsx
19060
19513
  import { forwardRef as forwardRef17 } from "react";
19061
- import { jsx as jsx113 } from "@emotion/react/jsx-runtime";
19514
+ import { jsx as jsx114 } from "@emotion/react/jsx-runtime";
19062
19515
  var ParameterMenuButton = forwardRef17(
19063
19516
  ({ label, children }, ref) => {
19064
- return /* @__PURE__ */ jsx113(
19517
+ return /* @__PURE__ */ jsx114(
19065
19518
  Menu,
19066
19519
  {
19067
19520
  menuLabel: `${label} menu`,
19068
- menuTrigger: /* @__PURE__ */ jsx113(
19521
+ menuTrigger: /* @__PURE__ */ jsx114(
19069
19522
  "button",
19070
19523
  {
19071
19524
  className: "parameter-menu",
@@ -19073,7 +19526,7 @@ var ParameterMenuButton = forwardRef17(
19073
19526
  type: "button",
19074
19527
  "aria-label": `${label} options`,
19075
19528
  ref,
19076
- children: /* @__PURE__ */ jsx113(Icon, { icon: "more-alt", iconColor: "currentColor", size: "0.9rem" })
19529
+ children: /* @__PURE__ */ jsx114(Icon, { icon: "more-alt", iconColor: "currentColor", size: "0.9rem" })
19077
19530
  }
19078
19531
  ),
19079
19532
  children
@@ -19083,14 +19536,14 @@ var ParameterMenuButton = forwardRef17(
19083
19536
  );
19084
19537
 
19085
19538
  // src/components/ParameterInputs/styles/ParameterShell.styles.ts
19086
- import { css as css88 } from "@emotion/react";
19087
- var emptyParameterShell = css88`
19539
+ import { css as css89 } from "@emotion/react";
19540
+ var emptyParameterShell = css89`
19088
19541
  border-radius: var(--rounded-sm);
19089
19542
  flex-grow: 1;
19090
19543
  position: relative;
19091
19544
  max-width: 100%;
19092
19545
  `;
19093
- var emptyParameterShellText = css88`
19546
+ var emptyParameterShellText = css89`
19094
19547
  background: var(--brand-secondary-6);
19095
19548
  border-radius: var(--rounded-sm);
19096
19549
  padding: var(--spacing-sm);
@@ -19098,7 +19551,7 @@ var emptyParameterShellText = css88`
19098
19551
  font-size: var(--fs-sm);
19099
19552
  margin: 0;
19100
19553
  `;
19101
- var overrideMarker = css88`
19554
+ var overrideMarker = css89`
19102
19555
  border-radius: var(--rounded-sm);
19103
19556
  border: 10px solid var(--gray-300);
19104
19557
  border-left-color: transparent;
@@ -19109,7 +19562,7 @@ var overrideMarker = css88`
19109
19562
  `;
19110
19563
 
19111
19564
  // src/components/ParameterInputs/ParameterShell.tsx
19112
- import { jsx as jsx114, jsxs as jsxs76 } from "@emotion/react/jsx-runtime";
19565
+ import { jsx as jsx115, jsxs as jsxs77 } from "@emotion/react/jsx-runtime";
19113
19566
  var extractParameterProps = (props) => {
19114
19567
  const {
19115
19568
  id,
@@ -19169,36 +19622,36 @@ var ParameterShell = ({
19169
19622
  isParameterGroup = false,
19170
19623
  ...props
19171
19624
  }) => {
19172
- const [manualErrorMessage, setManualErrorMessage] = useState14(void 0);
19625
+ const [manualErrorMessage, setManualErrorMessage] = useState15(void 0);
19173
19626
  const setErrorMessage = (message) => setManualErrorMessage(message);
19174
19627
  const errorMessaging = errorMessage || manualErrorMessage;
19175
- return /* @__PURE__ */ jsxs76("div", { css: inputContainer2, ...props, id, children: [
19176
- hiddenLabel || title2 ? null : /* @__PURE__ */ jsxs76(ParameterLabel, { id, css: labelText2, children: [
19628
+ return /* @__PURE__ */ jsxs77("div", { css: inputContainer2, ...props, id, children: [
19629
+ hiddenLabel || title2 ? null : /* @__PURE__ */ jsxs77(ParameterLabel, { id, css: labelText2, children: [
19177
19630
  labelLeadingIcon != null ? labelLeadingIcon : null,
19178
19631
  label,
19179
19632
  labelTrailingIcon != null ? labelTrailingIcon : null
19180
19633
  ] }),
19181
- !title2 ? null : /* @__PURE__ */ jsxs76(ParameterLabel, { id, asSpan: true, children: [
19634
+ !title2 ? null : /* @__PURE__ */ jsxs77(ParameterLabel, { id, asSpan: true, children: [
19182
19635
  labelLeadingIcon != null ? labelLeadingIcon : null,
19183
19636
  title2,
19184
19637
  labelTrailingIcon != null ? labelTrailingIcon : null
19185
19638
  ] }),
19186
- /* @__PURE__ */ jsxs76("div", { css: inputWrapper, children: [
19187
- actionItems ? /* @__PURE__ */ jsx114(
19639
+ /* @__PURE__ */ jsxs77("div", { css: inputWrapper, children: [
19640
+ actionItems ? /* @__PURE__ */ jsx115(
19188
19641
  "div",
19189
19642
  {
19190
19643
  css: [
19191
19644
  inputMenu,
19192
19645
  inputActionItems,
19193
- menuItems ? css89`
19646
+ menuItems ? css90`
19194
19647
  right: var(--spacing-md);
19195
19648
  ` : void 0
19196
19649
  ],
19197
19650
  children: actionItems
19198
19651
  }
19199
19652
  ) : null,
19200
- menuItems ? /* @__PURE__ */ jsx114(ParameterMenuButton, { label: `${label} menu`, children: menuItems }) : null,
19201
- /* @__PURE__ */ jsx114(
19653
+ menuItems ? /* @__PURE__ */ jsx115(ParameterMenuButton, { label: `${label} menu`, children: menuItems }) : null,
19654
+ /* @__PURE__ */ jsx115(
19202
19655
  ParameterShellContext.Provider,
19203
19656
  {
19204
19657
  value: {
@@ -19208,14 +19661,14 @@ var ParameterShell = ({
19208
19661
  errorMessage: errorMessaging,
19209
19662
  handleManuallySetErrorMessage: (message) => setErrorMessage(message)
19210
19663
  },
19211
- children: isParameterGroup ? /* @__PURE__ */ jsx114("div", { style: { flexGrow: 1 }, children }) : /* @__PURE__ */ jsxs76(ParameterShellPlaceholder, { children: [
19664
+ children: isParameterGroup ? /* @__PURE__ */ jsx115("div", { style: { flexGrow: 1 }, children }) : /* @__PURE__ */ jsxs77(ParameterShellPlaceholder, { children: [
19212
19665
  children,
19213
- hasOverriddenValue && onResetOverriddenValue ? /* @__PURE__ */ jsx114(ParameterOverrideMarker, { onClick: onResetOverriddenValue }) : null
19666
+ hasOverriddenValue && onResetOverriddenValue ? /* @__PURE__ */ jsx115(ParameterOverrideMarker, { onClick: onResetOverriddenValue }) : null
19214
19667
  ] })
19215
19668
  }
19216
19669
  )
19217
19670
  ] }),
19218
- /* @__PURE__ */ jsx114(
19671
+ /* @__PURE__ */ jsx115(
19219
19672
  FieldMessage,
19220
19673
  {
19221
19674
  helperMessageTestId: captionTestId,
@@ -19229,17 +19682,17 @@ var ParameterShell = ({
19229
19682
  ] });
19230
19683
  };
19231
19684
  var ParameterShellPlaceholder = ({ children }) => {
19232
- return /* @__PURE__ */ jsx114("div", { css: emptyParameterShell, children });
19685
+ return /* @__PURE__ */ jsx115("div", { css: emptyParameterShell, children });
19233
19686
  };
19234
- var ParameterOverrideMarker = (props) => /* @__PURE__ */ jsx114(Tooltip, { title: "The default value has been overridden", children: /* @__PURE__ */ jsx114("button", { type: "button", css: overrideMarker, ...props, children: /* @__PURE__ */ jsx114("span", { hidden: true, children: "reset overridden value to default" }) }) });
19687
+ var ParameterOverrideMarker = (props) => /* @__PURE__ */ jsx115(Tooltip, { title: "The default value has been overridden", children: /* @__PURE__ */ jsx115("button", { type: "button", css: overrideMarker, ...props, children: /* @__PURE__ */ jsx115("span", { hidden: true, children: "reset overridden value to default" }) }) });
19235
19688
 
19236
19689
  // src/components/ParameterInputs/ParameterImage.tsx
19237
- import { Fragment as Fragment16, jsx as jsx115, jsxs as jsxs77 } from "@emotion/react/jsx-runtime";
19690
+ import { Fragment as Fragment16, jsx as jsx116, jsxs as jsxs78 } from "@emotion/react/jsx-runtime";
19238
19691
  var ParameterImage = forwardRef18(
19239
19692
  ({ children, ...props }, ref) => {
19240
19693
  const { shellProps, innerProps } = extractParameterProps(props);
19241
- return /* @__PURE__ */ jsxs77(ParameterShell, { "data-test-id": "parameter-image", ...shellProps, children: [
19242
- /* @__PURE__ */ jsx115(ParameterImageInner, { ref, ...innerProps }),
19694
+ return /* @__PURE__ */ jsxs78(ParameterShell, { "data-test-id": "parameter-image", ...shellProps, children: [
19695
+ /* @__PURE__ */ jsx116(ParameterImageInner, { ref, ...innerProps }),
19243
19696
  children
19244
19697
  ] });
19245
19698
  }
@@ -19248,8 +19701,8 @@ var ParameterImageInner = forwardRef18((props, ref) => {
19248
19701
  const { value } = props;
19249
19702
  const { id, label, hiddenLabel, errorMessage } = useParameterShell();
19250
19703
  const deferredValue = useDeferredValue(value);
19251
- return /* @__PURE__ */ jsxs77(Fragment16, { children: [
19252
- /* @__PURE__ */ jsx115(
19704
+ return /* @__PURE__ */ jsxs78(Fragment16, { children: [
19705
+ /* @__PURE__ */ jsx116(
19253
19706
  "input",
19254
19707
  {
19255
19708
  css: input3,
@@ -19261,21 +19714,21 @@ var ParameterImageInner = forwardRef18((props, ref) => {
19261
19714
  ...props
19262
19715
  }
19263
19716
  ),
19264
- errorMessage || props.disablePreview ? null : /* @__PURE__ */ jsx115(ParameterImagePreview, { imageSrc: deferredValue })
19717
+ errorMessage || props.disablePreview ? null : /* @__PURE__ */ jsx116(ParameterImagePreview, { imageSrc: deferredValue })
19265
19718
  ] });
19266
19719
  });
19267
19720
 
19268
19721
  // src/components/ParameterInputs/ParameterInput.tsx
19269
19722
  import { forwardRef as forwardRef19 } from "react";
19270
- import { jsx as jsx116 } from "@emotion/react/jsx-runtime";
19723
+ import { jsx as jsx117 } from "@emotion/react/jsx-runtime";
19271
19724
  var ParameterInput = forwardRef19((props, ref) => {
19272
19725
  const { shellProps, innerProps } = extractParameterProps(props);
19273
- return /* @__PURE__ */ jsx116(ParameterShell, { "data-testid": "parameter-input", ...shellProps, children: /* @__PURE__ */ jsx116(ParameterInputInner, { ref, ...innerProps }) });
19726
+ return /* @__PURE__ */ jsx117(ParameterShell, { "data-testid": "parameter-input", ...shellProps, children: /* @__PURE__ */ jsx117(ParameterInputInner, { ref, ...innerProps }) });
19274
19727
  });
19275
19728
  var ParameterInputInner = forwardRef19(
19276
19729
  ({ ...props }, ref) => {
19277
19730
  const { id, label, hiddenLabel } = useParameterShell();
19278
- return /* @__PURE__ */ jsx116(
19731
+ return /* @__PURE__ */ jsx117(
19279
19732
  "input",
19280
19733
  {
19281
19734
  css: input3,
@@ -19292,18 +19745,18 @@ var ParameterInputInner = forwardRef19(
19292
19745
 
19293
19746
  // src/components/ParameterInputs/ParameterLink.tsx
19294
19747
  import { forwardRef as forwardRef20 } from "react";
19295
- import { jsx as jsx117, jsxs as jsxs78 } from "@emotion/react/jsx-runtime";
19748
+ import { jsx as jsx118, jsxs as jsxs79 } from "@emotion/react/jsx-runtime";
19296
19749
  var ParameterLink = forwardRef20(
19297
19750
  ({ disabled: disabled2, onConnectLink, externalLink, ...props }, ref) => {
19298
19751
  const { shellProps, innerProps } = extractParameterProps(props);
19299
- return /* @__PURE__ */ jsx117(
19752
+ return /* @__PURE__ */ jsx118(
19300
19753
  ParameterShell,
19301
19754
  {
19302
19755
  "data-testid": "link-parameter-editor",
19303
19756
  ...shellProps,
19304
19757
  label: innerProps.value ? shellProps.label : "",
19305
19758
  title: !innerProps.value ? shellProps.label : void 0,
19306
- children: /* @__PURE__ */ jsx117(
19759
+ children: /* @__PURE__ */ jsx118(
19307
19760
  ParameterLinkInner,
19308
19761
  {
19309
19762
  onConnectLink,
@@ -19320,9 +19773,9 @@ var ParameterLinkInner = forwardRef20(
19320
19773
  ({ externalLink, onConnectLink, disabled: disabled2, buttonText = "Select link", ...props }, ref) => {
19321
19774
  const { id, label, hiddenLabel } = useParameterShell();
19322
19775
  if (!props.value)
19323
- return /* @__PURE__ */ jsx117("button", { type: "button", css: dataConnectButton, disabled: disabled2, onClick: onConnectLink, children: buttonText });
19324
- return /* @__PURE__ */ jsxs78("div", { css: inputWrapper, children: [
19325
- /* @__PURE__ */ jsx117(
19776
+ return /* @__PURE__ */ jsx118("button", { type: "button", css: dataConnectButton, disabled: disabled2, onClick: onConnectLink, children: buttonText });
19777
+ return /* @__PURE__ */ jsxs79("div", { css: inputWrapper, children: [
19778
+ /* @__PURE__ */ jsx118(
19326
19779
  "input",
19327
19780
  {
19328
19781
  type: "text",
@@ -19334,8 +19787,8 @@ var ParameterLinkInner = forwardRef20(
19334
19787
  ...props
19335
19788
  }
19336
19789
  ),
19337
- /* @__PURE__ */ jsxs78("div", { css: linkParameterControls, children: [
19338
- /* @__PURE__ */ jsx117(
19790
+ /* @__PURE__ */ jsxs79("div", { css: linkParameterControls, children: [
19791
+ /* @__PURE__ */ jsx118(
19339
19792
  "button",
19340
19793
  {
19341
19794
  type: "button",
@@ -19346,7 +19799,7 @@ var ParameterLinkInner = forwardRef20(
19346
19799
  children: "edit"
19347
19800
  }
19348
19801
  ),
19349
- externalLink ? /* @__PURE__ */ jsx117(
19802
+ externalLink ? /* @__PURE__ */ jsx118(
19350
19803
  "a",
19351
19804
  {
19352
19805
  href: externalLink,
@@ -19354,7 +19807,7 @@ var ParameterLinkInner = forwardRef20(
19354
19807
  title: "Open link in new tab",
19355
19808
  target: "_blank",
19356
19809
  rel: "noopener noreferrer",
19357
- children: /* @__PURE__ */ jsx117(Icon, { icon: "arrows-expand-up-right", iconColor: "currentColor", size: "1rem" })
19810
+ children: /* @__PURE__ */ jsx118(Icon, { icon: "arrows-expand-up-right", iconColor: "currentColor", size: "1rem" })
19358
19811
  }
19359
19812
  ) : null
19360
19813
  ] })
@@ -19363,15 +19816,15 @@ var ParameterLinkInner = forwardRef20(
19363
19816
  );
19364
19817
 
19365
19818
  // src/components/ParameterInputs/ParameterMultiSelect.tsx
19366
- import { jsx as jsx118 } from "@emotion/react/jsx-runtime";
19819
+ import { jsx as jsx119 } from "@emotion/react/jsx-runtime";
19367
19820
  var ParameterMultiSelect = ({ disabled: disabled2 = false, ...props }) => {
19368
19821
  const { shellProps, innerProps } = extractParameterProps(props);
19369
- return /* @__PURE__ */ jsx118(ParameterShell, { ...shellProps, children: /* @__PURE__ */ jsx118(ParameterMultiSelectInner, { isDisabled: disabled2, ...innerProps }) });
19822
+ return /* @__PURE__ */ jsx119(ParameterShell, { ...shellProps, children: /* @__PURE__ */ jsx119(ParameterMultiSelectInner, { isDisabled: disabled2, ...innerProps }) });
19370
19823
  };
19371
19824
  var ParameterMultiSelectInner = (props) => {
19372
19825
  var _a;
19373
19826
  const { id, label } = useParameterShell();
19374
- return /* @__PURE__ */ jsx118(
19827
+ return /* @__PURE__ */ jsx119(
19375
19828
  InputComboBox,
19376
19829
  {
19377
19830
  menuPortalTarget: document.body,
@@ -19421,7 +19874,7 @@ var ParameterMultiSelectInner = (props) => {
19421
19874
  };
19422
19875
 
19423
19876
  // src/components/ParameterInputs/ParameterNameAndPublicIdInput.tsx
19424
- import { Fragment as Fragment17, jsx as jsx119, jsxs as jsxs79 } from "@emotion/react/jsx-runtime";
19877
+ import { Fragment as Fragment17, jsx as jsx120, jsxs as jsxs80 } from "@emotion/react/jsx-runtime";
19425
19878
  var ParameterNameAndPublicIdInput = ({
19426
19879
  id,
19427
19880
  onBlur,
@@ -19447,8 +19900,8 @@ var ParameterNameAndPublicIdInput = ({
19447
19900
  navigator.clipboard.writeText(values[publicIdFieldName]);
19448
19901
  };
19449
19902
  autoFocus == null ? void 0 : autoFocus();
19450
- return /* @__PURE__ */ jsxs79(Fragment17, { children: [
19451
- /* @__PURE__ */ jsx119(
19903
+ return /* @__PURE__ */ jsxs80(Fragment17, { children: [
19904
+ /* @__PURE__ */ jsx120(
19452
19905
  ParameterInput,
19453
19906
  {
19454
19907
  id: nameIdField,
@@ -19467,7 +19920,7 @@ var ParameterNameAndPublicIdInput = ({
19467
19920
  value: values[nameIdField]
19468
19921
  }
19469
19922
  ),
19470
- /* @__PURE__ */ jsx119(
19923
+ /* @__PURE__ */ jsx120(
19471
19924
  ParameterInput,
19472
19925
  {
19473
19926
  id: publicIdFieldName,
@@ -19481,11 +19934,11 @@ var ParameterNameAndPublicIdInput = ({
19481
19934
  caption: !publicIdError ? publicIdCaption : void 0,
19482
19935
  placeholder: publicIdPlaceholderText,
19483
19936
  errorMessage: publicIdError,
19484
- menuItems: /* @__PURE__ */ jsx119(
19937
+ menuItems: /* @__PURE__ */ jsx120(
19485
19938
  MenuItem,
19486
19939
  {
19487
19940
  disabled: !values[publicIdFieldName],
19488
- icon: /* @__PURE__ */ jsx119(Icon, { icon: "path-trim", iconColor: "currentColor" }),
19941
+ icon: /* @__PURE__ */ jsx120(Icon, { icon: "path-trim", iconColor: "currentColor" }),
19489
19942
  onClick: handleCopyPidFieldValue,
19490
19943
  children: "Copy"
19491
19944
  }
@@ -19493,12 +19946,12 @@ var ParameterNameAndPublicIdInput = ({
19493
19946
  value: values[publicIdFieldName]
19494
19947
  }
19495
19948
  ),
19496
- (warnOverLength == null ? void 0 : warnOverLength.length) && values[publicIdFieldName].length > warnOverLength.length ? /* @__PURE__ */ jsx119(Callout, { type: "caution", children: warnOverLength.message }) : null
19949
+ (warnOverLength == null ? void 0 : warnOverLength.length) && values[publicIdFieldName].length > warnOverLength.length ? /* @__PURE__ */ jsx120(Callout, { type: "caution", children: warnOverLength.message }) : null
19497
19950
  ] });
19498
19951
  };
19499
19952
 
19500
19953
  // src/components/ParameterInputs/ParameterRichText.tsx
19501
- import { css as css93 } from "@emotion/react";
19954
+ import { css as css94 } from "@emotion/react";
19502
19955
  import { ListItemNode, ListNode as ListNode2 } from "@lexical/list";
19503
19956
  import {
19504
19957
  CODE,
@@ -19612,7 +20065,7 @@ var getLabelForElement = (type) => {
19612
20065
  // src/components/ParameterInputs/ParameterRichText.tsx
19613
20066
  import { deepEqual as deepEqual2 } from "fast-equals";
19614
20067
  import { ParagraphNode as ParagraphNode2 } from "lexical";
19615
- import { useEffect as useEffect19, useRef as useRef10 } from "react";
20068
+ import { useEffect as useEffect21, useRef as useRef12 } from "react";
19616
20069
 
19617
20070
  // src/components/ParameterInputs/rich-text/CustomCodeNode.ts
19618
20071
  import { CodeNode } from "@lexical/code";
@@ -19633,10 +20086,10 @@ CustomCodeNode.importDOM = function() {
19633
20086
  import { useLexicalComposerContext } from "@lexical/react/LexicalComposerContext";
19634
20087
  import { mergeRegister } from "@lexical/utils";
19635
20088
  import { ParagraphNode } from "lexical";
19636
- import { useEffect as useEffect15 } from "react";
20089
+ import { useEffect as useEffect17 } from "react";
19637
20090
  function DisableStylesPlugin() {
19638
20091
  const [editor] = useLexicalComposerContext();
19639
- useEffect15(() => {
20092
+ useEffect17(() => {
19640
20093
  return mergeRegister(
19641
20094
  // Disable text alignment on paragraph nodes
19642
20095
  editor.registerNodeTransform(ParagraphNode, (node) => {
@@ -19650,23 +20103,23 @@ function DisableStylesPlugin() {
19650
20103
  }
19651
20104
 
19652
20105
  // src/components/ParameterInputs/rich-text/editorStyles.ts
19653
- import { css as css90 } from "@emotion/css";
19654
- var textBold = css90`
20106
+ import { css as css91 } from "@emotion/css";
20107
+ var textBold = css91`
19655
20108
  font-weight: 700;
19656
20109
  `;
19657
- var textItalic = css90`
20110
+ var textItalic = css91`
19658
20111
  font-style: italic;
19659
20112
  `;
19660
- var textUnderline = css90`
20113
+ var textUnderline = css91`
19661
20114
  text-decoration: underline;
19662
20115
  `;
19663
- var textStrikethrough = css90`
20116
+ var textStrikethrough = css91`
19664
20117
  text-decoration: line-through;
19665
20118
  `;
19666
- var textUnderlineStrikethrough = css90`
20119
+ var textUnderlineStrikethrough = css91`
19667
20120
  text-decoration: underline line-through;
19668
20121
  `;
19669
- var textCode = css90`
20122
+ var textCode = css91`
19670
20123
  background-color: var(--gray-100);
19671
20124
  border-radius: var(--rounded-sm);
19672
20125
  display: inline-block;
@@ -19677,68 +20130,68 @@ var textCode = css90`
19677
20130
  padding-left: var(--spacing-xs);
19678
20131
  padding-right: var(--spacing-xs);
19679
20132
  `;
19680
- var textSuperscript = css90`
20133
+ var textSuperscript = css91`
19681
20134
  vertical-align: super;
19682
20135
  font-size: smaller;
19683
20136
  `;
19684
- var textSubscript = css90`
20137
+ var textSubscript = css91`
19685
20138
  vertical-align: sub;
19686
20139
  font-size: smaller;
19687
20140
  `;
19688
- var linkElement = css90`
20141
+ var linkElement = css91`
19689
20142
  ${link}
19690
20143
  ${linkColorDefault}
19691
20144
  text-decoration: underline;
19692
20145
  `;
19693
- var h12 = css90`
20146
+ var h12 = css91`
19694
20147
  font-size: clamp(1.35rem, var(--fluid-font-base), 1.7rem);
19695
20148
  `;
19696
- var h22 = css90`
20149
+ var h22 = css91`
19697
20150
  font-size: clamp(1.35rem, var(--fluid-font-base), 1.6rem);
19698
20151
  `;
19699
- var h32 = css90`
20152
+ var h32 = css91`
19700
20153
  font-size: clamp(1.25rem, var(--fluid-font-base), 1.5rem);
19701
20154
  `;
19702
- var h42 = css90`
20155
+ var h42 = css91`
19703
20156
  font-size: clamp(1.15rem, var(--fluid-font-base), 1.25rem);
19704
20157
  `;
19705
- var h52 = css90`
20158
+ var h52 = css91`
19706
20159
  font-size: clamp(var(--fs-base), var(--fluid-font-base), 1.15rem);
19707
20160
  `;
19708
- var h62 = css90`
20161
+ var h62 = css91`
19709
20162
  font-size: var(--fs-base);
19710
20163
  `;
19711
- var heading1Element = css90`
20164
+ var heading1Element = css91`
19712
20165
  ${h12}
19713
20166
  ${commonHeadingAttr(true)}
19714
20167
  ${commonLineHeight}
19715
20168
  `;
19716
- var heading2Element = css90`
20169
+ var heading2Element = css91`
19717
20170
  ${h22}
19718
20171
  ${commonHeadingAttr(true)}
19719
20172
  ${commonLineHeight}
19720
20173
  `;
19721
- var heading3Element = css90`
20174
+ var heading3Element = css91`
19722
20175
  ${h32}
19723
20176
  ${commonHeadingAttr(true)}
19724
20177
  ${commonLineHeight}
19725
20178
  `;
19726
- var heading4Element = css90`
20179
+ var heading4Element = css91`
19727
20180
  ${h42}
19728
20181
  ${commonHeadingAttr(true)}
19729
20182
  ${commonLineHeight}
19730
20183
  `;
19731
- var heading5Element = css90`
20184
+ var heading5Element = css91`
19732
20185
  ${h52}
19733
20186
  ${commonHeadingAttr(true)}
19734
20187
  ${commonLineHeight}
19735
20188
  `;
19736
- var heading6Element = css90`
20189
+ var heading6Element = css91`
19737
20190
  ${h62}
19738
20191
  ${commonHeadingAttr(true)}
19739
20192
  ${commonLineHeight}
19740
20193
  `;
19741
- var paragraphElement = css90`
20194
+ var paragraphElement = css91`
19742
20195
  line-height: 1.5;
19743
20196
  margin-bottom: var(--spacing-base);
19744
20197
 
@@ -19746,7 +20199,7 @@ var paragraphElement = css90`
19746
20199
  margin-bottom: 0;
19747
20200
  }
19748
20201
  `;
19749
- var orderedListElement = css90`
20202
+ var orderedListElement = css91`
19750
20203
  ${commonLineHeight}
19751
20204
  display: block;
19752
20205
  list-style: decimal;
@@ -19775,7 +20228,7 @@ var orderedListElement = css90`
19775
20228
  }
19776
20229
  }
19777
20230
  `;
19778
- var unorderedListElement = css90`
20231
+ var unorderedListElement = css91`
19779
20232
  ${commonLineHeight}
19780
20233
  display: block;
19781
20234
  list-style: disc;
@@ -19796,13 +20249,13 @@ var unorderedListElement = css90`
19796
20249
  }
19797
20250
  }
19798
20251
  `;
19799
- var listItemElement = css90`
20252
+ var listItemElement = css91`
19800
20253
  margin-left: var(--spacing-md);
19801
20254
  `;
19802
- var nestedListItemElement = css90`
20255
+ var nestedListItemElement = css91`
19803
20256
  list-style-type: none;
19804
20257
  `;
19805
- var blockquoteElement = css90`
20258
+ var blockquoteElement = css91`
19806
20259
  border-left: 0.25rem solid var(--gray-300);
19807
20260
  color: var(--gray-600);
19808
20261
  margin-bottom: var(--spacing-base);
@@ -19812,7 +20265,7 @@ var blockquoteElement = css90`
19812
20265
  margin-bottom: 0;
19813
20266
  }
19814
20267
  `;
19815
- var codeElement = css90`
20268
+ var codeElement = css91`
19816
20269
  background-color: var(--gray-100);
19817
20270
  border-radius: var(--rounded-sm);
19818
20271
  display: block;
@@ -19829,7 +20282,7 @@ var codeElement = css90`
19829
20282
  `;
19830
20283
 
19831
20284
  // src/components/ParameterInputs/rich-text/LinkNodePlugin.tsx
19832
- import { css as css91 } from "@emotion/react";
20285
+ import { css as css92 } from "@emotion/react";
19833
20286
  import { useLexicalComposerContext as useLexicalComposerContext2 } from "@lexical/react/LexicalComposerContext";
19834
20287
  import { NodeEventPlugin } from "@lexical/react/LexicalNodeEventPlugin";
19835
20288
  import { addClassNamesToElement, isHTMLAnchorElement, mergeRegister as mergeRegister2 } from "@lexical/utils";
@@ -19845,7 +20298,7 @@ import {
19845
20298
  ElementNode as ElementNode2,
19846
20299
  FOCUS_COMMAND
19847
20300
  } from "lexical";
19848
- import { useCallback as useCallback9, useEffect as useEffect16, useRef as useRef9, useState as useState15 } from "react";
20301
+ import { useCallback as useCallback10, useEffect as useEffect18, useRef as useRef11, useState as useState16 } from "react";
19849
20302
 
19850
20303
  // src/components/ParameterInputs/rich-text/utils.ts
19851
20304
  import { $isAtNodeEnd } from "@lexical/selection";
@@ -19862,8 +20315,7 @@ var getElementNodesInSelection = (selection) => {
19862
20315
  };
19863
20316
  var getAncestor = (node, predicate) => {
19864
20317
  let parent = node;
19865
- while (parent !== null && (parent = parent.getParent()) !== null && !predicate(parent))
19866
- ;
20318
+ while (parent !== null && (parent = parent.getParent()) !== null && !predicate(parent)) ;
19867
20319
  return parent;
19868
20320
  };
19869
20321
  var getSelectedNode = (selection) => {
@@ -19883,7 +20335,7 @@ var getSelectedNode = (selection) => {
19883
20335
  };
19884
20336
 
19885
20337
  // src/components/ParameterInputs/rich-text/LinkNodePlugin.tsx
19886
- import { Fragment as Fragment18, jsx as jsx120, jsxs as jsxs80 } from "@emotion/react/jsx-runtime";
20338
+ import { Fragment as Fragment18, jsx as jsx121, jsxs as jsxs81 } from "@emotion/react/jsx-runtime";
19887
20339
  var isProjectMapLinkValue = (value) => {
19888
20340
  return (value == null ? void 0 : value.type) === "projectMapNode" && Boolean(
19889
20341
  value.nodeId && value.path && value.projectMapId
@@ -20170,16 +20622,16 @@ var OPEN_LINK_NODE_MODAL_COMMAND = createCommand(
20170
20622
  );
20171
20623
  var LINK_POPOVER_OFFSET_X = 0;
20172
20624
  var LINK_POPOVER_OFFSET_Y = 8;
20173
- var linkPopover = css91`
20625
+ var linkPopover = css92`
20174
20626
  position: absolute;
20175
20627
  z-index: 5;
20176
20628
  `;
20177
- var linkPopoverContainer = css91`
20629
+ var linkPopoverContainer = css92`
20178
20630
  ${Popover};
20179
20631
  align-items: center;
20180
20632
  display: flex;
20181
20633
  `;
20182
- var linkPopoverAnchor = css91`
20634
+ var linkPopoverAnchor = css92`
20183
20635
  ${link}
20184
20636
  ${linkColorDefault}
20185
20637
  `;
@@ -20188,17 +20640,17 @@ function LinkNodePlugin({ onConnectLink, getBoundPath }) {
20188
20640
  return path;
20189
20641
  };
20190
20642
  const [editor] = useLexicalComposerContext2();
20191
- const [linkPopoverState, setLinkPopoverState] = useState15();
20192
- const linkPopoverElRef = useRef9(null);
20193
- const [isEditorFocused, setIsEditorFocused] = useState15(false);
20194
- const [isLinkPopoverFocused, setIsLinkPopoverFocused] = useState15(false);
20195
- useEffect16(() => {
20643
+ const [linkPopoverState, setLinkPopoverState] = useState16();
20644
+ const linkPopoverElRef = useRef11(null);
20645
+ const [isEditorFocused, setIsEditorFocused] = useState16(false);
20646
+ const [isLinkPopoverFocused, setIsLinkPopoverFocused] = useState16(false);
20647
+ useEffect18(() => {
20196
20648
  if (!isEditorFocused && !isLinkPopoverFocused) {
20197
20649
  setLinkPopoverState(void 0);
20198
20650
  return;
20199
20651
  }
20200
20652
  }, [isEditorFocused, isLinkPopoverFocused]);
20201
- useEffect16(() => {
20653
+ useEffect18(() => {
20202
20654
  if (!editor.hasNodes([LinkNode])) {
20203
20655
  throw new Error("LinkNode not registered on editor");
20204
20656
  }
@@ -20267,7 +20719,7 @@ function LinkNodePlugin({ onConnectLink, getBoundPath }) {
20267
20719
  )
20268
20720
  );
20269
20721
  }, [editor, onConnectLink]);
20270
- const maybeShowLinkToolbar = useCallback9(() => {
20722
+ const maybeShowLinkToolbar = useCallback10(() => {
20271
20723
  if (!editor.isEditable()) {
20272
20724
  return;
20273
20725
  }
@@ -20299,7 +20751,7 @@ function LinkNodePlugin({ onConnectLink, getBoundPath }) {
20299
20751
  }
20300
20752
  });
20301
20753
  }, [editor]);
20302
- useEffect16(() => {
20754
+ useEffect18(() => {
20303
20755
  return editor.registerUpdateListener(({ editorState }) => {
20304
20756
  requestAnimationFrame(() => {
20305
20757
  editorState.read(() => {
@@ -20326,8 +20778,8 @@ function LinkNodePlugin({ onConnectLink, getBoundPath }) {
20326
20778
  });
20327
20779
  });
20328
20780
  };
20329
- return /* @__PURE__ */ jsxs80(Fragment18, { children: [
20330
- /* @__PURE__ */ jsx120(
20781
+ return /* @__PURE__ */ jsxs81(Fragment18, { children: [
20782
+ /* @__PURE__ */ jsx121(
20331
20783
  NodeEventPlugin,
20332
20784
  {
20333
20785
  nodeType: LinkNode,
@@ -20337,7 +20789,7 @@ function LinkNodePlugin({ onConnectLink, getBoundPath }) {
20337
20789
  }
20338
20790
  }
20339
20791
  ),
20340
- linkPopoverState ? /* @__PURE__ */ jsx120(
20792
+ linkPopoverState ? /* @__PURE__ */ jsx121(
20341
20793
  "div",
20342
20794
  {
20343
20795
  css: linkPopover,
@@ -20346,8 +20798,8 @@ function LinkNodePlugin({ onConnectLink, getBoundPath }) {
20346
20798
  top: linkPopoverState.position.y
20347
20799
  },
20348
20800
  ref: linkPopoverElRef,
20349
- children: /* @__PURE__ */ jsxs80("div", { css: linkPopoverContainer, children: [
20350
- linkPopoverState.node.__link.type === "projectMapNode" ? linkPopoverState.node.__link.path : /* @__PURE__ */ jsx120(
20801
+ children: /* @__PURE__ */ jsxs81("div", { css: linkPopoverContainer, children: [
20802
+ linkPopoverState.node.__link.type === "projectMapNode" ? linkPopoverState.node.__link.path : /* @__PURE__ */ jsx121(
20351
20803
  "a",
20352
20804
  {
20353
20805
  href: parsePath(
@@ -20359,7 +20811,7 @@ function LinkNodePlugin({ onConnectLink, getBoundPath }) {
20359
20811
  children: parsePath(linkPopoverState.node.__link.path)
20360
20812
  }
20361
20813
  ),
20362
- /* @__PURE__ */ jsx120(
20814
+ /* @__PURE__ */ jsx121(
20363
20815
  Button,
20364
20816
  {
20365
20817
  size: "xs",
@@ -20367,7 +20819,7 @@ function LinkNodePlugin({ onConnectLink, getBoundPath }) {
20367
20819
  onEditLinkNode(linkPopoverState.node);
20368
20820
  },
20369
20821
  buttonType: "ghost",
20370
- children: /* @__PURE__ */ jsx120(Icon, { icon: "pen", size: "1rem", title: "Edit link" })
20822
+ children: /* @__PURE__ */ jsx121(Icon, { icon: "pen", size: "1rem", title: "Edit link" })
20371
20823
  }
20372
20824
  )
20373
20825
  ] })
@@ -20391,8 +20843,8 @@ import {
20391
20843
  COMMAND_PRIORITY_CRITICAL,
20392
20844
  INDENT_CONTENT_COMMAND
20393
20845
  } from "lexical";
20394
- import { useEffect as useEffect17 } from "react";
20395
- import { jsx as jsx121 } from "@emotion/react/jsx-runtime";
20846
+ import { useEffect as useEffect19 } from "react";
20847
+ import { jsx as jsx122 } from "@emotion/react/jsx-runtime";
20396
20848
  function isIndentPermitted(maxDepth) {
20397
20849
  const selection = $getSelection2();
20398
20850
  if (!$isRangeSelection2(selection)) {
@@ -20415,18 +20867,18 @@ function isIndentPermitted(maxDepth) {
20415
20867
  }
20416
20868
  function ListIndentPlugin({ maxDepth }) {
20417
20869
  const [editor] = useLexicalComposerContext3();
20418
- useEffect17(() => {
20870
+ useEffect19(() => {
20419
20871
  return editor.registerCommand(
20420
20872
  INDENT_CONTENT_COMMAND,
20421
20873
  () => !isIndentPermitted(maxDepth),
20422
20874
  COMMAND_PRIORITY_CRITICAL
20423
20875
  );
20424
20876
  }, [editor, maxDepth]);
20425
- return /* @__PURE__ */ jsx121(TabIndentationPlugin, {});
20877
+ return /* @__PURE__ */ jsx122(TabIndentationPlugin, {});
20426
20878
  }
20427
20879
 
20428
20880
  // src/components/ParameterInputs/rich-text/RichTextToolbar.tsx
20429
- import { css as css92 } from "@emotion/react";
20881
+ import { css as css93 } from "@emotion/react";
20430
20882
  import { $createCodeNode } from "@lexical/code";
20431
20883
  import {
20432
20884
  $isListNode as $isListNode2,
@@ -20448,9 +20900,9 @@ import {
20448
20900
  FORMAT_TEXT_COMMAND,
20449
20901
  SELECTION_CHANGE_COMMAND
20450
20902
  } from "lexical";
20451
- import { useCallback as useCallback10, useEffect as useEffect18, useMemo as useMemo4, useState as useState16 } from "react";
20452
- import { Fragment as Fragment19, jsx as jsx122, jsxs as jsxs81 } from "@emotion/react/jsx-runtime";
20453
- var toolbar = css92`
20903
+ import { useCallback as useCallback11, useEffect as useEffect20, useMemo as useMemo6, useState as useState17 } from "react";
20904
+ import { Fragment as Fragment19, jsx as jsx123, jsxs as jsxs82 } from "@emotion/react/jsx-runtime";
20905
+ var toolbar = css93`
20454
20906
  background: var(--gray-50);
20455
20907
  border-radius: var(--rounded-base);
20456
20908
  display: flex;
@@ -20462,7 +20914,7 @@ var toolbar = css92`
20462
20914
  top: calc(var(--spacing-sm) * -2);
20463
20915
  z-index: 10;
20464
20916
  `;
20465
- var toolbarGroup = css92`
20917
+ var toolbarGroup = css93`
20466
20918
  display: flex;
20467
20919
  gap: var(--spacing-xs);
20468
20920
  position: relative;
@@ -20478,7 +20930,7 @@ var toolbarGroup = css92`
20478
20930
  width: 1px;
20479
20931
  }
20480
20932
  `;
20481
- var richTextToolbarButton = css92`
20933
+ var richTextToolbarButton = css93`
20482
20934
  align-items: center;
20483
20935
  appearance: none;
20484
20936
  border: 0;
@@ -20491,17 +20943,17 @@ var richTextToolbarButton = css92`
20491
20943
  min-width: 32px;
20492
20944
  padding: 0 var(--spacing-sm);
20493
20945
  `;
20494
- var richTextToolbarButtonActive = css92`
20946
+ var richTextToolbarButtonActive = css93`
20495
20947
  background: var(--gray-200);
20496
20948
  `;
20497
- var toolbarIcon = css92`
20949
+ var toolbarIcon = css93`
20498
20950
  color: inherit;
20499
20951
  `;
20500
- var toolbarChevron = css92`
20952
+ var toolbarChevron = css93`
20501
20953
  margin-left: var(--spacing-xs);
20502
20954
  `;
20503
20955
  var RichTextToolbarIcon = ({ icon }) => {
20504
- return /* @__PURE__ */ jsx122(Icon, { icon, css: toolbarIcon, size: "1rem" });
20956
+ return /* @__PURE__ */ jsx123(Icon, { icon, css: toolbarIcon, size: "1rem" });
20505
20957
  };
20506
20958
  var FORMATS_WITH_ICON = /* @__PURE__ */ new Map([
20507
20959
  ["bold", "format-bold"],
@@ -20552,7 +21004,7 @@ var RichTextToolbar = ({ config, customControls }) => {
20552
21004
  }
20553
21005
  });
20554
21006
  };
20555
- const updateToolbar = useCallback10(() => {
21007
+ const updateToolbar = useCallback11(() => {
20556
21008
  const selection = $getSelection3();
20557
21009
  if (!$isRangeSelection3(selection)) {
20558
21010
  return;
@@ -20591,7 +21043,7 @@ var RichTextToolbar = ({ config, customControls }) => {
20591
21043
  setIsLink(false);
20592
21044
  }
20593
21045
  }, [editor, setActiveElement, setActiveFormats, setIsLink]);
20594
- useEffect18(() => {
21046
+ useEffect20(() => {
20595
21047
  return editor.registerCommand(
20596
21048
  SELECTION_CHANGE_COMMAND,
20597
21049
  (_payload) => {
@@ -20601,7 +21053,7 @@ var RichTextToolbar = ({ config, customControls }) => {
20601
21053
  COMMAND_PRIORITY_CRITICAL2
20602
21054
  );
20603
21055
  }, [editor, updateToolbar]);
20604
- useEffect18(() => {
21056
+ useEffect20(() => {
20605
21057
  return editor.registerUpdateListener(({ editorState }) => {
20606
21058
  requestAnimationFrame(() => {
20607
21059
  editorState.read(() => {
@@ -20610,15 +21062,15 @@ var RichTextToolbar = ({ config, customControls }) => {
20610
21062
  });
20611
21063
  });
20612
21064
  }, [editor, updateToolbar]);
20613
- return /* @__PURE__ */ jsxs81("div", { css: toolbar, children: [
20614
- /* @__PURE__ */ jsxs81(
21065
+ return /* @__PURE__ */ jsxs82("div", { css: toolbar, children: [
21066
+ /* @__PURE__ */ jsxs82(
20615
21067
  Menu,
20616
21068
  {
20617
21069
  menuLabel: "Elements",
20618
- menuTrigger: /* @__PURE__ */ jsxs81("button", { css: richTextToolbarButton, title: "Text styles", children: [
21070
+ menuTrigger: /* @__PURE__ */ jsxs82("button", { css: richTextToolbarButton, title: "Text styles", children: [
20619
21071
  visibleTextualElements.some((element) => element.type === activeElement) ? getLabelForElement(activeElement) : getLabelForElement("paragraph"),
20620
21072
  " ",
20621
- /* @__PURE__ */ jsx122(Icon, { icon: "chevron-down", css: [toolbarIcon, toolbarChevron], size: "1rem" })
21073
+ /* @__PURE__ */ jsx123(Icon, { icon: "chevron-down", css: [toolbarIcon, toolbarChevron], size: "1rem" })
20622
21074
  ] }),
20623
21075
  placement: "bottom-start",
20624
21076
  children: [
@@ -20628,7 +21080,7 @@ var RichTextToolbar = ({ config, customControls }) => {
20628
21080
  type: "paragraph"
20629
21081
  },
20630
21082
  ...visibleTextualElements
20631
- ].map((element) => /* @__PURE__ */ jsx122(
21083
+ ].map((element) => /* @__PURE__ */ jsx123(
20632
21084
  MenuItem,
20633
21085
  {
20634
21086
  onClick: () => {
@@ -20638,12 +21090,12 @@ var RichTextToolbar = ({ config, customControls }) => {
20638
21090
  },
20639
21091
  element.type
20640
21092
  )),
20641
- visibleTextualElements.length === 0 ? /* @__PURE__ */ jsx122(MenuItem, { disabled: true, children: "Alternative text styles are not available" }) : null
21093
+ visibleTextualElements.length === 0 ? /* @__PURE__ */ jsx123(MenuItem, { disabled: true, children: "Alternative text styles are not available" }) : null
20642
21094
  ]
20643
21095
  }
20644
21096
  ),
20645
- visibleFormatsWithIcon.length > 0 || visibleFormatsWithoutIcon.length > 0 ? /* @__PURE__ */ jsxs81("div", { css: toolbarGroup, children: [
20646
- visibleFormatsWithIcon.map((format) => /* @__PURE__ */ jsx122(Tooltip, { title: format.label, placement: "top", children: /* @__PURE__ */ jsx122(
21097
+ visibleFormatsWithIcon.length > 0 || visibleFormatsWithoutIcon.length > 0 ? /* @__PURE__ */ jsxs82("div", { css: toolbarGroup, children: [
21098
+ visibleFormatsWithIcon.map((format) => /* @__PURE__ */ jsx123(Tooltip, { title: format.label, placement: "top", children: /* @__PURE__ */ jsx123(
20647
21099
  "button",
20648
21100
  {
20649
21101
  onClick: () => {
@@ -20653,16 +21105,16 @@ var RichTextToolbar = ({ config, customControls }) => {
20653
21105
  richTextToolbarButton,
20654
21106
  activeFormats.includes(format.type) ? richTextToolbarButtonActive : null
20655
21107
  ],
20656
- children: /* @__PURE__ */ jsx122(RichTextToolbarIcon, { icon: FORMATS_WITH_ICON.get(format.type) })
21108
+ children: /* @__PURE__ */ jsx123(RichTextToolbarIcon, { icon: FORMATS_WITH_ICON.get(format.type) })
20657
21109
  }
20658
21110
  ) }, format.type)),
20659
- visibleFormatsWithoutIcon.length > 0 ? /* @__PURE__ */ jsx122(
21111
+ visibleFormatsWithoutIcon.length > 0 ? /* @__PURE__ */ jsx123(
20660
21112
  Menu,
20661
21113
  {
20662
21114
  menuLabel: "Alternative text styles",
20663
- menuTrigger: /* @__PURE__ */ jsx122("button", { css: richTextToolbarButton, title: "Alternative text styles", children: /* @__PURE__ */ jsx122(Icon, { icon: "more-alt", css: toolbarIcon }) }),
21115
+ menuTrigger: /* @__PURE__ */ jsx123("button", { css: richTextToolbarButton, title: "Alternative text styles", children: /* @__PURE__ */ jsx123(Icon, { icon: "more-alt", css: toolbarIcon }) }),
20664
21116
  placement: "bottom-start",
20665
- children: visibleFormatsWithoutIcon.map((format) => /* @__PURE__ */ jsx122(
21117
+ children: visibleFormatsWithoutIcon.map((format) => /* @__PURE__ */ jsx123(
20666
21118
  MenuItem,
20667
21119
  {
20668
21120
  onClick: () => {
@@ -20675,19 +21127,19 @@ var RichTextToolbar = ({ config, customControls }) => {
20675
21127
  }
20676
21128
  ) : null
20677
21129
  ] }) : null,
20678
- visibleElementsWithIcons.size > 0 ? /* @__PURE__ */ jsxs81("div", { css: toolbarGroup, children: [
20679
- linkElementVisible ? /* @__PURE__ */ jsx122(Tooltip, { title: "Link", placement: "top", children: /* @__PURE__ */ jsx122(
21130
+ visibleElementsWithIcons.size > 0 ? /* @__PURE__ */ jsxs82("div", { css: toolbarGroup, children: [
21131
+ linkElementVisible ? /* @__PURE__ */ jsx123(Tooltip, { title: "Link", placement: "top", children: /* @__PURE__ */ jsx123(
20680
21132
  "button",
20681
21133
  {
20682
21134
  onClick: () => {
20683
21135
  isLink ? editor.dispatchCommand(REMOVE_LINK_NODE_COMMAND, {}) : editor.dispatchCommand(OPEN_LINK_NODE_MODAL_COMMAND, {});
20684
21136
  },
20685
21137
  css: [richTextToolbarButton, isLink ? richTextToolbarButtonActive : null],
20686
- children: /* @__PURE__ */ jsx122(RichTextToolbarIcon, { icon: "link" })
21138
+ children: /* @__PURE__ */ jsx123(RichTextToolbarIcon, { icon: "link" })
20687
21139
  }
20688
21140
  ) }) : null,
20689
- visibleLists.size > 0 ? /* @__PURE__ */ jsxs81(Fragment19, { children: [
20690
- visibleLists.has("unorderedList") ? /* @__PURE__ */ jsx122(Tooltip, { title: "Bullet List", placement: "top", children: /* @__PURE__ */ jsx122(
21141
+ visibleLists.size > 0 ? /* @__PURE__ */ jsxs82(Fragment19, { children: [
21142
+ visibleLists.has("unorderedList") ? /* @__PURE__ */ jsx123(Tooltip, { title: "Bullet List", placement: "top", children: /* @__PURE__ */ jsx123(
20691
21143
  "button",
20692
21144
  {
20693
21145
  onClick: () => {
@@ -20697,10 +21149,10 @@ var RichTextToolbar = ({ config, customControls }) => {
20697
21149
  richTextToolbarButton,
20698
21150
  activeElement === "unorderedList" ? richTextToolbarButtonActive : null
20699
21151
  ],
20700
- children: /* @__PURE__ */ jsx122(RichTextToolbarIcon, { icon: "layout-list" })
21152
+ children: /* @__PURE__ */ jsx123(RichTextToolbarIcon, { icon: "layout-list" })
20701
21153
  }
20702
21154
  ) }) : null,
20703
- visibleLists.has("orderedList") ? /* @__PURE__ */ jsx122(Tooltip, { title: "Ordered List", placement: "top", children: /* @__PURE__ */ jsx122(
21155
+ visibleLists.has("orderedList") ? /* @__PURE__ */ jsx123(Tooltip, { title: "Ordered List", placement: "top", children: /* @__PURE__ */ jsx123(
20704
21156
  "button",
20705
21157
  {
20706
21158
  onClick: () => {
@@ -20710,57 +21162,57 @@ var RichTextToolbar = ({ config, customControls }) => {
20710
21162
  richTextToolbarButton,
20711
21163
  activeElement === "orderedList" ? richTextToolbarButtonActive : null
20712
21164
  ],
20713
- children: /* @__PURE__ */ jsx122(RichTextToolbarIcon, { icon: "layout-list-numbered" })
21165
+ children: /* @__PURE__ */ jsx123(RichTextToolbarIcon, { icon: "layout-list-numbered" })
20714
21166
  }
20715
21167
  ) }) : null
20716
21168
  ] }) : null,
20717
- quoteElementVisible ? /* @__PURE__ */ jsx122(Tooltip, { title: "Blockquote", placement: "top", children: /* @__PURE__ */ jsx122(
21169
+ quoteElementVisible ? /* @__PURE__ */ jsx123(Tooltip, { title: "Blockquote", placement: "top", children: /* @__PURE__ */ jsx123(
20718
21170
  "button",
20719
21171
  {
20720
21172
  onClick: () => {
20721
21173
  activeElement === "quote" ? onSelectElement("paragraph") : onSelectElement("quote");
20722
21174
  },
20723
21175
  css: [richTextToolbarButton, activeElement === "quote" ? richTextToolbarButtonActive : null],
20724
- children: /* @__PURE__ */ jsx122(RichTextToolbarIcon, { icon: "quote" })
21176
+ children: /* @__PURE__ */ jsx123(RichTextToolbarIcon, { icon: "quote" })
20725
21177
  }
20726
21178
  ) }) : null,
20727
- codeElementVisible ? /* @__PURE__ */ jsx122(Tooltip, { title: "Code Block", placement: "top", children: /* @__PURE__ */ jsx122(
21179
+ codeElementVisible ? /* @__PURE__ */ jsx123(Tooltip, { title: "Code Block", placement: "top", children: /* @__PURE__ */ jsx123(
20728
21180
  "button",
20729
21181
  {
20730
21182
  onClick: () => {
20731
21183
  activeElement === "code" ? onSelectElement("paragraph") : onSelectElement("code");
20732
21184
  },
20733
21185
  css: [richTextToolbarButton, activeElement === "code" ? richTextToolbarButtonActive : null],
20734
- children: /* @__PURE__ */ jsx122(RichTextToolbarIcon, { icon: "code-slash" })
21186
+ children: /* @__PURE__ */ jsx123(RichTextToolbarIcon, { icon: "code-slash" })
20735
21187
  }
20736
21188
  ) }) : null
20737
21189
  ] }) : null,
20738
- customControls ? /* @__PURE__ */ jsx122("div", { css: toolbarGroup, children: customControls }) : null
21190
+ customControls ? /* @__PURE__ */ jsx123("div", { css: toolbarGroup, children: customControls }) : null
20739
21191
  ] });
20740
21192
  };
20741
21193
  var RichTextToolbar_default = RichTextToolbar;
20742
21194
  var useRichTextToolbarState = ({ config }) => {
20743
21195
  var _a;
20744
- const enabledBuiltInFormats = useMemo4(() => {
21196
+ const enabledBuiltInFormats = useMemo6(() => {
20745
21197
  return richTextBuiltInFormats.filter((format) => {
20746
21198
  var _a2, _b;
20747
21199
  return (_b = (_a2 = config == null ? void 0 : config.formatting) == null ? void 0 : _a2.builtIn) == null ? void 0 : _b.includes(format.type);
20748
21200
  });
20749
21201
  }, [config]);
20750
- const enabledBuiltInElements = useMemo4(() => {
21202
+ const enabledBuiltInElements = useMemo6(() => {
20751
21203
  return richTextBuiltInElements.filter((element) => {
20752
21204
  var _a2, _b;
20753
21205
  return (_b = (_a2 = config == null ? void 0 : config.elements) == null ? void 0 : _a2.builtIn) == null ? void 0 : _b.includes(element.type);
20754
21206
  });
20755
21207
  }, [config]);
20756
- const enabledBuiltInFormatsWithIcon = useMemo4(() => {
21208
+ const enabledBuiltInFormatsWithIcon = useMemo6(() => {
20757
21209
  return enabledBuiltInFormats.filter((format) => FORMATS_WITH_ICON.has(format.type));
20758
21210
  }, [enabledBuiltInFormats]);
20759
21211
  const enabledBuiltInFormatsWithoutIcon = enabledBuiltInFormats.filter(
20760
21212
  (format) => !FORMATS_WITH_ICON.has(format.type)
20761
21213
  );
20762
- const [activeFormats, setActiveFormats] = useState16([]);
20763
- const visibleFormatsWithIcon = useMemo4(() => {
21214
+ const [activeFormats, setActiveFormats] = useState17([]);
21215
+ const visibleFormatsWithIcon = useMemo6(() => {
20764
21216
  const visibleFormats = /* @__PURE__ */ new Set();
20765
21217
  activeFormats.filter((type) => FORMATS_WITH_ICON.has(type)).forEach((type) => {
20766
21218
  visibleFormats.add(type);
@@ -20770,7 +21222,7 @@ var useRichTextToolbarState = ({ config }) => {
20770
21222
  });
20771
21223
  return richTextBuiltInFormats.filter((format) => visibleFormats.has(format.type));
20772
21224
  }, [activeFormats, enabledBuiltInFormatsWithIcon]);
20773
- const visibleFormatsWithoutIcon = useMemo4(() => {
21225
+ const visibleFormatsWithoutIcon = useMemo6(() => {
20774
21226
  const visibleFormats = /* @__PURE__ */ new Set();
20775
21227
  activeFormats.filter((type) => !FORMATS_WITH_ICON.has(type)).forEach((type) => {
20776
21228
  visibleFormats.add(type);
@@ -20780,11 +21232,11 @@ var useRichTextToolbarState = ({ config }) => {
20780
21232
  });
20781
21233
  return richTextBuiltInFormats.filter((format) => visibleFormats.has(format.type));
20782
21234
  }, [activeFormats, enabledBuiltInFormatsWithoutIcon]);
20783
- const [activeElement, setActiveElement] = useState16("paragraph");
21235
+ const [activeElement, setActiveElement] = useState17("paragraph");
20784
21236
  const enabledTextualElements = enabledBuiltInElements.filter(
20785
21237
  (element) => TEXTUAL_ELEMENTS.includes(element.type)
20786
21238
  );
20787
- const visibleTextualElements = useMemo4(() => {
21239
+ const visibleTextualElements = useMemo6(() => {
20788
21240
  if (!TEXTUAL_ELEMENTS.includes(activeElement)) {
20789
21241
  return enabledTextualElements;
20790
21242
  }
@@ -20795,24 +21247,24 @@ var useRichTextToolbarState = ({ config }) => {
20795
21247
  }
20796
21248
  );
20797
21249
  }, [activeElement, (_a = config == null ? void 0 : config.elements) == null ? void 0 : _a.builtIn, enabledTextualElements]);
20798
- const [isLink, setIsLink] = useState16(false);
20799
- const linkElementVisible = useMemo4(() => {
21250
+ const [isLink, setIsLink] = useState17(false);
21251
+ const linkElementVisible = useMemo6(() => {
20800
21252
  return enabledBuiltInElements.some((element) => element.type === "link") || isLink;
20801
21253
  }, [isLink, enabledBuiltInElements]);
20802
- const visibleLists = useMemo4(() => {
21254
+ const visibleLists = useMemo6(() => {
20803
21255
  return new Set(
20804
21256
  ["orderedList", "unorderedList"].filter(
20805
21257
  (type) => enabledBuiltInElements.some((element) => element.type === type) || activeElement === type
20806
21258
  )
20807
21259
  );
20808
21260
  }, [activeElement, enabledBuiltInElements]);
20809
- const quoteElementVisible = useMemo4(() => {
21261
+ const quoteElementVisible = useMemo6(() => {
20810
21262
  return enabledBuiltInElements.some((element) => element.type === "quote") || activeElement === "quote";
20811
21263
  }, [activeElement, enabledBuiltInElements]);
20812
- const codeElementVisible = useMemo4(() => {
21264
+ const codeElementVisible = useMemo6(() => {
20813
21265
  return enabledBuiltInElements.some((element) => element.type === "code") || activeElement === "code";
20814
21266
  }, [activeElement, enabledBuiltInElements]);
20815
- const visibleElementsWithIcons = useMemo4(() => {
21267
+ const visibleElementsWithIcons = useMemo6(() => {
20816
21268
  const visibleElements = /* @__PURE__ */ new Set();
20817
21269
  if (linkElementVisible) {
20818
21270
  visibleElements.add("link");
@@ -20849,7 +21301,7 @@ var useRichTextToolbarState = ({ config }) => {
20849
21301
  };
20850
21302
 
20851
21303
  // src/components/ParameterInputs/ParameterRichText.tsx
20852
- import { Fragment as Fragment20, jsx as jsx123, jsxs as jsxs82 } from "@emotion/react/jsx-runtime";
21304
+ import { Fragment as Fragment20, jsx as jsx124, jsxs as jsxs83 } from "@emotion/react/jsx-runtime";
20853
21305
  var ParameterRichText = ({
20854
21306
  label,
20855
21307
  labelLeadingIcon,
@@ -20874,7 +21326,7 @@ var ParameterRichText = ({
20874
21326
  variables,
20875
21327
  customControls
20876
21328
  }) => {
20877
- return /* @__PURE__ */ jsxs82(
21329
+ return /* @__PURE__ */ jsxs83(
20878
21330
  ParameterShell,
20879
21331
  {
20880
21332
  "data-testid": "parameter-richtext",
@@ -20888,7 +21340,7 @@ var ParameterRichText = ({
20888
21340
  captionTestId,
20889
21341
  menuItems,
20890
21342
  children: [
20891
- /* @__PURE__ */ jsx123(
21343
+ /* @__PURE__ */ jsx124(
20892
21344
  ParameterRichTextInner,
20893
21345
  {
20894
21346
  value,
@@ -20906,23 +21358,23 @@ var ParameterRichText = ({
20906
21358
  children
20907
21359
  }
20908
21360
  ),
20909
- menuItems ? /* @__PURE__ */ jsx123(ParameterMenuButton, { label: `${label} menu`, children: /* @__PURE__ */ jsx123(Fragment20, { children: menuItems }) }) : null
21361
+ menuItems ? /* @__PURE__ */ jsx124(ParameterMenuButton, { label: `${label} menu`, children: /* @__PURE__ */ jsx124(Fragment20, { children: menuItems }) }) : null
20910
21362
  ]
20911
21363
  }
20912
21364
  );
20913
21365
  };
20914
- var editorWrapper = css93`
21366
+ var editorWrapper = css94`
20915
21367
  display: flex;
20916
21368
  flex-flow: column;
20917
21369
  flex-grow: 1;
20918
21370
  `;
20919
- var editorContainer = css93`
21371
+ var editorContainer = css94`
20920
21372
  display: flex;
20921
21373
  flex-flow: column;
20922
21374
  flex-grow: 1;
20923
21375
  position: relative;
20924
21376
  `;
20925
- var editorPlaceholder = css93`
21377
+ var editorPlaceholder = css94`
20926
21378
  color: var(--gray-500);
20927
21379
  font-style: italic;
20928
21380
  /* 1px is added to make sure caret is clearly visible when field is focused
@@ -20933,7 +21385,7 @@ var editorPlaceholder = css93`
20933
21385
  top: var(--spacing-sm);
20934
21386
  user-select: none;
20935
21387
  `;
20936
- var editorInput = css93`
21388
+ var editorInput = css94`
20937
21389
  background: var(--white);
20938
21390
  border: 1px solid var(--gray-200);
20939
21391
  border-radius: var(--rounded-sm);
@@ -21017,8 +21469,8 @@ var ParameterRichTextInner = ({
21017
21469
  },
21018
21470
  editable: !readOnly
21019
21471
  };
21020
- return /* @__PURE__ */ jsxs82(Fragment20, { children: [
21021
- /* @__PURE__ */ jsx123("div", { css: [editorWrapper], className: editorWrapperClassName, children: /* @__PURE__ */ jsx123(LexicalComposer, { initialConfig: lexicalConfig, children: /* @__PURE__ */ jsx123(
21472
+ return /* @__PURE__ */ jsxs83(Fragment20, { children: [
21473
+ /* @__PURE__ */ jsx124("div", { css: [editorWrapper], className: editorWrapperClassName, children: /* @__PURE__ */ jsx124(LexicalComposer, { initialConfig: lexicalConfig, children: /* @__PURE__ */ jsx124(
21022
21474
  RichText,
21023
21475
  {
21024
21476
  onChange,
@@ -21055,14 +21507,14 @@ var RichText = ({
21055
21507
  variables,
21056
21508
  customControls
21057
21509
  }) => {
21058
- const editorContainerRef = useRef10(null);
21510
+ const editorContainerRef = useRef12(null);
21059
21511
  const [editor] = useLexicalComposerContext5();
21060
- useEffect19(() => {
21512
+ useEffect21(() => {
21061
21513
  if (onRichTextInit) {
21062
21514
  onRichTextInit(editor);
21063
21515
  }
21064
21516
  }, [editor, onRichTextInit]);
21065
- useEffect19(() => {
21517
+ useEffect21(() => {
21066
21518
  const removeUpdateListener = editor.registerUpdateListener(({ editorState, prevEditorState }) => {
21067
21519
  requestAnimationFrame(() => {
21068
21520
  if (!deepEqual2(editorState.toJSON(), prevEditorState.toJSON())) {
@@ -21074,23 +21526,23 @@ var RichText = ({
21074
21526
  removeUpdateListener();
21075
21527
  };
21076
21528
  }, [editor, onChange]);
21077
- useEffect19(() => {
21529
+ useEffect21(() => {
21078
21530
  editor.setEditable(!readOnly);
21079
21531
  }, [editor, readOnly]);
21080
- return /* @__PURE__ */ jsxs82(Fragment20, { children: [
21081
- readOnly ? null : /* @__PURE__ */ jsx123(RichTextToolbar_default, { config, customControls }),
21082
- /* @__PURE__ */ jsxs82("div", { css: editorContainer, ref: editorContainerRef, "data-testid": "value-container", children: [
21083
- /* @__PURE__ */ jsx123(
21532
+ return /* @__PURE__ */ jsxs83(Fragment20, { children: [
21533
+ readOnly ? null : /* @__PURE__ */ jsx124(RichTextToolbar_default, { config, customControls }),
21534
+ /* @__PURE__ */ jsxs83("div", { css: editorContainer, ref: editorContainerRef, "data-testid": "value-container", children: [
21535
+ /* @__PURE__ */ jsx124(
21084
21536
  RichTextPlugin,
21085
21537
  {
21086
- contentEditable: /* @__PURE__ */ jsx123(ContentEditable, { css: editorInput, className: editorInputClassName }),
21087
- placeholder: /* @__PURE__ */ jsx123("div", { css: editorPlaceholder, children: readOnly ? "empty" : "start editing..." }),
21538
+ contentEditable: /* @__PURE__ */ jsx124(ContentEditable, { css: editorInput, className: editorInputClassName }),
21539
+ placeholder: /* @__PURE__ */ jsx124("div", { css: editorPlaceholder, children: readOnly ? "empty" : "start editing..." }),
21088
21540
  ErrorBoundary: LexicalErrorBoundary
21089
21541
  }
21090
21542
  ),
21091
- /* @__PURE__ */ jsx123(ListPlugin, {}),
21092
- readOnly ? null : /* @__PURE__ */ jsx123(HistoryPlugin, {}),
21093
- /* @__PURE__ */ jsx123(
21543
+ /* @__PURE__ */ jsx124(ListPlugin, {}),
21544
+ readOnly ? null : /* @__PURE__ */ jsx124(HistoryPlugin, {}),
21545
+ /* @__PURE__ */ jsx124(
21094
21546
  LinkNodePlugin,
21095
21547
  {
21096
21548
  onConnectLink: onConnectLink ? onConnectLink : () => Promise.resolve(),
@@ -21100,27 +21552,27 @@ var RichText = ({
21100
21552
  } : void 0
21101
21553
  }
21102
21554
  ),
21103
- /* @__PURE__ */ jsx123(ListIndentPlugin, { maxDepth: 4 }),
21104
- /* @__PURE__ */ jsx123(DisableStylesPlugin, {}),
21105
- /* @__PURE__ */ jsx123(MarkdownShortcutPlugin, { transformers: MARKDOWN_TRANSFORMERS }),
21106
- /* @__PURE__ */ jsx123(Fragment20, { children })
21555
+ /* @__PURE__ */ jsx124(ListIndentPlugin, { maxDepth: 4 }),
21556
+ /* @__PURE__ */ jsx124(DisableStylesPlugin, {}),
21557
+ /* @__PURE__ */ jsx124(MarkdownShortcutPlugin, { transformers: MARKDOWN_TRANSFORMERS }),
21558
+ /* @__PURE__ */ jsx124(Fragment20, { children })
21107
21559
  ] })
21108
21560
  ] });
21109
21561
  };
21110
21562
 
21111
21563
  // src/components/ParameterInputs/ParameterSelect.tsx
21112
21564
  import { forwardRef as forwardRef21 } from "react";
21113
- import { jsx as jsx124, jsxs as jsxs83 } from "@emotion/react/jsx-runtime";
21565
+ import { jsx as jsx125, jsxs as jsxs84 } from "@emotion/react/jsx-runtime";
21114
21566
  var ParameterSelect = forwardRef21(
21115
21567
  ({ defaultOption, options, ...props }, ref) => {
21116
21568
  const { shellProps, innerProps } = extractParameterProps(props);
21117
- return /* @__PURE__ */ jsx124(ParameterShell, { ...shellProps, children: /* @__PURE__ */ jsx124(ParameterSelectInner, { options, defaultOption, ...innerProps, ref }) });
21569
+ return /* @__PURE__ */ jsx125(ParameterShell, { ...shellProps, children: /* @__PURE__ */ jsx125(ParameterSelectInner, { options, defaultOption, ...innerProps, ref }) });
21118
21570
  }
21119
21571
  );
21120
21572
  var ParameterSelectInner = forwardRef21(
21121
21573
  ({ defaultOption, options, ...props }, ref) => {
21122
21574
  const { id, label, hiddenLabel } = useParameterShell();
21123
- return /* @__PURE__ */ jsxs83(
21575
+ return /* @__PURE__ */ jsxs84(
21124
21576
  "select",
21125
21577
  {
21126
21578
  css: [input3, selectInput],
@@ -21129,10 +21581,10 @@ var ParameterSelectInner = forwardRef21(
21129
21581
  ref,
21130
21582
  ...props,
21131
21583
  children: [
21132
- defaultOption ? /* @__PURE__ */ jsx124("option", { value: "", children: defaultOption }) : null,
21584
+ defaultOption ? /* @__PURE__ */ jsx125("option", { value: "", children: defaultOption }) : null,
21133
21585
  options.map((option) => {
21134
21586
  var _a;
21135
- return /* @__PURE__ */ jsx124("option", { value: (_a = option.value) != null ? _a : option.label, children: option.label }, option.label);
21587
+ return /* @__PURE__ */ jsx125("option", { value: (_a = option.value) != null ? _a : option.label, children: option.label }, option.label);
21136
21588
  })
21137
21589
  ]
21138
21590
  }
@@ -21142,14 +21594,14 @@ var ParameterSelectInner = forwardRef21(
21142
21594
 
21143
21595
  // src/components/ParameterInputs/ParameterTextarea.tsx
21144
21596
  import { forwardRef as forwardRef22 } from "react";
21145
- import { jsx as jsx125 } from "@emotion/react/jsx-runtime";
21597
+ import { jsx as jsx126 } from "@emotion/react/jsx-runtime";
21146
21598
  var ParameterTextarea = forwardRef22((props, ref) => {
21147
21599
  const { shellProps, innerProps } = extractParameterProps(props);
21148
- return /* @__PURE__ */ jsx125(ParameterShell, { "data-testid": "parameter-textarea", ...shellProps, children: /* @__PURE__ */ jsx125(ParameterTextareaInner, { ref, ...innerProps }) });
21600
+ return /* @__PURE__ */ jsx126(ParameterShell, { "data-testid": "parameter-textarea", ...shellProps, children: /* @__PURE__ */ jsx126(ParameterTextareaInner, { ref, ...innerProps }) });
21149
21601
  });
21150
21602
  var ParameterTextareaInner = forwardRef22(({ ...props }, ref) => {
21151
21603
  const { id, label, hiddenLabel } = useParameterShell();
21152
- return /* @__PURE__ */ jsx125(
21604
+ return /* @__PURE__ */ jsx126(
21153
21605
  "textarea",
21154
21606
  {
21155
21607
  css: [input3, textarea2],
@@ -21163,25 +21615,25 @@ var ParameterTextareaInner = forwardRef22(({ ...props }, ref) => {
21163
21615
 
21164
21616
  // src/components/ParameterInputs/ParameterToggle.tsx
21165
21617
  import { forwardRef as forwardRef23 } from "react";
21166
- import { jsx as jsx126, jsxs as jsxs84 } from "@emotion/react/jsx-runtime";
21618
+ import { jsx as jsx127, jsxs as jsxs85 } from "@emotion/react/jsx-runtime";
21167
21619
  var ParameterToggle = forwardRef23((props, ref) => {
21168
21620
  const { shellProps, innerProps } = extractParameterProps(props);
21169
- return /* @__PURE__ */ jsx126(ParameterShell, { ...shellProps, children: /* @__PURE__ */ jsx126(ParameterToggleInner, { ref, ...innerProps }) });
21621
+ return /* @__PURE__ */ jsx127(ParameterShell, { ...shellProps, children: /* @__PURE__ */ jsx127(ParameterToggleInner, { ref, ...innerProps }) });
21170
21622
  });
21171
21623
  var ParameterToggleInner = forwardRef23(
21172
21624
  ({ children, ...props }, ref) => {
21173
21625
  const { id, label } = useParameterShell();
21174
- return /* @__PURE__ */ jsxs84("label", { css: inputToggleLabel2, children: [
21175
- /* @__PURE__ */ jsx126("input", { css: toggleInput2, type: props.type, id, ref, ...props }),
21176
- /* @__PURE__ */ jsx126("span", { css: inlineLabel2, children: label }),
21626
+ return /* @__PURE__ */ jsxs85("label", { css: inputToggleLabel2, children: [
21627
+ /* @__PURE__ */ jsx127("input", { css: toggleInput2, type: props.type, id, ref, ...props }),
21628
+ /* @__PURE__ */ jsx127("span", { css: inlineLabel2, children: label }),
21177
21629
  children
21178
21630
  ] });
21179
21631
  }
21180
21632
  );
21181
21633
 
21182
21634
  // src/components/ProgressBar/ProgressBar.styles.ts
21183
- import { css as css94, keyframes as keyframes4 } from "@emotion/react";
21184
- var container3 = css94`
21635
+ import { css as css95, keyframes as keyframes4 } from "@emotion/react";
21636
+ var container3 = css95`
21185
21637
  background: var(--gray-50);
21186
21638
  margin-block: var(--spacing-sm);
21187
21639
  position: relative;
@@ -21191,13 +21643,13 @@ var container3 = css94`
21191
21643
  border: solid 1px var(--gray-300);
21192
21644
  `;
21193
21645
  var themeMap = {
21194
- primary: css94`
21646
+ primary: css95`
21195
21647
  --progress-color: var(--accent-light);
21196
21648
  `,
21197
- secondary: css94`
21649
+ secondary: css95`
21198
21650
  --progress-color: var(--accent-alt-light);
21199
21651
  `,
21200
- destructive: css94`
21652
+ destructive: css95`
21201
21653
  --progress-color: var(--brand-secondary-5);
21202
21654
  `
21203
21655
  };
@@ -21209,10 +21661,10 @@ var slidingBackgroundPosition = keyframes4`
21209
21661
  background-position: 64px 0;
21210
21662
  }
21211
21663
  `;
21212
- var determinate = css94`
21664
+ var determinate = css95`
21213
21665
  background-color: var(--progress-color);
21214
21666
  `;
21215
- var indeterminate = css94`
21667
+ var indeterminate = css95`
21216
21668
  background-image: linear-gradient(
21217
21669
  45deg,
21218
21670
  var(--progress-color) 25%,
@@ -21226,7 +21678,7 @@ var indeterminate = css94`
21226
21678
  background-size: 64px 64px;
21227
21679
  animation: ${slidingBackgroundPosition} 1s linear infinite;
21228
21680
  `;
21229
- var bar = css94`
21681
+ var bar = css95`
21230
21682
  position: absolute;
21231
21683
  inset: 0;
21232
21684
  transition: transform var(--duration-fast) var(--timing-ease-out);
@@ -21234,7 +21686,7 @@ var bar = css94`
21234
21686
  `;
21235
21687
 
21236
21688
  // src/components/ProgressBar/ProgressBar.tsx
21237
- import { jsx as jsx127 } from "@emotion/react/jsx-runtime";
21689
+ import { jsx as jsx128 } from "@emotion/react/jsx-runtime";
21238
21690
  function ProgressBar({
21239
21691
  current,
21240
21692
  max,
@@ -21244,7 +21696,7 @@ function ProgressBar({
21244
21696
  }) {
21245
21697
  const valueNow = Math.min(current, max);
21246
21698
  const valuePercentage = max > 0 ? Math.ceil(100 / max * valueNow) : 0;
21247
- return /* @__PURE__ */ jsx127(
21699
+ return /* @__PURE__ */ jsx128(
21248
21700
  "div",
21249
21701
  {
21250
21702
  css: container3,
@@ -21255,7 +21707,7 @@ function ProgressBar({
21255
21707
  "aria-valuemax": max,
21256
21708
  "aria-valuenow": valueNow,
21257
21709
  ...props,
21258
- children: /* @__PURE__ */ jsx127(
21710
+ children: /* @__PURE__ */ jsx128(
21259
21711
  "div",
21260
21712
  {
21261
21713
  css: [
@@ -21274,30 +21726,30 @@ function ProgressBar({
21274
21726
  }
21275
21727
 
21276
21728
  // src/components/ProgressList/ProgressList.tsx
21277
- import { css as css96 } from "@emotion/react";
21729
+ import { css as css97 } from "@emotion/react";
21278
21730
  import { CgCheckO as CgCheckO2 } from "@react-icons/all-files/cg/CgCheckO";
21279
21731
  import { CgRadioCheck } from "@react-icons/all-files/cg/CgRadioCheck";
21280
21732
  import { CgRecord } from "@react-icons/all-files/cg/CgRecord";
21281
- import { useMemo as useMemo5 } from "react";
21733
+ import { useMemo as useMemo7 } from "react";
21282
21734
 
21283
21735
  // src/components/ProgressList/styles/ProgressList.styles.ts
21284
- import { css as css95 } from "@emotion/react";
21285
- var progressListStyles = css95`
21736
+ import { css as css96 } from "@emotion/react";
21737
+ var progressListStyles = css96`
21286
21738
  display: flex;
21287
21739
  flex-direction: column;
21288
21740
  gap: var(--spacing-sm);
21289
21741
  list-style-type: none;
21290
21742
  `;
21291
- var progressListItemStyles = css95`
21743
+ var progressListItemStyles = css96`
21292
21744
  display: flex;
21293
21745
  gap: var(--spacing-base);
21294
21746
  align-items: center;
21295
21747
  `;
21296
21748
 
21297
21749
  // src/components/ProgressList/ProgressList.tsx
21298
- import { jsx as jsx128, jsxs as jsxs85 } from "@emotion/react/jsx-runtime";
21750
+ import { jsx as jsx129, jsxs as jsxs86 } from "@emotion/react/jsx-runtime";
21299
21751
  var ProgressList = ({ inProgressId, items, autoEllipsis, ...htmlProps }) => {
21300
- const itemsWithStatus = useMemo5(() => {
21752
+ const itemsWithStatus = useMemo7(() => {
21301
21753
  const indexOfInProgressItem = items.findIndex(({ id }) => id === inProgressId);
21302
21754
  return items.map((item, index) => {
21303
21755
  let status = "queued";
@@ -21309,8 +21761,8 @@ var ProgressList = ({ inProgressId, items, autoEllipsis, ...htmlProps }) => {
21309
21761
  return { ...item, status };
21310
21762
  });
21311
21763
  }, [items, inProgressId]);
21312
- return /* @__PURE__ */ jsx128("ol", { css: progressListStyles, ...htmlProps, children: itemsWithStatus.map(({ id, label, status, error, errorLevel }) => {
21313
- return /* @__PURE__ */ jsx128(
21764
+ return /* @__PURE__ */ jsx129("ol", { css: progressListStyles, ...htmlProps, children: itemsWithStatus.map(({ id, label, status, error, errorLevel }) => {
21765
+ return /* @__PURE__ */ jsx129(
21314
21766
  ProgressListItem,
21315
21767
  {
21316
21768
  status,
@@ -21330,7 +21782,7 @@ var ProgressListItem = ({
21330
21782
  errorLevel = "danger",
21331
21783
  autoEllipsis = false
21332
21784
  }) => {
21333
- const icon = useMemo5(() => {
21785
+ const icon = useMemo7(() => {
21334
21786
  if (error) {
21335
21787
  return warningIcon;
21336
21788
  }
@@ -21341,14 +21793,14 @@ var ProgressListItem = ({
21341
21793
  };
21342
21794
  return iconPerStatus[status];
21343
21795
  }, [status, error]);
21344
- const statusStyles = useMemo5(() => {
21796
+ const statusStyles = useMemo7(() => {
21345
21797
  if (error) {
21346
- return errorLevel === "caution" ? css96`
21798
+ return errorLevel === "caution" ? css97`
21347
21799
  color: rgb(161, 98, 7);
21348
21800
  & svg {
21349
21801
  color: rgb(250, 204, 21);
21350
21802
  }
21351
- ` : css96`
21803
+ ` : css97`
21352
21804
  color: rgb(185, 28, 28);
21353
21805
  & svg {
21354
21806
  color: var(--brand-primary-2);
@@ -21356,38 +21808,38 @@ var ProgressListItem = ({
21356
21808
  `;
21357
21809
  }
21358
21810
  const colorPerStatus = {
21359
- completed: css96`
21811
+ completed: css97`
21360
21812
  opacity: 0.75;
21361
21813
  `,
21362
- inProgress: css96`
21814
+ inProgress: css97`
21363
21815
  -webkit-text-stroke-width: thin;
21364
21816
  `,
21365
- queued: css96`
21817
+ queued: css97`
21366
21818
  opacity: 0.5;
21367
21819
  `
21368
21820
  };
21369
21821
  return colorPerStatus[status];
21370
21822
  }, [status, error, errorLevel]);
21371
- return /* @__PURE__ */ jsxs85("li", { css: [progressListItemStyles, statusStyles], children: [
21372
- /* @__PURE__ */ jsx128(Tooltip, { title: error != null ? error : "", children: /* @__PURE__ */ jsx128("div", { children: /* @__PURE__ */ jsx128(Icon, { icon, size: 20, iconColor: "currentColor" }) }) }),
21373
- /* @__PURE__ */ jsxs85("div", { children: [
21823
+ return /* @__PURE__ */ jsxs86("li", { css: [progressListItemStyles, statusStyles], children: [
21824
+ /* @__PURE__ */ jsx129(Tooltip, { title: error != null ? error : "", children: /* @__PURE__ */ jsx129("div", { children: /* @__PURE__ */ jsx129(Icon, { icon, size: 20, iconColor: "currentColor" }) }) }),
21825
+ /* @__PURE__ */ jsxs86("div", { children: [
21374
21826
  children,
21375
- /* @__PURE__ */ jsx128("span", { css: { visibility: autoEllipsis && status === "inProgress" && !error ? "visible" : "hidden" }, children: "..." })
21827
+ /* @__PURE__ */ jsx129("span", { css: { visibility: autoEllipsis && status === "inProgress" && !error ? "visible" : "hidden" }, children: "..." })
21376
21828
  ] })
21377
21829
  ] });
21378
21830
  };
21379
21831
 
21380
21832
  // src/components/SegmentedControl/SegmentedControl.tsx
21381
- import { css as css98 } from "@emotion/react";
21833
+ import { css as css99 } from "@emotion/react";
21382
21834
  import { CgCheck as CgCheck5 } from "@react-icons/all-files/cg/CgCheck";
21383
- import { useCallback as useCallback11, useEffect as useEffect20, useMemo as useMemo6, useRef as useRef11, useState as useState17 } from "react";
21835
+ import { useCallback as useCallback12, useEffect as useEffect22, useMemo as useMemo8, useRef as useRef13, useState as useState18 } from "react";
21384
21836
 
21385
21837
  // src/components/SegmentedControl/SegmentedControl.styles.ts
21386
- import { css as css97 } from "@emotion/react";
21387
- var segmentedControlRootStyles = css97`
21838
+ import { css as css98 } from "@emotion/react";
21839
+ var segmentedControlRootStyles = css98`
21388
21840
  position: relative;
21389
21841
  `;
21390
- var segmentedControlScrollIndicatorsStyles = css97`
21842
+ var segmentedControlScrollIndicatorsStyles = css98`
21391
21843
  position: absolute;
21392
21844
  inset: 0;
21393
21845
  z-index: 1;
@@ -21415,17 +21867,17 @@ var segmentedControlScrollIndicatorsStyles = css97`
21415
21867
  background: linear-gradient(to left, var(--background-color) 10%, transparent);
21416
21868
  }
21417
21869
  `;
21418
- var segmentedControlScrollIndicatorStartVisibleStyles = css97`
21870
+ var segmentedControlScrollIndicatorStartVisibleStyles = css98`
21419
21871
  &::before {
21420
21872
  opacity: 1;
21421
21873
  }
21422
21874
  `;
21423
- var segmentedControlScrollIndicatorEndVisibleStyles = css97`
21875
+ var segmentedControlScrollIndicatorEndVisibleStyles = css98`
21424
21876
  &::after {
21425
21877
  opacity: 1;
21426
21878
  }
21427
21879
  `;
21428
- var segmentedControlWrapperStyles = css97`
21880
+ var segmentedControlWrapperStyles = css98`
21429
21881
  overflow-y: auto;
21430
21882
  scroll-behavior: smooth;
21431
21883
  scrollbar-width: none;
@@ -21434,7 +21886,7 @@ var segmentedControlWrapperStyles = css97`
21434
21886
  height: 0px;
21435
21887
  }
21436
21888
  `;
21437
- var segmentedControlStyles = css97`
21889
+ var segmentedControlStyles = css98`
21438
21890
  --segmented-control-rounded-value: var(--rounded-base);
21439
21891
  --segmented-control-border-width: 1px;
21440
21892
  --segmented-control-selected-color: var(--brand-secondary-3);
@@ -21453,14 +21905,14 @@ var segmentedControlStyles = css97`
21453
21905
  border-radius: calc(var(--segmented-control-rounded-value) + var(--segmented-control-border-width));
21454
21906
  font-size: var(--fs-xs);
21455
21907
  `;
21456
- var segmentedControlVerticalStyles = css97`
21908
+ var segmentedControlVerticalStyles = css98`
21457
21909
  flex-direction: column;
21458
21910
  --segmented-control-first-border-radius: var(--segmented-control-rounded-value)
21459
21911
  var(--segmented-control-rounded-value) 0 0;
21460
21912
  --segmented-control-last-border-radius: 0 0 var(--segmented-control-rounded-value)
21461
21913
  var(--segmented-control-rounded-value);
21462
21914
  `;
21463
- var segmentedControlItemStyles = css97`
21915
+ var segmentedControlItemStyles = css98`
21464
21916
  &:first-of-type label {
21465
21917
  border-radius: var(--segmented-control-first-border-radius);
21466
21918
  }
@@ -21468,10 +21920,10 @@ var segmentedControlItemStyles = css97`
21468
21920
  border-radius: var(--segmented-control-last-border-radius);
21469
21921
  }
21470
21922
  `;
21471
- var segmentedControlInputStyles = css97`
21923
+ var segmentedControlInputStyles = css98`
21472
21924
  ${accessibleHidden}
21473
21925
  `;
21474
- var segmentedControlLabelStyles = (checked, disabled2) => css97`
21926
+ var segmentedControlLabelStyles = (checked, disabled2) => css98`
21475
21927
  position: relative;
21476
21928
  display: flex;
21477
21929
  align-items: center;
@@ -21538,25 +21990,25 @@ var segmentedControlLabelStyles = (checked, disabled2) => css97`
21538
21990
  `}
21539
21991
  }
21540
21992
  `;
21541
- var segmentedControlLabelIconOnlyStyles = css97`
21993
+ var segmentedControlLabelIconOnlyStyles = css98`
21542
21994
  padding-inline: 0.5em;
21543
21995
  `;
21544
- var segmentedControlLabelCheckStyles = css97`
21996
+ var segmentedControlLabelCheckStyles = css98`
21545
21997
  opacity: 0.5;
21546
21998
  `;
21547
- var segmentedControlLabelContentStyles = css97`
21999
+ var segmentedControlLabelContentStyles = css98`
21548
22000
  display: flex;
21549
22001
  align-items: center;
21550
22002
  justify-content: center;
21551
22003
  gap: var(--spacing-sm);
21552
22004
  height: 100%;
21553
22005
  `;
21554
- var segmentedControlLabelTextStyles = css97`
22006
+ var segmentedControlLabelTextStyles = css98`
21555
22007
  white-space: nowrap;
21556
22008
  `;
21557
22009
 
21558
22010
  // src/components/SegmentedControl/SegmentedControl.tsx
21559
- import { jsx as jsx129, jsxs as jsxs86 } from "@emotion/react/jsx-runtime";
22011
+ import { jsx as jsx130, jsxs as jsxs87 } from "@emotion/react/jsx-runtime";
21560
22012
  var SegmentedControl = ({
21561
22013
  name,
21562
22014
  options,
@@ -21571,10 +22023,10 @@ var SegmentedControl = ({
21571
22023
  currentBackgroundColor = "white",
21572
22024
  ...props
21573
22025
  }) => {
21574
- const wrapperRef = useRef11(null);
21575
- const [isOverflowStartShadowVisible, setIsOverflowStartShadowVisible] = useState17(false);
21576
- const [isOverflowEndShadowVisible, setIsOverflowEndShadowVisible] = useState17(false);
21577
- const onOptionChange = useCallback11(
22026
+ const wrapperRef = useRef13(null);
22027
+ const [isOverflowStartShadowVisible, setIsOverflowStartShadowVisible] = useState18(false);
22028
+ const [isOverflowEndShadowVisible, setIsOverflowEndShadowVisible] = useState18(false);
22029
+ const onOptionChange = useCallback12(
21578
22030
  (event) => {
21579
22031
  if (event.target.checked) {
21580
22032
  onChange == null ? void 0 : onChange(options[parseInt(event.target.value)].value);
@@ -21582,19 +22034,19 @@ var SegmentedControl = ({
21582
22034
  },
21583
22035
  [options, onChange]
21584
22036
  );
21585
- const sizeStyles = useMemo6(() => {
22037
+ const sizeStyles = useMemo8(() => {
21586
22038
  const map = {
21587
- sm: css98({ height: "calc(24px - 2px)", fontSize: "var(--fs-xs)" }),
21588
- md: css98({ height: "calc(32px - 2px)", fontSize: "var(--fs-sm)" }),
21589
- lg: css98({ height: "calc(40px - 2px)", fontSize: "var(--fs-base)" }),
21590
- xl: css98({ height: "calc(48px - 2px)", fontSize: "var(--fs-base)" })
22039
+ sm: css99({ height: "calc(24px - 2px)", fontSize: "var(--fs-xs)" }),
22040
+ md: css99({ height: "calc(32px - 2px)", fontSize: "var(--fs-sm)" }),
22041
+ lg: css99({ height: "calc(40px - 2px)", fontSize: "var(--fs-base)" }),
22042
+ xl: css99({ height: "calc(48px - 2px)", fontSize: "var(--fs-base)" })
21591
22043
  };
21592
22044
  return map[size];
21593
22045
  }, [size]);
21594
- const isIconOnly = useMemo6(() => {
22046
+ const isIconOnly = useMemo8(() => {
21595
22047
  return options.every((option) => option && option.icon && !option.label);
21596
22048
  }, [options]);
21597
- useEffect20(() => {
22049
+ useEffect22(() => {
21598
22050
  const wrapperElement = wrapperRef.current;
21599
22051
  const onScroll = () => {
21600
22052
  if (!wrapperElement) {
@@ -21615,8 +22067,8 @@ var SegmentedControl = ({
21615
22067
  wrapperElement == null ? void 0 : wrapperElement.removeEventListener("scroll", onScroll);
21616
22068
  };
21617
22069
  }, []);
21618
- return /* @__PURE__ */ jsxs86("div", { css: [segmentedControlRootStyles, { "--background-color": currentBackgroundColor }], children: [
21619
- /* @__PURE__ */ jsx129("div", { ref: wrapperRef, css: segmentedControlWrapperStyles, children: /* @__PURE__ */ jsx129(
22070
+ return /* @__PURE__ */ jsxs87("div", { css: [segmentedControlRootStyles, { "--background-color": currentBackgroundColor }], children: [
22071
+ /* @__PURE__ */ jsx130("div", { ref: wrapperRef, css: segmentedControlWrapperStyles, children: /* @__PURE__ */ jsx130(
21620
22072
  "div",
21621
22073
  {
21622
22074
  css: [
@@ -21632,12 +22084,12 @@ var SegmentedControl = ({
21632
22084
  }
21633
22085
  const text = option.label ? option.label : option.icon ? null : String(option.value);
21634
22086
  const isDisabled = disabled2 || option.disabled;
21635
- return /* @__PURE__ */ jsx129(Tooltip, { title: (_a = option.tooltip) != null ? _a : "", children: /* @__PURE__ */ jsx129(
22087
+ return /* @__PURE__ */ jsx130(Tooltip, { title: (_a = option.tooltip) != null ? _a : "", children: /* @__PURE__ */ jsx130(
21636
22088
  "div",
21637
22089
  {
21638
22090
  css: segmentedControlItemStyles,
21639
22091
  "data-testid": option["data-testid"] ? option["data-testid"] : "container-segmented-control",
21640
- children: /* @__PURE__ */ jsxs86(
22092
+ children: /* @__PURE__ */ jsxs87(
21641
22093
  "label",
21642
22094
  {
21643
22095
  css: [
@@ -21646,7 +22098,7 @@ var SegmentedControl = ({
21646
22098
  isIconOnly ? segmentedControlLabelIconOnlyStyles : void 0
21647
22099
  ],
21648
22100
  children: [
21649
- /* @__PURE__ */ jsx129(
22101
+ /* @__PURE__ */ jsx130(
21650
22102
  "input",
21651
22103
  {
21652
22104
  css: segmentedControlInputStyles,
@@ -21658,10 +22110,10 @@ var SegmentedControl = ({
21658
22110
  disabled: isDisabled
21659
22111
  }
21660
22112
  ),
21661
- option.value !== value || noCheckmark ? null : /* @__PURE__ */ jsx129(CgCheck5, { css: segmentedControlLabelCheckStyles, "aria-label": "Selected", size: "1.5em" }),
21662
- /* @__PURE__ */ jsxs86("span", { css: segmentedControlLabelContentStyles, children: [
21663
- !option.icon ? null : /* @__PURE__ */ jsx129(Icon, { icon: option.icon, size: iconSize, iconColor: "currentColor" }),
21664
- !text || hideOptionText ? null : /* @__PURE__ */ jsx129("span", { css: segmentedControlLabelTextStyles, children: text })
22113
+ option.value !== value || noCheckmark ? null : /* @__PURE__ */ jsx130(CgCheck5, { css: segmentedControlLabelCheckStyles, "aria-label": "Selected", size: "1.5em" }),
22114
+ /* @__PURE__ */ jsxs87("span", { css: segmentedControlLabelContentStyles, children: [
22115
+ !option.icon ? null : /* @__PURE__ */ jsx130(Icon, { icon: option.icon, size: iconSize, iconColor: "currentColor" }),
22116
+ !text || hideOptionText ? null : /* @__PURE__ */ jsx130("span", { css: segmentedControlLabelTextStyles, children: text })
21665
22117
  ] })
21666
22118
  ]
21667
22119
  }
@@ -21671,7 +22123,7 @@ var SegmentedControl = ({
21671
22123
  })
21672
22124
  }
21673
22125
  ) }),
21674
- /* @__PURE__ */ jsx129(
22126
+ /* @__PURE__ */ jsx130(
21675
22127
  "div",
21676
22128
  {
21677
22129
  css: [
@@ -21685,18 +22137,18 @@ var SegmentedControl = ({
21685
22137
  };
21686
22138
 
21687
22139
  // src/components/Skeleton/Skeleton.styles.ts
21688
- import { css as css99, keyframes as keyframes5 } from "@emotion/react";
22140
+ import { css as css100, keyframes as keyframes5 } from "@emotion/react";
21689
22141
  var lightFadingOut = keyframes5`
21690
22142
  from { opacity: 0.1; }
21691
22143
  to { opacity: 0.025; }
21692
22144
  `;
21693
- var skeletonStyles = css99`
22145
+ var skeletonStyles = css100`
21694
22146
  animation: ${lightFadingOut} 1s ease-out infinite alternate;
21695
22147
  background-color: var(--gray-900);
21696
22148
  `;
21697
22149
 
21698
22150
  // src/components/Skeleton/Skeleton.tsx
21699
- import { jsx as jsx130 } from "@emotion/react/jsx-runtime";
22151
+ import { jsx as jsx131 } from "@emotion/react/jsx-runtime";
21700
22152
  var Skeleton = ({
21701
22153
  width = "100%",
21702
22154
  height = "1.25rem",
@@ -21704,7 +22156,7 @@ var Skeleton = ({
21704
22156
  circle = false,
21705
22157
  children,
21706
22158
  ...otherProps
21707
- }) => /* @__PURE__ */ jsx130(
22159
+ }) => /* @__PURE__ */ jsx131(
21708
22160
  "div",
21709
22161
  {
21710
22162
  css: [
@@ -21727,8 +22179,8 @@ var Skeleton = ({
21727
22179
  import { forwardRef as forwardRef24 } from "react";
21728
22180
 
21729
22181
  // src/components/Switch/Switch.styles.ts
21730
- import { css as css100 } from "@emotion/react";
21731
- var SwitchInputContainer = css100`
22182
+ import { css as css101 } from "@emotion/react";
22183
+ var SwitchInputContainer = css101`
21732
22184
  cursor: pointer;
21733
22185
  display: inline-block;
21734
22186
  position: relative;
@@ -21737,7 +22189,7 @@ var SwitchInputContainer = css100`
21737
22189
  vertical-align: middle;
21738
22190
  user-select: none;
21739
22191
  `;
21740
- var SwitchInput = (size) => css100`
22192
+ var SwitchInput = (size) => css101`
21741
22193
  appearance: none;
21742
22194
  border-radius: var(--rounded-full);
21743
22195
  background-color: var(--white);
@@ -21776,7 +22228,7 @@ var SwitchInput = (size) => css100`
21776
22228
  cursor: not-allowed;
21777
22229
  }
21778
22230
  `;
21779
- var SwitchInputDisabled = css100`
22231
+ var SwitchInputDisabled = css101`
21780
22232
  opacity: var(--opacity-50);
21781
22233
  cursor: not-allowed;
21782
22234
 
@@ -21784,7 +22236,7 @@ var SwitchInputDisabled = css100`
21784
22236
  cursor: not-allowed;
21785
22237
  }
21786
22238
  `;
21787
- var SwitchInputLabel = (size) => css100`
22239
+ var SwitchInputLabel = (size) => css101`
21788
22240
  align-items: center;
21789
22241
  color: var(--typography-base);
21790
22242
  display: inline-flex;
@@ -21806,32 +22258,32 @@ var SwitchInputLabel = (size) => css100`
21806
22258
  top: 0;
21807
22259
  }
21808
22260
  `;
21809
- var SwitchText = (size) => css100`
22261
+ var SwitchText = (size) => css101`
21810
22262
  color: var(--gray-500);
21811
22263
  font-size: var(--fs-sm);
21812
22264
  padding-inline: ${size === "sm" ? "var(--spacing-xl)" : "var(--spacing-2xl)"} 0;
21813
22265
  `;
21814
22266
 
21815
22267
  // src/components/Switch/Switch.tsx
21816
- import { Fragment as Fragment21, jsx as jsx131, jsxs as jsxs87 } from "@emotion/react/jsx-runtime";
22268
+ import { Fragment as Fragment21, jsx as jsx132, jsxs as jsxs88 } from "@emotion/react/jsx-runtime";
21817
22269
  var Switch = forwardRef24(
21818
22270
  ({ label, infoText, toggleText, children, switchSize = "base", ...inputProps }, ref) => {
21819
22271
  let additionalText = infoText;
21820
22272
  if (infoText && toggleText) {
21821
22273
  additionalText = inputProps.checked ? toggleText : infoText;
21822
22274
  }
21823
- return /* @__PURE__ */ jsxs87(Fragment21, { children: [
21824
- /* @__PURE__ */ jsxs87(
22275
+ return /* @__PURE__ */ jsxs88(Fragment21, { children: [
22276
+ /* @__PURE__ */ jsxs88(
21825
22277
  "label",
21826
22278
  {
21827
22279
  css: [SwitchInputContainer, inputProps.disabled ? SwitchInputDisabled : void 0],
21828
22280
  children: [
21829
- /* @__PURE__ */ jsx131("input", { type: "checkbox", css: SwitchInput(switchSize), ...inputProps, ref }),
21830
- /* @__PURE__ */ jsx131("span", { css: SwitchInputLabel(switchSize), children: label })
22281
+ /* @__PURE__ */ jsx132("input", { type: "checkbox", css: SwitchInput(switchSize), ...inputProps, ref }),
22282
+ /* @__PURE__ */ jsx132("span", { css: SwitchInputLabel(switchSize), children: label })
21831
22283
  ]
21832
22284
  }
21833
22285
  ),
21834
- additionalText ? /* @__PURE__ */ jsx131("p", { css: SwitchText(switchSize), children: additionalText }) : null,
22286
+ additionalText ? /* @__PURE__ */ jsx132("p", { css: SwitchText(switchSize), children: additionalText }) : null,
21835
22287
  children
21836
22288
  ] });
21837
22289
  }
@@ -21841,8 +22293,8 @@ var Switch = forwardRef24(
21841
22293
  import * as React24 from "react";
21842
22294
 
21843
22295
  // src/components/Table/Table.styles.ts
21844
- import { css as css101 } from "@emotion/react";
21845
- var table = ({ cellPadding = "var(--spacing-sm) var(--spacing-md)" }) => css101`
22296
+ import { css as css102 } from "@emotion/react";
22297
+ var table = ({ cellPadding = "var(--spacing-sm) var(--spacing-md)" }) => css102`
21846
22298
  border-bottom: 1px solid var(--gray-400);
21847
22299
  border-collapse: collapse;
21848
22300
  min-width: 100%;
@@ -21862,54 +22314,54 @@ var table = ({ cellPadding = "var(--spacing-sm) var(--spacing-md)" }) => css101`
21862
22314
  background-color: var(--gray-50);
21863
22315
  }
21864
22316
  `;
21865
- var tableHead = css101`
22317
+ var tableHead = css102`
21866
22318
  color: var(--typography-base);
21867
22319
  text-align: left;
21868
22320
  `;
21869
- var tableRow = css101`
22321
+ var tableRow = css102`
21870
22322
  border-bottom: 1px solid var(--gray-100);
21871
22323
  `;
21872
- var tableCellHead = css101`
22324
+ var tableCellHead = css102`
21873
22325
  font-size: var(--fs-sm);
21874
22326
  text-transform: uppercase;
21875
22327
  font-weight: var(--fw-bold);
21876
22328
  `;
21877
22329
 
21878
22330
  // src/components/Table/Table.tsx
21879
- import { jsx as jsx132 } from "@emotion/react/jsx-runtime";
22331
+ import { jsx as jsx133 } from "@emotion/react/jsx-runtime";
21880
22332
  var Table = React24.forwardRef(
21881
22333
  ({ children, cellPadding, ...otherProps }, ref) => {
21882
- return /* @__PURE__ */ jsx132("table", { ref, css: table({ cellPadding }), ...otherProps, children });
22334
+ return /* @__PURE__ */ jsx133("table", { ref, css: table({ cellPadding }), ...otherProps, children });
21883
22335
  }
21884
22336
  );
21885
22337
  var TableHead = React24.forwardRef(
21886
22338
  ({ children, ...otherProps }, ref) => {
21887
- return /* @__PURE__ */ jsx132("thead", { ref, css: tableHead, ...otherProps, children });
22339
+ return /* @__PURE__ */ jsx133("thead", { ref, css: tableHead, ...otherProps, children });
21888
22340
  }
21889
22341
  );
21890
22342
  var TableBody = React24.forwardRef(
21891
22343
  ({ children, ...otherProps }, ref) => {
21892
- return /* @__PURE__ */ jsx132("tbody", { ref, ...otherProps, children });
22344
+ return /* @__PURE__ */ jsx133("tbody", { ref, ...otherProps, children });
21893
22345
  }
21894
22346
  );
21895
22347
  var TableFoot = React24.forwardRef(
21896
22348
  ({ children, ...otherProps }, ref) => {
21897
- return /* @__PURE__ */ jsx132("tfoot", { ref, ...otherProps, children });
22349
+ return /* @__PURE__ */ jsx133("tfoot", { ref, ...otherProps, children });
21898
22350
  }
21899
22351
  );
21900
22352
  var TableRow = React24.forwardRef(
21901
22353
  ({ children, ...otherProps }, ref) => {
21902
- return /* @__PURE__ */ jsx132("tr", { ref, css: tableRow, ...otherProps, children });
22354
+ return /* @__PURE__ */ jsx133("tr", { ref, css: tableRow, ...otherProps, children });
21903
22355
  }
21904
22356
  );
21905
22357
  var TableCellHead = React24.forwardRef(
21906
22358
  ({ children, ...otherProps }, ref) => {
21907
- return /* @__PURE__ */ jsx132("th", { ref, css: tableCellHead, ...otherProps, children });
22359
+ return /* @__PURE__ */ jsx133("th", { ref, css: tableCellHead, ...otherProps, children });
21908
22360
  }
21909
22361
  );
21910
22362
  var TableCellData = React24.forwardRef(
21911
22363
  ({ children, ...otherProps }, ref) => {
21912
- return /* @__PURE__ */ jsx132("td", { ref, ...otherProps, children });
22364
+ return /* @__PURE__ */ jsx133("td", { ref, ...otherProps, children });
21913
22365
  }
21914
22366
  );
21915
22367
 
@@ -21921,11 +22373,11 @@ import {
21921
22373
  TabProvider as AriakitTabProvider,
21922
22374
  useTabStore as useAriakitTabStore
21923
22375
  } from "@ariakit/react";
21924
- import { useCallback as useCallback12, useEffect as useEffect21, useMemo as useMemo7 } from "react";
22376
+ import { useCallback as useCallback13, useEffect as useEffect23, useMemo as useMemo9 } from "react";
21925
22377
 
21926
22378
  // src/components/Tabs/Tabs.styles.ts
21927
- import { css as css102 } from "@emotion/react";
21928
- var tabButtonStyles = css102`
22379
+ import { css as css103 } from "@emotion/react";
22380
+ var tabButtonStyles = css103`
21929
22381
  align-items: center;
21930
22382
  border: 0;
21931
22383
  height: 2.5rem;
@@ -21942,14 +22394,14 @@ var tabButtonStyles = css102`
21942
22394
  box-shadow: inset 0 -2px 0 var(--brand-secondary-3);
21943
22395
  }
21944
22396
  `;
21945
- var tabButtonGroupStyles = css102`
22397
+ var tabButtonGroupStyles = css103`
21946
22398
  display: flex;
21947
22399
  gap: var(--spacing-base);
21948
22400
  border-bottom: 1px solid var(--gray-300);
21949
22401
  `;
21950
22402
 
21951
22403
  // src/components/Tabs/Tabs.tsx
21952
- import { jsx as jsx133 } from "@emotion/react/jsx-runtime";
22404
+ import { jsx as jsx134 } from "@emotion/react/jsx-runtime";
21953
22405
  var useCurrentTab = () => {
21954
22406
  const context = useAriakitTabStore();
21955
22407
  if (!context) {
@@ -21965,13 +22417,12 @@ var Tabs = ({
21965
22417
  manual,
21966
22418
  ...props
21967
22419
  }) => {
21968
- const selected = useMemo7(() => {
21969
- if (selectedId)
21970
- return selectedId;
22420
+ const selected = useMemo9(() => {
22421
+ if (selectedId) return selectedId;
21971
22422
  return useHashForState && typeof window !== "undefined" && window.location.hash ? window.location.hash.substring(1) : void 0;
21972
22423
  }, [selectedId, useHashForState]);
21973
22424
  const tab = useAriakitTabStore({ ...props, selectOnMove: !manual, selectedId: selected });
21974
- const onTabSelect = useCallback12(
22425
+ const onTabSelect = useCallback13(
21975
22426
  (value) => {
21976
22427
  const selectedValueWithoutNull = value != null ? value : void 0;
21977
22428
  onSelectedIdChange == null ? void 0 : onSelectedIdChange(selectedValueWithoutNull);
@@ -21982,33 +22433,33 @@ var Tabs = ({
21982
22433
  },
21983
22434
  [onSelectedIdChange, useHashForState]
21984
22435
  );
21985
- useEffect21(() => {
22436
+ useEffect23(() => {
21986
22437
  if (selected && selected !== tab.getState().activeId) {
21987
22438
  tab.setSelectedId(selected);
21988
22439
  }
21989
22440
  }, [selected, tab]);
21990
- return /* @__PURE__ */ jsx133(AriakitTabProvider, { store: tab, setSelectedId: onTabSelect, children });
22441
+ return /* @__PURE__ */ jsx134(AriakitTabProvider, { store: tab, setSelectedId: onTabSelect, children });
21991
22442
  };
21992
22443
  var TabButtonGroup = ({ children, ...props }) => {
21993
- return /* @__PURE__ */ jsx133(AriakitTabList, { ...props, css: tabButtonGroupStyles, children });
22444
+ return /* @__PURE__ */ jsx134(AriakitTabList, { ...props, css: tabButtonGroupStyles, children });
21994
22445
  };
21995
22446
  var TabButton = ({
21996
22447
  children,
21997
22448
  id,
21998
22449
  ...props
21999
22450
  }) => {
22000
- return /* @__PURE__ */ jsx133(AriakitTab, { type: "button", id, ...props, css: tabButtonStyles, children });
22451
+ return /* @__PURE__ */ jsx134(AriakitTab, { type: "button", id, ...props, css: tabButtonStyles, children });
22001
22452
  };
22002
22453
  var TabContent = ({
22003
22454
  children,
22004
22455
  ...props
22005
22456
  }) => {
22006
- return /* @__PURE__ */ jsx133(AriakitTabPanel, { ...props, children });
22457
+ return /* @__PURE__ */ jsx134(AriakitTabPanel, { ...props, children });
22007
22458
  };
22008
22459
 
22009
22460
  // src/components/Validation/StatusBullet.styles.ts
22010
- import { css as css103 } from "@emotion/react";
22011
- var StatusBulletContainer = css103`
22461
+ import { css as css104 } from "@emotion/react";
22462
+ var StatusBulletContainer = css104`
22012
22463
  align-items: center;
22013
22464
  align-self: center;
22014
22465
  color: var(--gray-500);
@@ -22025,33 +22476,33 @@ var StatusBulletContainer = css103`
22025
22476
  display: block;
22026
22477
  }
22027
22478
  `;
22028
- var StatusBulletBase = css103`
22479
+ var StatusBulletBase = css104`
22029
22480
  font-size: var(--fs-sm);
22030
22481
  &:before {
22031
22482
  width: var(--fs-xs);
22032
22483
  height: var(--fs-xs);
22033
22484
  }
22034
22485
  `;
22035
- var StatusBulletSmall = css103`
22486
+ var StatusBulletSmall = css104`
22036
22487
  font-size: var(--fs-xs);
22037
22488
  &:before {
22038
22489
  width: var(--fs-xxs);
22039
22490
  height: var(--fs-xxs);
22040
22491
  }
22041
22492
  `;
22042
- var StatusDraft = css103`
22493
+ var StatusDraft = css104`
22043
22494
  &:before {
22044
22495
  background: var(--white);
22045
22496
  box-shadow: inset 0 0 0 0.125rem var(--accent-dark);
22046
22497
  }
22047
22498
  `;
22048
- var StatusModified = css103`
22499
+ var StatusModified = css104`
22049
22500
  &:before {
22050
22501
  background: linear-gradient(to right, var(--white) 50%, var(--accent-dark) 50% 100%);
22051
22502
  box-shadow: inset 0 0 0 0.125rem var(--accent-dark);
22052
22503
  }
22053
22504
  `;
22054
- var StatusError = css103`
22505
+ var StatusError = css104`
22055
22506
  color: var(--error);
22056
22507
  &:before {
22057
22508
  /* TODO: replace this with an svg icon */
@@ -22064,29 +22515,29 @@ var StatusError = css103`
22064
22515
  );
22065
22516
  }
22066
22517
  `;
22067
- var StatusPublished = css103`
22518
+ var StatusPublished = css104`
22068
22519
  &:before {
22069
22520
  background: var(--accent-dark);
22070
22521
  }
22071
22522
  `;
22072
- var StatusOrphan = css103`
22523
+ var StatusOrphan = css104`
22073
22524
  &:before {
22074
22525
  background: var(--brand-secondary-5);
22075
22526
  }
22076
22527
  `;
22077
- var StatusUnknown = css103`
22528
+ var StatusUnknown = css104`
22078
22529
  &:before {
22079
22530
  background: var(--gray-800);
22080
22531
  }
22081
22532
  `;
22082
- var StatusDeleted = css103`
22533
+ var StatusDeleted = css104`
22083
22534
  &:before {
22084
22535
  background: var(--error);
22085
22536
  }
22086
22537
  `;
22087
22538
 
22088
22539
  // src/components/Validation/StatusBullet.tsx
22089
- import { jsx as jsx134 } from "@emotion/react/jsx-runtime";
22540
+ import { jsx as jsx135 } from "@emotion/react/jsx-runtime";
22090
22541
  var StatusBullet = ({
22091
22542
  status,
22092
22543
  hideText = false,
@@ -22106,7 +22557,7 @@ var StatusBullet = ({
22106
22557
  Deleted: StatusDeleted
22107
22558
  };
22108
22559
  const statusSize = size === "base" ? StatusBulletBase : StatusBulletSmall;
22109
- return /* @__PURE__ */ jsx134(
22560
+ return /* @__PURE__ */ jsx135(
22110
22561
  "span",
22111
22562
  {
22112
22563
  role: "status",
@@ -22182,6 +22633,7 @@ export {
22182
22633
  IntegrationModalIcon,
22183
22634
  IntegrationTile,
22184
22635
  JsonEditor,
22636
+ KeyValueInput,
22185
22637
  Label,
22186
22638
  LabelLeadingIcon,
22187
22639
  Legend,
@@ -22359,6 +22811,7 @@ export {
22359
22811
  toast,
22360
22812
  uniformComponentIcon,
22361
22813
  uniformComponentPatternIcon,
22814
+ uniformCompositionPatternIcon,
22362
22815
  uniformContentTypeIcon,
22363
22816
  uniformEntryIcon,
22364
22817
  uniformEntryPatternIcon,
@@ -22371,6 +22824,7 @@ export {
22371
22824
  useIconContext,
22372
22825
  useOutsideClick,
22373
22826
  useParameterShell,
22827
+ usePopoverComponentContext,
22374
22828
  useShortcut,
22375
22829
  functionalColors as utilityColors,
22376
22830
  warningIcon,