@loomhq/lens 12.7.0 → 12.8.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/cjs/index.js CHANGED
@@ -3693,9 +3693,9 @@ TextButton.displayName = "TextButton";
3693
3693
  var text_button_default = TextButton;
3694
3694
 
3695
3695
  // src/components/select/select.tsx
3696
- var import_styled18 = __toESM(require("@emotion/styled"));
3696
+ var import_styled19 = __toESM(require("@emotion/styled"));
3697
3697
  var import_downshift = __toESM(require("downshift"));
3698
- var import_react23 = __toESM(require("react"));
3698
+ var import_react24 = __toESM(require("react"));
3699
3699
  var import_react_laag = require("react-laag");
3700
3700
  var import_resize_observer_polyfill = __toESM(require("resize-observer-polyfill"));
3701
3701
 
@@ -3884,11 +3884,51 @@ var Menu = (_a) => {
3884
3884
  };
3885
3885
  var menu_default = Menu;
3886
3886
 
3887
+ // src/components/search-bar/search-bar.tsx
3888
+ var import_styled18 = __toESM(require("@emotion/styled"));
3889
+ var import_react23 = __toESM(require("react"));
3890
+
3891
+ // src/components/icon/available-icons/search.tsx
3892
+ var import_search = __toESM(require("@atlaskit/icon/core/search"));
3893
+ var React23 = __toESM(require("react"));
3894
+ function SvgSearch() {
3895
+ return /* @__PURE__ */ React23.createElement(import_search.default, { label: "", testId: "ads-refreshed-icon" });
3896
+ }
3897
+
3898
+ // src/components/search-bar/search-bar.tsx
3899
+ var SearchBarContainer = import_styled18.default.div`
3900
+ padding: ${u(1.5)} ${u(1.5)} 0;
3901
+ margin-bottom: ${u(1.5)};
3902
+ position: sticky;
3903
+ top: 0;
3904
+ `;
3905
+ var SearchBar = ({
3906
+ ariaLabel,
3907
+ placeholder,
3908
+ value,
3909
+ onChange,
3910
+ getInputProps
3911
+ }) => {
3912
+ return /* @__PURE__ */ import_react23.default.createElement(SearchBarContainer, null, /* @__PURE__ */ import_react23.default.createElement(
3913
+ text_input_default,
3914
+ __spreadValues({
3915
+ "aria-label": ariaLabel,
3916
+ icon: /* @__PURE__ */ import_react23.default.createElement(SvgSearch, null)
3917
+ }, getInputProps({
3918
+ placeholder,
3919
+ value,
3920
+ onChange,
3921
+ type: "text"
3922
+ }))
3923
+ ));
3924
+ };
3925
+ var search_bar_default = SearchBar;
3926
+
3887
3927
  // src/components/select/select.tsx
3888
- var SelectWrapper = import_styled18.default.div`
3928
+ var SelectWrapper = import_styled19.default.div`
3889
3929
  position: relative;
3890
3930
  `;
3891
- var SelectHeaderWrapper = import_styled18.default.button`
3931
+ var SelectHeaderWrapper = import_styled19.default.button`
3892
3932
  appearance: none;
3893
3933
  font: inherit;
3894
3934
  text-align: left;
@@ -3930,7 +3970,7 @@ var SelectHeaderWrapper = import_styled18.default.button`
3930
3970
  cursor: default;
3931
3971
  }
3932
3972
  `;
3933
- var Image3 = import_styled18.default.img`
3973
+ var Image3 = import_styled19.default.img`
3934
3974
  height: 100%;
3935
3975
  width: auto;
3936
3976
  min-width: 100%;
@@ -3938,12 +3978,12 @@ var Image3 = import_styled18.default.img`
3938
3978
  object-fit: cover;
3939
3979
  opacity: ${({ isDisabled }) => isDisabled ? 0.5 : 1};
3940
3980
  `;
3941
- var Group = import_styled18.default.ul`
3981
+ var Group = import_styled19.default.ul`
3942
3982
  list-style: none;
3943
3983
  margin: 0;
3944
3984
  padding: 0;
3945
3985
  `;
3946
- var ErrorMessage = import_styled18.default.span`
3986
+ var ErrorMessage = import_styled19.default.span`
3947
3987
  color: var(--lns-color-red);
3948
3988
  margin-top: var(--lns-space-xsmall);
3949
3989
  display: block;
