@uniformdev/design-system 19.132.0 → 19.134.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1432,6 +1432,7 @@ __export(src_exports, {
1432
1432
  MenuItemInner: () => MenuItemInner,
1433
1433
  MenuItemSeparator: () => MenuItemSeparator,
1434
1434
  Modal: () => Modal,
1435
+ ModalDialog: () => ModalDialog,
1435
1436
  MultilineChip: () => MultilineChip,
1436
1437
  NUMBER_OPERATORS: () => NUMBER_OPERATORS,
1437
1438
  PageHeaderSection: () => PageHeaderSection,
@@ -13429,7 +13430,6 @@ var activeMenuItem = import_react33.css`
13429
13430
  `;
13430
13431
  var menuItem = (textTheme, forceActive) => import_react33.css`
13431
13432
  align-items: center;
13432
- border: none;
13433
13433
  border-radius: var(--rounded-base);
13434
13434
  background: none;
13435
13435
  color: ${textTheme === "base" ? "var(--typography-base)" : "var(--brand-secondary-5)"};
@@ -13452,6 +13452,11 @@ var menuItem = (textTheme, forceActive) => import_react33.css`
13452
13452
  &[data-active-item] {
13453
13453
  ${typeof forceActive === "undefined" ? activeMenuItem : ""}
13454
13454
  }
13455
+
13456
+ // Remove border from input elements, this fixes UNI-4634
13457
+ &:not(input[type='radio'], input[type='checkbox']) {
13458
+ border: none;
13459
+ }
13455
13460
  `;
13456
13461
  var menuItemWithIcon = import_react33.css`
13457
13462
  align-items: center;
@@ -13819,6 +13824,7 @@ var ButtonWithMenu = ({
13819
13824
  placement,
13820
13825
  size = "lg",
13821
13826
  menuContainerCssClasses,
13827
+ withoutPortal = false,
13822
13828
  ...buttonProps
13823
13829
  }) => {
13824
13830
  const buttonTheme = {
@@ -13887,6 +13893,7 @@ var ButtonWithMenu = ({
13887
13893
  placement,
13888
13894
  menuTrigger: dropdownButton,
13889
13895
  menuItemsContainerCssClasses: menuContainerCssClasses,
13896
+ portal: withoutPortal,
13890
13897
  children
13891
13898
  }
13892
13899
  ) })
@@ -16031,7 +16038,8 @@ var InputTime = React13.forwardRef(
16031
16038
  isDisabled: !!disabled2,
16032
16039
  onChange: (0, import_react65.useCallback)(
16033
16040
  (time) => {
16034
- onChange == null ? void 0 : onChange(time.toString());
16041
+ var _a;
16042
+ onChange == null ? void 0 : onChange((_a = time == null ? void 0 : time.toString()) != null ? _a : "00:00:00");
16035
16043
  },
16036
16044
  [onChange]
16037
16045
  ),
@@ -18957,7 +18965,7 @@ var modalInnerStyles = import_react106.css`
18957
18965
  gap: var(--spacing-base);
18958
18966
  background: var(--gray-50);
18959
18967
  color: unset;
18960
- padding: calc(var(--spacing-2xl) - 2px);
18968
+ padding: var(--spacing-base);
18961
18969
  box-shadow: var(--elevation-500);
18962
18970
  border-radius: var(--rounded-base);
18963
18971
  `;
@@ -18979,7 +18987,6 @@ var modalCloseButtonStyles = import_react106.css`
18979
18987
  display: block;
18980
18988
  padding: 0;
18981
18989
  margin-left: auto;
18982
- translate: calc(var(--spacing-base)) calc(var(--spacing-base) * -1);
18983
18990
  transition: color var(--duration-fast) var(--timing-ease-out);
18984
18991
 
18985
18992
  &:hover,
@@ -18992,21 +18999,33 @@ var modalContentStyles = import_react106.css`
18992
18999
  position: relative;
18993
19000
  flex: 1;
18994
19001
  overflow: auto;
19002
+ padding: var(--spacing-md);
18995
19003
  ${scrollbarStyles}
18996
19004
  `;
19005
+ var modalDialogWrapper = import_react106.css`
19006
+ padding: 0 var(--spacing-lg) var(--spacing-md);
19007
+ `;
19008
+ var modalDialogInnerStyles = import_react106.css`
19009
+ // we need to override the gap of the modalInnerStyles when using a modal dialog
19010
+ > div {
19011
+ gap: 0;
19012
+ }
19013
+ `;
18997
19014
 
18998
19015
  // src/components/Modal/Modal.tsx
18999
19016
  var import_jsx_runtime94 = require("@emotion/react/jsx-runtime");
19017
+ var defaultModalWidth = "75rem";
19000
19018
  var defaultModalHeight = "51rem";
19001
19019
  var Modal = import_react107.default.forwardRef(
19002
19020
  ({
19003
19021
  header: header2,
19004
19022
  children,
19005
19023
  onRequestClose,
19006
- width,
19024
+ width = defaultModalWidth,
19007
19025
  height = defaultModalHeight,
19008
19026
  buttonGroup,
19009
19027
  modalSize = "lg",
19028
+ withoutContentPadding = false,
19010
19029
  ...modalProps
19011
19030
  }, ref) => {
19012
19031
  const dialogRef = (0, import_react107.useRef)(null);
@@ -19049,7 +19068,7 @@ var Modal = import_react107.default.forwardRef(
19049
19068
  ref.current = element;
19050
19069
  }
19051
19070
  },
19052
- css: [modalStyles, width ? void 0 : size[modalSize]],
19071
+ css: [modalStyles, !width ? size[modalSize] : void 0],
19053
19072
  style: { width, height: height === "auto" ? "min-content" : height },
19054
19073
  "data-testid": "side-dialog",
19055
19074
  onClick: onRequestClose,
@@ -19064,7 +19083,7 @@ var Modal = import_react107.default.forwardRef(
19064
19083
  onClick: (e) => e.stopPropagation(),
19065
19084
  children: [
19066
19085
  /* @__PURE__ */ (0, import_jsx_runtime94.jsxs)("div", { css: modalHeaderStyles, children: [
19067
- /* @__PURE__ */ (0, import_jsx_runtime94.jsx)("div", { css: modalHeaderHeaderStyles, children: header2 }),
19086
+ !header2 ? null : /* @__PURE__ */ (0, import_jsx_runtime94.jsx)("div", { css: modalHeaderHeaderStyles, children: header2 }),
19068
19087
  /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(
19069
19088
  Button,
19070
19089
  {
@@ -19078,7 +19097,7 @@ var Modal = import_react107.default.forwardRef(
19078
19097
  }
19079
19098
  )
19080
19099
  ] }),
19081
- /* @__PURE__ */ (0, import_jsx_runtime94.jsx)("div", { css: modalContentStyles, children }),
19100
+ /* @__PURE__ */ (0, import_jsx_runtime94.jsx)("div", { css: [modalContentStyles, !withoutContentPadding ? null : { padding: 0 }], children }),
19082
19101
  buttonGroup ? /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(HorizontalRhythm, { children: buttonGroup }) : null
19083
19102
  ]
19084
19103
  }
@@ -19089,6 +19108,34 @@ var Modal = import_react107.default.forwardRef(
19089
19108
  );
19090
19109
  Modal.displayName = "Modal";
19091
19110
 
19111
+ // src/components/Modal/ModalDialog.tsx
19112
+ init_emotion_jsx_shim();
19113
+ var import_react108 = require("react");
19114
+ var import_jsx_runtime95 = require("@emotion/react/jsx-runtime");
19115
+ var ModalDialog = (0, import_react108.forwardRef)(
19116
+ ({ header: header2, buttonGroup, modalSize = "lg", children, height = "auto", onRequestClose, ...props }, ref) => {
19117
+ return /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(
19118
+ Modal,
19119
+ {
19120
+ ...props,
19121
+ modalSize,
19122
+ ref,
19123
+ onRequestClose,
19124
+ height,
19125
+ withoutContentPadding: true,
19126
+ css: modalDialogInnerStyles,
19127
+ width: "",
19128
+ children: /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)(VerticalRhythm, { css: modalDialogWrapper, children: [
19129
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsx)("div", { css: modalHeaderStyles, children: header2 }),
19130
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsx)("div", { children }),
19131
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(HorizontalRhythm, { children: buttonGroup })
19132
+ ] })
19133
+ }
19134
+ );
19135
+ }
19136
+ );
19137
+ ModalDialog.displayName = "ModalDialog";
19138
+
19092
19139
  // src/components/Pagination/Pagination.tsx
19093
19140
  init_emotion_jsx_shim();
19094
19141
  var import_react_paginate = __toESM(require("react-paginate"));
@@ -19123,7 +19170,7 @@ var page = import_css.css`
19123
19170
  `;
19124
19171
 
19125
19172
  // src/components/Pagination/Pagination.tsx
19126
- var import_jsx_runtime95 = require("@emotion/react/jsx-runtime");
19173
+ var import_jsx_runtime96 = require("@emotion/react/jsx-runtime");
19127
19174
  function Pagination({
19128
19175
  limit,
19129
19176
  offset,
@@ -19138,12 +19185,12 @@ function Pagination({
19138
19185
  if (pageCount <= 1) {
19139
19186
  return null;
19140
19187
  }
19141
- return /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(
19188
+ return /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(
19142
19189
  import_react_paginate.default,
19143
19190
  {
19144
19191
  forcePage: currentPage,
19145
- previousLabel: /* @__PURE__ */ (0, import_jsx_runtime95.jsx)("div", { className: prevNextControls, children: "<" }),
19146
- nextLabel: /* @__PURE__ */ (0, import_jsx_runtime95.jsx)("div", { className: prevNextControls, children: ">" }),
19192
+ previousLabel: /* @__PURE__ */ (0, import_jsx_runtime96.jsx)("div", { className: prevNextControls, children: "<" }),
19193
+ nextLabel: /* @__PURE__ */ (0, import_jsx_runtime96.jsx)("div", { className: prevNextControls, children: ">" }),
19147
19194
  breakLabel: "...",
19148
19195
  pageCount,
19149
19196
  marginPagesDisplayed: 2,
@@ -19163,8 +19210,8 @@ function Pagination({
19163
19210
 
19164
19211
  // src/components/ParameterInputs/hooks/ParameterShellContext.tsx
19165
19212
  init_emotion_jsx_shim();
19166
- var import_react108 = require("react");
19167
- var ParameterShellContext = (0, import_react108.createContext)({
19213
+ var import_react109 = require("react");
19214
+ var ParameterShellContext = (0, import_react109.createContext)({
19168
19215
  id: "",
19169
19216
  label: "",
19170
19217
  hiddenLabel: void 0,
@@ -19173,7 +19220,7 @@ var ParameterShellContext = (0, import_react108.createContext)({
19173
19220
  }
19174
19221
  });
19175
19222
  var useParameterShell = () => {
19176
- const { id, label, hiddenLabel, errorMessage, handleManuallySetErrorMessage } = (0, import_react108.useContext)(ParameterShellContext);
19223
+ const { id, label, hiddenLabel, errorMessage, handleManuallySetErrorMessage } = (0, import_react109.useContext)(ParameterShellContext);
19177
19224
  return {
19178
19225
  id,
19179
19226
  label,
@@ -19188,8 +19235,8 @@ init_emotion_jsx_shim();
19188
19235
 
19189
19236
  // src/components/ParameterInputs/styles/LabelLeadingIcon.styles.ts
19190
19237
  init_emotion_jsx_shim();
19191
- var import_react109 = require("@emotion/react");
19192
- var inputIconBtn = import_react109.css`
19238
+ var import_react110 = require("@emotion/react");
19239
+ var inputIconBtn = import_react110.css`
19193
19240
  align-items: center;
19194
19241
  border: none;
19195
19242
  border-radius: var(--rounded-base);
@@ -19215,7 +19262,7 @@ var inputIconBtn = import_react109.css`
19215
19262
  `;
19216
19263
 
19217
19264
  // src/components/ParameterInputs/LabelLeadingIcon.tsx
19218
- var import_jsx_runtime96 = require("@emotion/react/jsx-runtime");
19265
+ var import_jsx_runtime97 = require("@emotion/react/jsx-runtime");
19219
19266
  var LabelLeadingIcon = ({
19220
19267
  icon,
19221
19268
  iconColor,
@@ -19227,7 +19274,7 @@ var LabelLeadingIcon = ({
19227
19274
  ...props
19228
19275
  }) => {
19229
19276
  const titleFr = title2 != null ? title2 : isLocked ? "Read-only pattern parameter" : isBound ? "Connected to external content. Click to edit" : "Click to connect to external content";
19230
- return /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(Tooltip, { title: titleFr, children: /* @__PURE__ */ (0, import_jsx_runtime96.jsxs)(
19277
+ return /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(Tooltip, { title: titleFr, children: /* @__PURE__ */ (0, import_jsx_runtime97.jsxs)(
19231
19278
  "button",
19232
19279
  {
19233
19280
  css: inputIconBtn,
@@ -19237,7 +19284,7 @@ var LabelLeadingIcon = ({
19237
19284
  ...props,
19238
19285
  "data-testid": "lock-button",
19239
19286
  children: [
19240
- /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(
19287
+ /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(
19241
19288
  Icon,
19242
19289
  {
19243
19290
  icon: isLocked ? "lock" : icon ? icon : "arrows-expand-down-right",
@@ -19257,8 +19304,8 @@ init_emotion_jsx_shim();
19257
19304
 
19258
19305
  // src/components/ParameterInputs/styles/ParameterInput.styles.ts
19259
19306
  init_emotion_jsx_shim();
19260
- var import_react110 = require("@emotion/react");
19261
- var inputContainer2 = import_react110.css`
19307
+ var import_react111 = require("@emotion/react");
19308
+ var inputContainer2 = import_react111.css`
19262
19309
  position: relative;
19263
19310
  scroll-margin: var(--spacing-2xl);
19264
19311
 
@@ -19271,14 +19318,14 @@ var inputContainer2 = import_react110.css`
19271
19318
  }
19272
19319
  }
19273
19320
  `;
19274
- var labelText2 = import_react110.css`
19321
+ var labelText2 = import_react111.css`
19275
19322
  align-items: center;
19276
19323
  display: flex;
19277
19324
  gap: var(--spacing-xs);
19278
19325
  font-weight: var(--fw-regular);
19279
19326
  margin: 0 0 var(--spacing-xs);
19280
19327
  `;
19281
- var input3 = import_react110.css`
19328
+ var input3 = import_react111.css`
19282
19329
  display: block;
19283
19330
  appearance: none;
19284
19331
  box-sizing: border-box;
@@ -19326,18 +19373,18 @@ var input3 = import_react110.css`
19326
19373
  color: var(--gray-400);
19327
19374
  }
19328
19375
  `;
19329
- var selectInput = import_react110.css`
19376
+ var selectInput = import_react111.css`
19330
19377
  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");
19331
19378
  background-position: right var(--spacing-sm) center;
19332
19379
  background-repeat: no-repeat;
19333
19380
  background-size: 1rem;
19334
19381
  padding-right: var(--spacing-xl);
19335
19382
  `;
19336
- var inputWrapper = import_react110.css`
19383
+ var inputWrapper = import_react111.css`
19337
19384
  display: flex; // used to correct overflow with chrome textarea
19338
19385
  position: relative;
19339
19386
  `;
19340
- var inputIcon2 = import_react110.css`
19387
+ var inputIcon2 = import_react111.css`
19341
19388
  align-items: center;
19342
19389
  background: var(--white);
19343
19390
  border-radius: var(--rounded-md) 0 0 var(--rounded-md);
@@ -19353,7 +19400,7 @@ var inputIcon2 = import_react110.css`
19353
19400
  width: var(--spacing-lg);
19354
19401
  z-index: var(--z-10);
19355
19402
  `;
19356
- var inputToggleLabel2 = import_react110.css`
19403
+ var inputToggleLabel2 = import_react111.css`
19357
19404
  --inline-label-color: var(--typography-base);
19358
19405
  align-items: center;
19359
19406
  cursor: pointer;
@@ -19368,7 +19415,7 @@ var inputToggleLabel2 = import_react110.css`
19368
19415
  --inline-label-color: var(--gray-400);
19369
19416
  }
19370
19417
  `;
19371
- var toggleInput2 = import_react110.css`
19418
+ var toggleInput2 = import_react111.css`
19372
19419
  appearance: none;
19373
19420
  border: 1px solid var(--gray-200);
19374
19421
  background: var(--white);
@@ -19421,7 +19468,7 @@ var toggleInput2 = import_react110.css`
19421
19468
  border-color: var(--gray-300);
19422
19469
  }
19423
19470
  `;
19424
- var inlineLabel2 = import_react110.css`
19471
+ var inlineLabel2 = import_react111.css`
19425
19472
  color: var(--inline-label-color);
19426
19473
  padding-left: var(--spacing-md);
19427
19474
  font-size: var(--fs-sm);
@@ -19438,7 +19485,7 @@ var inlineLabel2 = import_react110.css`
19438
19485
  }
19439
19486
  }
19440
19487
  `;
19441
- var inputMenu = import_react110.css`
19488
+ var inputMenu = import_react111.css`
19442
19489
  background: none;
19443
19490
  border: none;
19444
19491
  padding: var(--spacing-2xs);
@@ -19446,10 +19493,10 @@ var inputMenu = import_react110.css`
19446
19493
  top: calc(var(--spacing-md) * -1.2);
19447
19494
  right: 0;
19448
19495
  `;
19449
- var inputActionItems = import_react110.css`
19496
+ var inputActionItems = import_react111.css`
19450
19497
  display: flex;
19451
19498
  `;
19452
- var inputMenuHover = import_react110.css`
19499
+ var inputMenuHover = import_react111.css`
19453
19500
  opacity: var(--opacity-50);
19454
19501
  transition: background-color var(--duration-fast) var(--timing-ease-out);
19455
19502
 
@@ -19459,11 +19506,11 @@ var inputMenuHover = import_react110.css`
19459
19506
  background-color: var(--gray-200);
19460
19507
  }
19461
19508
  `;
19462
- var textarea2 = import_react110.css`
19509
+ var textarea2 = import_react111.css`
19463
19510
  resize: vertical;
19464
19511
  min-height: 2rem;
19465
19512
  `;
19466
- var dataConnectButton = import_react110.css`
19513
+ var dataConnectButton = import_react111.css`
19467
19514
  align-items: center;
19468
19515
  appearance: none;
19469
19516
  box-sizing: border-box;
@@ -19498,7 +19545,7 @@ var dataConnectButton = import_react110.css`
19498
19545
  pointer-events: none;
19499
19546
  }
19500
19547
  `;
19501
- var linkParameterBtn = import_react110.css`
19548
+ var linkParameterBtn = import_react111.css`
19502
19549
  border-radius: var(--rounded-base);
19503
19550
  background: transparent;
19504
19551
  border: none;
@@ -19507,7 +19554,7 @@ var linkParameterBtn = import_react110.css`
19507
19554
  font-size: var(--fs-sm);
19508
19555
  line-height: 1;
19509
19556
  `;
19510
- var linkParameterControls = import_react110.css`
19557
+ var linkParameterControls = import_react111.css`
19511
19558
  position: absolute;
19512
19559
  inset: 0 0 0 auto;
19513
19560
  padding: 0 var(--spacing-base);
@@ -19516,7 +19563,7 @@ var linkParameterControls = import_react110.css`
19516
19563
  justify-content: center;
19517
19564
  gap: var(--spacing-base);
19518
19565
  `;
