@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 +227 -170
- package/dist/cjs/index.js.map +4 -4
- package/dist/esm/index.js +208 -151
- package/dist/esm/index.js.map +4 -4
- package/dist/types/components/dropdown/dropdown.d.ts.map +1 -1
- package/dist/types/components/select/select.d.ts +7 -1
- package/dist/types/components/select/select.d.ts.map +1 -1
- package/package.json +1 -1
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
|
|
3696
|
+
var import_styled19 = __toESM(require("@emotion/styled"));
|
|
3697
3697
|
var import_downshift = __toESM(require("downshift"));
|
|
3698
|
-
var
|
|
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 =
|
|
3928
|
+
var SelectWrapper = import_styled19.default.div`
|
|
3889
3929
|
position: relative;
|
|
3890
3930
|
`;
|
|
3891
|
-
var SelectHeaderWrapper =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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,
|
|
4217
|
-
const [
|
|
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,
|
|
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,
|
|
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,
|
|
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
|
-
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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
|
|
4338
|
-
var
|
|
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
|
|
4439
|
+
var import_react25 = require("react");
|
|
4343
4440
|
function usePreventScroll(level, enabled) {
|
|
4344
4441
|
const safeDocument = document;
|
|
4345
|
-
(0,
|
|
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 =
|
|
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 =
|
|
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__ */
|
|
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__ */
|
|
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
|
|
4545
|
+
var import_styled21 = __toESM(require("@emotion/styled"));
|
|
4449
4546
|
var import_focus_trap_react = __toESM(require("focus-trap-react"));
|
|
4450
|
-
var
|
|
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
|
|
4551
|
+
var React27 = __toESM(require("react"));
|
|
4455
4552
|
function SvgClose() {
|
|
4456
|
-
return /* @__PURE__ */
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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,
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
4712
|
+
icon: /* @__PURE__ */ import_react27.default.createElement(SvgClose, null),
|
|
4616
4713
|
onClick: onCloseClick
|
|
4617
4714
|
}
|
|
4618
4715
|
)),
|
|
4619
|
-
/* @__PURE__ */
|
|
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 =
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
4814
|
+
/* @__PURE__ */ import_react27.default.createElement(text_default, { htmlTag: "h1", variant: "title", id: titleId }, title)
|
|
4718
4815
|
),
|
|
4719
|
-
/* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
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
|
|
4747
|
-
var
|
|
4748
|
-
var
|
|
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:
|
|
4864
|
+
enabled: import_react28.css`
|
|
4768
4865
|
cursor: pointer;
|
|
4769
4866
|
`,
|
|
4770
|
-
disabled:
|
|
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:
|
|
4873
|
+
isButton: import_react28.css`
|
|
4777
4874
|
background: none;
|
|
4778
4875
|
border: none;
|
|
4779
4876
|
font: inherit;
|
|
4780
4877
|
`
|
|
4781
4878
|
};
|
|
4782
|
-
var LinkWrapper =
|
|
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__ */
|
|
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
|
|
4835
|
-
var
|
|
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 =
|
|
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 =
|
|
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__ */
|
|
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__ */
|
|
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
|
|
5022
|
+
var import_styled24 = __toESM(require("@emotion/styled"));
|
|
4926
5023
|
var import_downshift3 = __toESM(require("downshift"));
|
|
4927
|
-
var
|
|
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 =
|
|
5027
|
+
var TypeaheadWrapper = import_styled24.default.div`
|
|
4931
5028
|
position: relative;
|
|
4932
5029
|
`;
|
|
4933
|
-
var Group2 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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,
|
|
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,
|
|
5304
|
-
const inputRef = (0,
|
|
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,
|
|
5314
|
-
const [downshiftIsOpen, setDownshiftIsOpen] = (0,
|
|
5315
|
-
const [prevSelectedItem, setPrevSelectedItem] = (0,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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
|
-
|
|
5573
|
-
if (
|
|
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().
|
|
5640
|
+
return (_a2 = option.title) == null ? void 0 : _a2.toString().toLowerCase().includes(searchValue.toLowerCase());
|
|
5578
5641
|
}
|
|
5579
5642
|
);
|
|
5580
5643
|
}
|
|
5581
|
-
return options
|
|
5582
|
-
|
|
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
|
{
|