@@ -4026,7 +4066,7 @@ var SelectHeader = ({
4026
4066
  const iconColumn = hasIcon ? "auto" : "";
4027
4067
  const columns = `${iconColumn} 1fr auto`;
4028
4068
  const color = isDisabled ? "disabledContent" : void 0;
4029
- return /* @__PURE__ */ import_react23.default.createElement(
4069
+ return /* @__PURE__ */ import_react24.default.createElement(
4030
4070
  SelectHeaderWrapper,
4031
4071
  __spreadProps(__spreadValues(__spreadValues({}, getToggleButtonProps()), getHeaderAccessibilityProps({
4032
4072
  selectedItem,
@@ -4039,20 +4079,20 @@ var SelectHeader = ({
4039
4079
  columns,
4040
4080
  hasError
4041
4081
  }),
4042
- hasIcon && (typeof icon === "string" ? /* @__PURE__ */ import_react23.default.createElement(container_default, { radius: "50", width: 3, height: 3, overflow: "hidden" }, /* @__PURE__ */ import_react23.default.createElement(align_default, { alignment: "center" }, /* @__PURE__ */ import_react23.default.createElement(Image3, { src: icon, alt: "", isDisabled }))) : /* @__PURE__ */ import_react23.default.createElement(
4082
+ hasIcon && (typeof icon === "string" ? /* @__PURE__ */ import_react24.default.createElement(container_default, { radius: "50", width: 3, height: 3, overflow: "hidden" }, /* @__PURE__ */ import_react24.default.createElement(align_default, { alignment: "center" }, /* @__PURE__ */ import_react24.default.createElement(Image3, { src: icon, alt: "", isDisabled }))) : /* @__PURE__ */ import_react24.default.createElement(
4043
4083
  icon_default,
4044
4084
  {
4045
4085
  icon: getIcon({ options, selectedItem, selectedOptionValue }),
4046
4086
  color
4047
4087
  }
4048
4088
  )),
4049
- /* @__PURE__ */ import_react23.default.createElement(text_default, { hasEllipsis: true, color: hasPlaceholder ? "bodyDimmed" : "inherit" }, getTitle({
4089
+ /* @__PURE__ */ import_react24.default.createElement(text_default, { hasEllipsis: true, color: hasPlaceholder ? "bodyDimmed" : "inherit" }, getTitle({
4050
4090
  options,
4051
4091
  selectedItem,
4052
4092
  selectedOptionValue,
4053
4093
  selectPlaceholder
4054
4094
  })),
4055
- /* @__PURE__ */ import_react23.default.createElement(icon_default, { icon: /* @__PURE__ */ import_react23.default.createElement(SvgChevronDown, null), color })
4095
+ /* @__PURE__ */ import_react24.default.createElement(icon_default, { icon: /* @__PURE__ */ import_react24.default.createElement(SvgChevronDown, null), color })
4056
4096
  );
4057
4097
  };
4058
4098
  var CustomHeader = ({
@@ -4111,7 +4151,7 @@ var didSelectedOptionValueChange = (selectedOptionValue, prevSelectedItem) => {
4111
4151
  };
4112
4152
  var renderOption = (item, index, selectedItem, selectedOptionValue, highlightedIndex, getItemProps) => {
4113
4153
  const isSelected = !selectedItem && item.value === selectedOptionValue || selectedItem && selectedItem.value === item.value;
4114
- return /* @__PURE__ */ import_react23.default.createElement(
4154
+ return /* @__PURE__ */ import_react24.default.createElement(
4115
4155
  MenuItem,
4116
4156
  __spreadProps(__spreadValues({
4117
4157
  key: index,
@@ -4139,16 +4179,18 @@ var SelectMenu = (_a) => {
4139
4179
  selectedItem,
4140
4180
  selectedOptionValue,
4141
4181
  highlightedIndex,
4142
- getItemProps
4182
+ getItemProps,
4183
+ search
4143
4184
  } = _b, menuProps = __objRest(_b, [
4144
4185
  "options",
4145
4186
  "selectedItem",
4146
4187
  "selectedOptionValue",
4147
4188
  "highlightedIndex",
4148
- "getItemProps"
4189
+ "getItemProps",
4190
+ "search"
4149
4191
  ]);
4150
4192
  if (!isGrouped(options)) {
4151
- return /* @__PURE__ */ import_react23.default.createElement(menu_default, __spreadValues({}, menuProps), options.map(
4193
+ return /* @__PURE__ */ import_react24.default.createElement(menu_default, __spreadValues({ search }, menuProps), options.map(
4152
4194
  (item, index) => renderOption(
4153
4195
  item,
4154
4196
  index,
@@ -4160,9 +4202,9 @@ var SelectMenu = (_a) => {
4160
4202
  ));
4161
4203
  }
4162
4204
  let downshiftIndex = 0;
4163
- return /* @__PURE__ */ import_react23.default.createElement(menu_default, __spreadValues({}, menuProps), options.map((group) => {
4205
+ return /* @__PURE__ */ import_react24.default.createElement(menu_default, __spreadValues({ search }, menuProps), options.map((group) => {
4164
4206
  const groupId = `group-${group.group.replace(/\s+/g, "-")}`;
4165
- return /* @__PURE__ */ import_react23.default.createElement("li", { key: groupId }, /* @__PURE__ */ import_react23.default.createElement(spacer_default, { left: "medium", top: "small", bottom: "xsmall" }, /* @__PURE__ */ import_react23.default.createElement(text_default, { id: groupId, size: "body-sm", fontWeight: "bold" }, group.group)), /* @__PURE__ */ import_react23.default.createElement(Group, { role: "group", "aria-labelledby": groupId }, group.items.map((item) => {
4207
+ return /* @__PURE__ */ import_react24.default.createElement("li", { key: groupId }, /* @__PURE__ */ import_react24.default.createElement(spacer_default, { left: "medium", top: "small", bottom: "xsmall" }, /* @__PURE__ */ import_react24.default.createElement(text_default, { id: groupId, size: "body-sm", fontWeight: "bold" }, group.group)), /* @__PURE__ */ import_react24.default.createElement(Group, { role: "group", "aria-labelledby": groupId }, group.items.map((item) => {
4166
4208
  return renderOption(
4167
4209
  item,
4168
4210
  downshiftIndex++,
@@ -4182,6 +4224,7 @@ var Select = (_a) => {
4182
4224
  menuMaxWidth,
4183
4225
  menuMaxHeight = 34,
4184
4226
  menuMinWidth,
4227
+ triggerOffset = 0,
4185
4228
  ariaMenuName,
4186
4229
  selectedOptionValue,
4187
4230
  onOuterClick,
@@ -4192,7 +4235,8 @@ var Select = (_a) => {
4192
4235
  onOpenChange,
4193
4236
  trigger,
4194
4237
  hasError,
4195
- errorMessage = "Oops, that didn't work."
4238
+ errorMessage = "Oops, that didn't work.",
4239
+ search
4196
4240
  } = _b, props = __objRest(_b, [
4197
4241
  "container",
4198
4242
  "onChange",
@@ -4200,6 +4244,7 @@ var Select = (_a) => {
4200
4244
  "menuMaxWidth",
4201
4245
  "menuMaxHeight",
4202
4246
  "menuMinWidth",
4247
+ "triggerOffset",
4203
4248
  "ariaMenuName",
4204
4249
  "selectedOptionValue",
4205
4250
  "onOuterClick",
@@ -4210,14 +4255,20 @@ var Select = (_a) => {
4210
4255
  "onOpenChange",
4211
4256
  "trigger",
4212
4257
  "hasError",
4213
- "errorMessage"
4258
+ "errorMessage",
4259
+ "search"
4214
4260
  ]);
4215
4261
  const environment = getDownshiftEnvironment(container);
4216
- const [downshiftIsOpen, setDownshiftIsOpen] = (0, import_react23.useState)(false);
4217
- const [prevSelectedItem, setPrevSelectedItem] = (0, import_react23.useState)(
4262
+ const [downshiftIsOpen, setDownshiftIsOpen] = (0, import_react24.useState)(false);
4263
+ const [searchValue, setSearchValue] = (0, import_react24.useState)("");
4264
+ const onSearchChange = (e) => {
4265
+ const value = e.target.value;
4266
+ setSearchValue(value);
4267
+ };
4268
+ const [prevSelectedItem, setPrevSelectedItem] = (0, import_react24.useState)(
4218
4269
  getSelectedOption(selectedOptionValue, options)
4219
4270
  );
4220
- const [selectedItem, setSelectedItem] = (0, import_react23.useState)(prevSelectedItem);
4271
+ const [selectedItem, setSelectedItem] = (0, import_react24.useState)(prevSelectedItem);
4221
4272
  const onDownshiftChange = (item) => {
4222
4273
  setSelectedItem(item);
4223
4274
  onChange && onChange(item ? item : "");
@@ -4239,16 +4290,17 @@ var Select = (_a) => {
4239
4290
  ResizeObserver: import_resize_observer_polyfill.default,
4240
4291
  placement: menuPositions[menuPosition],
4241
4292
  auto: true,
4242
- snap: true
4293
+ snap: true,
4294
+ triggerOffset
4243
4295
  });
4244
- (0, import_react23.useEffect)(() => {
4296
+ (0, import_react24.useEffect)(() => {
4245
4297
  if (didSelectedOptionValueChange(selectedOptionValue, prevSelectedItem)) {
4246
4298
  const selectedItem2 = getSelectedOption(selectedOptionValue, options);
4247
4299
  setPrevSelectedItem(selectedItem2);
4248
4300
  setSelectedItem(selectedItem2);
4249
4301
  }
4250
4302
  }, [selectedOptionValue, options, prevSelectedItem]);
4251
- (0, import_react23.useEffect)(() => {
4303
+ (0, import_react24.useEffect)(() => {
4252
4304
  onOpenChange && onOpenChange(downshiftIsOpen);
4253
4305
  }, [downshiftIsOpen, onOpenChange]);
4254
4306
  const stateReducer = (state, changes) => {
@@ -4261,7 +4313,42 @@ var Select = (_a) => {
4261
4313
  }
4262
4314
  return changes;
4263
4315
  };
4264
- return /* @__PURE__ */ import_react23.default.createElement(SelectWrapper, __spreadValues({}, props), /* @__PURE__ */ import_react23.default.createElement(import_downshift.default, __spreadProps(__spreadValues({}, downshiftProps), { stateReducer }), ({
4316
+ options = (0, import_react24.useMemo)(() => {
4317
+ if (search) {
4318
+ if (isGrouped(options)) {
4319
+ let filteredGroups;
4320
+ if (search.searchType === "startsWith") {
4321
+ filteredGroups = options.map((group) => __spreadProps(__spreadValues({}, group), {
4322
+ items: group.items.filter(
4323
+ (item) => item.title.toString().toLowerCase().startsWith(searchValue.toLowerCase())
4324
+ )
4325
+ }));
4326
+ } else {
4327
+ filteredGroups = options.map((group) => __spreadProps(__spreadValues({}, group), {
4328
+ items: group.items.filter(
4329
+ (item) => item.title.toString().toLowerCase().includes(searchValue.toLowerCase())
4330
+ )
4331
+ }));
4332
+ }
4333
+ return filteredGroups.reduce((acc, group) => {
4334
+ if (group.items.length > 0) {
4335
+ acc.push(group);
4336
+ }
4337
+ return acc;
4338
+ }, []);
4339
+ }
4340
+ if (search.searchType === "startsWith") {
4341
+ return options.filter(
4342
+ (option) => option.title.toString().toLowerCase().startsWith(searchValue.toLowerCase())
4343
+ );
4344
+ }
4345
+ return options.filter(
4346
+ (option) => option.title.toString().toLowerCase().includes(searchValue.toLowerCase())
4347
+ );
4348
+ }
4349
+ return options;
4350
+ }, [options, searchValue, search]);
4351
+ return /* @__PURE__ */ import_react24.default.createElement(SelectWrapper, __spreadValues({}, props), /* @__PURE__ */ import_react24.default.createElement(import_downshift.default, __spreadProps(__spreadValues({}, downshiftProps), { stateReducer }), ({
4265
4352
  getItemProps,
4266
4353
  getInputProps,
4267
4354
  getMenuProps,
@@ -4273,7 +4360,7 @@ var Select = (_a) => {
4273
4360
  }) => {
4274
4361
  return (
4275
4362
  // Don't set the role to combobox to ensure a consistent experience for screen readers
4276
- /* @__PURE__ */ import_react23.default.createElement("div", { role: "presentation" }, /* @__PURE__ */ import_react23.default.createElement("div", __spreadValues({}, triggerProps), trigger ? /* @__PURE__ */ import_react23.default.createElement(
4363
+ /* @__PURE__ */ import_react24.default.createElement("div", { role: "presentation" }, /* @__PURE__ */ import_react24.default.createElement("div", __spreadValues({}, triggerProps), trigger ? /* @__PURE__ */ import_react24.default.createElement(
4277
4364
  CustomHeader,
4278
4365
  {
4279
4366
  getToggleButtonProps,
@@ -4288,7 +4375,7 @@ var Select = (_a) => {
4288
4375
  hasError,
4289
4376
  errorMessage
4290
4377
  }
4291
- ) : /* @__PURE__ */ import_react23.default.createElement(
4378
+ ) : /* @__PURE__ */ import_react24.default.createElement(
4292
4379
  SelectHeader,
4293
4380
  {
4294
4381
  getToggleButtonProps,
@@ -4303,7 +4390,7 @@ var Select = (_a) => {
4303
4390
  hasError
4304
4391
  }
4305
4392
  )), downshiftIsOpen && isOpen && renderLayer(
4306
- /* @__PURE__ */ import_react23.default.createElement(
4393
+ /* @__PURE__ */ import_react24.default.createElement(
4307
4394
  "div",
4308
4395
  __spreadProps(__spreadValues({}, layerProps), {
4309
4396
  style: __spreadProps(__spreadValues({}, layerProps.style), {
@@ -4311,7 +4398,7 @@ var Select = (_a) => {
4311
4398
  width: menuMinWidth ? "auto" : triggerBounds == null ? void 0 : triggerBounds.width
4312
4399
  })
4313
4400
  }),
4314
- /* @__PURE__ */ import_react23.default.createElement(
4401
+ /* @__PURE__ */ import_react24.default.createElement(
4315
4402
  SelectMenu,
4316
4403
  {
4317
4404
  options,
@@ -4323,26 +4410,36 @@ var Select = (_a) => {
4323
4410
  downshiftMenuProps: getMenuProps,
4324
4411
  maxWidth: menuMaxWidth,
4325
4412
  maxHeight: menuMaxHeight,
4326
- minWidth: menuMinWidth
4413
+ minWidth: menuMinWidth,
4414
+ search: search && /* @__PURE__ */ import_react24.default.createElement(
4415
+ search_bar_default,
4416
+ {
4417
+ ariaLabel: search.searchPlaceholder,
4418
+ placeholder: search.searchPlaceholder,
4419
+ value: searchValue,
4420
+ onChange: onSearchChange,
4421
+ getInputProps
4422
+ }
4423
+ )
4327
4424
  }
4328
4425
  )
4329
4426
  )
4330
- ), hasError && !downshiftIsOpen && /* @__PURE__ */ import_react23.default.createElement(ErrorMessage, null, errorMessage))
4427
+ ), hasError && !downshiftIsOpen && /* @__PURE__ */ import_react24.default.createElement(ErrorMessage, null, errorMessage))
4331
4428
  );
4332
4429
  }));
4333
4430
  };
4334
4431
  var select_default = Select;
4335
4432
 
4336
4433
  // src/components/backdrop/backdrop.tsx
4337
- var import_styled19 = __toESM(require("@emotion/styled"));
4338
- var import_react25 = __toESM(require("react"));
4434
+ var import_styled20 = __toESM(require("@emotion/styled"));
4435
+ var import_react26 = __toESM(require("react"));
4339
4436
  var import_transition_hook = require("transition-hook");
4340
4437
 
4341
4438
  // src/hooks/use-prevent-scroll.ts
4342
- var import_react24 = require("react");
4439
+ var import_react25 = require("react");
4343
4440
  function usePreventScroll(level, enabled) {
4344
4441
  const safeDocument = document;
4345
- (0, import_react24.useLayoutEffect)(() => {
4442
+ (0, import_react25.useLayoutEffect)(() => {
4346
4443
  const html = safeDocument == null ? void 0 : safeDocument.documentElement;
4347
4444
  const body = safeDocument == null ? void 0 : safeDocument.body;
4348
4445
  if (safeDocument == void 0 || !html || !body) {
@@ -4401,7 +4498,7 @@ var use_prevent_scroll_default = usePreventScroll;
4401
4498
 
4402
4499
  // src/components/backdrop/backdrop.tsx
4403
4500
  var duration = 300;
4404
- var BackdropWrapper = import_styled19.default.div`
4501
+ var BackdropWrapper = import_styled20.default.div`
4405
4502
  position: fixed;
4406
4503
  top: 0;
4407
4504
  left: 0;
@@ -4411,7 +4508,7 @@ var BackdropWrapper = import_styled19.default.div`
4411
4508
  z-index: ${(props) => props.zIndex};
4412
4509
  overflow: hidden;
4413
4510
  `;
4414
- var ChildrenWrapper = import_styled19.default.div`
4511
+ var ChildrenWrapper = import_styled20.default.div`
4415
4512
  overflow: auto;
4416
4513
  height: 100%;
4417
4514
  `;
@@ -4429,7 +4526,7 @@ var Backdrop = (_a) => {
4429
4526
  ]);
4430
4527
  const { stage, shouldMount } = (0, import_transition_hook.useTransition)(isOpen, duration);
4431
4528
  use_prevent_scroll_default("html", isOpen);
4432
- return /* @__PURE__ */ import_react25.default.createElement(import_react25.default.Fragment, null, shouldMount && /* @__PURE__ */ import_react25.default.createElement(
4529
+ return /* @__PURE__ */ import_react26.default.createElement(import_react26.default.Fragment, null, shouldMount && /* @__PURE__ */ import_react26.default.createElement(
4433
4530
  BackdropWrapper,
4434
4531
  __spreadValues({
4435
4532
  backgroundColor,
@@ -4439,31 +4536,31 @@ var Backdrop = (_a) => {
4439
4536
  opacity: stage === "enter" ? 1 : 0
4440
4537
  }
4441
4538
  }, props),
4442
- /* @__PURE__ */ import_react25.default.createElement(ChildrenWrapper, null, children)
4539
+ /* @__PURE__ */ import_react26.default.createElement(ChildrenWrapper, null, children)
4443
4540
  ));
4444
4541
  };
4445
4542
  var backdrop_default = Backdrop;
4446
4543
 
4447
4544
  // src/components/modal/modal.tsx
4448
- var import_styled20 = __toESM(require("@emotion/styled"));
4545
+ var import_styled21 = __toESM(require("@emotion/styled"));
4449
4546
  var import_focus_trap_react = __toESM(require("focus-trap-react"));
4450
- var import_react26 = __toESM(require("react"));
4547
+ var import_react27 = __toESM(require("react"));
4451
4548
 
4452
4549
  // src/components/icon/available-icons/close.tsx
4453
4550
  var import_close = __toESM(require("@atlaskit/icon/core/close"));
4454
- var React25 = __toESM(require("react"));
4551
+ var React27 = __toESM(require("react"));
4455
4552
  function SvgClose() {
4456
- return /* @__PURE__ */ React25.createElement(import_close.default, { label: "", testId: "ads-refreshed-icon" });
4553
+ return /* @__PURE__ */ React27.createElement(import_close.default, { label: "", testId: "ads-refreshed-icon" });
4457
4554
  }
4458
4555
 
4459
4556
  // src/components/modal/modal.tsx
4460
4557
  var DEFAULT_MODAL_CARD_HEIGHT = "70vh";
4461
- var ContentWrapper = import_styled20.default.div`
4558
+ var ContentWrapper = import_styled21.default.div`
4462
4559
  display: grid;
4463
4560
  grid-template-rows: ${(props) => props.rows};
4464
4561
  position: relative;
4465
4562
  `;
4466
- var ModalCardWrapper = import_styled20.default.dialog`
4563
+ var ModalCardWrapper = import_styled21.default.dialog`
4467
4564
  top: ${(props) => getPlacement(getSizeValue(props.maxHeight), props.placement).top};
4468
4565
  background-color: ${getColorValue("overlay")};
4469
4566
  color: ${getColorValue("body")};
@@ -4486,27 +4583,27 @@ var ModalCardWrapper = import_styled20.default.dialog`
4486
4583
  background: var(--lns-color-overlay);
4487
4584
  }
4488
4585
  `;
4489
- var CloseIconSection = import_styled20.default.div`
4586
+ var CloseIconSection = import_styled21.default.div`
4490
4587
  position: absolute;
4491
4588
  top: ${u(1.5)};
4492
4589
  right: ${u(1.5)};
4493
4590
  z-index: 1;
4494
4591
  `;
4495
- var RightButtonsSection = import_styled20.default.div`
4592
+ var RightButtonsSection = import_styled21.default.div`
4496
4593
  margin-left: auto;
4497
4594
 
4498
4595
  * {
4499
4596
  vertical-align: middle;
4500
4597
  }
4501
4598
  `;
4502
- var TitleSection = import_styled20.default.div`
4599
+ var TitleSection = import_styled21.default.div`
4503
4600
  padding-left: var(--lns-space-xlarge);
4504
4601
  padding-right: var(--lns-space-xlarge);
4505
4602
  padding-top: var(--lns-space-xlarge);
4506
4603
  padding-bottom: ${(props) => props.bottom};
4507
4604
  flex-shrink: 0;
4508
4605
  `;
4509
- var ButtonsSection = import_styled20.default.div`
4606
+ var ButtonsSection = import_styled21.default.div`
4510
4607
  padding-left: var(--lns-space-xlarge);
4511
4608
  padding-right: var(--lns-space-xlarge);
4512
4609
  padding-bottom: var(--lns-space-xlarge);
@@ -4516,7 +4613,7 @@ var ButtonsSection = import_styled20.default.div`
4516
4613
  justify-content: space-between;
4517
4614
  align-items: center;
4518
4615
  `;
4519
- var ChildrenSection2 = import_styled20.default.div`
4616
+ var ChildrenSection2 = import_styled21.default.div`
4520
4617
  display: flex;
4521
4618
  flex-direction: column;
4522
4619
  overflow: auto;
@@ -4528,7 +4625,7 @@ var ChildrenSection2 = import_styled20.default.div`
4528
4625
  border-color: ${getColorValue("border")};
4529
4626
  border-width: ${(props) => props.hasDividers ? "1px 0" : "0"};
4530
4627
  `;
4531
- var ModalCardChildrenSection = import_styled20.default.div`
4628
+ var ModalCardChildrenSection = import_styled21.default.div`
4532
4629
  overflow: auto;
4533
4630
 
4534
4631
  ${(props) => getMaxHeight(props.maxHeight)};
@@ -4579,14 +4676,14 @@ var ModalCard = (_a) => {
4579
4676
  }
4580
4677
  }
4581
4678
  };
4582
- (0, import_react26.useEffect)(() => {
4679
+ (0, import_react27.useEffect)(() => {
4583
4680
  window.addEventListener("keydown", keyListener);
4584
4681
  return () => {
4585
4682
  window.removeEventListener("keydown", keyListener);
4586
4683
  };
4587
4684
  }, [isOpen, onCloseClick]);
4588
4685
  use_prevent_scroll_default("html", isOpen);
4589
- return /* @__PURE__ */ import_react26.default.createElement(
4686
+ return /* @__PURE__ */ import_react27.default.createElement(
4590
4687
  import_focus_trap_react.default,
4591
4688
  {
4592
4689
  active: isOpen,
@@ -4595,7 +4692,7 @@ var ModalCard = (_a) => {
4595
4692
  allowOutsideClick: true
4596
4693
  }, initialFocus !== void 0 ? { initialFocus } : {})
4597
4694
  },
4598
- /* @__PURE__ */ import_react26.default.createElement(
4695
+ /* @__PURE__ */ import_react27.default.createElement(
4599
4696
  ModalCardWrapper,
4600
4697
  __spreadValues({
4601
4698
  open: isOpen,
@@ -4608,15 +4705,15 @@ var ModalCard = (_a) => {
4608
4705
  "aria-modal": ariaModal,
4609
4706
  "aria-labelledby": ariaLabelledBy
4610
4707
  }, props),
4611
- !removeClose && onCloseClick && /* @__PURE__ */ import_react26.default.createElement(CloseIconSection, null, /* @__PURE__ */ import_react26.default.createElement(
4708
+ !removeClose && onCloseClick && /* @__PURE__ */ import_react27.default.createElement(CloseIconSection, null, /* @__PURE__ */ import_react27.default.createElement(
4612
4709
  icon_button_default,
4613
4710
  {
4614
4711
  altText: "Close",
4615
- icon: /* @__PURE__ */ import_react26.default.createElement(SvgClose, null),
4712
+ icon: /* @__PURE__ */ import_react27.default.createElement(SvgClose, null),
4616
4713
  onClick: onCloseClick
4617
4714
  }
4618
4715
  )),
4619
- /* @__PURE__ */ import_react26.default.createElement(
4716
+ /* @__PURE__ */ import_react27.default.createElement(
4620
4717
  ModalCardChildrenSection,
4621
4718
  __spreadProps(__spreadValues({}, removeClose ? { tabIndex: 0 } : { tabIndex: -1 }), {
4622
4719
  maxHeight
@@ -4626,7 +4723,7 @@ var ModalCard = (_a) => {
4626
4723
  )
4627
4724
  );
4628
4725
  };
4629
- var Modal = import_react26.default.forwardRef(
4726
+ var Modal = import_react27.default.forwardRef(
4630
4727
  (_a, ref) => {
4631
4728
  var _b = _a, {
4632
4729
  children,
@@ -4682,14 +4779,14 @@ var Modal = import_react26.default.forwardRef(
4682
4779
  }
4683
4780
  onCloseClick(e);
4684
4781
  };
4685
- return /* @__PURE__ */ import_react26.default.createElement(backdrop_default, __spreadValues({ isOpen, zIndex }, props), /* @__PURE__ */ import_react26.default.createElement(
4782
+ return /* @__PURE__ */ import_react27.default.createElement(backdrop_default, __spreadValues({ isOpen, zIndex }, props), /* @__PURE__ */ import_react27.default.createElement(
4686
4783
  container_default,
4687
4784
  {
4688
4785
  height: "100%",
4689
4786
  onClick: closeClickHandler,
4690
4787
  onKeyDown
4691
4788
  },
4692
- /* @__PURE__ */ import_react26.default.createElement(
4789
+ /* @__PURE__ */ import_react27.default.createElement(
4693
4790
  ModalCard,
4694
4791
  {
4695
4792
  ref,
@@ -4704,19 +4801,19 @@ var Modal = import_react26.default.forwardRef(
4704
4801
  ariaLabelledBy: (_a2 = ariaLabelledBy != null ? ariaLabelledBy : titleId) != null ? _a2 : void 0,
4705
4802
  initialFocus
4706
4803
  },
4707
- /* @__PURE__ */ import_react26.default.createElement(
4804
+ /* @__PURE__ */ import_react27.default.createElement(
4708
4805
  ContentWrapper,
4709
4806
  {
4710
4807
  rows: `${title ? "auto " : ""} ${children ? "1fr " : ""} ${hasButtons ? "auto" : ""}`
4711
4808
  },
4712
- title && /* @__PURE__ */ import_react26.default.createElement(
4809
+ title && /* @__PURE__ */ import_react27.default.createElement(
4713
4810
  TitleSection,
4714
4811
  {
4715
4812
  bottom: children ? "var(--lns-space-medium)" : "var(--lns-space-xlarge)"
4716
4813
  },
4717
- /* @__PURE__ */ import_react26.default.createElement(text_default, { htmlTag: "h1", variant: "title", id: titleId }, title)
4814
+ /* @__PURE__ */ import_react27.default.createElement(text_default, { htmlTag: "h1", variant: "title", id: titleId }, title)
4718
4815
  ),
4719
- /* @__PURE__ */ import_react26.default.createElement(
4816
+ /* @__PURE__ */ import_react27.default.createElement(
4720
4817
  ChildrenSection2,
4721
4818
  {
4722
4819
  noPadding,
@@ -4726,14 +4823,14 @@ var Modal = import_react26.default.forwardRef(
4726
4823
  },
4727
4824
  children && children
4728
4825
  ),
4729
- hasButtons && /* @__PURE__ */ import_react26.default.createElement(
4826
+ hasButtons && /* @__PURE__ */ import_react27.default.createElement(
4730
4827
  ButtonsSection,
4731
4828
  {
4732
4829
  top: children ? "var(--lns-space-xlarge)" : 0,
4733
4830
  hasDividers
4734
4831
  },
4735
4832
  alternativeButton,
4736
- /* @__PURE__ */ import_react26.default.createElement(RightButtonsSection, null, secondaryButton && /* @__PURE__ */ import_react26.default.createElement(spacer_default, { right: "small", isInline: true }, secondaryButton), mainButton)
4833
+ /* @__PURE__ */ import_react27.default.createElement(RightButtonsSection, null, secondaryButton && /* @__PURE__ */ import_react27.default.createElement(spacer_default, { right: "small", isInline: true }, secondaryButton), mainButton)
4737
4834
  )
4738
4835
  )
4739
4836
  )
@@ -4743,9 +4840,9 @@ var Modal = import_react26.default.forwardRef(
4743
4840
  var modal_default = Modal;
4744
4841
 
4745
4842
  // src/components/link/link.tsx
4746
- var import_react27 = require("@emotion/react");
4747
- var import_styled21 = __toESM(require("@emotion/styled"));
4748
- var import_react28 = __toESM(require("react"));
4843
+ var import_react28 = require("@emotion/react");
4844
+ var import_styled22 = __toESM(require("@emotion/styled"));
4845
+ var import_react29 = __toESM(require("react"));
4749
4846
  var variants2 = {
4750
4847
  neutral: {
4751
4848
  color: getColorValue("inherit"),
@@ -4764,22 +4861,22 @@ var variants2 = {
4764
4861
  }
4765
4862
  };
4766
4863
  var statusStyles2 = {
4767
- enabled: import_react27.css`
4864
+ enabled: import_react28.css`
4768
4865
  cursor: pointer;
4769
4866
  `,
4770
- disabled: import_react27.css`
4867
+ disabled: import_react28.css`
4771
4868
  pointer-events: none;
4772
4869
  color: ${getColorValue("disabledContent")};
4773
4870
  `
4774
4871
  };
4775
4872
  var buttonStyles = {
4776
- isButton: import_react27.css`
4873
+ isButton: import_react28.css`
4777
4874
  background: none;
4778
4875
  border: none;
4779
4876
  font: inherit;
4780
4877
  `
4781
4878
  };
4782
- var LinkWrapper = import_styled21.default.a`
4879
+ var LinkWrapper = import_styled22.default.a`
4783
4880
  ${(props) => !props.disabled && `color: ${variants2[props.variant].color}`};
4784
4881
  ${(props) => props.disabled ? statusStyles2.disabled : statusStyles2.enabled};
4785
4882
  ${(props) => props.as === "button" && buttonStyles.isButton};
@@ -4816,7 +4913,7 @@ var Link = (_a) => {
4816
4913
  "htmlTag",
4817
4914
  "isDisabled"
4818
4915
  ]);
4819
- return /* @__PURE__ */ import_react28.default.createElement(
4916
+ return /* @__PURE__ */ import_react29.default.createElement(
4820
4917
  LinkWrapper,
4821
4918
  __spreadValues({
4822
4919
  href,
@@ -4831,8 +4928,8 @@ var availableVariants2 = Object.keys(variants2);
4831
4928
  var link_default = Link;
4832
4929
 
4833
4930
  // src/components/textarea/textarea.tsx
4834
- var import_styled22 = __toESM(require("@emotion/styled"));
4835
- var import_react29 = __toESM(require("react"));
4931
+ var import_styled23 = __toESM(require("@emotion/styled"));
4932
+ var import_react30 = __toESM(require("react"));
4836
4933
  var sizesStyles3 = {
4837
4934
  small: {
4838
4935
  padding: `${u(1.5)} ${u(1.75)}`,
@@ -4843,7 +4940,7 @@ var sizesStyles3 = {
4843
4940
  textSize: "medium"
4844
4941
  }
4845
4942
  };
4846
- var TextareaWrapper = import_styled22.default.textarea`
4943
+ var TextareaWrapper = import_styled23.default.textarea`
4847
4944
  width: 100%;
4848
4945
  border: none;
4849
4946
  font-family: inherit;
@@ -4882,7 +4979,7 @@ var TextareaWrapper = import_styled22.default.textarea`
4882
4979
  color: ${getColorValue("bodyDimmed")};
4883
4980
  }
4884
4981
  `;
4885
- var Textarea = import_react29.default.forwardRef(
4982
+ var Textarea = import_react30.default.forwardRef(
4886
4983
  (_a, ref) => {
4887
4984
  var _b = _a, {
4888
4985
  onChange,
@@ -4903,7 +5000,7 @@ var Textarea = import_react29.default.forwardRef(
4903
5000
  "resize",
4904
5001
  "error"
4905
5002
  ]);
4906
- return /* @__PURE__ */ import_react29.default.createElement(import_react29.default.Fragment, null, /* @__PURE__ */ import_react29.default.createElement(
5003
+ return /* @__PURE__ */ import_react30.default.createElement(import_react30.default.Fragment, null, /* @__PURE__ */ import_react30.default.createElement(
4907
5004
  TextareaWrapper,
4908
5005
  __spreadValues({
4909
5006
  disabled: isDisabled,
@@ -4916,26 +5013,26 @@ var Textarea = import_react29.default.forwardRef(
4916
5013
  resize,
4917
5014
  error
4918
5015
  }, props)
4919
- ), error ? /* @__PURE__ */ import_react29.default.createElement(import_react29.default.Fragment, null, /* @__PURE__ */ import_react29.default.createElement(spacer_default, { bottom: "xmsall" }), /* @__PURE__ */ import_react29.default.createElement(text_default, { color: "danger", fontWeight: "regular", size: "body-md" }, error)) : null);
5016
+ ), error ? /* @__PURE__ */ import_react30.default.createElement(import_react30.default.Fragment, null, /* @__PURE__ */ import_react30.default.createElement(spacer_default, { bottom: "xmsall" }), /* @__PURE__ */ import_react30.default.createElement(text_default, { color: "danger", fontWeight: "regular", size: "body-md" }, error)) : null);
4920
5017
  }
4921
5018
  );
4922
5019
  var textarea_default = Textarea;
4923
5020
 
4924
5021
  // src/components/typeahead/typeahead.tsx
4925
- var import_styled23 = __toESM(require("@emotion/styled"));
5022
+ var import_styled24 = __toESM(require("@emotion/styled"));
4926
5023
  var import_downshift3 = __toESM(require("downshift"));
4927
- var import_react30 = __toESM(require("react"));
5024
+ var import_react31 = __toESM(require("react"));
4928
5025
  var import_react_laag2 = require("react-laag");
4929
5026
  var import_resize_observer_polyfill2 = __toESM(require("resize-observer-polyfill"));
4930
- var TypeaheadWrapper = import_styled23.default.div`
5027
+ var TypeaheadWrapper = import_styled24.default.div`
4931
5028
  position: relative;
4932
5029
  `;
4933
- var Group2 = import_styled23.default.ul`
5030
+ var Group2 = import_styled24.default.ul`
4934
5031
  list-style: none;
4935
5032
  margin: 0;
4936
5033
  padding: 0;
4937
5034
  `;
4938
- var ErrorMessage2 = import_styled23.default.span`
5035
+ var ErrorMessage2 = import_styled24.default.span`
4939
5036
  color: var(--lns-color-red);
4940
5037
  margin-top: var(--lns-space-xsmall);
4941
5038
  display: block;
@@ -4998,7 +5095,7 @@ var getHeaderAccessibilityProps2 = ({
4998
5095
  "aria-label": [ariaMenuName, valueLabel].filter(Boolean).join(", ")
4999
5096
  };
5000
5097
  };
5001
- var TypeaheadHeaderWrapper = import_styled23.default.button`
5098
+ var TypeaheadHeaderWrapper = import_styled24.default.button`
5002
5099
  position: relative;
5003
5100
  width: 100%;
5004
5101
  background: none;
@@ -5013,7 +5110,7 @@ var TypeaheadHeaderWrapper = import_styled23.default.button`
5013
5110
  cursor: default;
5014
5111
  }
5015
5112
  `;
5016
- var TypeaheadInputField = import_styled23.default.input`
5113
+ var TypeaheadInputField = import_styled24.default.input`
5017
5114
  -webkit-appearance: none;
5018
5115
  font-family: inherit;
5019
5116
  width: 100%;
@@ -5056,7 +5153,7 @@ var TypeaheadInputField = import_styled23.default.input`
5056
5153
  color: ${getColorValue("bodyDimmed")};
5057
5154
  }
5058
5155
  `;
5059
- var IconSection3 = import_styled23.default.div`
5156
+ var IconSection3 = import_styled24.default.div`
5060
5157
  position: absolute;
5061
5158
  pointer-events: none;
5062
5159
  width: ${u(6)};
@@ -5066,7 +5163,7 @@ var IconSection3 = import_styled23.default.div`
5066
5163
  justify-content: center;
5067
5164
  left: 0;
5068
5165
  `;
5069
- var AddOnSection = import_styled23.default.div`
5166
+ var AddOnSection = import_styled24.default.div`
5070
5167
  position: absolute;
5071
5168
  height: 100%;
5072
5169
  display: flex;
@@ -5077,7 +5174,7 @@ var AddOnSection = import_styled23.default.div`
5077
5174
  top: 50%;
5078
5175
  transform: translateY(-50%);
5079
5176
  `;
5080
- var TextOverlay = import_styled23.default.div`
5177
+ var TextOverlay = import_styled24.default.div`
5081
5178
  position: absolute;
5082
5179
  top: 0;
5083
5180
  left: ${(props) => props.hasIcon ? u(5.5) : "var(--lns-formFieldHorizontalPadding)"};
@@ -5088,7 +5185,7 @@ var TextOverlay = import_styled23.default.div`
5088
5185
  pointer-events: none;
5089
5186
  color: inherit;
5090
5187
  `;
5091
- var TypeaheadImage = import_styled23.default.img`
5188
+ var TypeaheadImage = import_styled24.default.img`
5092
5189
  height: 100%;
5093
5190
  width: auto;
5094
5191
  min-width: 100%;
@@ -5140,7 +5237,7 @@ var TypeaheadHeader = ({
5140
5237
  onChange: (e) => handleInputValueChange(e.target.value)
5141
5238
  }));
5142
5239
  const showPlaceholder = !inputValue && !selectedOptionValue;
5143
- return /* @__PURE__ */ import_react30.default.createElement(TypeaheadHeaderWrapper, { onClick: handleClickAndFocus, disabled: isDisabled }, hasIcon && /* @__PURE__ */ import_react30.default.createElement(IconSection3, null, typeof icon === "string" ? /* @__PURE__ */ import_react30.default.createElement(container_default, { radius: "50", width: 3, height: 3, overflow: "hidden" }, /* @__PURE__ */ import_react30.default.createElement(align_default, { alignment: "center" }, /* @__PURE__ */ import_react30.default.createElement(TypeaheadImage, { src: icon, alt: "", isDisabled }))) : /* @__PURE__ */ import_react30.default.createElement(icon_default, { icon, color })), /* @__PURE__ */ import_react30.default.createElement(
5240
+ return /* @__PURE__ */ import_react31.default.createElement(TypeaheadHeaderWrapper, { onClick: handleClickAndFocus, disabled: isDisabled }, hasIcon && /* @__PURE__ */ import_react31.default.createElement(IconSection3, null, typeof icon === "string" ? /* @__PURE__ */ import_react31.default.createElement(container_default, { radius: "50", width: 3, height: 3, overflow: "hidden" }, /* @__PURE__ */ import_react31.default.createElement(align_default, { alignment: "center" }, /* @__PURE__ */ import_react31.default.createElement(TypeaheadImage, { src: icon, alt: "", isDisabled }))) : /* @__PURE__ */ import_react31.default.createElement(icon_default, { icon, color })), /* @__PURE__ */ import_react31.default.createElement(
5144
5241
  TypeaheadInputField,
5145
5242
  __spreadProps(__spreadValues({
5146
5243
  ref: inputRef
@@ -5150,12 +5247,12 @@ var TypeaheadHeader = ({
5150
5247
  hasError,
5151
5248
  isDisabled
5152
5249
  })
5153
- ), !inputValue && /* @__PURE__ */ import_react30.default.createElement(TextOverlay, { hasIcon }, /* @__PURE__ */ import_react30.default.createElement(text_default, { hasEllipsis: true, color: showPlaceholder ? "bodyDimmed" : "inherit" }, getTitle2({
5250
+ ), !inputValue && /* @__PURE__ */ import_react31.default.createElement(TextOverlay, { hasIcon }, /* @__PURE__ */ import_react31.default.createElement(text_default, { hasEllipsis: true, color: showPlaceholder ? "bodyDimmed" : "inherit" }, getTitle2({
5154
5251
  options,
5155
5252
  selectedItem,
5156
5253
  selectedOptionValue,
5157
5254
  placeholder
5158
- }))), /* @__PURE__ */ import_react30.default.createElement(AddOnSection, null, hasLoader ? /* @__PURE__ */ import_react30.default.createElement(loader_default, { size: "small" }) : /* @__PURE__ */ import_react30.default.createElement(icon_default, { icon: /* @__PURE__ */ import_react30.default.createElement(SvgChevronDown, null), color })));
5255
+ }))), /* @__PURE__ */ import_react31.default.createElement(AddOnSection, null, hasLoader ? /* @__PURE__ */ import_react31.default.createElement(loader_default, { size: "small" }) : /* @__PURE__ */ import_react31.default.createElement(icon_default, { icon: /* @__PURE__ */ import_react31.default.createElement(SvgChevronDown, null), color })));
5159
5256
  };
5160
5257
  var getSelectedOption2 = (value, options) => {
5161
5258
  var _a;
@@ -5177,7 +5274,7 @@ var didSelectedOptionValueChange2 = (selectedOptionValue, prevSelectedItem) => {
5177
5274
  };
5178
5275
  var renderOption2 = (item, index, selectedItem, selectedOptionValue, highlightedIndex, getItemProps) => {
5179
5276
  const isSelected = !selectedItem && item.value === selectedOptionValue || selectedItem && selectedItem.value === item.value;
5180
- return /* @__PURE__ */ import_react30.default.createElement(
5277
+ return /* @__PURE__ */ import_react31.default.createElement(
5181
5278
  MenuItem,
5182
5279
  __spreadProps(__spreadValues({
5183
5280
  key: index,
@@ -5221,16 +5318,16 @@ var TypeaheadMenu = (_a) => {
5221
5318
  "emptyResultsMessage",
5222
5319
  "hasAvailableOptions"
5223
5320
  ]);
5224
- const defaultLoadingMessage = loadingMessage || /* @__PURE__ */ import_react30.default.createElement(loader_default, null);
5321
+ const defaultLoadingMessage = loadingMessage || /* @__PURE__ */ import_react31.default.createElement(loader_default, null);
5225
5322
  const defaultEmptyResultsMessage = emptyResultsMessage || "No results";
5226
5323
  if (isLoading) {
5227
- return /* @__PURE__ */ import_react30.default.createElement(menu_default, __spreadValues({ as: "div" }, menuProps), /* @__PURE__ */ import_react30.default.createElement(container_default, { padding: "large" }, /* @__PURE__ */ import_react30.default.createElement(align_default, { alignment: "center" }, defaultLoadingMessage)));
5324
+ return /* @__PURE__ */ import_react31.default.createElement(menu_default, __spreadValues({ as: "div" }, menuProps), /* @__PURE__ */ import_react31.default.createElement(container_default, { padding: "large" }, /* @__PURE__ */ import_react31.default.createElement(align_default, { alignment: "center" }, defaultLoadingMessage)));
5228
5325
  }
5229
5326
  if (!hasAvailableOptions) {
5230
- return /* @__PURE__ */ import_react30.default.createElement(menu_default, __spreadValues({ as: "div" }, menuProps), /* @__PURE__ */ import_react30.default.createElement(container_default, { padding: "large" }, /* @__PURE__ */ import_react30.default.createElement(align_default, { alignment: "center" }, defaultEmptyResultsMessage)));
5327
+ return /* @__PURE__ */ import_react31.default.createElement(menu_default, __spreadValues({ as: "div" }, menuProps), /* @__PURE__ */ import_react31.default.createElement(container_default, { padding: "large" }, /* @__PURE__ */ import_react31.default.createElement(align_default, { alignment: "center" }, defaultEmptyResultsMessage)));
5231
5328
  }
5232
5329
  if (!isGrouped2(options)) {
5233
- return /* @__PURE__ */ import_react30.default.createElement(menu_default, __spreadValues({}, menuProps), options.map(
5330
+ return /* @__PURE__ */ import_react31.default.createElement(menu_default, __spreadValues({}, menuProps), options.map(
5234
5331
  (item, index) => renderOption2(
5235
5332
  item,
5236
5333
  index,
@@ -5242,9 +5339,9 @@ var TypeaheadMenu = (_a) => {
5242
5339
  ));
5243
5340
  }
5244
5341
  let downshiftIndex = 0;
5245
- return /* @__PURE__ */ import_react30.default.createElement(menu_default, __spreadValues({}, menuProps), options.map((group) => {
5342
+ return /* @__PURE__ */ import_react31.default.createElement(menu_default, __spreadValues({}, menuProps), options.map((group) => {
5246
5343
  const groupId = `group-${group.group.replace(/\s+/g, "-")}`;
5247
- return /* @__PURE__ */ import_react30.default.createElement("li", { key: groupId }, /* @__PURE__ */ import_react30.default.createElement(spacer_default, { left: "medium", top: "small", bottom: "xsmall" }, /* @__PURE__ */ import_react30.default.createElement(text_default, { id: groupId, size: "body-sm", fontWeight: "bold" }, group.group)), /* @__PURE__ */ import_react30.default.createElement(Group2, { role: "group", "aria-labelledby": groupId }, group.items.map((item) => {
5344
+ return /* @__PURE__ */ import_react31.default.createElement("li", { key: groupId }, /* @__PURE__ */ import_react31.default.createElement(spacer_default, { left: "medium", top: "small", bottom: "xsmall" }, /* @__PURE__ */ import_react31.default.createElement(text_default, { id: groupId, size: "body-sm", fontWeight: "bold" }, group.group)), /* @__PURE__ */ import_react31.default.createElement(Group2, { role: "group", "aria-labelledby": groupId }, group.items.map((item) => {
5248
5345
  return renderOption2(
5249
5346
  item,
5250
5347
  downshiftIndex++,
@@ -5256,7 +5353,7 @@ var TypeaheadMenu = (_a) => {
5256
5353
  })));
5257
5354
  }));
5258
5355
  };
5259
- var Typeahead = (0, import_react30.forwardRef)(
5356
+ var Typeahead = (0, import_react31.forwardRef)(
5260
5357
  (_a, ref) => {
5261
5358
  var _b = _a, {
5262
5359
  container,
@@ -5300,8 +5397,8 @@ var Typeahead = (0, import_react30.forwardRef)(
5300
5397
  "errorMessage"
5301
5398
  ]);
5302
5399
  const environment = getDownshiftEnvironment(container);
5303
- const internalInputRef = (0, import_react30.useRef)(null);
5304
- const inputRef = (0, import_react30.useCallback)(
5400
+ const internalInputRef = (0, import_react31.useRef)(null);
5401
+ const inputRef = (0, import_react31.useCallback)(
5305
5402
  (node) => {
5306
5403
  internalInputRef.current = node;
5307
5404
  if (ref) {
@@ -5310,12 +5407,12 @@ var Typeahead = (0, import_react30.forwardRef)(
5310
5407
  },
5311
5408
  [ref]
5312
5409
  );
5313
- const [inputValue, setInputValue] = (0, import_react30.useState)("");
5314
- const [downshiftIsOpen, setDownshiftIsOpen] = (0, import_react30.useState)(false);
5315
- const [prevSelectedItem, setPrevSelectedItem] = (0, import_react30.useState)(
5410
+ const [inputValue, setInputValue] = (0, import_react31.useState)("");
5411
+ const [downshiftIsOpen, setDownshiftIsOpen] = (0, import_react31.useState)(false);
5412
+ const [prevSelectedItem, setPrevSelectedItem] = (0, import_react31.useState)(
5316
5413
  getSelectedOption2(selectedOptionValue, options)
5317
5414
  );
5318
- const [selectedItem, setSelectedItem] = (0, import_react30.useState)(
5415
+ const [selectedItem, setSelectedItem] = (0, import_react31.useState)(
5319
5416
  prevSelectedItem
5320
5417
  );
5321
5418
  const handleInputValueChange = (value) => {
@@ -5346,7 +5443,7 @@ var Typeahead = (0, import_react30.forwardRef)(
5346
5443
  auto: true,
5347
5444
  snap: true
5348
5445
  });
5349
- (0, import_react30.useEffect)(() => {
5446
+ (0, import_react31.useEffect)(() => {
5350
5447
  if (didSelectedOptionValueChange2(selectedOptionValue, prevSelectedItem)) {
5351
5448
  const item = getSelectedOption2(selectedOptionValue, options);
5352
5449
  setPrevSelectedItem(item);
@@ -5354,14 +5451,14 @@ var Typeahead = (0, import_react30.forwardRef)(
5354
5451
  setInputValue("");
5355
5452
  }
5356
5453
  }, [selectedOptionValue, options, prevSelectedItem]);
5357
- (0, import_react30.useEffect)(() => {
5454
+ (0, import_react31.useEffect)(() => {
5358
5455
  var _a2;
5359
5456
  onOpenChange && onOpenChange(downshiftIsOpen);
5360
5457
  if (!downshiftIsOpen) {
5361
5458
  (_a2 = internalInputRef.current) == null ? void 0 : _a2.blur();
5362
5459
  }
5363
5460
  }, [downshiftIsOpen, onOpenChange]);
5364
- const hasAvailableOptions = (0, import_react30.useMemo)(() => {
5461
+ const hasAvailableOptions = (0, import_react31.useMemo)(() => {
5365
5462
  if (!Array.isArray(options)) {
5366
5463
  return false;
5367
5464
  }
@@ -5377,7 +5474,7 @@ var Typeahead = (0, import_react30.forwardRef)(
5377
5474
  }
5378
5475
  return changes;
5379
5476
  };
5380
- return /* @__PURE__ */ import_react30.default.createElement(TypeaheadWrapper, __spreadValues({}, props), /* @__PURE__ */ import_react30.default.createElement(import_downshift3.default, __spreadProps(__spreadValues({}, downshiftProps), { stateReducer }), ({
5477
+ return /* @__PURE__ */ import_react31.default.createElement(TypeaheadWrapper, __spreadValues({}, props), /* @__PURE__ */ import_react31.default.createElement(import_downshift3.default, __spreadProps(__spreadValues({}, downshiftProps), { stateReducer }), ({
5381
5478
  getItemProps,
5382
5479
  getInputProps,
5383
5480
  getMenuProps,
@@ -5387,7 +5484,7 @@ var Typeahead = (0, import_react30.forwardRef)(
5387
5484
  }) => {
5388
5485
  return (
5389
5486
  // Don't set the role to combobox to ensure a consistent experience for screen readers
5390
- /* @__PURE__ */ import_react30.default.createElement("div", { role: "presentation" }, /* @__PURE__ */ import_react30.default.createElement("div", __spreadValues({}, triggerProps), /* @__PURE__ */ import_react30.default.createElement(
5487
+ /* @__PURE__ */ import_react31.default.createElement("div", { role: "presentation" }, /* @__PURE__ */ import_react31.default.createElement("div", __spreadValues({}, triggerProps), /* @__PURE__ */ import_react31.default.createElement(
5391
5488
  TypeaheadHeader,
5392
5489
  {
5393
5490
  inputRef,
@@ -5408,7 +5505,7 @@ var Typeahead = (0, import_react30.forwardRef)(
5408
5505
  hasError: Boolean(errorMessage)
5409
5506
  }
5410
5507
  )), downshiftIsOpen && isOpen && renderLayer(
5411
- /* @__PURE__ */ import_react30.default.createElement(
5508
+ /* @__PURE__ */ import_react31.default.createElement(
5412
5509
  "div",
5413
5510
  __spreadProps(__spreadValues({}, layerProps), {
5414
5511
  style: __spreadProps(__spreadValues({}, layerProps.style), {
@@ -5416,7 +5513,7 @@ var Typeahead = (0, import_react30.forwardRef)(
5416
5513
  width: menuMinWidth ? "auto" : triggerBounds == null ? void 0 : triggerBounds.width
5417
5514
  })
5418
5515
  }),
5419
- /* @__PURE__ */ import_react30.default.createElement(
5516
+ /* @__PURE__ */ import_react31.default.createElement(
5420
5517
  TypeaheadMenu,
5421
5518
  {
5422
5519
  options,
@@ -5436,7 +5533,7 @@ var Typeahead = (0, import_react30.forwardRef)(
5436
5533
  }
5437
5534
  )
5438
5535
  )
5439
- ), Boolean(errorMessage) && !downshiftIsOpen ? /* @__PURE__ */ import_react30.default.createElement(ErrorMessage2, null, errorMessage) : null)
5536
+ ), Boolean(errorMessage) && !downshiftIsOpen ? /* @__PURE__ */ import_react31.default.createElement(ErrorMessage2, null, errorMessage) : null)
5440
5537
  );
5441
5538
  }));
5442
5539
  }
@@ -5450,48 +5547,6 @@ var import_downshift5 = __toESM(require("downshift"));
5450
5547
  var import_react32 = __toESM(require("react"));
5451
5548
  var import_react_laag3 = require("react-laag");
5452
5549
  var import_resize_observer_polyfill3 = __toESM(require("resize-observer-polyfill"));
5453
-
5454
- // src/components/search-bar/search-bar.tsx
5455
- var import_styled24 = __toESM(require("@emotion/styled"));
5456
- var import_react31 = __toESM(require("react"));
5457
-
5458
- // src/components/icon/available-icons/search.tsx
5459
- var import_search = __toESM(require("@atlaskit/icon/core/search"));
5460
- var React30 = __toESM(require("react"));
5461
- function SvgSearch() {
5462
- return /* @__PURE__ */ React30.createElement(import_search.default, { label: "", testId: "ads-refreshed-icon" });
5463
- }
5464
-
5465
- // src/components/search-bar/search-bar.tsx
5466
- var SearchBarContainer = import_styled24.default.div`
5467
- padding: ${u(1.5)} ${u(1.5)} 0;
5468
- margin-bottom: ${u(1.5)};
5469
- position: sticky;
5470
- top: 0;
5471
- `;
5472
- var SearchBar = ({
5473
- ariaLabel,
5474
- placeholder,
5475
- value,
5476
- onChange,
5477
- getInputProps
5478
- }) => {
5479
- return /* @__PURE__ */ import_react31.default.createElement(SearchBarContainer, null, /* @__PURE__ */ import_react31.default.createElement(
5480
- text_input_default,
5481
- __spreadValues({
5482
- "aria-label": ariaLabel,
5483
- icon: /* @__PURE__ */ import_react31.default.createElement(SvgSearch, null)
5484
- }, getInputProps({
5485
- placeholder,
5486
- value,
5487
- onChange,
5488
- type: "text"
5489
- }))
5490
- ));
5491
- };
5492
- var search_bar_default = SearchBar;
5493
-
5494
- // src/components/dropdown/dropdown.tsx
5495
5550
  var getAccessibilityProps = ({
5496
5551
  ariaMenuName,
5497
5552
  getInputProps,
@@ -5569,23 +5624,25 @@ var Dropdown = (_a) => {
5569
5624
  }
5570
5625
  return changes;
5571
5626
  };
5572
- const filteredOptions = (0, import_react32.useMemo)(() => {
5573
- if ((search == null ? void 0 : search.searchType) === "startsWith") {
5627
+ options = (0, import_react32.useMemo)(() => {
5628
+ if (search) {
5629
+ if (search.searchType === "startsWith") {
5630
+ return options.filter(
5631
+ (option) => {
5632
+ var _a2;
5633
+ return (_a2 = option.title) == null ? void 0 : _a2.toString().toLowerCase().startsWith(searchValue.toLowerCase());
5634
+ }
5635
+ );
5636
+ }
5574
5637
  return options.filter(
5575
5638
  (option) => {
5576
5639
  var _a2;
5577
- return (_a2 = option.title) == null ? void 0 : _a2.toString().toLowerCase().startsWith(searchValue.toLowerCase());
5640
+ return (_a2 = option.title) == null ? void 0 : _a2.toString().toLowerCase().includes(searchValue.toLowerCase());
5578
5641
  }
5579
5642
  );
5580
5643
  }
5581
- return options.filter(
5582
- (option) => {
5583
- var _a2;
5584
- return (_a2 = option.title) == null ? void 0 : _a2.toString().toLowerCase().includes(searchValue.toLowerCase());
5585
- }
5586
- );
5587
- }, [options, searchValue, search == null ? void 0 : search.searchType]);
5588
- options = search ? filteredOptions : options;
5644
+ return options;
5645
+ }, [options, searchValue, search]);
5589
5646
  return /* @__PURE__ */ import_react32.default.createElement(
5590
5647
  import_downshift5.default,
5591
5648
  {