19519
- var linkParameterInput = (withExternalLinkIcon) => import_react110.css`
19566
+ var linkParameterInput = (withExternalLinkIcon) => import_react111.css`
19520
19567
  padding-right: calc(
19521
19568
  ${withExternalLinkIcon ? "calc(var(--spacing-lg) * 2 + var(--spacing-xs))" : "var(--spacing-xl)"} +
19522
19569
  var(--spacing-base)
@@ -19529,7 +19576,7 @@ var linkParameterInput = (withExternalLinkIcon) => import_react110.css`
19529
19576
  }
19530
19577
  }
19531
19578
  `;
19532
- var linkParameterIcon = import_react110.css`
19579
+ var linkParameterIcon = import_react111.css`
19533
19580
  align-items: center;
19534
19581
  color: var(--brand-secondary-3);
19535
19582
  display: flex;
@@ -19544,7 +19591,7 @@ var linkParameterIcon = import_react110.css`
19544
19591
  `;
19545
19592
 
19546
19593
  // src/components/ParameterInputs/ParameterDataResource.tsx
19547
- var import_jsx_runtime97 = require("@emotion/react/jsx-runtime");
19594
+ var import_jsx_runtime98 = require("@emotion/react/jsx-runtime");
19548
19595
  function ParameterDataResource({
19549
19596
  label,
19550
19597
  labelLeadingIcon,
@@ -19554,12 +19601,12 @@ function ParameterDataResource({
19554
19601
  disabled: disabled2,
19555
19602
  children
19556
19603
  }) {
19557
- return /* @__PURE__ */ (0, import_jsx_runtime97.jsxs)("div", { "data-testid": "parameter-data-connect-button", children: [
19558
- /* @__PURE__ */ (0, import_jsx_runtime97.jsxs)("span", { css: labelText2, children: [
19604
+ return /* @__PURE__ */ (0, import_jsx_runtime98.jsxs)("div", { "data-testid": "parameter-data-connect-button", children: [
19605
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsxs)("span", { css: labelText2, children: [
19559
19606
  labelLeadingIcon ? labelLeadingIcon : null,
19560
19607
  label
19561
19608
  ] }),
19562
- /* @__PURE__ */ (0, import_jsx_runtime97.jsxs)(
19609
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsxs)(
19563
19610
  "button",
19564
19611
  {
19565
19612
  type: "button",
@@ -19568,12 +19615,12 @@ function ParameterDataResource({
19568
19615
  disabled: disabled2,
19569
19616
  onClick: onConnectDatasource,
19570
19617
  children: [
19571
- /* @__PURE__ */ (0, import_jsx_runtime97.jsx)("span", { className: "advance-input-icon", css: [inputIcon2], children: /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(Icon, { icon: "stack", iconColor: "currentColor", size: "1rem" }) }),
19618
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsx)("span", { className: "advance-input-icon", css: [inputIcon2], children: /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(Icon, { icon: "stack", iconColor: "currentColor", size: "1rem" }) }),
19572
19619
  children
19573
19620
  ]
19574
19621
  }
19575
19622
  ),
19576
- caption ? /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(Caption, { children: caption }) : null
19623
+ caption ? /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(Caption, { children: caption }) : null
19577
19624
  ] });
19578
19625
  }
19579
19626
 
@@ -19582,20 +19629,20 @@ init_emotion_jsx_shim();
19582
19629
 
19583
19630
  // src/components/ParameterInputs/styles/ParameterDrawerHeader.styles.ts
19584
19631
  init_emotion_jsx_shim();
19585
- var import_react111 = require("@emotion/react");
19586
- var ParameterDrawerHeaderContainer = import_react111.css`
19632
+ var import_react112 = require("@emotion/react");
19633
+ var ParameterDrawerHeaderContainer = import_react112.css`
19587
19634
  align-items: center;
19588
19635
  display: flex;
19589
19636
  gap: var(--spacing-base);
19590
19637
  justify-content: space-between;
19591
19638
  margin-bottom: var(--spacing-sm);
19592
19639
  `;
19593
- var ParameterDrawerHeaderTitleGroup = import_react111.css`
19640
+ var ParameterDrawerHeaderTitleGroup = import_react112.css`
19594
19641
  align-items: center;
19595
19642
  display: flex;
19596
19643
  gap: var(--spacing-sm);
19597
19644
  `;
19598
- var ParameterDrawerHeaderTitle = import_react111.css`
19645
+ var ParameterDrawerHeaderTitle = import_react112.css`
19599
19646
  text-overflow: ellipsis;
19600
19647
  white-space: nowrap;
19601
19648
  overflow: hidden;
@@ -19603,12 +19650,12 @@ var ParameterDrawerHeaderTitle = import_react111.css`
19603
19650
  `;
19604
19651
 
19605
19652
  // src/components/ParameterInputs/ParameterDrawerHeader.tsx
19606
- var import_jsx_runtime98 = require("@emotion/react/jsx-runtime");
19653
+ var import_jsx_runtime99 = require("@emotion/react/jsx-runtime");
19607
19654
  var ParameterDrawerHeader = ({ title: title2, iconBeforeTitle, children }) => {
19608
- return /* @__PURE__ */ (0, import_jsx_runtime98.jsxs)("div", { css: ParameterDrawerHeaderContainer, children: [
19609
- /* @__PURE__ */ (0, import_jsx_runtime98.jsxs)("header", { css: ParameterDrawerHeaderTitleGroup, children: [
19655
+ return /* @__PURE__ */ (0, import_jsx_runtime99.jsxs)("div", { css: ParameterDrawerHeaderContainer, children: [
19656
+ /* @__PURE__ */ (0, import_jsx_runtime99.jsxs)("header", { css: ParameterDrawerHeaderTitleGroup, children: [
19610
19657
  iconBeforeTitle,
19611
- /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(Heading, { level: 3, withMarginBottom: false, css: ParameterDrawerHeaderTitle, title: title2, children: title2 })
19658
+ /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(Heading, { level: 3, withMarginBottom: false, css: ParameterDrawerHeaderTitle, title: title2, children: title2 })
19612
19659
  ] }),
19613
19660
  children
19614
19661
  ] });
@@ -19616,12 +19663,12 @@ var ParameterDrawerHeader = ({ title: title2, iconBeforeTitle, children }) => {
19616
19663
 
19617
19664
  // src/components/ParameterInputs/ParameterGroup.tsx
19618
19665
  init_emotion_jsx_shim();
19619
- var import_react113 = require("react");
19666
+ var import_react114 = require("react");
19620
19667
 
19621
19668
  // src/components/ParameterInputs/styles/ParameterGroup.styles.ts
19622
19669
  init_emotion_jsx_shim();
19623
- var import_react112 = require("@emotion/react");
19624
- var fieldsetStyles = import_react112.css`
19670
+ var import_react113 = require("@emotion/react");
19671
+ var fieldsetStyles = import_react113.css`
19625
19672
  &:disabled,
19626
19673
  [readonly] {
19627
19674
  pointer-events: none;
@@ -19632,7 +19679,7 @@ var fieldsetStyles = import_react112.css`
19632
19679
  }
19633
19680
  }
19634
19681
  `;
19635
- var fieldsetLegend2 = import_react112.css`
19682
+ var fieldsetLegend2 = import_react113.css`
19636
19683
  display: block;
19637
19684
  font-weight: var(--fw-medium);
19638
19685
  margin-bottom: var(--spacing-sm);
@@ -19640,11 +19687,11 @@ var fieldsetLegend2 = import_react112.css`
19640
19687
  `;
19641
19688
 
19642
19689
  // src/components/ParameterInputs/ParameterGroup.tsx
19643
- var import_jsx_runtime99 = require("@emotion/react/jsx-runtime");
19644
- var ParameterGroup = (0, import_react113.forwardRef)(
19690
+ var import_jsx_runtime100 = require("@emotion/react/jsx-runtime");
19691
+ var ParameterGroup = (0, import_react114.forwardRef)(
19645
19692
  ({ legend, isDisabled, children, ...props }, ref) => {
19646
- return /* @__PURE__ */ (0, import_jsx_runtime99.jsxs)("fieldset", { css: fieldsetStyles, disabled: isDisabled, ref, ...props, children: [
19647
- /* @__PURE__ */ (0, import_jsx_runtime99.jsx)("legend", { css: fieldsetLegend2, children: legend }),
19693
+ return /* @__PURE__ */ (0, import_jsx_runtime100.jsxs)("fieldset", { css: fieldsetStyles, disabled: isDisabled, ref, ...props, children: [
19694
+ /* @__PURE__ */ (0, import_jsx_runtime100.jsx)("legend", { css: fieldsetLegend2, children: legend }),
19648
19695
  children
19649
19696
  ] });
19650
19697
  }
@@ -19652,24 +19699,24 @@ var ParameterGroup = (0, import_react113.forwardRef)(
19652
19699
 
19653
19700
  // src/components/ParameterInputs/ParameterImage.tsx
19654
19701
  init_emotion_jsx_shim();
19655
- var import_react120 = require("react");
19702
+ var import_react121 = require("react");
19656
19703
 
19657
19704
  // src/components/ParameterInputs/ParameterImagePreview.tsx
19658
19705
  init_emotion_jsx_shim();
19659
- var import_react115 = require("react");
19706
+ var import_react116 = require("react");
19660
19707
  var import_react_dom2 = require("react-dom");
19661
19708
 
19662
19709
  // src/components/ParameterInputs/styles/ParameterImage.styles.ts
19663
19710
  init_emotion_jsx_shim();
19664
- var import_react114 = require("@emotion/react");
19665
- var previewWrapper = import_react114.css`
19711
+ var import_react115 = require("@emotion/react");
19712
+ var previewWrapper = import_react115.css`
19666
19713
  margin-top: var(--spacing-xs);
19667
19714
  background: var(--gray-50);
19668
19715
  padding: var(--spacing-sm);
19669
19716
  border: solid 1px var(--gray-300);
19670
19717
  border-radius: var(--rounded-sm);
19671
19718
  `;
19672
- var previewLink = import_react114.css`
19719
+ var previewLink = import_react115.css`
19673
19720
  display: block;
19674
19721
  width: 100%;
19675
19722
 
@@ -19677,7 +19724,7 @@ var previewLink = import_react114.css`
19677
19724
  max-height: 9rem;
19678
19725
  }
19679
19726
  `;
19680
- var previewModalWrapper = import_react114.css`
19727
+ var previewModalWrapper = import_react115.css`
19681
19728
  background: var(--gray-50);
19682
19729
  display: flex;
19683
19730
  height: 100%;
@@ -19686,7 +19733,7 @@ var previewModalWrapper = import_react114.css`
19686
19733
  border: solid 1px var(--gray-300);
19687
19734
  border-radius: var(--rounded-sm);
19688
19735
  `;
19689
- var previewModalImage = import_react114.css`
19736
+ var previewModalImage = import_react115.css`
19690
19737
  display: flex;
19691
19738
  height: 100%;
19692
19739
  width: 100%;
@@ -19698,32 +19745,32 @@ var previewModalImage = import_react114.css`
19698
19745
  `;
19699
19746
 
19700
19747
  // src/components/ParameterInputs/ParameterImagePreview.tsx
19701
- var import_jsx_runtime100 = require("@emotion/react/jsx-runtime");
19748
+ var import_jsx_runtime101 = require("@emotion/react/jsx-runtime");
19702
19749
  function ParameterImagePreview({ imageSrc }) {
19703
- const [showModal, setShowModal] = (0, import_react115.useState)(false);
19704
- return imageSrc ? /* @__PURE__ */ (0, import_jsx_runtime100.jsxs)("div", { css: previewWrapper, children: [
19705
- /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(PreviewImageModal, { open: showModal, imageSrc, onRequestClose: () => setShowModal(false) }),
19706
- /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(
19750
+ const [showModal, setShowModal] = (0, import_react116.useState)(false);
19751
+ return imageSrc ? /* @__PURE__ */ (0, import_jsx_runtime101.jsxs)("div", { css: previewWrapper, children: [
19752
+ /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(PreviewImageModal, { open: showModal, imageSrc, onRequestClose: () => setShowModal(false) }),
19753
+ /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(
19707
19754
  "button",
19708
19755
  {
19709
19756
  css: previewLink,
19710
19757
  onClick: () => {
19711
19758
  setShowModal(true);
19712
19759
  },
19713
- children: /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(Image, { src: imageSrc, "data-testid": "parameter-image-preview" })
19760
+ children: /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(Image, { src: imageSrc, "data-testid": "parameter-image-preview" })
19714
19761
  }
19715
19762
  )
19716
19763
  ] }) : null;
19717
19764
  }
19718
19765
  var PreviewImageModal = ({ open, onRequestClose, imageSrc }) => {
19719
- return open ? /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(import_jsx_runtime100.Fragment, { children: (0, import_react_dom2.createPortal)(
19720
- /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(
19766
+ return open ? /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(import_jsx_runtime101.Fragment, { children: (0, import_react_dom2.createPortal)(
19767
+ /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(
19721
19768
  Modal,
19722
19769
  {
19723
19770
  header: "Image Preview",
19724
19771
  onRequestClose,
19725
- buttonGroup: /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(Button, { buttonType: "secondary", onClick: onRequestClose, children: "Ok" }),
19726
- children: /* @__PURE__ */ (0, import_jsx_runtime100.jsx)("div", { css: previewModalWrapper, children: /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(Image, { src: imageSrc, css: previewModalImage, "data-testid": "parameter-image-preview" }) })
19772
+ buttonGroup: /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(Button, { buttonType: "secondary", onClick: onRequestClose, children: "Ok" }),
19773
+ children: /* @__PURE__ */ (0, import_jsx_runtime101.jsx)("div", { css: previewModalWrapper, children: /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(Image, { src: imageSrc, css: previewModalImage, "data-testid": "parameter-image-preview" }) })
19727
19774
  }
19728
19775
  ),
19729
19776
  document.body
@@ -19732,27 +19779,27 @@ var PreviewImageModal = ({ open, onRequestClose, imageSrc }) => {
19732
19779
 
19733
19780
  // src/components/ParameterInputs/ParameterShell.tsx
19734
19781
  init_emotion_jsx_shim();
19735
- var import_react118 = require("@emotion/react");
19736
- var import_react119 = require("react");
19782
+ var import_react119 = require("@emotion/react");
19783
+ var import_react120 = require("react");
19737
19784
 
19738
19785
  // src/components/ParameterInputs/ParameterLabel.tsx
19739
19786
  init_emotion_jsx_shim();
19740
- var import_jsx_runtime101 = require("@emotion/react/jsx-runtime");
19787
+ var import_jsx_runtime102 = require("@emotion/react/jsx-runtime");
19741
19788
  var ParameterLabel = ({ id, asSpan, children, ...props }) => {
19742
- return !asSpan ? /* @__PURE__ */ (0, import_jsx_runtime101.jsx)("label", { ...props, htmlFor: id, css: labelText2, children }) : /* @__PURE__ */ (0, import_jsx_runtime101.jsx)("span", { "aria-labelledby": id, css: labelText2, children });
19789
+ return !asSpan ? /* @__PURE__ */ (0, import_jsx_runtime102.jsx)("label", { ...props, htmlFor: id, css: labelText2, children }) : /* @__PURE__ */ (0, import_jsx_runtime102.jsx)("span", { "aria-labelledby": id, css: labelText2, children });
19743
19790
  };
19744
19791
 
19745
19792
  // src/components/ParameterInputs/ParameterMenuButton.tsx
19746
19793
  init_emotion_jsx_shim();
19747
- var import_react116 = require("react");
19748
- var import_jsx_runtime102 = require("@emotion/react/jsx-runtime");
19749
- var ParameterMenuButton = (0, import_react116.forwardRef)(
19794
+ var import_react117 = require("react");
19795
+ var import_jsx_runtime103 = require("@emotion/react/jsx-runtime");
19796
+ var ParameterMenuButton = (0, import_react117.forwardRef)(
19750
19797
  ({ label, children }, ref) => {
19751
- return /* @__PURE__ */ (0, import_jsx_runtime102.jsx)(
19798
+ return /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(
19752
19799
  Menu,
19753
19800
  {
19754
19801
  menuLabel: `${label} menu`,
19755
- menuTrigger: /* @__PURE__ */ (0, import_jsx_runtime102.jsx)(
19802
+ menuTrigger: /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(
19756
19803
  "button",
19757
19804
  {
19758
19805
  className: "parameter-menu",
@@ -19760,7 +19807,7 @@ var ParameterMenuButton = (0, import_react116.forwardRef)(
19760
19807
  type: "button",
19761
19808
  "aria-label": `${label} options`,
19762
19809
  ref,
19763
- children: /* @__PURE__ */ (0, import_jsx_runtime102.jsx)(Icon, { icon: "more-alt", iconColor: "currentColor", size: "0.9rem" })
19810
+ children: /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(Icon, { icon: "more-alt", iconColor: "currentColor", size: "0.9rem" })
19764
19811
  }
19765
19812
  ),
19766
19813
  children
@@ -19771,14 +19818,14 @@ var ParameterMenuButton = (0, import_react116.forwardRef)(
19771
19818
 
19772
19819
  // src/components/ParameterInputs/styles/ParameterShell.styles.ts
19773
19820
  init_emotion_jsx_shim();
19774
- var import_react117 = require("@emotion/react");
19775
- var emptyParameterShell = import_react117.css`
19821
+ var import_react118 = require("@emotion/react");
19822
+ var emptyParameterShell = import_react118.css`
19776
19823
  border-radius: var(--rounded-sm);
19777
19824
  flex-grow: 1;
19778
19825
  position: relative;
19779
19826
  max-width: 100%;
19780
19827
  `;
19781
- var emptyParameterShellText = import_react117.css`
19828
+ var emptyParameterShellText = import_react118.css`
19782
19829
  background: var(--brand-secondary-6);
19783
19830
  border-radius: var(--rounded-sm);
19784
19831
  padding: var(--spacing-sm);
@@ -19786,7 +19833,7 @@ var emptyParameterShellText = import_react117.css`
19786
19833
  font-size: var(--fs-sm);
19787
19834
  margin: 0;
19788
19835
  `;
19789
- var overrideMarker = import_react117.css`
19836
+ var overrideMarker = import_react118.css`
19790
19837
  border-radius: var(--rounded-sm);
19791
19838
  border: 10px solid var(--gray-300);
19792
19839
  border-left-color: transparent;
@@ -19797,7 +19844,7 @@ var overrideMarker = import_react117.css`
19797
19844
  `;
19798
19845
 
19799
19846
  // src/components/ParameterInputs/ParameterShell.tsx
19800
- var import_jsx_runtime103 = require("@emotion/react/jsx-runtime");
19847
+ var import_jsx_runtime104 = require("@emotion/react/jsx-runtime");
19801
19848
  var extractParameterProps = (props) => {
19802
19849
  const {
19803
19850
  id,
@@ -19857,36 +19904,36 @@ var ParameterShell = ({
19857
19904
  isParameterGroup = false,
19858
19905
  ...props
19859
19906
  }) => {
19860
- const [manualErrorMessage, setManualErrorMessage] = (0, import_react119.useState)(void 0);
19907
+ const [manualErrorMessage, setManualErrorMessage] = (0, import_react120.useState)(void 0);
19861
19908
  const setErrorMessage = (message) => setManualErrorMessage(message);
19862
19909
  const errorMessaging = errorMessage || manualErrorMessage;
19863
- return /* @__PURE__ */ (0, import_jsx_runtime103.jsxs)("div", { css: inputContainer2, ...props, id, children: [
19864
- hiddenLabel || title2 ? null : /* @__PURE__ */ (0, import_jsx_runtime103.jsxs)(ParameterLabel, { id, css: labelText2, children: [
19910
+ return /* @__PURE__ */ (0, import_jsx_runtime104.jsxs)("div", { css: inputContainer2, ...props, id, children: [
19911
+ hiddenLabel || title2 ? null : /* @__PURE__ */ (0, import_jsx_runtime104.jsxs)(ParameterLabel, { id, css: labelText2, children: [
19865
19912
  labelLeadingIcon != null ? labelLeadingIcon : null,
19866
19913
  label,
19867
19914
  labelTrailingIcon != null ? labelTrailingIcon : null
19868
19915
  ] }),
19869
- !title2 ? null : /* @__PURE__ */ (0, import_jsx_runtime103.jsxs)(ParameterLabel, { id, asSpan: true, children: [
19916
+ !title2 ? null : /* @__PURE__ */ (0, import_jsx_runtime104.jsxs)(ParameterLabel, { id, asSpan: true, children: [
19870
19917
  labelLeadingIcon != null ? labelLeadingIcon : null,
19871
19918
  title2,
19872
19919
  labelTrailingIcon != null ? labelTrailingIcon : null
19873
19920
  ] }),
19874
- /* @__PURE__ */ (0, import_jsx_runtime103.jsxs)("div", { css: inputWrapper, children: [
19875
- actionItems ? /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(
19921
+ /* @__PURE__ */ (0, import_jsx_runtime104.jsxs)("div", { css: inputWrapper, children: [
19922
+ actionItems ? /* @__PURE__ */ (0, import_jsx_runtime104.jsx)(
19876
19923
  "div",
19877
19924
  {
19878
19925
  css: [
19879
19926
  inputMenu,
19880
19927
  inputActionItems,
19881
- menuItems ? import_react118.css`
19928
+ menuItems ? import_react119.css`
19882
19929
  right: var(--spacing-md);
19883
19930
  ` : void 0
19884
19931
  ],
19885
19932
  children: actionItems
19886
19933
  }
19887
19934
  ) : null,
19888
- menuItems ? /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(ParameterMenuButton, { label: `${label} menu`, children: menuItems }) : null,
19889
- /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(
19935
+ menuItems ? /* @__PURE__ */ (0, import_jsx_runtime104.jsx)(ParameterMenuButton, { label: `${label} menu`, children: menuItems }) : null,
19936
+ /* @__PURE__ */ (0, import_jsx_runtime104.jsx)(
19890
19937
  ParameterShellContext.Provider,
19891
19938
  {
19892
19939
  value: {
@@ -19896,14 +19943,14 @@ var ParameterShell = ({
19896
19943
  errorMessage: errorMessaging,
19897
19944
  handleManuallySetErrorMessage: (message) => setErrorMessage(message)
19898
19945
  },
19899
- children: isParameterGroup ? /* @__PURE__ */ (0, import_jsx_runtime103.jsx)("div", { style: { flexGrow: 1 }, children }) : /* @__PURE__ */ (0, import_jsx_runtime103.jsxs)(ParameterShellPlaceholder, { children: [
19946
+ children: isParameterGroup ? /* @__PURE__ */ (0, import_jsx_runtime104.jsx)("div", { style: { flexGrow: 1 }, children }) : /* @__PURE__ */ (0, import_jsx_runtime104.jsxs)(ParameterShellPlaceholder, { children: [
19900
19947
  children,
19901
- hasOverriddenValue && onResetOverriddenValue ? /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(ParameterOverrideMarker, { onClick: onResetOverriddenValue }) : null
19948
+ hasOverriddenValue && onResetOverriddenValue ? /* @__PURE__ */ (0, import_jsx_runtime104.jsx)(ParameterOverrideMarker, { onClick: onResetOverriddenValue }) : null
19902
19949
  ] })
19903
19950
  }
19904
19951
  )
19905
19952
  ] }),
19906
- /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(
19953
+ /* @__PURE__ */ (0, import_jsx_runtime104.jsx)(
19907
19954
  FieldMessage,
19908
19955
  {
19909
19956
  helperMessageTestId: captionTestId,
@@ -19917,27 +19964,27 @@ var ParameterShell = ({
19917
19964
  ] });
19918
19965
  };
19919
19966
  var ParameterShellPlaceholder = ({ children }) => {
19920
- return /* @__PURE__ */ (0, import_jsx_runtime103.jsx)("div", { css: emptyParameterShell, children });
19967
+ return /* @__PURE__ */ (0, import_jsx_runtime104.jsx)("div", { css: emptyParameterShell, children });
19921
19968
  };
19922
- var ParameterOverrideMarker = (props) => /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(Tooltip, { title: "The default value has been overridden", children: /* @__PURE__ */ (0, import_jsx_runtime103.jsx)("button", { type: "button", css: overrideMarker, ...props, children: /* @__PURE__ */ (0, import_jsx_runtime103.jsx)("span", { hidden: true, children: "reset overridden value to default" }) }) });
19969
+ var ParameterOverrideMarker = (props) => /* @__PURE__ */ (0, import_jsx_runtime104.jsx)(Tooltip, { title: "The default value has been overridden", children: /* @__PURE__ */ (0, import_jsx_runtime104.jsx)("button", { type: "button", css: overrideMarker, ...props, children: /* @__PURE__ */ (0, import_jsx_runtime104.jsx)("span", { hidden: true, children: "reset overridden value to default" }) }) });
19923
19970
 
19924
19971
  // src/components/ParameterInputs/ParameterImage.tsx
19925
- var import_jsx_runtime104 = require("@emotion/react/jsx-runtime");
19926
- var ParameterImage = (0, import_react120.forwardRef)(
19972
+ var import_jsx_runtime105 = require("@emotion/react/jsx-runtime");
19973
+ var ParameterImage = (0, import_react121.forwardRef)(
19927
19974
  ({ children, ...props }, ref) => {
19928
19975
  const { shellProps, innerProps } = extractParameterProps(props);
19929
- return /* @__PURE__ */ (0, import_jsx_runtime104.jsxs)(ParameterShell, { "data-test-id": "parameter-image", ...shellProps, children: [
19930
- /* @__PURE__ */ (0, import_jsx_runtime104.jsx)(ParameterImageInner, { ref, ...innerProps }),
19976
+ return /* @__PURE__ */ (0, import_jsx_runtime105.jsxs)(ParameterShell, { "data-test-id": "parameter-image", ...shellProps, children: [
19977
+ /* @__PURE__ */ (0, import_jsx_runtime105.jsx)(ParameterImageInner, { ref, ...innerProps }),
19931
19978
  children
19932
19979
  ] });
19933
19980
  }
19934
19981
  );
19935
- var ParameterImageInner = (0, import_react120.forwardRef)((props, ref) => {
19982
+ var ParameterImageInner = (0, import_react121.forwardRef)((props, ref) => {
19936
19983
  const { value } = props;
19937
19984
  const { id, label, hiddenLabel, errorMessage } = useParameterShell();
19938
- const deferredValue = (0, import_react120.useDeferredValue)(value);
19939
- return /* @__PURE__ */ (0, import_jsx_runtime104.jsxs)(import_jsx_runtime104.Fragment, { children: [
19940
- /* @__PURE__ */ (0, import_jsx_runtime104.jsx)(
19985
+ const deferredValue = (0, import_react121.useDeferredValue)(value);
19986
+ return /* @__PURE__ */ (0, import_jsx_runtime105.jsxs)(import_jsx_runtime105.Fragment, { children: [
19987
+ /* @__PURE__ */ (0, import_jsx_runtime105.jsx)(
19941
19988
  "input",
19942
19989
  {
19943
19990
  css: input3,
@@ -19949,22 +19996,22 @@ var ParameterImageInner = (0, import_react120.forwardRef)((props, ref) => {
19949
19996
  ...props
19950
19997
  }
19951
19998
  ),
19952
- errorMessage || props.disablePreview ? null : /* @__PURE__ */ (0, import_jsx_runtime104.jsx)(ParameterImagePreview, { imageSrc: deferredValue })
19999
+ errorMessage || props.disablePreview ? null : /* @__PURE__ */ (0, import_jsx_runtime105.jsx)(ParameterImagePreview, { imageSrc: deferredValue })
19953
20000
  ] });
19954
20001
  });
19955
20002
 
19956
20003
  // src/components/ParameterInputs/ParameterInput.tsx
19957
20004
  init_emotion_jsx_shim();
19958
- var import_react121 = require("react");
19959
- var import_jsx_runtime105 = require("@emotion/react/jsx-runtime");
19960
- var ParameterInput = (0, import_react121.forwardRef)((props, ref) => {
20005
+ var import_react122 = require("react");
20006
+ var import_jsx_runtime106 = require("@emotion/react/jsx-runtime");
20007
+ var ParameterInput = (0, import_react122.forwardRef)((props, ref) => {
19961
20008
  const { shellProps, innerProps } = extractParameterProps(props);
19962
- return /* @__PURE__ */ (0, import_jsx_runtime105.jsx)(ParameterShell, { "data-testid": "parameter-input", ...shellProps, children: /* @__PURE__ */ (0, import_jsx_runtime105.jsx)(ParameterInputInner, { ref, ...innerProps }) });
20009
+ return /* @__PURE__ */ (0, import_jsx_runtime106.jsx)(ParameterShell, { "data-testid": "parameter-input", ...shellProps, children: /* @__PURE__ */ (0, import_jsx_runtime106.jsx)(ParameterInputInner, { ref, ...innerProps }) });
19963
20010
  });
19964
- var ParameterInputInner = (0, import_react121.forwardRef)(
20011
+ var ParameterInputInner = (0, import_react122.forwardRef)(
19965
20012
  ({ ...props }, ref) => {
19966
20013
  const { id, label, hiddenLabel } = useParameterShell();
19967
- return /* @__PURE__ */ (0, import_jsx_runtime105.jsx)(
20014
+ return /* @__PURE__ */ (0, import_jsx_runtime106.jsx)(
19968
20015
  "input",
19969
20016
  {
19970
20017
  css: input3,
@@ -19981,19 +20028,19 @@ var ParameterInputInner = (0, import_react121.forwardRef)(
19981
20028
 
19982
20029
  // src/components/ParameterInputs/ParameterLink.tsx
19983
20030
  init_emotion_jsx_shim();
19984
- var import_react122 = require("react");
19985
- var import_jsx_runtime106 = require("@emotion/react/jsx-runtime");
19986
- var ParameterLink = (0, import_react122.forwardRef)(
20031
+ var import_react123 = require("react");
20032
+ var import_jsx_runtime107 = require("@emotion/react/jsx-runtime");
20033
+ var ParameterLink = (0, import_react123.forwardRef)(
19987
20034
  ({ disabled: disabled2, onConnectLink, externalLink, ...props }, ref) => {
19988
20035
  const { shellProps, innerProps } = extractParameterProps(props);
19989
- return /* @__PURE__ */ (0, import_jsx_runtime106.jsx)(
20036
+ return /* @__PURE__ */ (0, import_jsx_runtime107.jsx)(
19990
20037
  ParameterShell,
19991
20038
  {
19992
20039
  "data-testid": "link-parameter-editor",
19993
20040
  ...shellProps,
19994
20041
  label: innerProps.value ? shellProps.label : "",
19995
20042
  title: !innerProps.value ? shellProps.label : void 0,
19996
- children: /* @__PURE__ */ (0, import_jsx_runtime106.jsx)(
20043
+ children: /* @__PURE__ */ (0, import_jsx_runtime107.jsx)(
19997
20044
  ParameterLinkInner,
19998
20045
  {
19999
20046
  onConnectLink,
@@ -20006,13 +20053,13 @@ var ParameterLink = (0, import_react122.forwardRef)(
20006
20053
  );
20007
20054
  }
20008
20055
  );
20009
- var ParameterLinkInner = (0, import_react122.forwardRef)(
20056
+ var ParameterLinkInner = (0, import_react123.forwardRef)(
20010
20057
  ({ externalLink, onConnectLink, disabled: disabled2, buttonText = "Select link", ...props }, ref) => {
20011
20058
  const { id, label, hiddenLabel } = useParameterShell();
20012
20059
  if (!props.value)
20013
- return /* @__PURE__ */ (0, import_jsx_runtime106.jsx)("button", { type: "button", css: dataConnectButton, disabled: disabled2, onClick: onConnectLink, children: buttonText });
20014
- return /* @__PURE__ */ (0, import_jsx_runtime106.jsxs)("div", { css: inputWrapper, children: [
20015
- /* @__PURE__ */ (0, import_jsx_runtime106.jsx)(
20060
+ return /* @__PURE__ */ (0, import_jsx_runtime107.jsx)("button", { type: "button", css: dataConnectButton, disabled: disabled2, onClick: onConnectLink, children: buttonText });
20061
+ return /* @__PURE__ */ (0, import_jsx_runtime107.jsxs)("div", { css: inputWrapper, children: [
20062
+ /* @__PURE__ */ (0, import_jsx_runtime107.jsx)(
20016
20063
  "input",
20017
20064
  {
20018
20065
  type: "text",
@@ -20024,8 +20071,8 @@ var ParameterLinkInner = (0, import_react122.forwardRef)(
20024
20071
  ...props
20025
20072
  }
20026
20073
  ),
20027
- /* @__PURE__ */ (0, import_jsx_runtime106.jsxs)("div", { css: linkParameterControls, children: [
20028
- /* @__PURE__ */ (0, import_jsx_runtime106.jsx)(
20074
+ /* @__PURE__ */ (0, import_jsx_runtime107.jsxs)("div", { css: linkParameterControls, children: [
20075
+ /* @__PURE__ */ (0, import_jsx_runtime107.jsx)(
20029
20076
  "button",
20030
20077
  {
20031
20078
  type: "button",
@@ -20036,7 +20083,7 @@ var ParameterLinkInner = (0, import_react122.forwardRef)(
20036
20083
  children: "edit"
20037
20084
  }
20038
20085
  ),
20039
- externalLink ? /* @__PURE__ */ (0, import_jsx_runtime106.jsx)(
20086
+ externalLink ? /* @__PURE__ */ (0, import_jsx_runtime107.jsx)(
20040
20087
  "a",
20041
20088
  {
20042
20089
  href: externalLink,
@@ -20044,7 +20091,7 @@ var ParameterLinkInner = (0, import_react122.forwardRef)(
20044
20091
  title: "Open link in new tab",
20045
20092
  target: "_blank",
20046
20093
  rel: "noopener noreferrer",
20047
- children: /* @__PURE__ */ (0, import_jsx_runtime106.jsx)(Icon, { icon: "arrows-expand-up-right", iconColor: "currentColor", size: "1rem" })
20094
+ children: /* @__PURE__ */ (0, import_jsx_runtime107.jsx)(Icon, { icon: "arrows-expand-up-right", iconColor: "currentColor", size: "1rem" })
20048
20095
  }
20049
20096
  ) : null
20050
20097
  ] })
@@ -20054,7 +20101,7 @@ var ParameterLinkInner = (0, import_react122.forwardRef)(
20054
20101
 
20055
20102
  // src/components/ParameterInputs/ParameterNameAndPublicIdInput.tsx
20056
20103
  init_emotion_jsx_shim();
20057
- var import_jsx_runtime107 = require("@emotion/react/jsx-runtime");
20104
+ var import_jsx_runtime108 = require("@emotion/react/jsx-runtime");
20058
20105
  var ParameterNameAndPublicIdInput = ({
20059
20106
  id,
20060
20107
  onBlur,
@@ -20080,8 +20127,8 @@ var ParameterNameAndPublicIdInput = ({
20080
20127
  navigator.clipboard.writeText(values[publicIdFieldName]);
20081
20128
  };
20082
20129
  autoFocus == null ? void 0 : autoFocus();
20083
- return /* @__PURE__ */ (0, import_jsx_runtime107.jsxs)(import_jsx_runtime107.Fragment, { children: [
20084
- /* @__PURE__ */ (0, import_jsx_runtime107.jsx)(
20130
+ return /* @__PURE__ */ (0, import_jsx_runtime108.jsxs)(import_jsx_runtime108.Fragment, { children: [
20131
+ /* @__PURE__ */ (0, import_jsx_runtime108.jsx)(
20085
20132
  ParameterInput,
20086
20133
  {
20087
20134
  id: nameIdField,
@@ -20100,7 +20147,7 @@ var ParameterNameAndPublicIdInput = ({
20100
20147
  value: values[nameIdField]
20101
20148
  }
20102
20149
  ),
20103
- /* @__PURE__ */ (0, import_jsx_runtime107.jsx)(
20150
+ /* @__PURE__ */ (0, import_jsx_runtime108.jsx)(
20104
20151
  ParameterInput,
20105
20152
  {
20106
20153
  id: publicIdFieldName,
@@ -20114,11 +20161,11 @@ var ParameterNameAndPublicIdInput = ({
20114
20161
  caption: !publicIdError ? publicIdCaption : void 0,
20115
20162
  placeholder: publicIdPlaceholderText,
20116
20163
  errorMessage: publicIdError,
20117
- menuItems: /* @__PURE__ */ (0, import_jsx_runtime107.jsx)(
20164
+ menuItems: /* @__PURE__ */ (0, import_jsx_runtime108.jsx)(
20118
20165
  MenuItem,
20119
20166
  {
20120
20167
  disabled: !values[publicIdFieldName],
20121
- icon: /* @__PURE__ */ (0, import_jsx_runtime107.jsx)(Icon, { icon: "path-trim", iconColor: "currentColor" }),
20168
+ icon: /* @__PURE__ */ (0, import_jsx_runtime108.jsx)(Icon, { icon: "path-trim", iconColor: "currentColor" }),
20122
20169
  onClick: handleCopyPidFieldValue,
20123
20170
  children: "Copy"
20124
20171
  }
@@ -20126,13 +20173,13 @@ var ParameterNameAndPublicIdInput = ({
20126
20173
  value: values[publicIdFieldName]
20127
20174
  }
20128
20175
  ),
20129
- (warnOverLength == null ? void 0 : warnOverLength.length) && values[publicIdFieldName].length > warnOverLength.length ? /* @__PURE__ */ (0, import_jsx_runtime107.jsx)(Callout, { type: "caution", children: warnOverLength.message }) : null
20176
+ (warnOverLength == null ? void 0 : warnOverLength.length) && values[publicIdFieldName].length > warnOverLength.length ? /* @__PURE__ */ (0, import_jsx_runtime108.jsx)(Callout, { type: "caution", children: warnOverLength.message }) : null
20130
20177
  ] });
20131
20178
  };
20132
20179
 
20133
20180
  // src/components/ParameterInputs/ParameterRichText.tsx
20134
20181
  init_emotion_jsx_shim();
20135
- var import_react129 = require("@emotion/react");
20182
+ var import_react130 = require("@emotion/react");
20136
20183
  var import_list3 = require("@lexical/list");
20137
20184
  var import_markdown = require("@lexical/markdown");
20138
20185
  var import_LexicalComposer = require("@lexical/react/LexicalComposer");
@@ -20239,7 +20286,7 @@ var getLabelForElement = (type) => {
20239
20286
  // src/components/ParameterInputs/ParameterRichText.tsx
20240
20287
  var import_fast_equals2 = require("fast-equals");
20241
20288
  var import_lexical6 = require("lexical");
20242
- var import_react130 = require("react");
20289
+ var import_react131 = require("react");
20243
20290
 
20244
20291
  // src/components/ParameterInputs/rich-text/CustomCodeNode.ts
20245
20292
  init_emotion_jsx_shim();
@@ -20262,10 +20309,10 @@ init_emotion_jsx_shim();
20262
20309
  var import_LexicalComposerContext = require("@lexical/react/LexicalComposerContext");
20263
20310
  var import_utils2 = require("@lexical/utils");
20264
20311
  var import_lexical = require("lexical");
20265
- var import_react123 = require("react");
20312
+ var import_react124 = require("react");
20266
20313
  function DisableStylesPlugin() {
20267
20314
  const [editor] = (0, import_LexicalComposerContext.useLexicalComposerContext)();
20268
- (0, import_react123.useEffect)(() => {
20315
+ (0, import_react124.useEffect)(() => {
20269
20316
  return (0, import_utils2.mergeRegister)(
20270
20317
  // Disable text alignment on paragraph nodes
20271
20318
  editor.registerNodeTransform(import_lexical.ParagraphNode, (node) => {
@@ -20460,13 +20507,13 @@ var codeElement = import_css2.css`
20460
20507
 
20461
20508
  // src/components/ParameterInputs/rich-text/LinkNodePlugin.tsx
20462
20509
  init_emotion_jsx_shim();
20463
- var import_react124 = require("@emotion/react");
20510
+ var import_react125 = require("@emotion/react");
20464
20511
  var import_LexicalComposerContext2 = require("@lexical/react/LexicalComposerContext");
20465
20512
  var import_LexicalNodeEventPlugin = require("@lexical/react/LexicalNodeEventPlugin");
20466
20513
  var import_utils3 = require("@lexical/utils");
20467
20514
  var import_fast_equals = require("fast-equals");
20468
20515
  var import_lexical3 = require("lexical");
20469
- var import_react125 = require("react");
20516
+ var import_react126 = require("react");
20470
20517
 
20471
20518
  // src/components/ParameterInputs/rich-text/utils.ts
20472
20519
  init_emotion_jsx_shim();
@@ -20505,7 +20552,7 @@ var getSelectedNode = (selection) => {
20505
20552
  };
20506
20553
 
20507
20554
  // src/components/ParameterInputs/rich-text/LinkNodePlugin.tsx
20508
- var import_jsx_runtime108 = require("@emotion/react/jsx-runtime");
20555
+ var import_jsx_runtime109 = require("@emotion/react/jsx-runtime");
20509
20556
  var isProjectMapLinkValue = (value) => {
20510
20557
  return (value == null ? void 0 : value.type) === "projectMapNode" && Boolean(
20511
20558
  value.nodeId && value.path && value.projectMapId
@@ -20792,16 +20839,16 @@ var OPEN_LINK_NODE_MODAL_COMMAND = (0, import_lexical3.createCommand)(
20792
20839
  );
20793
20840
  var LINK_POPOVER_OFFSET_X = 0;
20794
20841
  var LINK_POPOVER_OFFSET_Y = 8;
20795
- var linkPopover = import_react124.css`
20842
+ var linkPopover = import_react125.css`
20796
20843
  position: absolute;
20797
20844
  z-index: 5;
20798
20845
  `;
20799
- var linkPopoverContainer = import_react124.css`
20846
+ var linkPopoverContainer = import_react125.css`
20800
20847
  ${Popover};
20801
20848
  align-items: center;
20802
20849
  display: flex;
20803
20850
  `;
20804
- var linkPopoverAnchor = import_react124.css`
20851
+ var linkPopoverAnchor = import_react125.css`
20805
20852
  ${link}
20806
20853
  ${linkColorDefault}
20807
20854
  `;
@@ -20810,17 +20857,17 @@ function LinkNodePlugin({ onConnectLink, getBoundPath }) {
20810
20857
  return path;
20811
20858
  };
20812
20859
  const [editor] = (0, import_LexicalComposerContext2.useLexicalComposerContext)();
20813
- const [linkPopoverState, setLinkPopoverState] = (0, import_react125.useState)();
20814
- const linkPopoverElRef = (0, import_react125.useRef)(null);
20815
- const [isEditorFocused, setIsEditorFocused] = (0, import_react125.useState)(false);
20816
- const [isLinkPopoverFocused, setIsLinkPopoverFocused] = (0, import_react125.useState)(false);
20817
- (0, import_react125.useEffect)(() => {
20860
+ const [linkPopoverState, setLinkPopoverState] = (0, import_react126.useState)();
20861
+ const linkPopoverElRef = (0, import_react126.useRef)(null);
20862
+ const [isEditorFocused, setIsEditorFocused] = (0, import_react126.useState)(false);
20863
+ const [isLinkPopoverFocused, setIsLinkPopoverFocused] = (0, import_react126.useState)(false);
20864
+ (0, import_react126.useEffect)(() => {
20818
20865
  if (!isEditorFocused && !isLinkPopoverFocused) {
20819
20866
  setLinkPopoverState(void 0);
20820
20867
  return;
20821
20868
  }
20822
20869
  }, [isEditorFocused, isLinkPopoverFocused]);
20823
- (0, import_react125.useEffect)(() => {
20870
+ (0, import_react126.useEffect)(() => {
20824
20871
  if (!editor.hasNodes([LinkNode])) {
20825
20872
  throw new Error("LinkNode not registered on editor");
20826
20873
  }
@@ -20889,7 +20936,7 @@ function LinkNodePlugin({ onConnectLink, getBoundPath }) {
20889
20936
  )
20890
20937
  );
20891
20938
  }, [editor, onConnectLink]);
20892
- const maybeShowLinkToolbar = (0, import_react125.useCallback)(() => {
20939
+ const maybeShowLinkToolbar = (0, import_react126.useCallback)(() => {
20893
20940
  if (!editor.isEditable()) {
20894
20941
  return;
20895
20942
  }
@@ -20921,7 +20968,7 @@ function LinkNodePlugin({ onConnectLink, getBoundPath }) {
20921
20968
  }
20922
20969
  });
20923
20970
  }, [editor]);
20924
- (0, import_react125.useEffect)(() => {
20971
+ (0, import_react126.useEffect)(() => {
20925
20972
  return editor.registerUpdateListener(({ editorState }) => {
20926
20973
  requestAnimationFrame(() => {
20927
20974
  editorState.read(() => {
@@ -20948,8 +20995,8 @@ function LinkNodePlugin({ onConnectLink, getBoundPath }) {
20948
20995
  });
20949
20996
  });
20950
20997
  };
20951
- return /* @__PURE__ */ (0, import_jsx_runtime108.jsxs)(import_jsx_runtime108.Fragment, { children: [
20952
- /* @__PURE__ */ (0, import_jsx_runtime108.jsx)(
20998
+ return /* @__PURE__ */ (0, import_jsx_runtime109.jsxs)(import_jsx_runtime109.Fragment, { children: [
20999
+ /* @__PURE__ */ (0, import_jsx_runtime109.jsx)(
20953
21000
  import_LexicalNodeEventPlugin.NodeEventPlugin,
20954
21001
  {
20955
21002
  nodeType: LinkNode,
@@ -20959,7 +21006,7 @@ function LinkNodePlugin({ onConnectLink, getBoundPath }) {
20959
21006
  }
20960
21007
  }
20961
21008
  ),
20962
- linkPopoverState ? /* @__PURE__ */ (0, import_jsx_runtime108.jsx)(
21009
+ linkPopoverState ? /* @__PURE__ */ (0, import_jsx_runtime109.jsx)(
20963
21010
  "div",
20964
21011
  {
20965
21012
  css: linkPopover,
@@ -20968,8 +21015,8 @@ function LinkNodePlugin({ onConnectLink, getBoundPath }) {
20968
21015
  top: linkPopoverState.position.y
20969
21016
  },
20970
21017
  ref: linkPopoverElRef,
20971
- children: /* @__PURE__ */ (0, import_jsx_runtime108.jsxs)("div", { css: linkPopoverContainer, children: [
20972
- linkPopoverState.node.__link.type === "projectMapNode" ? linkPopoverState.node.__link.path : /* @__PURE__ */ (0, import_jsx_runtime108.jsx)(
21018
+ children: /* @__PURE__ */ (0, import_jsx_runtime109.jsxs)("div", { css: linkPopoverContainer, children: [
21019
+ linkPopoverState.node.__link.type === "projectMapNode" ? linkPopoverState.node.__link.path : /* @__PURE__ */ (0, import_jsx_runtime109.jsx)(
20973
21020
  "a",
20974
21021
  {
20975
21022
  href: parsePath(
@@ -20981,7 +21028,7 @@ function LinkNodePlugin({ onConnectLink, getBoundPath }) {
20981
21028
  children: parsePath(linkPopoverState.node.__link.path)
20982
21029
  }
20983
21030
  ),
20984
- /* @__PURE__ */ (0, import_jsx_runtime108.jsx)(
21031
+ /* @__PURE__ */ (0, import_jsx_runtime109.jsx)(
20985
21032
  Button,
20986
21033
  {
20987
21034
  size: "xs",
@@ -20989,7 +21036,7 @@ function LinkNodePlugin({ onConnectLink, getBoundPath }) {
20989
21036
  onEditLinkNode(linkPopoverState.node);
20990
21037
  },
20991
21038
  buttonType: "ghost",
20992
- children: /* @__PURE__ */ (0, import_jsx_runtime108.jsx)(Icon, { icon: "pen", size: "1rem", title: "Edit link" })
21039
+ children: /* @__PURE__ */ (0, import_jsx_runtime109.jsx)(Icon, { icon: "pen", size: "1rem", title: "Edit link" })
20993
21040
  }
20994
21041
  )
20995
21042
  ] })
@@ -21009,8 +21056,8 @@ var import_list = require("@lexical/list");
21009
21056
  var import_LexicalComposerContext3 = require("@lexical/react/LexicalComposerContext");
21010
21057
  var import_LexicalTabIndentationPlugin = require("@lexical/react/LexicalTabIndentationPlugin");
21011
21058
  var import_lexical4 = require("lexical");
21012
- var import_react126 = require("react");
21013
- var import_jsx_runtime109 = require("@emotion/react/jsx-runtime");
21059
+ var import_react127 = require("react");
21060
+ var import_jsx_runtime110 = require("@emotion/react/jsx-runtime");
21014
21061
  function isIndentPermitted(maxDepth) {
21015
21062
  const selection = (0, import_lexical4.$getSelection)();
21016
21063
  if (!(0, import_lexical4.$isRangeSelection)(selection)) {
@@ -21033,19 +21080,19 @@ function isIndentPermitted(maxDepth) {
21033
21080
  }
21034
21081
  function ListIndentPlugin({ maxDepth }) {
21035
21082
  const [editor] = (0, import_LexicalComposerContext3.useLexicalComposerContext)();
21036
- (0, import_react126.useEffect)(() => {
21083
+ (0, import_react127.useEffect)(() => {
21037
21084
  return editor.registerCommand(
21038
21085
  import_lexical4.INDENT_CONTENT_COMMAND,
21039
21086
  () => !isIndentPermitted(maxDepth),
21040
21087
  import_lexical4.COMMAND_PRIORITY_CRITICAL
21041
21088
  );
21042
21089
  }, [editor, maxDepth]);
21043
- return /* @__PURE__ */ (0, import_jsx_runtime109.jsx)(import_LexicalTabIndentationPlugin.TabIndentationPlugin, {});
21090
+ return /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(import_LexicalTabIndentationPlugin.TabIndentationPlugin, {});
21044
21091
  }
21045
21092
 
21046
21093
  // src/components/ParameterInputs/rich-text/RichTextToolbar.tsx
21047
21094
  init_emotion_jsx_shim();
21048
- var import_react127 = require("@emotion/react");
21095
+ var import_react128 = require("@emotion/react");
21049
21096
  var import_code2 = require("@lexical/code");
21050
21097
  var import_list2 = require("@lexical/list");
21051
21098
  var import_LexicalComposerContext4 = require("@lexical/react/LexicalComposerContext");
@@ -21053,9 +21100,9 @@ var import_rich_text = require("@lexical/rich-text");
21053
21100
  var import_selection2 = require("@lexical/selection");
21054
21101
  var import_utils6 = require("@lexical/utils");
21055
21102
  var import_lexical5 = require("lexical");
21056
- var import_react128 = require("react");
21057
- var import_jsx_runtime110 = require("@emotion/react/jsx-runtime");
21058
- var toolbar = import_react127.css`
21103
+ var import_react129 = require("react");
21104
+ var import_jsx_runtime111 = require("@emotion/react/jsx-runtime");
21105
+ var toolbar = import_react128.css`
21059
21106
  background: var(--gray-50);
21060
21107
  border-radius: var(--rounded-base);
21061
21108
  display: flex;
@@ -21067,7 +21114,7 @@ var toolbar = import_react127.css`
21067
21114
  top: calc(var(--spacing-sm) * -2);
21068
21115
  z-index: 10;
21069
21116
  `;
21070
- var toolbarGroup = import_react127.css`
21117
+ var toolbarGroup = import_react128.css`
21071
21118
  display: flex;
21072
21119
  gap: var(--spacing-xs);
21073
21120
  position: relative;
@@ -21083,7 +21130,7 @@ var toolbarGroup = import_react127.css`
21083
21130
  width: 1px;
21084
21131
  }
21085
21132
  `;
21086
- var richTextToolbarButton = import_react127.css`
21133
+ var richTextToolbarButton = import_react128.css`
21087
21134
  align-items: center;
21088
21135
  appearance: none;
21089
21136
  border: 0;
@@ -21096,17 +21143,17 @@ var richTextToolbarButton = import_react127.css`
21096
21143
  min-width: 32px;
21097
21144
  padding: 0 var(--spacing-sm);
21098
21145
  `;
21099
- var richTextToolbarButtonActive = import_react127.css`
21146
+ var richTextToolbarButtonActive = import_react128.css`
21100
21147
  background: var(--gray-200);
21101
21148
  `;
21102
- var toolbarIcon = import_react127.css`
21149
+ var toolbarIcon = import_react128.css`
21103
21150
  color: inherit;
21104
21151
  `;
21105
- var toolbarChevron = import_react127.css`
21152
+ var toolbarChevron = import_react128.css`
21106
21153
  margin-left: var(--spacing-xs);
21107
21154
  `;
21108
21155
  var RichTextToolbarIcon = ({ icon }) => {
21109
- return /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(Icon, { icon, css: toolbarIcon, size: "1rem" });
21156
+ return /* @__PURE__ */ (0, import_jsx_runtime111.jsx)(Icon, { icon, css: toolbarIcon, size: "1rem" });
21110
21157
  };
21111
21158
  var FORMATS_WITH_ICON = /* @__PURE__ */ new Map([
21112
21159
  ["bold", "format-bold"],
@@ -21157,7 +21204,7 @@ var RichTextToolbar = ({ config, customControls }) => {
21157
21204
  }
21158
21205
  });
21159
21206
  };
21160
- const updateToolbar = (0, import_react128.useCallback)(() => {
21207
+ const updateToolbar = (0, import_react129.useCallback)(() => {
21161
21208
  const selection = (0, import_lexical5.$getSelection)();
21162
21209
  if (!(0, import_lexical5.$isRangeSelection)(selection)) {
21163
21210
  return;
@@ -21196,7 +21243,7 @@ var RichTextToolbar = ({ config, customControls }) => {
21196
21243
  setIsLink(false);
21197
21244
  }
21198
21245
  }, [editor, setActiveElement, setActiveFormats, setIsLink]);
21199
- (0, import_react128.useEffect)(() => {
21246
+ (0, import_react129.useEffect)(() => {
21200
21247
  return editor.registerCommand(
21201
21248
  import_lexical5.SELECTION_CHANGE_COMMAND,
21202
21249
  (_payload) => {
@@ -21206,7 +21253,7 @@ var RichTextToolbar = ({ config, customControls }) => {
21206
21253
  import_lexical5.COMMAND_PRIORITY_CRITICAL
21207
21254
  );
21208
21255
  }, [editor, updateToolbar]);
21209
- (0, import_react128.useEffect)(() => {
21256
+ (0, import_react129.useEffect)(() => {
21210
21257
  return editor.registerUpdateListener(({ editorState }) => {
21211
21258
  requestAnimationFrame(() => {
21212
21259
  editorState.read(() => {
@@ -21215,15 +21262,15 @@ var RichTextToolbar = ({ config, customControls }) => {
21215
21262
  });
21216
21263
  });
21217
21264
  }, [editor, updateToolbar]);
21218
- return /* @__PURE__ */ (0, import_jsx_runtime110.jsxs)("div", { css: toolbar, children: [
21219
- /* @__PURE__ */ (0, import_jsx_runtime110.jsxs)(
21265
+ return /* @__PURE__ */ (0, import_jsx_runtime111.jsxs)("div", { css: toolbar, children: [
21266
+ /* @__PURE__ */ (0, import_jsx_runtime111.jsxs)(
21220
21267
  Menu,
21221
21268
  {
21222
21269
  menuLabel: "Elements",
21223
- menuTrigger: /* @__PURE__ */ (0, import_jsx_runtime110.jsxs)("button", { css: richTextToolbarButton, title: "Text styles", children: [
21270
+ menuTrigger: /* @__PURE__ */ (0, import_jsx_runtime111.jsxs)("button", { css: richTextToolbarButton, title: "Text styles", children: [
21224
21271
  visibleTextualElements.some((element) => element.type === activeElement) ? getLabelForElement(activeElement) : getLabelForElement("paragraph"),
21225
21272
  " ",
21226
- /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(Icon, { icon: "chevron-down", css: [toolbarIcon, toolbarChevron], size: "1rem" })
21273
+ /* @__PURE__ */ (0, import_jsx_runtime111.jsx)(Icon, { icon: "chevron-down", css: [toolbarIcon, toolbarChevron], size: "1rem" })
21227
21274
  ] }),
21228
21275
  placement: "bottom-start",
21229
21276
  children: [
@@ -21233,7 +21280,7 @@ var RichTextToolbar = ({ config, customControls }) => {
21233
21280
  type: "paragraph"
21234
21281
  },
21235
21282
  ...visibleTextualElements
21236
- ].map((element) => /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(
21283
+ ].map((element) => /* @__PURE__ */ (0, import_jsx_runtime111.jsx)(
21237
21284
  MenuItem,
21238
21285
  {
21239
21286
  onClick: () => {
@@ -21243,12 +21290,12 @@ var RichTextToolbar = ({ config, customControls }) => {
21243
21290
  },
21244
21291
  element.type
21245
21292
  )),
21246
- visibleTextualElements.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(MenuItem, { disabled: true, children: "Alternative text styles are not available" }) : null
21293
+ visibleTextualElements.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime111.jsx)(MenuItem, { disabled: true, children: "Alternative text styles are not available" }) : null
21247
21294
  ]
21248
21295
  }
21249
21296
  ),
21250
- visibleFormatsWithIcon.length > 0 || visibleFormatsWithoutIcon.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime110.jsxs)("div", { css: toolbarGroup, children: [
21251
- visibleFormatsWithIcon.map((format) => /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(Tooltip, { title: format.label, placement: "top", children: /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(
21297
+ visibleFormatsWithIcon.length > 0 || visibleFormatsWithoutIcon.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime111.jsxs)("div", { css: toolbarGroup, children: [
21298
+ visibleFormatsWithIcon.map((format) => /* @__PURE__ */ (0, import_jsx_runtime111.jsx)(Tooltip, { title: format.label, placement: "top", children: /* @__PURE__ */ (0, import_jsx_runtime111.jsx)(
21252
21299
  "button",
21253
21300
  {
21254
21301
  onClick: () => {
@@ -21258,16 +21305,16 @@ var RichTextToolbar = ({ config, customControls }) => {
21258
21305
  richTextToolbarButton,
21259
21306
  activeFormats.includes(format.type) ? richTextToolbarButtonActive : null
21260
21307
  ],
21261
- children: /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(RichTextToolbarIcon, { icon: FORMATS_WITH_ICON.get(format.type) })
21308
+ children: /* @__PURE__ */ (0, import_jsx_runtime111.jsx)(RichTextToolbarIcon, { icon: FORMATS_WITH_ICON.get(format.type) })
21262
21309
  }
21263
21310
  ) }, format.type)),
21264
- visibleFormatsWithoutIcon.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(
21311
+ visibleFormatsWithoutIcon.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime111.jsx)(
21265
21312
  Menu,
21266
21313
  {
21267
21314
  menuLabel: "Alternative text styles",
21268
- menuTrigger: /* @__PURE__ */ (0, import_jsx_runtime110.jsx)("button", { css: richTextToolbarButton, title: "Alternative text styles", children: /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(Icon, { icon: "more-alt", css: toolbarIcon }) }),
21315
+ menuTrigger: /* @__PURE__ */ (0, import_jsx_runtime111.jsx)("button", { css: richTextToolbarButton, title: "Alternative text styles", children: /* @__PURE__ */ (0, import_jsx_runtime111.jsx)(Icon, { icon: "more-alt", css: toolbarIcon }) }),
21269
21316
  placement: "bottom-start",
21270
- children: visibleFormatsWithoutIcon.map((format) => /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(
21317
+ children: visibleFormatsWithoutIcon.map((format) => /* @__PURE__ */ (0, import_jsx_runtime111.jsx)(
21271
21318
  MenuItem,
21272
21319
  {
21273
21320
  onClick: () => {
@@ -21280,19 +21327,19 @@ var RichTextToolbar = ({ config, customControls }) => {
21280
21327
  }
21281
21328
  ) : null
21282
21329
  ] }) : null,
21283
- visibleElementsWithIcons.size > 0 ? /* @__PURE__ */ (0, import_jsx_runtime110.jsxs)("div", { css: toolbarGroup, children: [
21284
- linkElementVisible ? /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(Tooltip, { title: "Link", placement: "top", children: /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(
21330
+ visibleElementsWithIcons.size > 0 ? /* @__PURE__ */ (0, import_jsx_runtime111.jsxs)("div", { css: toolbarGroup, children: [
21331
+ linkElementVisible ? /* @__PURE__ */ (0, import_jsx_runtime111.jsx)(Tooltip, { title: "Link", placement: "top", children: /* @__PURE__ */ (0, import_jsx_runtime111.jsx)(
21285
21332
  "button",
21286
21333
  {
21287
21334
  onClick: () => {
21288
21335
  isLink ? editor.dispatchCommand(REMOVE_LINK_NODE_COMMAND, {}) : editor.dispatchCommand(OPEN_LINK_NODE_MODAL_COMMAND, {});
21289
21336
  },
21290
21337
  css: [richTextToolbarButton, isLink ? richTextToolbarButtonActive : null],
21291
- children: /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(RichTextToolbarIcon, { icon: "link" })
21338
+ children: /* @__PURE__ */ (0, import_jsx_runtime111.jsx)(RichTextToolbarIcon, { icon: "link" })
21292
21339
  }
21293
21340
  ) }) : null,
21294
- visibleLists.size > 0 ? /* @__PURE__ */ (0, import_jsx_runtime110.jsxs)(import_jsx_runtime110.Fragment, { children: [
21295
- visibleLists.has("unorderedList") ? /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(Tooltip, { title: "Bullet List", placement: "top", children: /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(
21341
+ visibleLists.size > 0 ? /* @__PURE__ */ (0, import_jsx_runtime111.jsxs)(import_jsx_runtime111.Fragment, { children: [
21342
+ visibleLists.has("unorderedList") ? /* @__PURE__ */ (0, import_jsx_runtime111.jsx)(Tooltip, { title: "Bullet List", placement: "top", children: /* @__PURE__ */ (0, import_jsx_runtime111.jsx)(
21296
21343
  "button",
21297
21344
  {
21298
21345
  onClick: () => {
@@ -21302,10 +21349,10 @@ var RichTextToolbar = ({ config, customControls }) => {
21302
21349
  richTextToolbarButton,
21303
21350
  activeElement === "unorderedList" ? richTextToolbarButtonActive : null
21304
21351
  ],
21305
- children: /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(RichTextToolbarIcon, { icon: "layout-list" })
21352
+ children: /* @__PURE__ */ (0, import_jsx_runtime111.jsx)(RichTextToolbarIcon, { icon: "layout-list" })
21306
21353
  }
21307
21354
  ) }) : null,
21308
- visibleLists.has("orderedList") ? /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(Tooltip, { title: "Ordered List", placement: "top", children: /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(
21355
+ visibleLists.has("orderedList") ? /* @__PURE__ */ (0, import_jsx_runtime111.jsx)(Tooltip, { title: "Ordered List", placement: "top", children: /* @__PURE__ */ (0, import_jsx_runtime111.jsx)(
21309
21356
  "button",
21310
21357
  {
21311
21358
  onClick: () => {
@@ -21315,57 +21362,57 @@ var RichTextToolbar = ({ config, customControls }) => {
21315
21362
  richTextToolbarButton,
21316
21363
  activeElement === "orderedList" ? richTextToolbarButtonActive : null
21317
21364
  ],
21318
- children: /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(RichTextToolbarIcon, { icon: "layout-list-numbered" })
21365
+ children: /* @__PURE__ */ (0, import_jsx_runtime111.jsx)(RichTextToolbarIcon, { icon: "layout-list-numbered" })
21319
21366
  }
21320
21367
  ) }) : null
21321
21368
  ] }) : null,
21322
- quoteElementVisible ? /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(Tooltip, { title: "Blockquote", placement: "top", children: /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(
21369
+ quoteElementVisible ? /* @__PURE__ */ (0, import_jsx_runtime111.jsx)(Tooltip, { title: "Blockquote", placement: "top", children: /* @__PURE__ */ (0, import_jsx_runtime111.jsx)(
21323
21370
  "button",
21324
21371
  {
21325
21372
  onClick: () => {
21326
21373
  activeElement === "quote" ? onSelectElement("paragraph") : onSelectElement("quote");
21327
21374
  },
21328
21375
  css: [richTextToolbarButton, activeElement === "quote" ? richTextToolbarButtonActive : null],
21329
- children: /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(RichTextToolbarIcon, { icon: "quote" })
21376
+ children: /* @__PURE__ */ (0, import_jsx_runtime111.jsx)(RichTextToolbarIcon, { icon: "quote" })
21330
21377
  }
21331
21378
  ) }) : null,
21332
- codeElementVisible ? /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(Tooltip, { title: "Code Block", placement: "top", children: /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(
21379
+ codeElementVisible ? /* @__PURE__ */ (0, import_jsx_runtime111.jsx)(Tooltip, { title: "Code Block", placement: "top", children: /* @__PURE__ */ (0, import_jsx_runtime111.jsx)(
21333
21380
  "button",
21334
21381
  {
21335
21382
  onClick: () => {
21336
21383
  activeElement === "code" ? onSelectElement("paragraph") : onSelectElement("code");
21337
21384
  },
21338
21385
  css: [richTextToolbarButton, activeElement === "code" ? richTextToolbarButtonActive : null],
21339
- children: /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(RichTextToolbarIcon, { icon: "code-slash" })
21386
+ children: /* @__PURE__ */ (0, import_jsx_runtime111.jsx)(RichTextToolbarIcon, { icon: "code-slash" })
21340
21387
  }
21341
21388
  ) }) : null
21342
21389
  ] }) : null,
21343
- customControls ? /* @__PURE__ */ (0, import_jsx_runtime110.jsx)("div", { css: toolbarGroup, children: customControls }) : null
21390
+ customControls ? /* @__PURE__ */ (0, import_jsx_runtime111.jsx)("div", { css: toolbarGroup, children: customControls }) : null
21344
21391
  ] });
21345
21392
  };
21346
21393
  var RichTextToolbar_default = RichTextToolbar;
21347
21394
  var useRichTextToolbarState = ({ config }) => {
21348
21395
  var _a;
21349
- const enabledBuiltInFormats = (0, import_react128.useMemo)(() => {
21396
+ const enabledBuiltInFormats = (0, import_react129.useMemo)(() => {
21350
21397
  return richTextBuiltInFormats.filter((format) => {
21351
21398
  var _a2, _b;
21352
21399
  return (_b = (_a2 = config == null ? void 0 : config.formatting) == null ? void 0 : _a2.builtIn) == null ? void 0 : _b.includes(format.type);
21353
21400
  });
21354
21401
  }, [config]);
21355
- const enabledBuiltInElements = (0, import_react128.useMemo)(() => {
21402
+ const enabledBuiltInElements = (0, import_react129.useMemo)(() => {
21356
21403
  return richTextBuiltInElements.filter((element) => {
21357
21404
  var _a2, _b;
21358
21405
  return (_b = (_a2 = config == null ? void 0 : config.elements) == null ? void 0 : _a2.builtIn) == null ? void 0 : _b.includes(element.type);
21359
21406
  });
21360
21407
  }, [config]);
21361
- const enabledBuiltInFormatsWithIcon = (0, import_react128.useMemo)(() => {
21408
+ const enabledBuiltInFormatsWithIcon = (0, import_react129.useMemo)(() => {
21362
21409
  return enabledBuiltInFormats.filter((format) => FORMATS_WITH_ICON.has(format.type));
21363
21410
  }, [enabledBuiltInFormats]);
21364
21411
  const enabledBuiltInFormatsWithoutIcon = enabledBuiltInFormats.filter(
21365
21412
  (format) => !FORMATS_WITH_ICON.has(format.type)
21366
21413
  );
21367
- const [activeFormats, setActiveFormats] = (0, import_react128.useState)([]);
21368
- const visibleFormatsWithIcon = (0, import_react128.useMemo)(() => {
21414
+ const [activeFormats, setActiveFormats] = (0, import_react129.useState)([]);
21415
+ const visibleFormatsWithIcon = (0, import_react129.useMemo)(() => {
21369
21416
  const visibleFormats = /* @__PURE__ */ new Set();
21370
21417
  activeFormats.filter((type) => FORMATS_WITH_ICON.has(type)).forEach((type) => {
21371
21418
  visibleFormats.add(type);
@@ -21375,7 +21422,7 @@ var useRichTextToolbarState = ({ config }) => {
21375
21422
  });
21376
21423
  return richTextBuiltInFormats.filter((format) => visibleFormats.has(format.type));
21377
21424
  }, [activeFormats, enabledBuiltInFormatsWithIcon]);
21378
- const visibleFormatsWithoutIcon = (0, import_react128.useMemo)(() => {
21425
+ const visibleFormatsWithoutIcon = (0, import_react129.useMemo)(() => {
21379
21426
  const visibleFormats = /* @__PURE__ */ new Set();
21380
21427
  activeFormats.filter((type) => !FORMATS_WITH_ICON.has(type)).forEach((type) => {
21381
21428
  visibleFormats.add(type);
@@ -21385,11 +21432,11 @@ var useRichTextToolbarState = ({ config }) => {
21385
21432
  });
21386
21433
  return richTextBuiltInFormats.filter((format) => visibleFormats.has(format.type));
21387
21434
  }, [activeFormats, enabledBuiltInFormatsWithoutIcon]);
21388
- const [activeElement, setActiveElement] = (0, import_react128.useState)("paragraph");
21435
+ const [activeElement, setActiveElement] = (0, import_react129.useState)("paragraph");
21389
21436
  const enabledTextualElements = enabledBuiltInElements.filter(
21390
21437
  (element) => TEXTUAL_ELEMENTS.includes(element.type)
21391
21438
  );
21392
- const visibleTextualElements = (0, import_react128.useMemo)(() => {
21439
+ const visibleTextualElements = (0, import_react129.useMemo)(() => {
21393
21440
  if (!TEXTUAL_ELEMENTS.includes(activeElement)) {
21394
21441
  return enabledTextualElements;
21395
21442
  }
@@ -21400,24 +21447,24 @@ var useRichTextToolbarState = ({ config }) => {
21400
21447
  }
21401
21448
  );
21402
21449
  }, [activeElement, (_a = config == null ? void 0 : config.elements) == null ? void 0 : _a.builtIn, enabledTextualElements]);
21403
- const [isLink, setIsLink] = (0, import_react128.useState)(false);
21404
- const linkElementVisible = (0, import_react128.useMemo)(() => {
21450
+ const [isLink, setIsLink] = (0, import_react129.useState)(false);
21451
+ const linkElementVisible = (0, import_react129.useMemo)(() => {
21405
21452
  return enabledBuiltInElements.some((element) => element.type === "link") || isLink;
21406
21453
  }, [isLink, enabledBuiltInElements]);
21407
- const visibleLists = (0, import_react128.useMemo)(() => {
21454
+ const visibleLists = (0, import_react129.useMemo)(() => {
21408
21455
  return new Set(
21409
21456
  ["orderedList", "unorderedList"].filter(
21410
21457
  (type) => enabledBuiltInElements.some((element) => element.type === type) || activeElement === type
21411
21458
  )
21412
21459
  );
21413
21460
  }, [activeElement, enabledBuiltInElements]);
21414
- const quoteElementVisible = (0, import_react128.useMemo)(() => {
21461
+ const quoteElementVisible = (0, import_react129.useMemo)(() => {
21415
21462
  return enabledBuiltInElements.some((element) => element.type === "quote") || activeElement === "quote";
21416
21463
  }, [activeElement, enabledBuiltInElements]);
21417
- const codeElementVisible = (0, import_react128.useMemo)(() => {
21464
+ const codeElementVisible = (0, import_react129.useMemo)(() => {
21418
21465
  return enabledBuiltInElements.some((element) => element.type === "code") || activeElement === "code";
21419
21466
  }, [activeElement, enabledBuiltInElements]);
21420
- const visibleElementsWithIcons = (0, import_react128.useMemo)(() => {
21467
+ const visibleElementsWithIcons = (0, import_react129.useMemo)(() => {
21421
21468
  const visibleElements = /* @__PURE__ */ new Set();
21422
21469
  if (linkElementVisible) {
21423
21470
  visibleElements.add("link");
@@ -21454,7 +21501,7 @@ var useRichTextToolbarState = ({ config }) => {
21454
21501
  };
21455
21502
 
21456
21503
  // src/components/ParameterInputs/ParameterRichText.tsx
21457
- var import_jsx_runtime111 = require("@emotion/react/jsx-runtime");
21504
+ var import_jsx_runtime112 = require("@emotion/react/jsx-runtime");
21458
21505
  var ParameterRichText = ({
21459
21506
  label,
21460
21507
  labelLeadingIcon,
@@ -21479,7 +21526,7 @@ var ParameterRichText = ({
21479
21526
  variables,
21480
21527
  customControls
21481
21528
  }) => {
21482
- return /* @__PURE__ */ (0, import_jsx_runtime111.jsxs)(
21529
+ return /* @__PURE__ */ (0, import_jsx_runtime112.jsxs)(
21483
21530
  ParameterShell,
21484
21531
  {
21485
21532
  "data-testid": "parameter-richtext",
@@ -21493,7 +21540,7 @@ var ParameterRichText = ({
21493
21540
  captionTestId,
21494
21541
  menuItems,
21495
21542
  children: [
21496
- /* @__PURE__ */ (0, import_jsx_runtime111.jsx)(
21543
+ /* @__PURE__ */ (0, import_jsx_runtime112.jsx)(
21497
21544
  ParameterRichTextInner,
21498
21545
  {
21499
21546
  value,
@@ -21511,23 +21558,23 @@ var ParameterRichText = ({
21511
21558
  children
21512
21559
  }
21513
21560
  ),
21514
- menuItems ? /* @__PURE__ */ (0, import_jsx_runtime111.jsx)(ParameterMenuButton, { label: `${label} menu`, children: /* @__PURE__ */ (0, import_jsx_runtime111.jsx)(import_jsx_runtime111.Fragment, { children: menuItems }) }) : null
21561
+ menuItems ? /* @__PURE__ */ (0, import_jsx_runtime112.jsx)(ParameterMenuButton, { label: `${label} menu`, children: /* @__PURE__ */ (0, import_jsx_runtime112.jsx)(import_jsx_runtime112.Fragment, { children: menuItems }) }) : null
21515
21562
  ]
21516
21563
  }
21517
21564
  );
21518
21565
  };
21519
- var editorWrapper = import_react129.css`
21566
+ var editorWrapper = import_react130.css`
21520
21567
  display: flex;
21521
21568
  flex-flow: column;
21522
21569
  flex-grow: 1;
21523
21570
  `;
21524
- var editorContainer = import_react129.css`
21571
+ var editorContainer = import_react130.css`
21525
21572
  display: flex;
21526
21573
  flex-flow: column;
21527
21574
  flex-grow: 1;
21528
21575
  position: relative;
21529
21576
  `;
21530
- var editorPlaceholder = import_react129.css`
21577
+ var editorPlaceholder = import_react130.css`
21531
21578
  color: var(--gray-500);
21532
21579
  font-style: italic;
21533
21580
  /* 1px is added to make sure caret is clearly visible when field is focused
@@ -21538,7 +21585,7 @@ var editorPlaceholder = import_react129.css`
21538
21585
  top: var(--spacing-sm);
21539
21586
  user-select: none;
21540
21587
  `;
21541
- var editorInput = import_react129.css`
21588
+ var editorInput = import_react130.css`
21542
21589
  background: var(--white);
21543
21590
  border: 1px solid var(--gray-200);
21544
21591
  border-radius: var(--rounded-sm);
@@ -21622,8 +21669,8 @@ var ParameterRichTextInner = ({
21622
21669
  },
21623
21670
  editable: !readOnly
21624
21671
  };
21625
- return /* @__PURE__ */ (0, import_jsx_runtime111.jsxs)(import_jsx_runtime111.Fragment, { children: [
21626
- /* @__PURE__ */ (0, import_jsx_runtime111.jsx)("div", { css: [editorWrapper], className: editorWrapperClassName, children: /* @__PURE__ */ (0, import_jsx_runtime111.jsx)(import_LexicalComposer.LexicalComposer, { initialConfig: lexicalConfig, children: /* @__PURE__ */ (0, import_jsx_runtime111.jsx)(
21672
+ return /* @__PURE__ */ (0, import_jsx_runtime112.jsxs)(import_jsx_runtime112.Fragment, { children: [
21673
+ /* @__PURE__ */ (0, import_jsx_runtime112.jsx)("div", { css: [editorWrapper], className: editorWrapperClassName, children: /* @__PURE__ */ (0, import_jsx_runtime112.jsx)(import_LexicalComposer.LexicalComposer, { initialConfig: lexicalConfig, children: /* @__PURE__ */ (0, import_jsx_runtime112.jsx)(
21627
21674
  RichText,
21628
21675
  {
21629
21676
  onChange,
@@ -21660,14 +21707,14 @@ var RichText = ({
21660
21707
  variables,
21661
21708
  customControls
21662
21709
  }) => {
21663
- const editorContainerRef = (0, import_react130.useRef)(null);
21710
+ const editorContainerRef = (0, import_react131.useRef)(null);
21664
21711
  const [editor] = (0, import_LexicalComposerContext5.useLexicalComposerContext)();
21665
- (0, import_react130.useEffect)(() => {
21712
+ (0, import_react131.useEffect)(() => {
21666
21713
  if (onRichTextInit) {
21667
21714
  onRichTextInit(editor);
21668
21715
  }
21669
21716
  }, [editor, onRichTextInit]);
21670
- (0, import_react130.useEffect)(() => {
21717
+ (0, import_react131.useEffect)(() => {
21671
21718
  const removeUpdateListener = editor.registerUpdateListener(({ editorState, prevEditorState }) => {
21672
21719
  requestAnimationFrame(() => {
21673
21720
  if (!(0, import_fast_equals2.deepEqual)(editorState.toJSON(), prevEditorState.toJSON())) {
@@ -21679,23 +21726,23 @@ var RichText = ({
21679
21726
  removeUpdateListener();
21680
21727
  };
21681
21728
  }, [editor, onChange]);
21682
- (0, import_react130.useEffect)(() => {
21729
+ (0, import_react131.useEffect)(() => {
21683
21730
  editor.setEditable(!readOnly);
21684
21731
  }, [editor, readOnly]);
21685
- return /* @__PURE__ */ (0, import_jsx_runtime111.jsxs)(import_jsx_runtime111.Fragment, { children: [
21686
- readOnly ? null : /* @__PURE__ */ (0, import_jsx_runtime111.jsx)(RichTextToolbar_default, { config, customControls }),
21687
- /* @__PURE__ */ (0, import_jsx_runtime111.jsxs)("div", { css: editorContainer, ref: editorContainerRef, "data-testid": "value-container", children: [
21688
- /* @__PURE__ */ (0, import_jsx_runtime111.jsx)(
21732
+ return /* @__PURE__ */ (0, import_jsx_runtime112.jsxs)(import_jsx_runtime112.Fragment, { children: [
21733
+ readOnly ? null : /* @__PURE__ */ (0, import_jsx_runtime112.jsx)(RichTextToolbar_default, { config, customControls }),
21734
+ /* @__PURE__ */ (0, import_jsx_runtime112.jsxs)("div", { css: editorContainer, ref: editorContainerRef, "data-testid": "value-container", children: [
21735
+ /* @__PURE__ */ (0, import_jsx_runtime112.jsx)(
21689
21736
  import_LexicalRichTextPlugin.RichTextPlugin,
21690
21737
  {
21691
- contentEditable: /* @__PURE__ */ (0, import_jsx_runtime111.jsx)(import_LexicalContentEditable.ContentEditable, { css: editorInput, className: editorInputClassName }),
21692
- placeholder: /* @__PURE__ */ (0, import_jsx_runtime111.jsx)("div", { css: editorPlaceholder, children: readOnly ? "empty" : "start editing..." }),
21738
+ contentEditable: /* @__PURE__ */ (0, import_jsx_runtime112.jsx)(import_LexicalContentEditable.ContentEditable, { css: editorInput, className: editorInputClassName }),
21739
+ placeholder: /* @__PURE__ */ (0, import_jsx_runtime112.jsx)("div", { css: editorPlaceholder, children: readOnly ? "empty" : "start editing..." }),
21693
21740
  ErrorBoundary: import_LexicalErrorBoundary.default
21694
21741
  }
21695
21742
  ),
21696
- /* @__PURE__ */ (0, import_jsx_runtime111.jsx)(import_LexicalListPlugin.ListPlugin, {}),
21697
- readOnly ? null : /* @__PURE__ */ (0, import_jsx_runtime111.jsx)(import_LexicalHistoryPlugin.HistoryPlugin, {}),
21698
- /* @__PURE__ */ (0, import_jsx_runtime111.jsx)(
21743
+ /* @__PURE__ */ (0, import_jsx_runtime112.jsx)(import_LexicalListPlugin.ListPlugin, {}),
21744
+ readOnly ? null : /* @__PURE__ */ (0, import_jsx_runtime112.jsx)(import_LexicalHistoryPlugin.HistoryPlugin, {}),
21745
+ /* @__PURE__ */ (0, import_jsx_runtime112.jsx)(
21699
21746
  LinkNodePlugin,
21700
21747
  {
21701
21748
  onConnectLink: onConnectLink ? onConnectLink : () => Promise.resolve(),
@@ -21705,28 +21752,28 @@ var RichText = ({
21705
21752
  } : void 0
21706
21753
  }
21707
21754
  ),
21708
- /* @__PURE__ */ (0, import_jsx_runtime111.jsx)(ListIndentPlugin, { maxDepth: 4 }),
21709
- /* @__PURE__ */ (0, import_jsx_runtime111.jsx)(DisableStylesPlugin, {}),
21710
- /* @__PURE__ */ (0, import_jsx_runtime111.jsx)(import_LexicalMarkdownShortcutPlugin.MarkdownShortcutPlugin, { transformers: MARKDOWN_TRANSFORMERS }),
21711
- /* @__PURE__ */ (0, import_jsx_runtime111.jsx)(import_jsx_runtime111.Fragment, { children })
21755
+ /* @__PURE__ */ (0, import_jsx_runtime112.jsx)(ListIndentPlugin, { maxDepth: 4 }),
21756
+ /* @__PURE__ */ (0, import_jsx_runtime112.jsx)(DisableStylesPlugin, {}),
21757
+ /* @__PURE__ */ (0, import_jsx_runtime112.jsx)(import_LexicalMarkdownShortcutPlugin.MarkdownShortcutPlugin, { transformers: MARKDOWN_TRANSFORMERS }),
21758
+ /* @__PURE__ */ (0, import_jsx_runtime112.jsx)(import_jsx_runtime112.Fragment, { children })
21712
21759
  ] })
21713
21760
  ] });
21714
21761
  };
21715
21762
 
21716
21763
  // src/components/ParameterInputs/ParameterSelect.tsx
21717
21764
  init_emotion_jsx_shim();
21718
- var import_react131 = require("react");
21719
- var import_jsx_runtime112 = require("@emotion/react/jsx-runtime");
21720
- var ParameterSelect = (0, import_react131.forwardRef)(
21765
+ var import_react132 = require("react");
21766
+ var import_jsx_runtime113 = require("@emotion/react/jsx-runtime");
21767
+ var ParameterSelect = (0, import_react132.forwardRef)(
21721
21768
  ({ defaultOption, options, ...props }, ref) => {
21722
21769
  const { shellProps, innerProps } = extractParameterProps(props);
21723
- return /* @__PURE__ */ (0, import_jsx_runtime112.jsx)(ParameterShell, { ...shellProps, children: /* @__PURE__ */ (0, import_jsx_runtime112.jsx)(ParameterSelectInner, { options, defaultOption, ...innerProps, ref }) });
21770
+ return /* @__PURE__ */ (0, import_jsx_runtime113.jsx)(ParameterShell, { ...shellProps, children: /* @__PURE__ */ (0, import_jsx_runtime113.jsx)(ParameterSelectInner, { options, defaultOption, ...innerProps, ref }) });
21724
21771
  }
21725
21772
  );
21726
- var ParameterSelectInner = (0, import_react131.forwardRef)(
21773
+ var ParameterSelectInner = (0, import_react132.forwardRef)(
21727
21774
  ({ defaultOption, options, ...props }, ref) => {
21728
21775
  const { id, label, hiddenLabel } = useParameterShell();
21729
- return /* @__PURE__ */ (0, import_jsx_runtime112.jsxs)(
21776
+ return /* @__PURE__ */ (0, import_jsx_runtime113.jsxs)(
21730
21777
  "select",
21731
21778
  {
21732
21779
  css: [input3, selectInput],
@@ -21735,10 +21782,10 @@ var ParameterSelectInner = (0, import_react131.forwardRef)(
21735
21782
  ref,
21736
21783
  ...props,
21737
21784
  children: [
21738
- defaultOption ? /* @__PURE__ */ (0, import_jsx_runtime112.jsx)("option", { value: "", children: defaultOption }) : null,
21785
+ defaultOption ? /* @__PURE__ */ (0, import_jsx_runtime113.jsx)("option", { value: "", children: defaultOption }) : null,
21739
21786
  options.map((option) => {
21740
21787
  var _a;
21741
- return /* @__PURE__ */ (0, import_jsx_runtime112.jsx)("option", { value: (_a = option.value) != null ? _a : option.label, children: option.label }, option.label);
21788
+ return /* @__PURE__ */ (0, import_jsx_runtime113.jsx)("option", { value: (_a = option.value) != null ? _a : option.label, children: option.label }, option.label);
21742
21789
  })
21743
21790
  ]
21744
21791
  }
@@ -21748,15 +21795,15 @@ var ParameterSelectInner = (0, import_react131.forwardRef)(
21748
21795
 
21749
21796
  // src/components/ParameterInputs/ParameterTextarea.tsx
21750
21797
  init_emotion_jsx_shim();
21751
- var import_react132 = require("react");
21752
- var import_jsx_runtime113 = require("@emotion/react/jsx-runtime");
21753
- var ParameterTextarea = (0, import_react132.forwardRef)((props, ref) => {
21798
+ var import_react133 = require("react");
21799
+ var import_jsx_runtime114 = require("@emotion/react/jsx-runtime");
21800
+ var ParameterTextarea = (0, import_react133.forwardRef)((props, ref) => {
21754
21801
  const { shellProps, innerProps } = extractParameterProps(props);
21755
- return /* @__PURE__ */ (0, import_jsx_runtime113.jsx)(ParameterShell, { "data-testid": "parameter-textarea", ...shellProps, children: /* @__PURE__ */ (0, import_jsx_runtime113.jsx)(ParameterTextareaInner, { ref, ...innerProps }) });
21802
+ return /* @__PURE__ */ (0, import_jsx_runtime114.jsx)(ParameterShell, { "data-testid": "parameter-textarea", ...shellProps, children: /* @__PURE__ */ (0, import_jsx_runtime114.jsx)(ParameterTextareaInner, { ref, ...innerProps }) });
21756
21803
  });
21757
- var ParameterTextareaInner = (0, import_react132.forwardRef)(({ ...props }, ref) => {
21804
+ var ParameterTextareaInner = (0, import_react133.forwardRef)(({ ...props }, ref) => {
21758
21805
  const { id, label, hiddenLabel } = useParameterShell();
21759
- return /* @__PURE__ */ (0, import_jsx_runtime113.jsx)(
21806
+ return /* @__PURE__ */ (0, import_jsx_runtime114.jsx)(
21760
21807
  "textarea",
21761
21808
  {
21762
21809
  css: [input3, textarea2],
@@ -21770,18 +21817,18 @@ var ParameterTextareaInner = (0, import_react132.forwardRef)(({ ...props }, ref)
21770
21817
 
21771
21818
  // src/components/ParameterInputs/ParameterToggle.tsx
21772
21819
  init_emotion_jsx_shim();
21773
- var import_react133 = require("react");
21774
- var import_jsx_runtime114 = require("@emotion/react/jsx-runtime");
21775
- var ParameterToggle = (0, import_react133.forwardRef)((props, ref) => {
21820
+ var import_react134 = require("react");
21821
+ var import_jsx_runtime115 = require("@emotion/react/jsx-runtime");
21822
+ var ParameterToggle = (0, import_react134.forwardRef)((props, ref) => {
21776
21823
  const { shellProps, innerProps } = extractParameterProps(props);
21777
- return /* @__PURE__ */ (0, import_jsx_runtime114.jsx)(ParameterShell, { ...shellProps, children: /* @__PURE__ */ (0, import_jsx_runtime114.jsx)(ParameterToggleInner, { ref, ...innerProps }) });
21824
+ return /* @__PURE__ */ (0, import_jsx_runtime115.jsx)(ParameterShell, { ...shellProps, children: /* @__PURE__ */ (0, import_jsx_runtime115.jsx)(ParameterToggleInner, { ref, ...innerProps }) });
21778
21825
  });
21779
- var ParameterToggleInner = (0, import_react133.forwardRef)(
21826
+ var ParameterToggleInner = (0, import_react134.forwardRef)(
21780
21827
  ({ children, ...props }, ref) => {
21781
21828
  const { id, label } = useParameterShell();
21782
- return /* @__PURE__ */ (0, import_jsx_runtime114.jsxs)("label", { css: inputToggleLabel2, children: [
21783
- /* @__PURE__ */ (0, import_jsx_runtime114.jsx)("input", { css: toggleInput2, type: props.type, id, ref, ...props }),
21784
- /* @__PURE__ */ (0, import_jsx_runtime114.jsx)("span", { css: inlineLabel2, children: label }),
21829
+ return /* @__PURE__ */ (0, import_jsx_runtime115.jsxs)("label", { css: inputToggleLabel2, children: [
21830
+ /* @__PURE__ */ (0, import_jsx_runtime115.jsx)("input", { css: toggleInput2, type: props.type, id, ref, ...props }),
21831
+ /* @__PURE__ */ (0, import_jsx_runtime115.jsx)("span", { css: inlineLabel2, children: label }),
21785
21832
  children
21786
21833
  ] });
21787
21834
  }
@@ -21792,8 +21839,8 @@ init_emotion_jsx_shim();
21792
21839
 
21793
21840
  // src/components/ProgressBar/ProgressBar.styles.ts
21794
21841
  init_emotion_jsx_shim();
21795
- var import_react134 = require("@emotion/react");
21796
- var container3 = import_react134.css`
21842
+ var import_react135 = require("@emotion/react");
21843
+ var container3 = import_react135.css`
21797
21844
  background: var(--gray-50);
21798
21845
  margin-block: var(--spacing-sm);
21799
21846
  position: relative;
@@ -21803,17 +21850,17 @@ var container3 = import_react134.css`
21803
21850
  border: solid 1px var(--gray-300);
21804
21851
  `;
21805
21852
  var themeMap = {
21806
- primary: import_react134.css`
21853
+ primary: import_react135.css`
21807
21854
  --progress-color: var(--accent-light);
21808
21855
  `,
21809
- secondary: import_react134.css`
21856
+ secondary: import_react135.css`
21810
21857
  --progress-color: var(--accent-alt-light);
21811
21858
  `,
21812
- destructive: import_react134.css`
21859
+ destructive: import_react135.css`
21813
21860
  --progress-color: var(--brand-secondary-5);
21814
21861
  `
21815
21862
  };
21816
- var slidingBackgroundPosition = import_react134.keyframes`
21863
+ var slidingBackgroundPosition = import_react135.keyframes`
21817
21864
  from {
21818
21865
  background-position: 0 0;
21819
21866
  }
@@ -21821,10 +21868,10 @@ var slidingBackgroundPosition = import_react134.keyframes`
21821
21868
  background-position: 64px 0;
21822
21869
  }
21823
21870
  `;
21824
- var determinate = import_react134.css`
21871
+ var determinate = import_react135.css`
21825
21872
  background-color: var(--progress-color);
21826
21873
  `;
21827
- var indeterminate = import_react134.css`
21874
+ var indeterminate = import_react135.css`
21828
21875
  background-image: linear-gradient(
21829
21876
  45deg,
21830
21877
  var(--progress-color) 25%,
@@ -21838,7 +21885,7 @@ var indeterminate = import_react134.css`
21838
21885
  background-size: 64px 64px;
21839
21886
  animation: ${slidingBackgroundPosition} 1s linear infinite;
21840
21887
  `;
21841
- var bar = import_react134.css`
21888
+ var bar = import_react135.css`
21842
21889
  position: absolute;
21843
21890
  inset: 0;
21844
21891
  transition: transform var(--duration-fast) var(--timing-ease-out);
@@ -21846,7 +21893,7 @@ var bar = import_react134.css`
21846
21893
  `;
21847
21894
 
21848
21895
  // src/components/ProgressBar/ProgressBar.tsx
21849
- var import_jsx_runtime115 = require("@emotion/react/jsx-runtime");
21896
+ var import_jsx_runtime116 = require("@emotion/react/jsx-runtime");
21850
21897
  function ProgressBar({
21851
21898
  current,
21852
21899
  max,
@@ -21856,7 +21903,7 @@ function ProgressBar({
21856
21903
  }) {
21857
21904
  const valueNow = Math.min(current, max);
21858
21905
  const valuePercentage = max > 0 ? Math.ceil(100 / max * valueNow) : 0;
21859
- return /* @__PURE__ */ (0, import_jsx_runtime115.jsx)(
21906
+ return /* @__PURE__ */ (0, import_jsx_runtime116.jsx)(
21860
21907
  "div",
21861
21908
  {
21862
21909
  css: container3,
@@ -21867,7 +21914,7 @@ function ProgressBar({
21867
21914
  "aria-valuemax": max,
21868
21915
  "aria-valuenow": valueNow,
21869
21916
  ...props,
21870
- children: /* @__PURE__ */ (0, import_jsx_runtime115.jsx)(
21917
+ children: /* @__PURE__ */ (0, import_jsx_runtime116.jsx)(
21871
21918
  "div",
21872
21919
  {
21873
21920
  css: [
@@ -21887,31 +21934,31 @@ function ProgressBar({
21887
21934
 
21888
21935
  // src/components/ProgressList/ProgressList.tsx
21889
21936
  init_emotion_jsx_shim();
21890
- var import_react136 = require("@emotion/react");
21937
+ var import_react137 = require("@emotion/react");
21891
21938
  var import_CgCheckO3 = require("@react-icons/all-files/cg/CgCheckO");
21892
21939
  var import_CgRadioCheck2 = require("@react-icons/all-files/cg/CgRadioCheck");
21893
21940
  var import_CgRecord2 = require("@react-icons/all-files/cg/CgRecord");
21894
- var import_react137 = require("react");
21941
+ var import_react138 = require("react");
21895
21942
 
21896
21943
  // src/components/ProgressList/styles/ProgressList.styles.ts
21897
21944
  init_emotion_jsx_shim();
21898
- var import_react135 = require("@emotion/react");
21899
- var progressListStyles = import_react135.css`
21945
+ var import_react136 = require("@emotion/react");
21946
+ var progressListStyles = import_react136.css`
21900
21947
  display: flex;
21901
21948
  flex-direction: column;
21902
21949
  gap: var(--spacing-sm);
21903
21950
  list-style-type: none;
21904
21951
  `;
21905
- var progressListItemStyles = import_react135.css`
21952
+ var progressListItemStyles = import_react136.css`
21906
21953
  display: flex;
21907
21954
  gap: var(--spacing-base);
21908
21955
  align-items: center;
21909
21956
  `;
21910
21957
 
21911
21958
  // src/components/ProgressList/ProgressList.tsx
21912
- var import_jsx_runtime116 = require("@emotion/react/jsx-runtime");
21959
+ var import_jsx_runtime117 = require("@emotion/react/jsx-runtime");
21913
21960
  var ProgressList = ({ inProgressId, items, autoEllipsis, ...htmlProps }) => {
21914
- const itemsWithStatus = (0, import_react137.useMemo)(() => {
21961
+ const itemsWithStatus = (0, import_react138.useMemo)(() => {
21915
21962
  const indexOfInProgressItem = items.findIndex(({ id }) => id === inProgressId);
21916
21963
  return items.map((item, index) => {
21917
21964
  let status = "queued";
@@ -21923,8 +21970,8 @@ var ProgressList = ({ inProgressId, items, autoEllipsis, ...htmlProps }) => {
21923
21970
  return { ...item, status };
21924
21971
  });
21925
21972
  }, [items, inProgressId]);
21926
- return /* @__PURE__ */ (0, import_jsx_runtime116.jsx)("ol", { css: progressListStyles, ...htmlProps, children: itemsWithStatus.map(({ id, label, status, error, errorLevel }) => {
21927
- return /* @__PURE__ */ (0, import_jsx_runtime116.jsx)(
21973
+ return /* @__PURE__ */ (0, import_jsx_runtime117.jsx)("ol", { css: progressListStyles, ...htmlProps, children: itemsWithStatus.map(({ id, label, status, error, errorLevel }) => {
21974
+ return /* @__PURE__ */ (0, import_jsx_runtime117.jsx)(
21928
21975
  ProgressListItem,
21929
21976
  {
21930
21977
  status,
@@ -21944,7 +21991,7 @@ var ProgressListItem = ({
21944
21991
  errorLevel = "danger",
21945
21992
  autoEllipsis = false
21946
21993
  }) => {
21947
- const icon = (0, import_react137.useMemo)(() => {
21994
+ const icon = (0, import_react138.useMemo)(() => {
21948
21995
  if (error) {
21949
21996
  return warningIcon;
21950
21997
  }
@@ -21955,14 +22002,14 @@ var ProgressListItem = ({
21955
22002
  };
21956
22003
  return iconPerStatus[status];
21957
22004
  }, [status, error]);
21958
- const statusStyles = (0, import_react137.useMemo)(() => {
22005
+ const statusStyles = (0, import_react138.useMemo)(() => {
21959
22006
  if (error) {
21960
- return errorLevel === "caution" ? import_react136.css`
22007
+ return errorLevel === "caution" ? import_react137.css`
21961
22008
  color: rgb(161, 98, 7);
21962
22009
  & svg {
21963
22010
  color: rgb(250, 204, 21);
21964
22011
  }
21965
- ` : import_react136.css`
22012
+ ` : import_react137.css`
21966
22013
  color: rgb(185, 28, 28);
21967
22014
  & svg {
21968
22015
  color: var(--brand-primary-2);
@@ -21970,23 +22017,23 @@ var ProgressListItem = ({
21970
22017
  `;
21971
22018
  }
21972
22019
  const colorPerStatus = {
21973
- completed: import_react136.css`
22020
+ completed: import_react137.css`
21974
22021
  opacity: 0.75;
21975
22022
  `,
21976
- inProgress: import_react136.css`
22023
+ inProgress: import_react137.css`
21977
22024
  -webkit-text-stroke-width: thin;
21978
22025
  `,
21979
- queued: import_react136.css`
22026
+ queued: import_react137.css`
21980
22027
  opacity: 0.5;
21981
22028
  `
21982
22029
  };
21983
22030
  return colorPerStatus[status];
21984
22031
  }, [status, error, errorLevel]);
21985
- return /* @__PURE__ */ (0, import_jsx_runtime116.jsxs)("li", { css: [progressListItemStyles, statusStyles], children: [
21986
- /* @__PURE__ */ (0, import_jsx_runtime116.jsx)(Tooltip, { title: error != null ? error : "", children: /* @__PURE__ */ (0, import_jsx_runtime116.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime116.jsx)(Icon, { icon, size: 20, iconColor: "currentColor" }) }) }),
21987
- /* @__PURE__ */ (0, import_jsx_runtime116.jsxs)("div", { children: [
22032
+ return /* @__PURE__ */ (0, import_jsx_runtime117.jsxs)("li", { css: [progressListItemStyles, statusStyles], children: [
22033
+ /* @__PURE__ */ (0, import_jsx_runtime117.jsx)(Tooltip, { title: error != null ? error : "", children: /* @__PURE__ */ (0, import_jsx_runtime117.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime117.jsx)(Icon, { icon, size: 20, iconColor: "currentColor" }) }) }),
22034
+ /* @__PURE__ */ (0, import_jsx_runtime117.jsxs)("div", { children: [
21988
22035
  children,
21989
- /* @__PURE__ */ (0, import_jsx_runtime116.jsx)("span", { css: { visibility: autoEllipsis && status === "inProgress" && !error ? "visible" : "hidden" }, children: "..." })
22036
+ /* @__PURE__ */ (0, import_jsx_runtime117.jsx)("span", { css: { visibility: autoEllipsis && status === "inProgress" && !error ? "visible" : "hidden" }, children: "..." })
21990
22037
  ] })
21991
22038
  ] });
21992
22039
  };
@@ -22231,21 +22278,21 @@ init_emotion_jsx_shim();
22231
22278
 
22232
22279
  // src/components/SearchAndFilter/styles/SearchAndFilter.styles.ts
22233
22280
  init_emotion_jsx_shim();
22234
- var import_react138 = require("@emotion/react");
22235
- var SearchAndFilterContainer = import_react138.css``;
22236
- var SearchAndFilterControlsWrapper = (gridColumns) => import_react138.css`
22281
+ var import_react139 = require("@emotion/react");
22282
+ var SearchAndFilterContainer = import_react139.css``;
22283
+ var SearchAndFilterControlsWrapper = (gridColumns) => import_react139.css`
22237
22284
  align-items: stretch;
22238
22285
  display: grid;
22239
22286
  grid-template-columns: ${gridColumns};
22240
22287
  gap: var(--spacing-sm);
22241
22288
  `;
22242
- var SearchAndFilterOutterControlWrapper = (gridColumns) => import_react138.css`
22289
+ var SearchAndFilterOutterControlWrapper = (gridColumns) => import_react139.css`
22243
22290
  align-items: stretch;
22244
22291
  display: grid;
22245
22292
  grid-template-columns: ${gridColumns};
22246
22293
  gap: var(--spacing-sm);
22247
22294
  `;
22248
- var ConditionalFilterRow = import_react138.css`
22295
+ var ConditionalFilterRow = import_react139.css`
22249
22296
  display: grid;
22250
22297
  grid-template-columns: 35px 1fr;
22251
22298
  gap: var(--spacing-sm);
@@ -22264,7 +22311,7 @@ var ConditionalFilterRow = import_react138.css`
22264
22311
  animation: ${fadeInLtr} var(--duration-fast) var(--timing-ease-out);
22265
22312
  }
22266
22313
  `;
22267
- var ConditionalInputRow = import_react138.css`
22314
+ var ConditionalInputRow = import_react139.css`
22268
22315
  display: flex;
22269
22316
  gap: var(--spacing-sm);
22270
22317
  flex-direction: column;
@@ -22278,22 +22325,21 @@ var ConditionalInputRow = import_react138.css`
22278
22325
  grid-template-columns: 200px 160px 1fr 32px;
22279
22326
  }
22280
22327
  `;
22281
- var SearchInput = import_react138.css`
22282
- ${input("nowrap")}
22283
- border-radius: var(--rounded-full);
22284
- padding: var(--spacing-sm) var(--spacing-base);
22285
- font-size: var(--fs-sm);
22286
- padding-right: var(--spacing-2xl);
22328
+ var SearchInput = import_react139.css`
22329
+ max-height: 40px;
22330
+ min-height: unset;
22287
22331
  `;
22288
- var FilterButton = import_react138.css`
22332
+ var FilterButton = import_react139.css`
22289
22333
  align-items: center;
22290
22334
  background: var(--white);
22291
22335
  border: 1px solid var(--gray-300);
22292
22336
  border-radius: var(--rounded-full);
22293
22337
  color: var(--typography-base);
22294
22338
  display: flex;
22339
+ font-size: var(--fs-sm);
22295
22340
  gap: var(--spacing-sm);
22296
22341
  padding: var(--spacing-sm) var(--spacing-base);
22342
+ max-height: 40px;
22297
22343
  transition: color var(--duration-fast) var(--timing-ease-out),
22298
22344
  background-color var(--duration-fast) var(--timing-ease-out),
22299
22345
  border-color var(--duration-fast) var(--timing-ease-out),
@@ -22319,13 +22365,13 @@ var FilterButton = import_react138.css`
22319
22365
  opacity: var(--opacity-50);
22320
22366
  }
22321
22367
  `;
22322
- var FilterButtonText = import_react138.css`
22368
+ var FilterButtonText = import_react139.css`
22323
22369
  overflow: hidden;
22324
22370
  text-overflow: ellipsis;
22325
22371
  white-space: nowrap;
22326
22372
  max-width: 14ch;
22327
22373
  `;
22328
- var FilterButtonSelected = import_react138.css`
22374
+ var FilterButtonSelected = import_react139.css`
22329
22375
  background: var(--gray-100);
22330
22376
  border-color: var(--gray-300);
22331
22377
 
@@ -22333,7 +22379,7 @@ var FilterButtonSelected = import_react138.css`
22333
22379
  color: var(--accent-dark);
22334
22380
  }
22335
22381
  `;
22336
- var FilterButtonWithOptions = import_react138.css`
22382
+ var FilterButtonWithOptions = import_react139.css`
22337
22383
  :where([aria-expanded='true']) {
22338
22384
  background: var(--purple-rain-100);
22339
22385
  border-color: var(--accent-light);
@@ -22345,14 +22391,14 @@ var FilterButtonWithOptions = import_react138.css`
22345
22391
  }
22346
22392
  }
22347
22393
  `;
22348
- var SearchIcon = import_react138.css`
22394
+ var SearchIcon = import_react139.css`
22349
22395
  color: var(--icon-color);
22350
22396
  position: absolute;
22351
22397
  inset: 0 var(--spacing-base) 0 auto;
22352
22398
  margin: auto;
22353
22399
  transition: color var(--duration-fast) var(--timing-ease-out);
22354
22400
  `;
22355
- var AddConditionalBtn = import_react138.css`
22401
+ var AddConditionalBtn = import_react139.css`
22356
22402
  align-items: center;
22357
22403
  background: transparent;
22358
22404
  border: none;
@@ -22371,14 +22417,14 @@ var AddConditionalBtn = import_react138.css`
22371
22417
  color: var(--gray-400);
22372
22418
  }
22373
22419
  `;
22374
- var Title = import_react138.css`
22420
+ var Title = import_react139.css`
22375
22421
  color: var(--typography-light);
22376
22422
 
22377
22423
  &:focus {
22378
22424
  outline: none;
22379
22425
  }
22380
22426
  `;
22381
- var ResetConditionsBtn = import_react138.css`
22427
+ var ResetConditionsBtn = import_react139.css`
22382
22428
  background: transparent;
22383
22429
  border: none;
22384
22430
  color: var(--action-destructive-default);
@@ -22390,12 +22436,12 @@ var ResetConditionsBtn = import_react138.css`
22390
22436
  color: var(--action-destructive-hover);
22391
22437
  }
22392
22438
  `;
22393
- var IconBtn = import_react138.css`
22439
+ var IconBtn = import_react139.css`
22394
22440
  background: transparent;
22395
22441
  border: none;
22396
22442
  padding: var(--spacing-sm);
22397
22443
  `;
22398
- var CloseBtn = import_react138.css`
22444
+ var CloseBtn = import_react139.css`
22399
22445
  color: var(--gray-500);
22400
22446
  background: transparent;
22401
22447
  border: none;
@@ -22404,7 +22450,7 @@ var CloseBtn = import_react138.css`
22404
22450
  top: var(--spacing-base);
22405
22451
  right: var(--spacing-base);
22406
22452
  `;
22407
- var SearchAndFilterOptionsContainer = import_react138.css`
22453
+ var SearchAndFilterOptionsContainer = import_react139.css`
22408
22454
  background: var(--gray-50);
22409
22455
  border: 1px solid var(--gray-300);
22410
22456
  border-radius: var(--rounded-base);
@@ -22417,30 +22463,31 @@ var SearchAndFilterOptionsContainer = import_react138.css`
22417
22463
  position: relative;
22418
22464
  z-index: 1;
22419
22465
  `;
22420
- var SearchAndFilterOptionsInnerContainer = import_react138.css`
22466
+ var SearchAndFilterOptionsInnerContainer = import_react139.css`
22421
22467
  display: flex;
22422
22468
  flex-direction: column;
22423
22469
  gap: var(--spacing-sm);
22424
22470
  `;
22425
- var SearchAndFilterButtonGroup = import_react138.css`
22471
+ var SearchAndFilterButtonGroup = import_react139.css`
22426
22472
  margin-top: var(--spacing-base);
22427
22473
  `;
22428
- var SortFilterInputRow = import_react138.css`
22474
+ var SortFilterInputRow = import_react139.css`
22429
22475
  align-items: center;
22430
22476
  display: flex;
22431
22477
  gap: var(--spacing-sm);
22432
22478
  `;
22433
22479
 
22434
22480
  // src/components/SearchAndFilter/FilterButton.tsx
22435
- var import_jsx_runtime117 = require("@emotion/react/jsx-runtime");
22481
+ var import_jsx_runtime118 = require("@emotion/react/jsx-runtime");
22436
22482
  var FilterButton2 = ({
22437
22483
  text = "Filters",
22438
22484
  icon = "filter-add",
22439
22485
  filterCount,
22440
22486
  hasSelectedValue,
22487
+ dataTestId,
22441
22488
  ...props
22442
22489
  }) => {
22443
- return /* @__PURE__ */ (0, import_jsx_runtime117.jsxs)(
22490
+ return /* @__PURE__ */ (0, import_jsx_runtime118.jsxs)(
22444
22491
  "button",
22445
22492
  {
22446
22493
  type: "button",
@@ -22450,11 +22497,11 @@ var FilterButton2 = ({
22450
22497
  filterCount ? [FilterButtonWithOptions, FilterButtonSelected] : void 0
22451
22498
  ],
22452
22499
  ...props,
22453
- "data-testid": "filters-button",
22500
+ "data-testid": dataTestId,
22454
22501
  children: [
22455
- /* @__PURE__ */ (0, import_jsx_runtime117.jsx)(Icon, { icon, iconColor: "currentColor", size: "1rem" }),
22456
- /* @__PURE__ */ (0, import_jsx_runtime117.jsx)("span", { css: FilterButtonText, children: text }),
22457
- filterCount ? /* @__PURE__ */ (0, import_jsx_runtime117.jsx)(Counter, { count: filterCount, bgColor: "var(--white)" }) : null
22502
+ /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(Icon, { icon, iconColor: "currentColor", size: "1rem" }),
22503
+ /* @__PURE__ */ (0, import_jsx_runtime118.jsx)("span", { css: FilterButtonText, children: text }),
22504
+ filterCount ? /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(Counter, { count: filterCount, bgColor: "var(--white)" }) : null
22458
22505
  ]
22459
22506
  }
22460
22507
  );
@@ -22462,14 +22509,14 @@ var FilterButton2 = ({
22462
22509
 
22463
22510
  // src/components/SearchAndFilter/FilterControls.tsx
22464
22511
  init_emotion_jsx_shim();
22465
- var import_react140 = require("react");
22512
+ var import_react141 = require("react");
22466
22513
  var import_react_use3 = require("react-use");
22467
22514
 
22468
22515
  // src/components/SearchAndFilter/hooks/useSearchAndFilter.tsx
22469
22516
  init_emotion_jsx_shim();
22470
- var import_react139 = require("react");
22471
- var import_jsx_runtime118 = require("@emotion/react/jsx-runtime");
22472
- var SearchAndFilterContext = (0, import_react139.createContext)({
22517
+ var import_react140 = require("react");
22518
+ var import_jsx_runtime119 = require("@emotion/react/jsx-runtime");
22519
+ var SearchAndFilterContext = (0, import_react140.createContext)({
22473
22520
  searchTerm: "",
22474
22521
  setSearchTerm: () => {
22475
22522
  },
@@ -22502,51 +22549,52 @@ var SearchAndFilterProvider = ({
22502
22549
  onSearchChange,
22503
22550
  onChange,
22504
22551
  onSortChange,
22552
+ resetFilterValues = [],
22505
22553
  totalResults,
22506
22554
  children
22507
22555
  }) => {
22508
- const [searchTerm, setSearchTerm] = (0, import_react139.useState)("");
22509
- const deferredSearchTerm = (0, import_react139.useDeferredValue)(searchTerm);
22510
- const [filterVisibility, setFilterVisibility] = (0, import_react139.useState)(filterMode3);
22511
- const [sortByValue, setSortByValue] = (0, import_react139.useState)(defaultSortByValue);
22512
- const handleSearchTerm = (0, import_react139.useCallback)(
22556
+ const [searchTerm, setSearchTerm] = (0, import_react140.useState)("");
22557
+ const deferredSearchTerm = (0, import_react140.useDeferredValue)(searchTerm);
22558
+ const [filterVisibility, setFilterVisibility] = (0, import_react140.useState)(filterMode3);
22559
+ const [sortByValue, setSortByValue] = (0, import_react140.useState)(defaultSortByValue);
22560
+ const handleSearchTerm = (0, import_react140.useCallback)(
22513
22561
  (term) => {
22514
22562
  setSearchTerm(term);
22515
22563
  onSearchChange == null ? void 0 : onSearchChange(term);
22516
22564
  },
22517
22565
  [setSearchTerm, onSearchChange]
22518
22566
  );
22519
- const handleOnSortChange = (0, import_react139.useCallback)(
22567
+ const handleOnSortChange = (0, import_react140.useCallback)(
22520
22568
  (sort) => {
22521
22569
  setSortByValue(sort);
22522
22570
  onSortChange(sort);
22523
22571
  },
22524
22572
  [onSortChange]
22525
22573
  );
22526
- const handleToggleFilterVisibilty = (0, import_react139.useCallback)(
22574
+ const handleToggleFilterVisibilty = (0, import_react140.useCallback)(
22527
22575
  (mode) => setFilterVisibility(mode),
22528
22576
  [setFilterVisibility]
22529
22577
  );
22530
- const handleAddFilter = (0, import_react139.useCallback)(() => {
22578
+ const handleAddFilter = (0, import_react140.useCallback)(() => {
22531
22579
  onChange([...filters, { field: "", operator: "", value: "" }]);
22532
22580
  }, [filters, onChange]);
22533
- const handleResetFilters = (0, import_react139.useCallback)(() => {
22534
- onChange([]);
22535
- }, [onChange]);
22536
- const handleDeleteFilter = (0, import_react139.useCallback)(
22581
+ const handleResetFilters = (0, import_react140.useCallback)(() => {
22582
+ onChange(resetFilterValues);
22583
+ }, [onChange, resetFilterValues]);
22584
+ const handleDeleteFilter = (0, import_react140.useCallback)(
22537
22585
  (index) => {
22538
22586
  const remainingFilters = filters.filter((_, i) => i !== index);
22539
22587
  onChange(remainingFilters);
22540
22588
  },
22541
22589
  [filters, onChange]
22542
22590
  );
22543
- const validFilterQuery = (0, import_react139.useMemo)(() => {
22591
+ const validFilterQuery = (0, import_react140.useMemo)(() => {
22544
22592
  const hasValidFilters = filters.every((f) => f.field && f.operator && f.value);
22545
22593
  if (hasValidFilters) {
22546
22594
  return filters;
22547
22595
  }
22548
22596
  }, [filters]);
22549
- (0, import_react139.useEffect)(() => {
22597
+ (0, import_react140.useEffect)(() => {
22550
22598
  if (filterVisibility) {
22551
22599
  const handleEscKeyFilterClose = (e) => {
22552
22600
  if (e.key === "Escape") {
@@ -22559,7 +22607,7 @@ var SearchAndFilterProvider = ({
22559
22607
  };
22560
22608
  }
22561
22609
  }, [filterVisibility]);
22562
- return /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(
22610
+ return /* @__PURE__ */ (0, import_jsx_runtime119.jsx)(
22563
22611
  SearchAndFilterContext.Provider,
22564
22612
  {
22565
22613
  value: {
@@ -22579,17 +22627,17 @@ var SearchAndFilterProvider = ({
22579
22627
  validFilterQuery,
22580
22628
  totalResults
22581
22629
  },
22582
- children: /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(VerticalRhythm, { children })
22630
+ children: /* @__PURE__ */ (0, import_jsx_runtime119.jsx)(VerticalRhythm, { children })
22583
22631
  }
22584
22632
  );
22585
22633
  };
22586
22634
  var useSearchAndFilter = () => {
22587
- const value = (0, import_react139.useContext)(SearchAndFilterContext);
22635
+ const value = (0, import_react140.useContext)(SearchAndFilterContext);
22588
22636
  return { ...value };
22589
22637
  };
22590
22638
 
22591
22639
  // src/components/SearchAndFilter/FilterControls.tsx
22592
- var import_jsx_runtime119 = require("@emotion/react/jsx-runtime");
22640
+ var import_jsx_runtime120 = require("@emotion/react/jsx-runtime");
22593
22641
  var FilterControls = ({
22594
22642
  children,
22595
22643
  defaultSortByValue,
@@ -22605,9 +22653,9 @@ var FilterControls = ({
22605
22653
  sortByValue,
22606
22654
  filterOptions
22607
22655
  } = useSearchAndFilter();
22608
- const [initialSortValue, setInitialSortValue] = (0, import_react140.useState)(sortByValue);
22609
- const [localeSearchTerm, setLocaleSearchTerm] = (0, import_react140.useState)("");
22610
- const [userHasChangedSortByValue, setUserHasChangedSortByValue] = (0, import_react140.useState)(false);
22656
+ const [initialSortValue, setInitialSortValue] = (0, import_react141.useState)(sortByValue);
22657
+ const [localeSearchTerm, setLocaleSearchTerm] = (0, import_react141.useState)("");
22658
+ const [userHasChangedSortByValue, setUserHasChangedSortByValue] = (0, import_react141.useState)(false);
22611
22659
  (0, import_react_use3.useDebounce)(
22612
22660
  () => {
22613
22661
  setSearchTerm(localeSearchTerm);
@@ -22615,7 +22663,7 @@ var FilterControls = ({
22615
22663
  300,
22616
22664
  [localeSearchTerm, searchTerm]
22617
22665
  );
22618
- (0, import_react140.useEffect)(() => {
22666
+ (0, import_react141.useEffect)(() => {
22619
22667
  if (searchTerm === "") {
22620
22668
  setLocaleSearchTerm("");
22621
22669
  }
@@ -22635,13 +22683,13 @@ var FilterControls = ({
22635
22683
  (0, import_react_use3.useEffectOnce)(() => {
22636
22684
  setInitialSortValue(sortByValue);
22637
22685
  });
22638
- (0, import_react140.useEffect)(() => {
22686
+ (0, import_react141.useEffect)(() => {
22639
22687
  if (initialSortValue !== sortByValue) {
22640
22688
  setUserHasChangedSortByValue(true);
22641
22689
  }
22642
22690
  }, [initialSortValue, sortByValue]);
22643
- return /* @__PURE__ */ (0, import_jsx_runtime119.jsxs)(import_jsx_runtime119.Fragment, { children: [
22644
- /* @__PURE__ */ (0, import_jsx_runtime119.jsx)(
22691
+ return /* @__PURE__ */ (0, import_jsx_runtime120.jsxs)(import_jsx_runtime120.Fragment, { children: [
22692
+ /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(
22645
22693
  FilterButton2,
22646
22694
  {
22647
22695
  "aria-controls": "search-and-filter-options",
@@ -22649,10 +22697,11 @@ var FilterControls = ({
22649
22697
  "aria-haspopup": "true",
22650
22698
  "aria-expanded": filterVisibility === "filters",
22651
22699
  filterCount: validFilterQuery == null ? void 0 : validFilterQuery.length,
22652
- onClick: () => handleFilterToggle("filters")
22700
+ onClick: () => handleFilterToggle("filters"),
22701
+ dataTestId: "filters-button"
22653
22702
  }
22654
22703
  ),
22655
- /* @__PURE__ */ (0, import_jsx_runtime119.jsx)(
22704
+ /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(
22656
22705
  FilterButton2,
22657
22706
  {
22658
22707
  "aria-controls": "search-and-filter-sortBy",
@@ -22663,17 +22712,18 @@ var FilterControls = ({
22663
22712
  "aria-expanded": filterVisibility === "sort",
22664
22713
  hasSelectedValue: sortByValue !== "",
22665
22714
  onClick: () => handleFilterToggle("sort"),
22666
- "data-testid": "sort-by-dropdown"
22715
+ dataTestId: "sort-by-button"
22667
22716
  }
22668
22717
  ),
22669
- hideSearchInput ? null : /* @__PURE__ */ (0, import_jsx_runtime119.jsx)(
22718
+ hideSearchInput ? null : /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(
22670
22719
  InputKeywordSearch,
22671
22720
  {
22672
22721
  placeholder: "Search...",
22673
22722
  onSearchTextChanged: (e) => setLocaleSearchTerm(e),
22674
22723
  value: localeSearchTerm,
22675
22724
  compact: true,
22676
- rounded: true
22725
+ rounded: true,
22726
+ css: SearchInput
22677
22727
  }
22678
22728
  ),
22679
22729
  children
@@ -22682,11 +22732,11 @@ var FilterControls = ({
22682
22732
 
22683
22733
  // src/components/SearchAndFilter/FilterItem.tsx
22684
22734
  init_emotion_jsx_shim();
22685
- var import_react144 = require("react");
22735
+ var import_react145 = require("react");
22686
22736
 
22687
22737
  // src/components/SearchAndFilter/FilterEditor.tsx
22688
22738
  init_emotion_jsx_shim();
22689
- var import_react142 = require("react");
22739
+ var import_react143 = require("react");
22690
22740
  var import_react_use4 = require("react-use");
22691
22741
 
22692
22742
  // src/components/Validation/StatusBullet.tsx
@@ -22694,8 +22744,8 @@ init_emotion_jsx_shim();
22694
22744
 
22695
22745
  // src/components/Validation/StatusBullet.styles.ts
22696
22746
  init_emotion_jsx_shim();
22697
- var import_react141 = require("@emotion/react");
22698
- var StatusBulletContainer = import_react141.css`
22747
+ var import_react142 = require("@emotion/react");
22748
+ var StatusBulletContainer = import_react142.css`
22699
22749
  align-items: center;
22700
22750
  align-self: center;
22701
22751
  color: var(--gray-500);
@@ -22712,33 +22762,33 @@ var StatusBulletContainer = import_react141.css`
22712
22762
  display: block;
22713
22763
  }
22714
22764
  `;
22715
- var StatusBulletBase = import_react141.css`
22765
+ var StatusBulletBase = import_react142.css`
22716
22766
  font-size: var(--fs-sm);
22717
22767
  &:before {
22718
22768
  width: var(--fs-xs);
22719
22769
  height: var(--fs-xs);
22720
22770
  }
22721
22771
  `;
22722
- var StatusBulletSmall = import_react141.css`
22772
+ var StatusBulletSmall = import_react142.css`
22723
22773
  font-size: var(--fs-xs);
22724
22774
  &:before {
22725
22775
  width: var(--fs-xxs);
22726
22776
  height: var(--fs-xxs);
22727
22777
  }
22728
22778
  `;
22729
- var StatusDraft = import_react141.css`
22779
+ var StatusDraft = import_react142.css`
22730
22780
  &:before {
22731
22781
  background: var(--white);
22732
22782
  box-shadow: inset 0 0 0 0.125rem var(--primary-action-default);
22733
22783
  }
22734
22784
  `;
22735
- var StatusModified = import_react141.css`
22785
+ var StatusModified = import_react142.css`
22736
22786
  &:before {
22737
22787
  background: linear-gradient(to right, var(--white) 50%, var(--primary-action-default) 50% 100%);
22738
22788
  box-shadow: inset 0 0 0 0.125rem var(--primary-action-default);
22739
22789
  }
22740
22790
  `;
22741
- var StatusError = import_react141.css`
22791
+ var StatusError = import_react142.css`
22742
22792
  color: var(--error);
22743
22793
  &:before {
22744
22794
  /* TODO: replace this with an svg icon */
@@ -22751,29 +22801,29 @@ var StatusError = import_react141.css`
22751
22801
  );
22752
22802
  }
22753
22803
  `;
22754
- var StatusPublished = import_react141.css`
22804
+ var StatusPublished = import_react142.css`
22755
22805
  &:before {
22756
22806
  background: var(--primary-action-default);
22757
22807
  }
22758
22808
  `;
22759
- var StatusOrphan = import_react141.css`
22809
+ var StatusOrphan = import_react142.css`
22760
22810
  &:before {
22761
22811
  background: var(--brand-secondary-5);
22762
22812
  }
22763
22813
  `;
22764
- var StatusUnknown = import_react141.css`
22814
+ var StatusUnknown = import_react142.css`
22765
22815
  &:before {
22766
22816
  background: var(--gray-800);
22767
22817
  }
22768
22818
  `;
22769
- var StatusDeleted = import_react141.css`
22819
+ var StatusDeleted = import_react142.css`
22770
22820
  &:before {
22771
22821
  background: var(--error);
22772
22822
  }
22773
22823
  `;
22774
22824
 
22775
22825
  // src/components/Validation/StatusBullet.tsx
22776
- var import_jsx_runtime120 = require("@emotion/react/jsx-runtime");
22826
+ var import_jsx_runtime121 = require("@emotion/react/jsx-runtime");
22777
22827
  var StatusBullet = ({
22778
22828
  status,
22779
22829
  hideText = false,
@@ -22793,7 +22843,7 @@ var StatusBullet = ({
22793
22843
  Deleted: StatusDeleted
22794
22844
  };
22795
22845
  const statusSize = size === "base" ? StatusBulletBase : StatusBulletSmall;
22796
- return /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(
22846
+ return /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(
22797
22847
  "span",
22798
22848
  {
22799
22849
  role: "status",
@@ -22806,7 +22856,7 @@ var StatusBullet = ({
22806
22856
  };
22807
22857
 
22808
22858
  // src/components/SearchAndFilter/FilterEditor.tsx
22809
- var import_jsx_runtime121 = require("@emotion/react/jsx-runtime");
22859
+ var import_jsx_runtime122 = require("@emotion/react/jsx-runtime");
22810
22860
  var readOnlyAttributes = {
22811
22861
  isSearchable: false,
22812
22862
  menuIsOpen: false,
@@ -22821,7 +22871,7 @@ var FilterMultiChoiceEditor = ({
22821
22871
  ...props
22822
22872
  }) => {
22823
22873
  const readOnlyProps = readOnly ? readOnlyAttributes : {};
22824
- return /* @__PURE__ */ (0, import_jsx_runtime121.jsx)("div", { "data-testid": valueTestId, children: /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(
22874
+ return /* @__PURE__ */ (0, import_jsx_runtime122.jsx)("div", { "data-testid": valueTestId, children: /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(
22825
22875
  InputComboBox,
22826
22876
  {
22827
22877
  ...props,
@@ -22857,7 +22907,7 @@ var FilterSingleChoiceEditor = ({
22857
22907
  valueTestId
22858
22908
  }) => {
22859
22909
  const readOnlyProps = readOnly ? readOnlyAttributes : {};
22860
- return /* @__PURE__ */ (0, import_jsx_runtime121.jsx)("div", { "data-testid": valueTestId, children: /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(
22910
+ return /* @__PURE__ */ (0, import_jsx_runtime122.jsx)("div", { "data-testid": valueTestId, children: /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(
22861
22911
  InputComboBox,
22862
22912
  {
22863
22913
  placeholder: "Type to search...",
@@ -22883,7 +22933,7 @@ var FilterSingleChoiceEditor = ({
22883
22933
  ) });
22884
22934
  };
22885
22935
  var CustomOptions = ({ label, value }) => {
22886
- return /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(StatusBullet, { status: label, message: value });
22936
+ return /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(StatusBullet, { status: label, message: value });
22887
22937
  };
22888
22938
  var StatusMultiEditor = ({
22889
22939
  options,
@@ -22894,7 +22944,7 @@ var StatusMultiEditor = ({
22894
22944
  valueTestId
22895
22945
  }) => {
22896
22946
  const readOnlyProps = readOnly ? readOnlyAttributes : {};
22897
- return /* @__PURE__ */ (0, import_jsx_runtime121.jsx)("div", { "data-testid": valueTestId, children: /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(
22947
+ return /* @__PURE__ */ (0, import_jsx_runtime122.jsx)("div", { "data-testid": valueTestId, children: /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(
22898
22948
  InputComboBox,
22899
22949
  {
22900
22950
  options,
@@ -22927,7 +22977,7 @@ var StatusSingleEditor = ({
22927
22977
  valueTestId
22928
22978
  }) => {
22929
22979
  const readOnlyProps = readOnly ? readOnlyAttributes : {};
22930
- return /* @__PURE__ */ (0, import_jsx_runtime121.jsx)("div", { "data-testid": valueTestId, children: /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(
22980
+ return /* @__PURE__ */ (0, import_jsx_runtime122.jsx)("div", { "data-testid": valueTestId, children: /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(
22931
22981
  InputComboBox,
22932
22982
  {
22933
22983
  options,
@@ -22952,7 +23002,7 @@ var StatusSingleEditor = ({
22952
23002
  };
22953
23003
  var TextEditor = ({ onChange, ariaLabel, value, readOnly, valueTestId }) => {
22954
23004
  (0, import_react_use4.useDebounce)(() => onChange, 500, [value]);
22955
- return /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(
23005
+ return /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(
22956
23006
  Input,
22957
23007
  {
22958
23008
  showLabel: false,
@@ -22973,10 +23023,10 @@ var NumberRangeEditor = ({
22973
23023
  readOnly,
22974
23024
  valueTestId
22975
23025
  }) => {
22976
- const [minValue, setMinValue] = (0, import_react142.useState)("");
22977
- const [maxValue, setMaxValue] = (0, import_react142.useState)("");
22978
- const [error, setError] = (0, import_react142.useState)("");
22979
- (0, import_react142.useEffect)(() => {
23026
+ const [minValue, setMinValue] = (0, import_react143.useState)("");
23027
+ const [maxValue, setMaxValue] = (0, import_react143.useState)("");
23028
+ const [error, setError] = (0, import_react143.useState)("");
23029
+ (0, import_react143.useEffect)(() => {
22980
23030
  if (!maxValue && !minValue) {
22981
23031
  return;
22982
23032
  }
@@ -22995,9 +23045,9 @@ var NumberRangeEditor = ({
22995
23045
  setError("");
22996
23046
  onChange([minValue, maxValue]);
22997
23047
  }, [maxValue, minValue, setError]);
22998
- return /* @__PURE__ */ (0, import_jsx_runtime121.jsxs)(import_jsx_runtime121.Fragment, { children: [
22999
- /* @__PURE__ */ (0, import_jsx_runtime121.jsxs)("div", { css: twoColumnGrid, "data-testid": valueTestId, children: [
23000
- /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(
23048
+ return /* @__PURE__ */ (0, import_jsx_runtime122.jsxs)(import_jsx_runtime122.Fragment, { children: [
23049
+ /* @__PURE__ */ (0, import_jsx_runtime122.jsxs)("div", { css: twoColumnGrid, "data-testid": valueTestId, children: [
23050
+ /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(
23001
23051
  Input,
23002
23052
  {
23003
23053
  label: `${ariaLabel}-min`,
@@ -23012,7 +23062,7 @@ var NumberRangeEditor = ({
23012
23062
  readOnly
23013
23063
  }
23014
23064
  ),
23015
- /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(
23065
+ /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(
23016
23066
  Input,
23017
23067
  {
23018
23068
  type: "number",
@@ -23028,7 +23078,7 @@ var NumberRangeEditor = ({
23028
23078
  }
23029
23079
  )
23030
23080
  ] }),
23031
- /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(ErrorContainer, { errorMessage: error })
23081
+ /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(ErrorContainer, { errorMessage: error })
23032
23082
  ] });
23033
23083
  };
23034
23084
  var NumberEditor = ({
@@ -23039,7 +23089,7 @@ var NumberEditor = ({
23039
23089
  readOnly,
23040
23090
  valueTestId
23041
23091
  }) => {
23042
- return /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(
23092
+ return /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(
23043
23093
  Input,
23044
23094
  {
23045
23095
  label: ariaLabel,
@@ -23062,7 +23112,7 @@ var DateEditor = ({
23062
23112
  readOnly,
23063
23113
  valueTestId
23064
23114
  }) => {
23065
- return /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(
23115
+ return /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(
23066
23116
  Input,
23067
23117
  {
23068
23118
  type: "date",
@@ -23084,10 +23134,10 @@ var DateRangeEditor = ({
23084
23134
  readOnly,
23085
23135
  valueTestId
23086
23136
  }) => {
23087
- const [minDateValue, setMinDateValue] = (0, import_react142.useState)(value ? value[0] : "");
23088
- const [maxDateValue, setMaxDateValue] = (0, import_react142.useState)(value ? value[1] : "");
23089
- const [error, setError] = (0, import_react142.useState)("");
23090
- (0, import_react142.useEffect)(() => {
23137
+ const [minDateValue, setMinDateValue] = (0, import_react143.useState)(value ? value[0] : "");
23138
+ const [maxDateValue, setMaxDateValue] = (0, import_react143.useState)(value ? value[1] : "");
23139
+ const [error, setError] = (0, import_react143.useState)("");
23140
+ (0, import_react143.useEffect)(() => {
23091
23141
  if (!minDateValue || !maxDateValue) {
23092
23142
  return;
23093
23143
  }
@@ -23118,9 +23168,9 @@ var DateRangeEditor = ({
23118
23168
  setError("");
23119
23169
  onChange([minDateValue, maxDateValue]);
23120
23170
  }, [minDateValue, maxDateValue, setError]);
23121
- return /* @__PURE__ */ (0, import_jsx_runtime121.jsxs)(import_jsx_runtime121.Fragment, { children: [
23122
- /* @__PURE__ */ (0, import_jsx_runtime121.jsxs)("div", { css: twoColumnGrid, "data-testid": valueTestId, children: [
23123
- /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(
23171
+ return /* @__PURE__ */ (0, import_jsx_runtime122.jsxs)(import_jsx_runtime122.Fragment, { children: [
23172
+ /* @__PURE__ */ (0, import_jsx_runtime122.jsxs)("div", { css: twoColumnGrid, "data-testid": valueTestId, children: [
23173
+ /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(
23124
23174
  Input,
23125
23175
  {
23126
23176
  label: `${ariaLabel}-min-date`,
@@ -23133,7 +23183,7 @@ var DateRangeEditor = ({
23133
23183
  readOnly
23134
23184
  }
23135
23185
  ),
23136
- /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(
23186
+ /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(
23137
23187
  Input,
23138
23188
  {
23139
23189
  label: `${ariaLabel}-max-date`,
@@ -23147,7 +23197,7 @@ var DateRangeEditor = ({
23147
23197
  }
23148
23198
  )
23149
23199
  ] }),
23150
- /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(ErrorContainer, { errorMessage: error })
23200
+ /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(ErrorContainer, { errorMessage: error })
23151
23201
  ] });
23152
23202
  };
23153
23203
  var FilterEditorRenderer = ({ editorType, ...props }) => {
@@ -23158,7 +23208,7 @@ var FilterEditorRenderer = ({ editorType, ...props }) => {
23158
23208
  if (editorType === "empty") {
23159
23209
  return null;
23160
23210
  }
23161
- return /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(Editor, { ...props, disabled: props.isDisabled });
23211
+ return /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(Editor, { ...props, disabled: props.isDisabled });
23162
23212
  };
23163
23213
  var filterMapper = {
23164
23214
  multiChoice: FilterMultiChoiceEditor,
@@ -23173,14 +23223,14 @@ var filterMapper = {
23173
23223
  empty: null
23174
23224
  };
23175
23225
  var ErrorContainer = ({ errorMessage }) => {
23176
- return /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(
23226
+ return /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(
23177
23227
  "div",
23178
23228
  {
23179
23229
  css: {
23180
23230
  gridColumn: "span 6",
23181
23231
  order: 6
23182
23232
  },
23183
- children: /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(FieldMessage, { errorMessage })
23233
+ children: /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(FieldMessage, { errorMessage })
23184
23234
  }
23185
23235
  );
23186
23236
  };
@@ -23192,15 +23242,15 @@ var twoColumnGrid = {
23192
23242
 
23193
23243
  // src/components/SearchAndFilter/FilterMenu.tsx
23194
23244
  init_emotion_jsx_shim();
23195
- var import_react143 = __toESM(require("react"));
23196
- var import_jsx_runtime122 = require("@emotion/react/jsx-runtime");
23245
+ var import_react144 = __toESM(require("react"));
23246
+ var import_jsx_runtime123 = require("@emotion/react/jsx-runtime");
23197
23247
  var SearchAndFilterOptionsContainer2 = ({
23198
23248
  buttonRow,
23199
23249
  children
23200
23250
  }) => {
23201
- return /* @__PURE__ */ (0, import_jsx_runtime122.jsxs)("div", { css: SearchAndFilterOptionsContainer, "data-testid": "search-and-filter-options", children: [
23202
- /* @__PURE__ */ (0, import_jsx_runtime122.jsx)("div", { css: SearchAndFilterOptionsInnerContainer, children }),
23203
- buttonRow ? /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(
23251
+ return /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)("div", { css: SearchAndFilterOptionsContainer, children: [
23252
+ /* @__PURE__ */ (0, import_jsx_runtime123.jsx)("div", { css: SearchAndFilterOptionsInnerContainer, children }),
23253
+ buttonRow ? /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
23204
23254
  HorizontalRhythm,
23205
23255
  {
23206
23256
  css: SearchAndFilterButtonGroup,
@@ -23212,25 +23262,32 @@ var SearchAndFilterOptionsContainer2 = ({
23212
23262
  ) : null
23213
23263
  ] });
23214
23264
  };
23215
- var FilterMenu = ({ id, filterTitle = "Show results", menuControls, children }) => {
23265
+ var FilterMenu = ({
23266
+ id,
23267
+ filterTitle = "Show results",
23268
+ menuControls,
23269
+ children,
23270
+ dataTestId
23271
+ }) => {
23216
23272
  const { filterVisibility, setFilterVisibility } = useSearchAndFilter();
23217
- const innerMenuRef = import_react143.default.useRef(null);
23218
- (0, import_react143.useEffect)(() => {
23273
+ const innerMenuRef = import_react144.default.useRef(null);
23274
+ (0, import_react144.useEffect)(() => {
23219
23275
  var _a;
23220
23276
  if (filterVisibility) {
23221
23277
  (_a = innerMenuRef.current) == null ? void 0 : _a.focus();
23222
23278
  }
23223
23279
  }, [filterVisibility]);
23224
- return /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(VerticalRhythm, { gap: "sm", "aria-haspopup": "true", id, children: filterVisibility ? /* @__PURE__ */ (0, import_jsx_runtime122.jsxs)(SearchAndFilterOptionsContainer2, { buttonRow: menuControls, children: [
23225
- /* @__PURE__ */ (0, import_jsx_runtime122.jsx)("span", { css: Title, ref: innerMenuRef, tabIndex: 0, children: filterTitle }),
23226
- /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(
23280
+ return /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(VerticalRhythm, { gap: "sm", "aria-haspopup": "true", id, "data-testid": dataTestId, children: filterVisibility ? /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)(SearchAndFilterOptionsContainer2, { buttonRow: menuControls, children: [
23281
+ /* @__PURE__ */ (0, import_jsx_runtime123.jsx)("span", { css: Title, ref: innerMenuRef, tabIndex: 0, children: filterTitle }),
23282
+ /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
23227
23283
  "button",
23228
23284
  {
23229
23285
  type: "button",
23230
23286
  "aria-label": "close filters",
23231
23287
  css: [CloseBtn],
23232
23288
  onClick: () => setFilterVisibility(void 0),
23233
- children: /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(Icon, { icon: "close", iconColor: "currentColor", size: "1.1rem" })
23289
+ "data-testid": "close-filters",
23290
+ children: /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(Icon, { icon: "close", iconColor: "currentColor", size: "1.1rem" })
23234
23291
  }
23235
23292
  ),
23236
23293
  children
@@ -23238,7 +23295,7 @@ var FilterMenu = ({ id, filterTitle = "Show results", menuControls, children })
23238
23295
  };
23239
23296
 
23240
23297
  // src/components/SearchAndFilter/FilterItem.tsx
23241
- var import_jsx_runtime123 = require("@emotion/react/jsx-runtime");
23298
+ var import_jsx_runtime124 = require("@emotion/react/jsx-runtime");
23242
23299
  var FilterItem = ({
23243
23300
  index,
23244
23301
  paramOptions,
@@ -23254,7 +23311,7 @@ var FilterItem = ({
23254
23311
  const operatorLabel = filters[index].operator !== "" ? `operator ${filters[index].operator}` : "unknown operator";
23255
23312
  const metaDataLabel = filters[index].value !== "" ? `value ${filters[index].value}` : "unknown value";
23256
23313
  const metaDataPossibleOptions = (_b = (_a = operatorOptions.find((op) => filters[index].operator === op.value)) == null ? void 0 : _a.editorType) != null ? _b : "singleChoice";
23257
- const { selectedFieldValue, selectedOperatorValue, selectedMetaValue, readOnly } = (0, import_react144.useMemo)(() => {
23314
+ const { selectedFieldValue, selectedOperatorValue, selectedMetaValue, readOnly } = (0, import_react145.useMemo)(() => {
23258
23315
  var _a2;
23259
23316
  const currentSelectedFilter = filterOptions.find((item) => {
23260
23317
  var _a3;
@@ -23286,10 +23343,10 @@ var FilterItem = ({
23286
23343
  menuIsOpen: false,
23287
23344
  isClearable: false
23288
23345
  } : {};
23289
- return /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)("div", { css: ConditionalFilterRow, "data-testid": "filter-item", children: [
23290
- /* @__PURE__ */ (0, import_jsx_runtime123.jsx)("span", { children: index === 0 ? "Where" : "and" }),
23291
- /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)("div", { css: ConditionalInputRow, children: [
23292
- /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
23346
+ return /* @__PURE__ */ (0, import_jsx_runtime124.jsxs)("div", { css: ConditionalFilterRow, "data-testid": "filter-item", children: [
23347
+ /* @__PURE__ */ (0, import_jsx_runtime124.jsx)("span", { children: index === 0 ? "Where" : "and" }),
23348
+ /* @__PURE__ */ (0, import_jsx_runtime124.jsxs)("div", { css: ConditionalInputRow, children: [
23349
+ /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(
23293
23350
  InputComboBox,
23294
23351
  {
23295
23352
  "aria-label": label,
@@ -23315,7 +23372,7 @@ var FilterItem = ({
23315
23372
  id: "filter-field"
23316
23373
  }
23317
23374
  ),
23318
- /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
23375
+ /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(
23319
23376
  InputComboBox,
23320
23377
  {
23321
23378
  "aria-label": operatorLabel,
@@ -23338,7 +23395,7 @@ var FilterItem = ({
23338
23395
  id: "filter-operator"
23339
23396
  }
23340
23397
  ),
23341
- /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
23398
+ /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(
23342
23399
  FilterEditorRenderer,
23343
23400
  {
23344
23401
  "aria-label": metaDataLabel,
@@ -23351,7 +23408,7 @@ var FilterItem = ({
23351
23408
  valueTestId: "filter-value"
23352
23409
  }
23353
23410
  ),
23354
- readOnly ? null : /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
23411
+ readOnly ? null : /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(
23355
23412
  "button",
23356
23413
  {
23357
23414
  type: "button",
@@ -23359,7 +23416,7 @@ var FilterItem = ({
23359
23416
  "aria-label": "delete filter",
23360
23417
  css: IconBtn,
23361
23418
  "data-testid": "delete-filter",
23362
- children: /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(Icon, { icon: "trash", iconColor: "red", size: "1rem" })
23419
+ children: /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(Icon, { icon: "trash", iconColor: "red", size: "1rem" })
23363
23420
  }
23364
23421
  )
23365
23422
  ] })
@@ -23375,7 +23432,12 @@ var FilterItems = ({
23375
23432
  const next = [...filters];
23376
23433
  next[index] = { ...next[index], [prop]: value };
23377
23434
  if (prop === "operator") {
23378
- next[index].value = "";
23435
+ if (["eq", "neq", "lt", "gt"].includes(value) && Array.isArray(next[index].value)) {
23436
+ next[index].value = next[index].value[0];
23437
+ }
23438
+ if (["between"].includes(value) && Array.isArray(next[index].value) === false) {
23439
+ next[index].value = [next[index].value, ""];
23440
+ }
23379
23441
  if (value === "def" || value === "true") {
23380
23442
  next[index].value = "true";
23381
23443
  }
@@ -23393,12 +23455,13 @@ var FilterItems = ({
23393
23455
  }
23394
23456
  setFilters(next);
23395
23457
  };
23396
- return /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
23458
+ return /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(
23397
23459
  FilterMenu,
23398
23460
  {
23399
23461
  id: "search-and-filter-options",
23400
- menuControls: /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)(import_jsx_runtime123.Fragment, { children: [
23401
- /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)(
23462
+ dataTestId: "search-and-filter-options",
23463
+ menuControls: /* @__PURE__ */ (0, import_jsx_runtime124.jsxs)(import_jsx_runtime124.Fragment, { children: [
23464
+ /* @__PURE__ */ (0, import_jsx_runtime124.jsxs)(
23402
23465
  "button",
23403
23466
  {
23404
23467
  type: "button",
@@ -23406,12 +23469,12 @@ var FilterItems = ({
23406
23469
  onClick: handleAddFilter,
23407
23470
  "data-testid": "add-filter",
23408
23471
  children: [
23409
- /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(Icon, { icon: "math-plus", iconColor: "currentColor", size: "1rem" }),
23472
+ /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(Icon, { icon: "math-plus", iconColor: "currentColor", size: "1rem" }),
23410
23473
  addButtonText
23411
23474
  ]
23412
23475
  }
23413
23476
  ),
23414
- (filters == null ? void 0 : filters.length) ? /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
23477
+ (filters == null ? void 0 : filters.length) ? /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(
23415
23478
  "button",
23416
23479
  {
23417
23480
  type: "button",
@@ -23433,7 +23496,7 @@ var FilterItems = ({
23433
23496
  })) == null ? void 0 : _a.options) != null ? _b : [];
23434
23497
  const possibleValueOptions = (_d = (_c = availableTypeOptions == null ? void 0 : availableTypeOptions.find((op) => op.value === item.field)) == null ? void 0 : _c.valueOptions) != null ? _d : [];
23435
23498
  const possibleOperators = (_f = (_e = availableTypeOptions == null ? void 0 : availableTypeOptions.find((op) => op.value === item.field)) == null ? void 0 : _e.operatorOptions) != null ? _f : [];
23436
- return /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
23499
+ return /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(
23437
23500
  FilterItem,
23438
23501
  {
23439
23502
  index: i,
@@ -23462,14 +23525,14 @@ init_emotion_jsx_shim();
23462
23525
 
23463
23526
  // src/components/SegmentedControl/SegmentedControl.tsx
23464
23527
  init_emotion_jsx_shim();
23465
- var import_react146 = require("@emotion/react");
23528
+ var import_react147 = require("@emotion/react");
23466
23529
  var import_CgCheck5 = require("@react-icons/all-files/cg/CgCheck");
23467
- var import_react147 = require("react");
23530
+ var import_react148 = require("react");
23468
23531
 
23469
23532
  // src/components/SegmentedControl/SegmentedControl.styles.ts
23470
23533
  init_emotion_jsx_shim();
23471
- var import_react145 = require("@emotion/react");
23472
- var segmentedControlStyles = import_react145.css`
23534
+ var import_react146 = require("@emotion/react");
23535
+ var segmentedControlStyles = import_react146.css`
23473
23536
  --segmented-control-rounded-value: var(--rounded-base);
23474
23537
  --segmented-control-border-width: 1px;
23475
23538
  --segmented-control-selected-color: var(--brand-secondary-3);
@@ -23488,14 +23551,14 @@ var segmentedControlStyles = import_react145.css`
23488
23551
  border-radius: calc(var(--segmented-control-rounded-value) + var(--segmented-control-border-width));
23489
23552
  font-size: var(--fs-xs);
23490
23553
  `;
23491
- var segmentedControlVerticalStyles = import_react145.css`
23554
+ var segmentedControlVerticalStyles = import_react146.css`
23492
23555
  flex-direction: column;
23493
23556
  --segmented-control-first-border-radius: var(--segmented-control-rounded-value)
23494
23557
  var(--segmented-control-rounded-value) 0 0;
23495
23558
  --segmented-control-last-border-radius: 0 0 var(--segmented-control-rounded-value)
23496
23559
  var(--segmented-control-rounded-value);
23497
23560
  `;
23498
- var segmentedControlItemStyles = import_react145.css`
23561
+ var segmentedControlItemStyles = import_react146.css`
23499
23562
  &:first-of-type label {
23500
23563
  border-radius: var(--segmented-control-first-border-radius);
23501
23564
  }
@@ -23503,10 +23566,10 @@ var segmentedControlItemStyles = import_react145.css`
23503
23566
  border-radius: var(--segmented-control-last-border-radius);
23504
23567
  }
23505
23568
  `;
23506
- var segmentedControlInputStyles = import_react145.css`
23569
+ var segmentedControlInputStyles = import_react146.css`
23507
23570
  ${accessibleHidden}
23508
23571
  `;
23509
- var segmentedControlLabelStyles = (checked, disabled2) => import_react145.css`
23572
+ var segmentedControlLabelStyles = (checked, disabled2) => import_react146.css`
23510
23573
  position: relative;
23511
23574
  display: flex;
23512
23575
  align-items: center;
@@ -23573,23 +23636,23 @@ var segmentedControlLabelStyles = (checked, disabled2) => import_react145.css`
23573
23636
  `}
23574
23637
  }
23575
23638
  `;
23576
- var segmentedControlLabelIconOnlyStyles = import_react145.css`
23639
+ var segmentedControlLabelIconOnlyStyles = import_react146.css`
23577
23640
  padding-inline: 0.5em;
23578
23641
  `;
23579
- var segmentedControlLabelCheckStyles = import_react145.css`
23642
+ var segmentedControlLabelCheckStyles = import_react146.css`
23580
23643
  opacity: 0.5;
23581
23644
  `;
23582
- var segmentedControlLabelContentStyles = import_react145.css`
23645
+ var segmentedControlLabelContentStyles = import_react146.css`
23583
23646
  display: flex;
23584
23647
  align-items: center;
23585
23648
  justify-content: center;
23586
23649
  gap: var(--spacing-sm);
23587
23650
  height: 100%;
23588
23651
  `;
23589
- var segmentedControlLabelTextStyles = import_react145.css``;
23652
+ var segmentedControlLabelTextStyles = import_react146.css``;
23590
23653
 
23591
23654
  // src/components/SegmentedControl/SegmentedControl.tsx
23592
- var import_jsx_runtime124 = require("@emotion/react/jsx-runtime");
23655
+ var import_jsx_runtime125 = require("@emotion/react/jsx-runtime");
23593
23656
  var SegmentedControl = ({
23594
23657
  name,
23595
23658
  options,
@@ -23601,7 +23664,7 @@ var SegmentedControl = ({
23601
23664
  size = "md",
23602
23665
  ...props
23603
23666
  }) => {
23604
- const onOptionChange = (0, import_react147.useCallback)(
23667
+ const onOptionChange = (0, import_react148.useCallback)(
23605
23668
  (event) => {
23606
23669
  if (event.target.checked) {
23607
23670
  onChange == null ? void 0 : onChange(options[parseInt(event.target.value)].value);
@@ -23609,18 +23672,18 @@ var SegmentedControl = ({
23609
23672
  },
23610
23673
  [options, onChange]
23611
23674
  );
23612
- const sizeStyles = (0, import_react147.useMemo)(() => {
23675
+ const sizeStyles = (0, import_react148.useMemo)(() => {
23613
23676
  const map = {
23614
- sm: (0, import_react146.css)({ height: "calc(24px - 2px)", fontSize: "var(--fs-xs)" }),
23615
- md: (0, import_react146.css)({ height: "calc(32px - 2px)", fontSize: "var(--fs-sm)" }),
23616
- lg: (0, import_react146.css)({ height: "calc(40px - 2px)", fontSize: "var(--fs-base)" })
23677
+ sm: (0, import_react147.css)({ height: "calc(24px - 2px)", fontSize: "var(--fs-xs)" }),
23678
+ md: (0, import_react147.css)({ height: "calc(32px - 2px)", fontSize: "var(--fs-sm)" }),
23679
+ lg: (0, import_react147.css)({ height: "calc(40px - 2px)", fontSize: "var(--fs-base)" })
23617
23680
  };
23618
23681
  return map[size];
23619
23682
  }, [size]);
23620
- const isIconOnly = (0, import_react147.useMemo)(() => {
23683
+ const isIconOnly = (0, import_react148.useMemo)(() => {
23621
23684
  return options.every((option) => option && option.icon && !option.label);
23622
23685
  }, [options]);
23623
- return /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(
23686
+ return /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(
23624
23687
  "div",
23625
23688
  {
23626
23689
  css: [segmentedControlStyles, orientation === "vertical" ? segmentedControlVerticalStyles : void 0],
@@ -23632,7 +23695,7 @@ var SegmentedControl = ({
23632
23695
  }
23633
23696
  const text = option.label ? option.label : option.icon ? null : String(option.value);
23634
23697
  const isDisabled = disabled2 || option.disabled;
23635
- return /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(Tooltip, { title: (_a = option.tooltip) != null ? _a : "", children: /* @__PURE__ */ (0, import_jsx_runtime124.jsx)("div", { css: segmentedControlItemStyles, "data-testid": "container-segmented-control", children: /* @__PURE__ */ (0, import_jsx_runtime124.jsxs)(
23698
+ return /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(Tooltip, { title: (_a = option.tooltip) != null ? _a : "", children: /* @__PURE__ */ (0, import_jsx_runtime125.jsx)("div", { css: segmentedControlItemStyles, "data-testid": "container-segmented-control", children: /* @__PURE__ */ (0, import_jsx_runtime125.jsxs)(
23636
23699
  "label",
23637
23700
  {
23638
23701
  css: [
@@ -23641,7 +23704,7 @@ var SegmentedControl = ({
23641
23704
  isIconOnly ? segmentedControlLabelIconOnlyStyles : void 0
23642
23705
  ],
23643
23706
  children: [
23644
- /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(
23707
+ /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(
23645
23708
  "input",
23646
23709
  {
23647
23710
  css: segmentedControlInputStyles,
@@ -23653,10 +23716,10 @@ var SegmentedControl = ({
23653
23716
  disabled: isDisabled
23654
23717
  }
23655
23718
  ),
23656
- option.value !== value || noCheckmark ? null : /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(import_CgCheck5.CgCheck, { css: segmentedControlLabelCheckStyles, "aria-label": "Selected", size: "1.5em" }),
23657
- /* @__PURE__ */ (0, import_jsx_runtime124.jsxs)("span", { css: segmentedControlLabelContentStyles, children: [
23658
- !option.icon ? null : /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(Icon, { icon: option.icon, size: "1.5em", iconColor: "currentColor" }),
23659
- !text ? null : /* @__PURE__ */ (0, import_jsx_runtime124.jsx)("span", { css: segmentedControlLabelTextStyles, children: text })
23719
+ option.value !== value || noCheckmark ? null : /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(import_CgCheck5.CgCheck, { css: segmentedControlLabelCheckStyles, "aria-label": "Selected", size: "1.5em" }),
23720
+ /* @__PURE__ */ (0, import_jsx_runtime125.jsxs)("span", { css: segmentedControlLabelContentStyles, children: [
23721
+ !option.icon ? null : /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(Icon, { icon: option.icon, size: "1.5em", iconColor: "currentColor" }),
23722
+ !text ? null : /* @__PURE__ */ (0, import_jsx_runtime125.jsx)("span", { css: segmentedControlLabelTextStyles, children: text })
23660
23723
  ] })
23661
23724
  ]
23662
23725
  }
@@ -23667,7 +23730,7 @@ var SegmentedControl = ({
23667
23730
  };
23668
23731
 
23669
23732
  // src/components/SearchAndFilter/SortItems.tsx
23670
- var import_jsx_runtime125 = require("@emotion/react/jsx-runtime");
23733
+ var import_jsx_runtime126 = require("@emotion/react/jsx-runtime");
23671
23734
  var SortItems = () => {
23672
23735
  var _a, _b;
23673
23736
  const { sortOptions, setSortBy, sortByValue } = useSearchAndFilter();
@@ -23678,8 +23741,8 @@ var SortItems = () => {
23678
23741
  var _a2;
23679
23742
  return (_a2 = item.options) == null ? void 0 : _a2.find((option) => option.value === sortField);
23680
23743
  })) == null ? void 0 : _a.options) == null ? void 0 : _b.find((nestedOption) => nestedOption.value === sortField);
23681
- return /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(FilterMenu, { id: "search-and-filter-options", filterTitle: "Sort by", children: /* @__PURE__ */ (0, import_jsx_runtime125.jsxs)("div", { css: SortFilterInputRow, children: [
23682
- /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(
23744
+ return /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(FilterMenu, { id: "search-and-filter-options", filterTitle: "Sort by", dataTestId: "sorting-options", children: /* @__PURE__ */ (0, import_jsx_runtime126.jsxs)("div", { css: SortFilterInputRow, children: [
23745
+ /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(
23683
23746
  InputComboBox,
23684
23747
  {
23685
23748
  options: sortOptions,
@@ -23695,10 +23758,11 @@ var SortItems = () => {
23695
23758
  };
23696
23759
  }
23697
23760
  },
23698
- value: currentSelectedOption
23761
+ value: currentSelectedOption,
23762
+ id: "sort-by-field"
23699
23763
  }
23700
23764
  ),
23701
- /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(
23765
+ /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(
23702
23766
  SegmentedControl,
23703
23767
  {
23704
23768
  noCheckmark: true,
@@ -23708,26 +23772,27 @@ var SortItems = () => {
23708
23772
  { label: "Descending", value: `DESC` }
23709
23773
  ],
23710
23774
  onChange: (e) => setSortBy(`${sortField}_${e}`),
23711
- value: sortDirection
23775
+ value: sortDirection,
23776
+ "data-testid": "ordering-options"
23712
23777
  }
23713
23778
  )
23714
23779
  ] }) });
23715
23780
  };
23716
23781
 
23717
23782
  // src/components/SearchAndFilter/FilterModeView.tsx
23718
- var import_jsx_runtime126 = require("@emotion/react/jsx-runtime");
23783
+ var import_jsx_runtime127 = require("@emotion/react/jsx-runtime");
23719
23784
  var FilterModeView = () => {
23720
23785
  const { filterVisibility } = useSearchAndFilter();
23721
23786
  const modeView = {
23722
- filters: /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(FilterItems, {}),
23723
- sort: /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(SortItems, {})
23787
+ filters: /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(FilterItems, {}),
23788
+ sort: /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(SortItems, {})
23724
23789
  };
23725
23790
  return filterVisibility ? modeView[filterVisibility] : null;
23726
23791
  };
23727
23792
 
23728
23793
  // src/components/SearchAndFilter/SearchAndFilterResultContainer.tsx
23729
23794
  init_emotion_jsx_shim();
23730
- var import_jsx_runtime127 = require("@emotion/react/jsx-runtime");
23795
+ var import_jsx_runtime128 = require("@emotion/react/jsx-runtime");
23731
23796
  var SearchAndFilterResultContainer = ({
23732
23797
  buttonText,
23733
23798
  clearButtonLabel = "clear",
@@ -23761,24 +23826,24 @@ var SearchAndFilterResultContainer = ({
23761
23826
  if (totalResults && totalResults > 0) {
23762
23827
  return null;
23763
23828
  }
23764
- return /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)(import_jsx_runtime127.Fragment, { children: [
23765
- /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)(HorizontalRhythm, { children: [
23766
- /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)("span", { children: [
23829
+ return /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)(import_jsx_runtime128.Fragment, { children: [
23830
+ /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)(HorizontalRhythm, { children: [
23831
+ /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)("span", { children: [
23767
23832
  totalResults,
23768
23833
  " results ",
23769
23834
  searchTerm ? `for "${searchTerm}"` : null
23770
23835
  ] }),
23771
- !searchTerm ? null : /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(Button, { buttonType: "ghostDestructive", size: "zero", onClick: () => setSearchTerm(""), children: clearButtonLabel })
23836
+ !searchTerm ? null : /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(Button, { buttonType: "ghostDestructive", size: "zero", onClick: () => setSearchTerm(""), children: clearButtonLabel })
23772
23837
  ] }),
23773
- totalResults === 0 ? /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)(Callout, { title: calloutTitle2 != null ? calloutTitle2 : automateCalloutTitle(), type: "note", children: [
23774
- calloutText ? /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(Paragraph, { children: calloutText }) : null,
23775
- /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(Button, { buttonType: "tertiaryOutline", size: "xs", onClick: onHandleClear != null ? onHandleClear : handleResetFilters, children: buttonText != null ? buttonText : "Clear search" })
23838
+ totalResults === 0 ? /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)(Callout, { title: calloutTitle2 != null ? calloutTitle2 : automateCalloutTitle(), type: "note", children: [
23839
+ calloutText ? /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(Paragraph, { children: calloutText }) : null,
23840
+ /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(Button, { buttonType: "tertiaryOutline", size: "xs", onClick: onHandleClear != null ? onHandleClear : handleResetFilters, children: buttonText != null ? buttonText : "Clear search" })
23776
23841
  ] }) : null
23777
23842
  ] });
23778
23843
  };
23779
23844
 
23780
23845
  // src/components/SearchAndFilter/SearchAndFilter.tsx
23781
- var import_jsx_runtime128 = require("@emotion/react/jsx-runtime");
23846
+ var import_jsx_runtime129 = require("@emotion/react/jsx-runtime");
23782
23847
  var SearchAndFilter = ({
23783
23848
  filters,
23784
23849
  filterOptions,
@@ -23787,14 +23852,15 @@ var SearchAndFilter = ({
23787
23852
  defaultSortByValue,
23788
23853
  filterControls,
23789
23854
  viewSwitchControls,
23790
- resultsContainerView = /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(SearchAndFilterResultContainer, {}),
23791
- children = /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(FilterModeView, {}),
23855
+ resultsContainerView = /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(SearchAndFilterResultContainer, {}),
23856
+ children = /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(FilterModeView, {}),
23792
23857
  onChange,
23793
23858
  onSearchChange,
23794
23859
  onSortChange,
23795
- totalResults
23860
+ totalResults,
23861
+ resetFilterValues = []
23796
23862
  }) => {
23797
- return /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
23863
+ return /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(
23798
23864
  SearchAndFilterProvider,
23799
23865
  {
23800
23866
  filters,
@@ -23806,15 +23872,16 @@ var SearchAndFilter = ({
23806
23872
  onSearchChange,
23807
23873
  onSortChange,
23808
23874
  totalResults,
23809
- children: /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)(VerticalRhythm, { css: SearchAndFilterContainer, "data-testid": "search-and-filter", children: [
23810
- /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)("div", { css: SearchAndFilterOutterControlWrapper(viewSwitchControls ? "1fr auto" : "1fr"), children: [
23811
- /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
23875
+ resetFilterValues,
23876
+ children: /* @__PURE__ */ (0, import_jsx_runtime129.jsxs)(VerticalRhythm, { css: SearchAndFilterContainer, "data-testid": "search-and-filter", children: [
23877
+ /* @__PURE__ */ (0, import_jsx_runtime129.jsxs)("div", { css: SearchAndFilterOutterControlWrapper(viewSwitchControls ? "1fr auto" : "1fr"), children: [
23878
+ /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(
23812
23879
  "div",
23813
23880
  {
23814
23881
  css: SearchAndFilterControlsWrapper(
23815
23882
  viewSwitchControls ? "auto auto 1fr 0.5fr" : "auto auto 1fr"
23816
23883
  ),
23817
- children: !filterControls ? /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(FilterControls, { hideSearchInput: !onSearchChange, defaultSortByValue }) : filterControls
23884
+ children: !filterControls ? /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(FilterControls, { hideSearchInput: !onSearchChange, defaultSortByValue }) : filterControls
23818
23885
  }
23819
23886
  ),
23820
23887
  viewSwitchControls
@@ -23828,17 +23895,17 @@ var SearchAndFilter = ({
23828
23895
 
23829
23896
  // src/components/SearchAndFilter/SearchOnlyFilter.tsx
23830
23897
  init_emotion_jsx_shim();
23831
- var import_react148 = require("react");
23898
+ var import_react149 = require("react");
23832
23899
  var import_react_use5 = require("react-use");
23833
- var import_jsx_runtime129 = require("@emotion/react/jsx-runtime");
23834
- var SearchOnlyContext = (0, import_react148.createContext)({
23900
+ var import_jsx_runtime130 = require("@emotion/react/jsx-runtime");
23901
+ var SearchOnlyContext = (0, import_react149.createContext)({
23835
23902
  searchTerm: "",
23836
23903
  setSearchTerm: () => {
23837
23904
  }
23838
23905
  });
23839
23906
  var SearchOnlyFilter = ({ onSearchChange, maxWidth }) => {
23840
23907
  const { searchTerm, setSearchTerm } = useSearchAndFilter();
23841
- const [localeSearchTerm, setLocaleSearchTerm] = (0, import_react148.useState)("");
23908
+ const [localeSearchTerm, setLocaleSearchTerm] = (0, import_react149.useState)("");
23842
23909
  (0, import_react_use5.useDebounce)(
23843
23910
  () => {
23844
23911
  setSearchTerm(localeSearchTerm);
@@ -23847,14 +23914,14 @@ var SearchOnlyFilter = ({ onSearchChange, maxWidth }) => {
23847
23914
  300,
23848
23915
  [localeSearchTerm]
23849
23916
  );
23850
- return /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(
23917
+ return /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(
23851
23918
  SearchOnlyContext.Provider,
23852
23919
  {
23853
23920
  value: {
23854
23921
  searchTerm,
23855
23922
  setSearchTerm: setLocaleSearchTerm
23856
23923
  },
23857
- children: /* @__PURE__ */ (0, import_jsx_runtime129.jsx)("div", { css: { maxWidth: maxWidth != null ? maxWidth : "712px" }, children: /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(
23924
+ children: /* @__PURE__ */ (0, import_jsx_runtime130.jsx)("div", { css: { maxWidth: maxWidth != null ? maxWidth : "712px" }, children: /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(
23858
23925
  InputKeywordSearch,
23859
23926
  {
23860
23927
  placeholder: "Search...",
@@ -23873,18 +23940,18 @@ init_emotion_jsx_shim();
23873
23940
 
23874
23941
  // src/components/Skeleton/Skeleton.styles.ts
23875
23942
  init_emotion_jsx_shim();
23876
- var import_react149 = require("@emotion/react");
23877
- var lightFadingOut = import_react149.keyframes`
23943
+ var import_react150 = require("@emotion/react");
23944
+ var lightFadingOut = import_react150.keyframes`
23878
23945
  from { opacity: 0.1; }
23879
23946
  to { opacity: 0.025; }
23880
23947
  `;
23881
- var skeletonStyles = import_react149.css`
23948
+ var skeletonStyles = import_react150.css`
23882
23949
  animation: ${lightFadingOut} 1s ease-out infinite alternate;
23883
23950
  background-color: var(--gray-900);
23884
23951
  `;
23885
23952
 
23886
23953
  // src/components/Skeleton/Skeleton.tsx
23887
- var import_jsx_runtime130 = require("@emotion/react/jsx-runtime");
23954
+ var import_jsx_runtime131 = require("@emotion/react/jsx-runtime");
23888
23955
  var Skeleton = ({
23889
23956
  width = "100%",
23890
23957
  height = "1.25rem",
@@ -23892,7 +23959,7 @@ var Skeleton = ({
23892
23959
  circle = false,
23893
23960
  children,
23894
23961
  ...otherProps
23895
- }) => /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(
23962
+ }) => /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(
23896
23963
  "div",
23897
23964
  {
23898
23965
  css: [
@@ -23917,8 +23984,8 @@ var React26 = __toESM(require("react"));
23917
23984
 
23918
23985
  // src/components/Switch/Switch.styles.ts
23919
23986
  init_emotion_jsx_shim();
23920
- var import_react150 = require("@emotion/react");
23921
- var SwitchInputContainer = import_react150.css`
23987
+ var import_react151 = require("@emotion/react");
23988
+ var SwitchInputContainer = import_react151.css`
23922
23989
  cursor: pointer;
23923
23990
  display: inline-block;
23924
23991
  position: relative;
@@ -23927,7 +23994,7 @@ var SwitchInputContainer = import_react150.css`
23927
23994
  vertical-align: middle;
23928
23995
  user-select: none;
23929
23996
  `;
23930
- var SwitchInput = import_react150.css`
23997
+ var SwitchInput = import_react151.css`
23931
23998
  appearance: none;
23932
23999
  border-radius: var(--rounded-full);
23933
24000
  background-color: var(--white);
@@ -23965,7 +24032,7 @@ var SwitchInput = import_react150.css`
23965
24032
  cursor: not-allowed;
23966
24033
  }
23967
24034
  `;
23968
- var SwitchInputDisabled = import_react150.css`
24035
+ var SwitchInputDisabled = import_react151.css`
23969
24036
  opacity: var(--opacity-50);
23970
24037
  cursor: not-allowed;
23971
24038
 
@@ -23973,7 +24040,7 @@ var SwitchInputDisabled = import_react150.css`
23973
24040
  cursor: not-allowed;
23974
24041
  }
23975
24042
  `;
23976
- var SwitchInputLabel = import_react150.css`
24043
+ var SwitchInputLabel = import_react151.css`
23977
24044
  align-items: center;
23978
24045
  color: var(--typography-base);
23979
24046
  display: inline-flex;
@@ -23994,26 +24061,26 @@ var SwitchInputLabel = import_react150.css`
23994
24061
  top: 0;
23995
24062
  }
23996
24063
  `;
23997
- var SwitchText = import_react150.css`
24064
+ var SwitchText = import_react151.css`
23998
24065
  color: var(--gray-500);
23999
24066
  font-size: var(--fs-sm);
24000
24067
  padding-inline: var(--spacing-2xl) 0;
24001
24068
  `;
24002
24069
 
24003
24070
  // src/components/Switch/Switch.tsx
24004
- var import_jsx_runtime131 = require("@emotion/react/jsx-runtime");
24071
+ var import_jsx_runtime132 = require("@emotion/react/jsx-runtime");
24005
24072
  var Switch = React26.forwardRef(
24006
24073
  ({ label, infoText, toggleText, children, ...inputProps }, ref) => {
24007
24074
  let additionalText = infoText;
24008
24075
  if (infoText && toggleText) {
24009
24076
  additionalText = inputProps.checked ? toggleText : infoText;
24010
24077
  }
24011
- return /* @__PURE__ */ (0, import_jsx_runtime131.jsxs)(import_jsx_runtime131.Fragment, { children: [
24012
- /* @__PURE__ */ (0, import_jsx_runtime131.jsxs)("label", { css: [SwitchInputContainer, inputProps.disabled ? SwitchInputDisabled : void 0], children: [
24013
- /* @__PURE__ */ (0, import_jsx_runtime131.jsx)("input", { type: "checkbox", css: SwitchInput, ...inputProps, ref }),
24014
- /* @__PURE__ */ (0, import_jsx_runtime131.jsx)("span", { css: SwitchInputLabel, children: label })
24078
+ return /* @__PURE__ */ (0, import_jsx_runtime132.jsxs)(import_jsx_runtime132.Fragment, { children: [
24079
+ /* @__PURE__ */ (0, import_jsx_runtime132.jsxs)("label", { css: [SwitchInputContainer, inputProps.disabled ? SwitchInputDisabled : void 0], children: [
24080
+ /* @__PURE__ */ (0, import_jsx_runtime132.jsx)("input", { type: "checkbox", css: SwitchInput, ...inputProps, ref }),
24081
+ /* @__PURE__ */ (0, import_jsx_runtime132.jsx)("span", { css: SwitchInputLabel, children: label })
24015
24082
  ] }),
24016
- additionalText ? /* @__PURE__ */ (0, import_jsx_runtime131.jsx)("p", { css: SwitchText, children: additionalText }) : null,
24083
+ additionalText ? /* @__PURE__ */ (0, import_jsx_runtime132.jsx)("p", { css: SwitchText, children: additionalText }) : null,
24017
24084
  children
24018
24085
  ] });
24019
24086
  }
@@ -24025,8 +24092,8 @@ var React27 = __toESM(require("react"));
24025
24092
 
24026
24093
  // src/components/Table/Table.styles.ts
24027
24094
  init_emotion_jsx_shim();
24028
- var import_react151 = require("@emotion/react");
24029
- var table = ({ cellPadding = "var(--spacing-base) var(--spacing-md)" }) => import_react151.css`
24095
+ var import_react152 = require("@emotion/react");
24096
+ var table = ({ cellPadding = "var(--spacing-base) var(--spacing-md)" }) => import_react152.css`
24030
24097
  border-bottom: 1px solid var(--gray-400);
24031
24098
  border-collapse: collapse;
24032
24099
  min-width: 100%;
@@ -24037,67 +24104,67 @@ var table = ({ cellPadding = "var(--spacing-base) var(--spacing-md)" }) => impor
24037
24104
  padding: ${cellPadding};
24038
24105
  }
24039
24106
  `;
24040
- var tableHead = import_react151.css`
24107
+ var tableHead = import_react152.css`
24041
24108
  background: var(--gray-100);
24042
24109
  color: var(--typography-base);
24043
24110
  text-align: left;
24044
24111
  `;
24045
- var tableRow = import_react151.css`
24112
+ var tableRow = import_react152.css`
24046
24113
  border-bottom: 1px solid var(--gray-200);
24047
24114
  `;
24048
- var tableCellHead = import_react151.css`
24115
+ var tableCellHead = import_react152.css`
24049
24116
  font-size: var(--fs-sm);
24050
24117
  text-transform: uppercase;
24051
24118
  font-weight: var(--fw-bold);
24052
24119
  `;
24053
24120
 
24054
24121
  // src/components/Table/Table.tsx
24055
- var import_jsx_runtime132 = require("@emotion/react/jsx-runtime");
24122
+ var import_jsx_runtime133 = require("@emotion/react/jsx-runtime");
24056
24123
  var Table = React27.forwardRef(
24057
24124
  ({ children, cellPadding, ...otherProps }, ref) => {
24058
- return /* @__PURE__ */ (0, import_jsx_runtime132.jsx)("table", { ref, css: table({ cellPadding }), ...otherProps, children });
24125
+ return /* @__PURE__ */ (0, import_jsx_runtime133.jsx)("table", { ref, css: table({ cellPadding }), ...otherProps, children });
24059
24126
  }
24060
24127
  );
24061
24128
  var TableHead = React27.forwardRef(
24062
24129
  ({ children, ...otherProps }, ref) => {
24063
- return /* @__PURE__ */ (0, import_jsx_runtime132.jsx)("thead", { ref, css: tableHead, ...otherProps, children });
24130
+ return /* @__PURE__ */ (0, import_jsx_runtime133.jsx)("thead", { ref, css: tableHead, ...otherProps, children });
24064
24131
  }
24065
24132
  );
24066
24133
  var TableBody = React27.forwardRef(
24067
24134
  ({ children, ...otherProps }, ref) => {
24068
- return /* @__PURE__ */ (0, import_jsx_runtime132.jsx)("tbody", { ref, ...otherProps, children });
24135
+ return /* @__PURE__ */ (0, import_jsx_runtime133.jsx)("tbody", { ref, ...otherProps, children });
24069
24136
  }
24070
24137
  );
24071
24138
  var TableFoot = React27.forwardRef(
24072
24139
  ({ children, ...otherProps }, ref) => {
24073
- return /* @__PURE__ */ (0, import_jsx_runtime132.jsx)("tfoot", { ref, ...otherProps, children });
24140
+ return /* @__PURE__ */ (0, import_jsx_runtime133.jsx)("tfoot", { ref, ...otherProps, children });
24074
24141
  }
24075
24142
  );
24076
24143
  var TableRow = React27.forwardRef(
24077
24144
  ({ children, ...otherProps }, ref) => {
24078
- return /* @__PURE__ */ (0, import_jsx_runtime132.jsx)("tr", { ref, css: tableRow, ...otherProps, children });
24145
+ return /* @__PURE__ */ (0, import_jsx_runtime133.jsx)("tr", { ref, css: tableRow, ...otherProps, children });
24079
24146
  }
24080
24147
  );
24081
24148
  var TableCellHead = React27.forwardRef(
24082
24149
  ({ children, ...otherProps }, ref) => {
24083
- return /* @__PURE__ */ (0, import_jsx_runtime132.jsx)("th", { ref, css: tableCellHead, ...otherProps, children });
24150
+ return /* @__PURE__ */ (0, import_jsx_runtime133.jsx)("th", { ref, css: tableCellHead, ...otherProps, children });
24084
24151
  }
24085
24152
  );
24086
24153
  var TableCellData = React27.forwardRef(
24087
24154
  ({ children, ...otherProps }, ref) => {
24088
- return /* @__PURE__ */ (0, import_jsx_runtime132.jsx)("td", { ref, ...otherProps, children });
24155
+ return /* @__PURE__ */ (0, import_jsx_runtime133.jsx)("td", { ref, ...otherProps, children });
24089
24156
  }
24090
24157
  );
24091
24158
 
24092
24159
  // src/components/Tabs/Tabs.tsx
24093
24160
  init_emotion_jsx_shim();
24094
- var import_react153 = require("@ariakit/react");
24095
- var import_react154 = require("react");
24161
+ var import_react154 = require("@ariakit/react");
24162
+ var import_react155 = require("react");
24096
24163
 
24097
24164
  // src/components/Tabs/Tabs.styles.ts
24098
24165
  init_emotion_jsx_shim();
24099
- var import_react152 = require("@emotion/react");
24100
- var tabButtonStyles = import_react152.css`
24166
+ var import_react153 = require("@emotion/react");
24167
+ var tabButtonStyles = import_react153.css`
24101
24168
  align-items: center;
24102
24169
  border: 0;
24103
24170
  height: 2.5rem;
@@ -24114,16 +24181,16 @@ var tabButtonStyles = import_react152.css`
24114
24181
  box-shadow: inset 0 -2px 0 var(--brand-secondary-3);
24115
24182
  }
24116
24183
  `;
24117
- var tabButtonGroupStyles = import_react152.css`
24184
+ var tabButtonGroupStyles = import_react153.css`
24118
24185
  display: flex;
24119
24186
  gap: var(--spacing-base);
24120
24187
  border-bottom: 1px solid var(--gray-300);
24121
24188
  `;
24122
24189
 
24123
24190
  // src/components/Tabs/Tabs.tsx
24124
- var import_jsx_runtime133 = require("@emotion/react/jsx-runtime");
24191
+ var import_jsx_runtime134 = require("@emotion/react/jsx-runtime");
24125
24192
  var useCurrentTab = () => {
24126
- const context = (0, import_react153.useTabStore)();
24193
+ const context = (0, import_react154.useTabStore)();
24127
24194
  if (!context) {
24128
24195
  throw new Error("This component can only be used inside <Tabs>");
24129
24196
  }
@@ -24137,13 +24204,13 @@ var Tabs = ({
24137
24204
  manual,
24138
24205
  ...props
24139
24206
  }) => {
24140
- const selected = (0, import_react154.useMemo)(() => {
24207
+ const selected = (0, import_react155.useMemo)(() => {
24141
24208
  if (selectedId)
24142
24209
  return selectedId;
24143
24210
  return useHashForState && typeof window !== "undefined" && window.location.hash ? window.location.hash.substring(1) : void 0;
24144
24211
  }, [selectedId, useHashForState]);
24145
- const tab = (0, import_react153.useTabStore)({ ...props, selectOnMove: !manual, selectedId: selected });
24146
- const onTabSelect = (0, import_react154.useCallback)(
24212
+ const tab = (0, import_react154.useTabStore)({ ...props, selectOnMove: !manual, selectedId: selected });
24213
+ const onTabSelect = (0, import_react155.useCallback)(
24147
24214
  (value) => {
24148
24215
  const selectedValueWithoutNull = value != null ? value : void 0;
24149
24216
  onSelectedIdChange == null ? void 0 : onSelectedIdChange(selectedValueWithoutNull);
@@ -24154,28 +24221,28 @@ var Tabs = ({
24154
24221
  },
24155
24222
  [onSelectedIdChange, useHashForState]
24156
24223
  );
24157
- (0, import_react154.useEffect)(() => {
24224
+ (0, import_react155.useEffect)(() => {
24158
24225
  if (selected && selected !== tab.getState().activeId) {
24159
24226
  tab.setSelectedId(selected);
24160
24227
  }
24161
24228
  }, [selected, tab]);
24162
- return /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(import_react153.TabProvider, { store: tab, setSelectedId: onTabSelect, children });
24229
+ return /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(import_react154.TabProvider, { store: tab, setSelectedId: onTabSelect, children });
24163
24230
  };
24164
24231
  var TabButtonGroup = ({ children, ...props }) => {
24165
- return /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(import_react153.TabList, { ...props, css: tabButtonGroupStyles, children });
24232
+ return /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(import_react154.TabList, { ...props, css: tabButtonGroupStyles, children });
24166
24233
  };
24167
24234
  var TabButton = ({
24168
24235
  children,
24169
24236
  id,
24170
24237
  ...props
24171
24238
  }) => {
24172
- return /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(import_react153.Tab, { type: "button", id, ...props, css: tabButtonStyles, children });
24239
+ return /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(import_react154.Tab, { type: "button", id, ...props, css: tabButtonStyles, children });
24173
24240
  };
24174
24241
  var TabContent = ({
24175
24242
  children,
24176
24243
  ...props
24177
24244
  }) => {
24178
- return /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(import_react153.TabPanel, { ...props, children });
24245
+ return /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(import_react154.TabPanel, { ...props, children });
24179
24246
  };
24180
24247
 
24181
24248
  // src/components/Toast/Toast.tsx
@@ -24184,8 +24251,8 @@ var import_react_toastify = require("react-toastify");
24184
24251
 
24185
24252
  // src/components/Toast/Toast.styles.ts
24186
24253
  init_emotion_jsx_shim();
24187
- var import_react155 = require("@emotion/react");
24188
- var toastContainerStyles = import_react155.css`
24254
+ var import_react156 = require("@emotion/react");
24255
+ var toastContainerStyles = import_react156.css`
24189
24256
  ${functionalColors}
24190
24257
 
24191
24258
  --toastify-color-light: white;
@@ -24408,9 +24475,9 @@ var toastContainerStyles = import_react155.css`
24408
24475
  `;
24409
24476
 
24410
24477
  // src/components/Toast/Toast.tsx
24411
- var import_jsx_runtime134 = require("@emotion/react/jsx-runtime");
24478
+ var import_jsx_runtime135 = require("@emotion/react/jsx-runtime");
24412
24479
  var ToastContainer = ({ limit = 4 }) => {
24413
- return /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(
24480
+ return /* @__PURE__ */ (0, import_jsx_runtime135.jsx)(
24414
24481
  import_react_toastify.ToastContainer,
24415
24482
  {
24416
24483
  css: toastContainerStyles,
@@ -24510,6 +24577,7 @@ var ToastContainer = ({ limit = 4 }) => {
24510
24577
  MenuItemInner,
24511
24578
  MenuItemSeparator,
24512
24579
  Modal,
24580
+ ModalDialog,
24513
24581
  MultilineChip,
24514
24582
  NUMBER_OPERATORS,
24515
24583
  PageHeaderSection,