@loomhq/lens 12.7.0 → 12.9.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/README.md +35 -7
- package/dist/cjs/icons/editions-icon.js +40 -0
- package/dist/cjs/icons/editions-icon.js.map +7 -0
- package/dist/cjs/icons/editions.js +9 -2
- package/dist/cjs/icons/editions.js.map +2 -2
- package/dist/cjs/icons/index.js +9 -2
- package/dist/cjs/icons/index.js.map +2 -2
- package/dist/cjs/index.js +459 -194
- package/dist/cjs/index.js.map +4 -4
- package/dist/esm/icons/chunk-SPTM4NUO.js +18 -0
- package/dist/esm/icons/chunk-SPTM4NUO.js.map +7 -0
- package/dist/esm/icons/editions-icon.js +12 -0
- package/dist/esm/icons/editions-icon.js.map +7 -0
- package/dist/esm/icons/editions.js +1 -1
- package/dist/esm/icons/index.js +57 -57
- package/dist/esm/index.js +441 -176
- package/dist/esm/index.js.map +4 -4
- package/dist/types/components/dropdown/dropdown.d.ts +3 -1
- package/dist/types/components/dropdown/dropdown.d.ts.map +1 -1
- package/dist/types/components/icon/available-icons/editions-icon.d.ts +3 -0
- package/dist/types/components/icon/available-icons/editions-icon.d.ts.map +1 -0
- package/dist/types/components/icon/available-icons/editions.d.ts +1 -1
- package/dist/types/components/icon/available-icons/editions.d.ts.map +1 -1
- package/dist/types/components/menu/menu.d.ts +4 -2
- package/dist/types/components/menu/menu.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/dist/types/components/tabs/tabs.d.ts +24 -1
- package/dist/types/components/tabs/tabs.d.ts.map +1 -1
- package/dist/types/components/tooltip/tooltip.d.ts +1 -1
- package/dist/types/components/tooltip/tooltip.d.ts.map +1 -1
- package/dist/types/components/typeahead/typeahead.d.ts.map +1 -1
- package/dist/types/icons/editions-icon.d.ts +3 -0
- package/dist/types/icons/editions-icon.d.ts.map +1 -0
- package/dist/types/icons/editions.d.ts +1 -1
- package/dist/types/icons/editions.d.ts.map +1 -1
- package/dist/types/utilities/text.d.ts +3 -0
- package/dist/types/utilities/text.d.ts.map +1 -0
- package/package.json +6 -5
- package/dist/esm/icons/chunk-T4L22EHS.js +0 -11
- package/dist/esm/icons/chunk-T4L22EHS.js.map +0 -7
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
|
|
|
@@ -3721,6 +3721,29 @@ var getDownshiftEnvironment = (container) => {
|
|
|
3721
3721
|
return window;
|
|
3722
3722
|
};
|
|
3723
3723
|
|
|
3724
|
+
// src/utilities/text.ts
|
|
3725
|
+
var getTextFromNode = (node) => {
|
|
3726
|
+
if (typeof node === "string") {
|
|
3727
|
+
return node;
|
|
3728
|
+
}
|
|
3729
|
+
if (typeof node === "number" || typeof node === "boolean" || typeof node === "bigint") {
|
|
3730
|
+
return node.toString();
|
|
3731
|
+
}
|
|
3732
|
+
if (node === null || node === void 0) {
|
|
3733
|
+
return "";
|
|
3734
|
+
}
|
|
3735
|
+
if (isIterable(node)) {
|
|
3736
|
+
return Array.from(node).map(getTextFromNode).join("");
|
|
3737
|
+
}
|
|
3738
|
+
if (typeof node === "object" && "props" in node && node.props && node.props.children !== void 0) {
|
|
3739
|
+
return getTextFromNode(node.props.children);
|
|
3740
|
+
}
|
|
3741
|
+
return "";
|
|
3742
|
+
};
|
|
3743
|
+
var isIterable = (node) => {
|
|
3744
|
+
return typeof node[Symbol.iterator] === "function";
|
|
3745
|
+
};
|
|
3746
|
+
|
|
3724
3747
|
// src/components/icon/available-icons/chevron-down.tsx
|
|
3725
3748
|
var React20 = __toESM(require("react"));
|
|
3726
3749
|
function SvgChevronDown() {
|
|
@@ -3821,19 +3844,24 @@ var MenuItem = (_a) => {
|
|
|
3821
3844
|
isSelected,
|
|
3822
3845
|
icon,
|
|
3823
3846
|
hasDivider,
|
|
3824
|
-
children
|
|
3847
|
+
children,
|
|
3848
|
+
menuItemRole
|
|
3825
3849
|
} = _b, props = __objRest(_b, [
|
|
3826
3850
|
"isDisabled",
|
|
3827
3851
|
"isHighlighted",
|
|
3828
3852
|
"isSelected",
|
|
3829
3853
|
"icon",
|
|
3830
3854
|
"hasDivider",
|
|
3831
|
-
"children"
|
|
3855
|
+
"children",
|
|
3856
|
+
"menuItemRole"
|
|
3832
3857
|
]);
|
|
3833
3858
|
const checkColumn = isSelected ? "auto" : "";
|
|
3834
3859
|
const iconColumn = icon ? "auto" : "";
|
|
3835
3860
|
const columns = `${iconColumn} 1fr ${checkColumn}`;
|
|
3836
3861
|
const color = isDisabled ? "disabledContent" : void 0;
|
|
3862
|
+
const updatedProps = menuItemRole ? __spreadProps(__spreadValues({}, props), {
|
|
3863
|
+
role: menuItemRole
|
|
3864
|
+
}) : props;
|
|
3837
3865
|
return /* @__PURE__ */ import_react22.default.createElement(
|
|
3838
3866
|
MenuItemWrapper,
|
|
3839
3867
|
__spreadValues({
|
|
@@ -3857,6 +3885,7 @@ var Menu = (_a) => {
|
|
|
3857
3885
|
maxWidth,
|
|
3858
3886
|
maxHeight,
|
|
3859
3887
|
children,
|
|
3888
|
+
role,
|
|
3860
3889
|
downshiftMenuProps = () => null,
|
|
3861
3890
|
search
|
|
3862
3891
|
} = _b, props = __objRest(_b, [
|
|
@@ -3866,9 +3895,13 @@ var Menu = (_a) => {
|
|
|
3866
3895
|
"maxWidth",
|
|
3867
3896
|
"maxHeight",
|
|
3868
3897
|
"children",
|
|
3898
|
+
"role",
|
|
3869
3899
|
"downshiftMenuProps",
|
|
3870
3900
|
"search"
|
|
3871
3901
|
]);
|
|
3902
|
+
const updatedDownshiftMenuProps = role ? __spreadProps(__spreadValues({}, downshiftMenuProps()), {
|
|
3903
|
+
role
|
|
3904
|
+
}) : __spreadValues({}, downshiftMenuProps());
|
|
3872
3905
|
return /* @__PURE__ */ import_react22.default.createElement(
|
|
3873
3906
|
MenuContainer,
|
|
3874
3907
|
__spreadValues(__spreadValues({
|
|
@@ -3884,11 +3917,51 @@ var Menu = (_a) => {
|
|
|
3884
3917
|
};
|
|
3885
3918
|
var menu_default = Menu;
|
|
3886
3919
|
|
|
3920
|
+
// src/components/search-bar/search-bar.tsx
|
|
3921
|
+
var import_styled18 = __toESM(require("@emotion/styled"));
|
|
3922
|
+
var import_react23 = __toESM(require("react"));
|
|
3923
|
+
|
|
3924
|
+
// src/components/icon/available-icons/search.tsx
|
|
3925
|
+
var import_search = __toESM(require("@atlaskit/icon/core/search"));
|
|
3926
|
+
var React23 = __toESM(require("react"));
|
|
3927
|
+
function SvgSearch() {
|
|
3928
|
+
return /* @__PURE__ */ React23.createElement(import_search.default, { label: "", testId: "ads-refreshed-icon" });
|
|
3929
|
+
}
|
|
3930
|
+
|
|
3931
|
+
// src/components/search-bar/search-bar.tsx
|
|
3932
|
+
var SearchBarContainer = import_styled18.default.div`
|
|
3933
|
+
padding: ${u(1.5)} ${u(1.5)} 0;
|
|
3934
|
+
margin-bottom: ${u(1.5)};
|
|
3935
|
+
position: sticky;
|
|
3936
|
+
top: 0;
|
|
3937
|
+
`;
|
|
3938
|
+
var SearchBar = ({
|
|
3939
|
+
ariaLabel,
|
|
3940
|
+
placeholder,
|
|
3941
|
+
value,
|
|
3942
|
+
onChange,
|
|
3943
|
+
getInputProps
|
|
3944
|
+
}) => {
|
|
3945
|
+
return /* @__PURE__ */ import_react23.default.createElement(SearchBarContainer, null, /* @__PURE__ */ import_react23.default.createElement(
|
|
3946
|
+
text_input_default,
|
|
3947
|
+
__spreadValues({
|
|
3948
|
+
"aria-label": ariaLabel,
|
|
3949
|
+
icon: /* @__PURE__ */ import_react23.default.createElement(SvgSearch, null)
|
|
3950
|
+
}, getInputProps({
|
|
3951
|
+
placeholder,
|
|
3952
|
+
value,
|
|
3953
|
+
onChange,
|
|
3954
|
+
type: "text"
|
|
3955
|
+
}))
|
|
3956
|
+
));
|
|
3957
|
+
};
|
|
3958
|
+
var search_bar_default = SearchBar;
|
|
3959
|
+
|
|
3887
3960
|
// src/components/select/select.tsx
|
|
3888
|
-
var SelectWrapper =
|
|
3961
|
+
var SelectWrapper = import_styled19.default.div`
|
|
3889
3962
|
position: relative;
|
|
3890
3963
|
`;
|
|
3891
|
-
var SelectHeaderWrapper =
|
|
3964
|
+
var SelectHeaderWrapper = import_styled19.default.button`
|
|
3892
3965
|
appearance: none;
|
|
3893
3966
|
font: inherit;
|
|
3894
3967
|
text-align: left;
|
|
@@ -3930,7 +4003,7 @@ var SelectHeaderWrapper = import_styled18.default.button`
|
|
|
3930
4003
|
cursor: default;
|
|
3931
4004
|
}
|
|
3932
4005
|
`;
|
|
3933
|
-
var Image3 =
|
|
4006
|
+
var Image3 = import_styled19.default.img`
|
|
3934
4007
|
height: 100%;
|
|
3935
4008
|
width: auto;
|
|
3936
4009
|
min-width: 100%;
|
|
@@ -3938,12 +4011,12 @@ var Image3 = import_styled18.default.img`
|
|
|
3938
4011
|
object-fit: cover;
|
|
3939
4012
|
opacity: ${({ isDisabled }) => isDisabled ? 0.5 : 1};
|
|
3940
4013
|
`;
|
|
3941
|
-
var Group =
|
|
4014
|
+
var Group = import_styled19.default.ul`
|
|
3942
4015
|
list-style: none;
|
|
3943
4016
|
margin: 0;
|
|
3944
4017
|
padding: 0;
|
|
3945
4018
|
`;
|
|
3946
|
-
var ErrorMessage =
|
|
4019
|
+
var ErrorMessage = import_styled19.default.span`
|
|
3947
4020
|
color: var(--lns-color-red);
|
|
3948
4021
|
margin-top: var(--lns-space-xsmall);
|
|
3949
4022
|
display: block;
|
|
@@ -3997,11 +4070,13 @@ var getHeaderAccessibilityProps = ({
|
|
|
3997
4070
|
selectedItem,
|
|
3998
4071
|
getInputProps,
|
|
3999
4072
|
getToggleButtonProps,
|
|
4000
|
-
ariaMenuName
|
|
4073
|
+
ariaMenuName,
|
|
4074
|
+
isOpen
|
|
4001
4075
|
}) => {
|
|
4002
4076
|
const valueLabel = selectedItem ? `selected value is ${selectedItem.title}` : "no value selected";
|
|
4003
4077
|
const toggleLabel = getToggleButtonProps == null ? void 0 : getToggleButtonProps()["aria-label"];
|
|
4004
4078
|
return {
|
|
4079
|
+
"aria-expanded": isOpen,
|
|
4005
4080
|
// Ensures all options within the list of selections can be narrated by a screen reader
|
|
4006
4081
|
"aria-activedescendant": getInputProps()["aria-activedescendant"],
|
|
4007
4082
|
// The existing aria-label includes whether or not the menu is open or closed, and we add the valueLabel to make a screen reader narrate what is selected
|
|
@@ -4018,7 +4093,8 @@ var SelectHeader = ({
|
|
|
4018
4093
|
options,
|
|
4019
4094
|
getInputProps,
|
|
4020
4095
|
ariaMenuName,
|
|
4021
|
-
hasError
|
|
4096
|
+
hasError,
|
|
4097
|
+
isOpen
|
|
4022
4098
|
}) => {
|
|
4023
4099
|
const icon = getIcon({ options, selectedItem, selectedOptionValue });
|
|
4024
4100
|
const hasIcon = Boolean(icon);
|
|
@@ -4026,33 +4102,34 @@ var SelectHeader = ({
|
|
|
4026
4102
|
const iconColumn = hasIcon ? "auto" : "";
|
|
4027
4103
|
const columns = `${iconColumn} 1fr auto`;
|
|
4028
4104
|
const color = isDisabled ? "disabledContent" : void 0;
|
|
4029
|
-
return /* @__PURE__ */
|
|
4105
|
+
return /* @__PURE__ */ import_react24.default.createElement(
|
|
4030
4106
|
SelectHeaderWrapper,
|
|
4031
4107
|
__spreadProps(__spreadValues(__spreadValues({}, getToggleButtonProps()), getHeaderAccessibilityProps({
|
|
4032
4108
|
selectedItem,
|
|
4033
4109
|
getInputProps,
|
|
4034
4110
|
getToggleButtonProps,
|
|
4035
|
-
ariaMenuName
|
|
4111
|
+
ariaMenuName,
|
|
4112
|
+
isOpen
|
|
4036
4113
|
})), {
|
|
4037
4114
|
hasValue: inputValue || selectedOptionValue,
|
|
4038
4115
|
disabled: isDisabled,
|
|
4039
4116
|
columns,
|
|
4040
4117
|
hasError
|
|
4041
4118
|
}),
|
|
4042
|
-
hasIcon && (typeof icon === "string" ? /* @__PURE__ */
|
|
4119
|
+
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
4120
|
icon_default,
|
|
4044
4121
|
{
|
|
4045
4122
|
icon: getIcon({ options, selectedItem, selectedOptionValue }),
|
|
4046
4123
|
color
|
|
4047
4124
|
}
|
|
4048
4125
|
)),
|
|
4049
|
-
/* @__PURE__ */
|
|
4126
|
+
/* @__PURE__ */ import_react24.default.createElement(text_default, { hasEllipsis: true, color: hasPlaceholder ? "bodyDimmed" : "inherit" }, getTitle({
|
|
4050
4127
|
options,
|
|
4051
4128
|
selectedItem,
|
|
4052
4129
|
selectedOptionValue,
|
|
4053
4130
|
selectPlaceholder
|
|
4054
4131
|
})),
|
|
4055
|
-
/* @__PURE__ */
|
|
4132
|
+
/* @__PURE__ */ import_react24.default.createElement(icon_default, { icon: /* @__PURE__ */ import_react24.default.createElement(SvgChevronDown, null), color })
|
|
4056
4133
|
);
|
|
4057
4134
|
};
|
|
4058
4135
|
var CustomHeader = ({
|
|
@@ -4066,14 +4143,16 @@ var CustomHeader = ({
|
|
|
4066
4143
|
getInputProps,
|
|
4067
4144
|
ariaMenuName,
|
|
4068
4145
|
hasError,
|
|
4069
|
-
errorMessage
|
|
4146
|
+
errorMessage,
|
|
4147
|
+
isOpen
|
|
4070
4148
|
}) => {
|
|
4071
4149
|
const buttonProps = () => {
|
|
4072
4150
|
return __spreadValues(__spreadValues({}, getToggleButtonProps()), getHeaderAccessibilityProps({
|
|
4073
4151
|
selectedItem,
|
|
4074
4152
|
getInputProps,
|
|
4075
4153
|
getToggleButtonProps,
|
|
4076
|
-
ariaMenuName
|
|
4154
|
+
ariaMenuName,
|
|
4155
|
+
isOpen
|
|
4077
4156
|
}));
|
|
4078
4157
|
};
|
|
4079
4158
|
const getSelectedItem = () => {
|
|
@@ -4111,7 +4190,7 @@ var didSelectedOptionValueChange = (selectedOptionValue, prevSelectedItem) => {
|
|
|
4111
4190
|
};
|
|
4112
4191
|
var renderOption = (item, index, selectedItem, selectedOptionValue, highlightedIndex, getItemProps) => {
|
|
4113
4192
|
const isSelected = !selectedItem && item.value === selectedOptionValue || selectedItem && selectedItem.value === item.value;
|
|
4114
|
-
return /* @__PURE__ */
|
|
4193
|
+
return /* @__PURE__ */ import_react24.default.createElement(
|
|
4115
4194
|
MenuItem,
|
|
4116
4195
|
__spreadProps(__spreadValues({
|
|
4117
4196
|
key: index,
|
|
@@ -4139,16 +4218,18 @@ var SelectMenu = (_a) => {
|
|
|
4139
4218
|
selectedItem,
|
|
4140
4219
|
selectedOptionValue,
|
|
4141
4220
|
highlightedIndex,
|
|
4142
|
-
getItemProps
|
|
4221
|
+
getItemProps,
|
|
4222
|
+
search
|
|
4143
4223
|
} = _b, menuProps = __objRest(_b, [
|
|
4144
4224
|
"options",
|
|
4145
4225
|
"selectedItem",
|
|
4146
4226
|
"selectedOptionValue",
|
|
4147
4227
|
"highlightedIndex",
|
|
4148
|
-
"getItemProps"
|
|
4228
|
+
"getItemProps",
|
|
4229
|
+
"search"
|
|
4149
4230
|
]);
|
|
4150
4231
|
if (!isGrouped(options)) {
|
|
4151
|
-
return /* @__PURE__ */
|
|
4232
|
+
return /* @__PURE__ */ import_react24.default.createElement(menu_default, __spreadValues({ search }, menuProps), options.map(
|
|
4152
4233
|
(item, index) => renderOption(
|
|
4153
4234
|
item,
|
|
4154
4235
|
index,
|
|
@@ -4160,9 +4241,9 @@ var SelectMenu = (_a) => {
|
|
|
4160
4241
|
));
|
|
4161
4242
|
}
|
|
4162
4243
|
let downshiftIndex = 0;
|
|
4163
|
-
return /* @__PURE__ */
|
|
4244
|
+
return /* @__PURE__ */ import_react24.default.createElement(menu_default, __spreadValues({ search }, menuProps), options.map((group) => {
|
|
4164
4245
|
const groupId = `group-${group.group.replace(/\s+/g, "-")}`;
|
|
4165
|
-
return /* @__PURE__ */
|
|
4246
|
+
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
4247
|
return renderOption(
|
|
4167
4248
|
item,
|
|
4168
4249
|
downshiftIndex++,
|
|
@@ -4182,6 +4263,7 @@ var Select = (_a) => {
|
|
|
4182
4263
|
menuMaxWidth,
|
|
4183
4264
|
menuMaxHeight = 34,
|
|
4184
4265
|
menuMinWidth,
|
|
4266
|
+
triggerOffset = 0,
|
|
4185
4267
|
ariaMenuName,
|
|
4186
4268
|
selectedOptionValue,
|
|
4187
4269
|
onOuterClick,
|
|
@@ -4192,7 +4274,8 @@ var Select = (_a) => {
|
|
|
4192
4274
|
onOpenChange,
|
|
4193
4275
|
trigger,
|
|
4194
4276
|
hasError,
|
|
4195
|
-
errorMessage = "Oops, that didn't work."
|
|
4277
|
+
errorMessage = "Oops, that didn't work.",
|
|
4278
|
+
search
|
|
4196
4279
|
} = _b, props = __objRest(_b, [
|
|
4197
4280
|
"container",
|
|
4198
4281
|
"onChange",
|
|
@@ -4200,6 +4283,7 @@ var Select = (_a) => {
|
|
|
4200
4283
|
"menuMaxWidth",
|
|
4201
4284
|
"menuMaxHeight",
|
|
4202
4285
|
"menuMinWidth",
|
|
4286
|
+
"triggerOffset",
|
|
4203
4287
|
"ariaMenuName",
|
|
4204
4288
|
"selectedOptionValue",
|
|
4205
4289
|
"onOuterClick",
|
|
@@ -4210,14 +4294,20 @@ var Select = (_a) => {
|
|
|
4210
4294
|
"onOpenChange",
|
|
4211
4295
|
"trigger",
|
|
4212
4296
|
"hasError",
|
|
4213
|
-
"errorMessage"
|
|
4297
|
+
"errorMessage",
|
|
4298
|
+
"search"
|
|
4214
4299
|
]);
|
|
4215
4300
|
const environment = getDownshiftEnvironment(container);
|
|
4216
|
-
const [downshiftIsOpen, setDownshiftIsOpen] = (0,
|
|
4217
|
-
const [
|
|
4301
|
+
const [downshiftIsOpen, setDownshiftIsOpen] = (0, import_react24.useState)(false);
|
|
4302
|
+
const [searchValue, setSearchValue] = (0, import_react24.useState)("");
|
|
4303
|
+
const onSearchChange = (e) => {
|
|
4304
|
+
const value = e.target.value;
|
|
4305
|
+
setSearchValue(value);
|
|
4306
|
+
};
|
|
4307
|
+
const [prevSelectedItem, setPrevSelectedItem] = (0, import_react24.useState)(
|
|
4218
4308
|
getSelectedOption(selectedOptionValue, options)
|
|
4219
4309
|
);
|
|
4220
|
-
const [selectedItem, setSelectedItem] = (0,
|
|
4310
|
+
const [selectedItem, setSelectedItem] = (0, import_react24.useState)(prevSelectedItem);
|
|
4221
4311
|
const onDownshiftChange = (item) => {
|
|
4222
4312
|
setSelectedItem(item);
|
|
4223
4313
|
onChange && onChange(item ? item : "");
|
|
@@ -4239,16 +4329,17 @@ var Select = (_a) => {
|
|
|
4239
4329
|
ResizeObserver: import_resize_observer_polyfill.default,
|
|
4240
4330
|
placement: menuPositions[menuPosition],
|
|
4241
4331
|
auto: true,
|
|
4242
|
-
snap: true
|
|
4332
|
+
snap: true,
|
|
4333
|
+
triggerOffset
|
|
4243
4334
|
});
|
|
4244
|
-
(0,
|
|
4335
|
+
(0, import_react24.useEffect)(() => {
|
|
4245
4336
|
if (didSelectedOptionValueChange(selectedOptionValue, prevSelectedItem)) {
|
|
4246
4337
|
const selectedItem2 = getSelectedOption(selectedOptionValue, options);
|
|
4247
4338
|
setPrevSelectedItem(selectedItem2);
|
|
4248
4339
|
setSelectedItem(selectedItem2);
|
|
4249
4340
|
}
|
|
4250
4341
|
}, [selectedOptionValue, options, prevSelectedItem]);
|
|
4251
|
-
(0,
|
|
4342
|
+
(0, import_react24.useEffect)(() => {
|
|
4252
4343
|
onOpenChange && onOpenChange(downshiftIsOpen);
|
|
4253
4344
|
}, [downshiftIsOpen, onOpenChange]);
|
|
4254
4345
|
const stateReducer = (state, changes) => {
|
|
@@ -4261,7 +4352,42 @@ var Select = (_a) => {
|
|
|
4261
4352
|
}
|
|
4262
4353
|
return changes;
|
|
4263
4354
|
};
|
|
4264
|
-
|
|
4355
|
+
options = (0, import_react24.useMemo)(() => {
|
|
4356
|
+
if (search) {
|
|
4357
|
+
if (isGrouped(options)) {
|
|
4358
|
+
let filteredGroups;
|
|
4359
|
+
if (search.searchType === "startsWith") {
|
|
4360
|
+
filteredGroups = options.map((group) => __spreadProps(__spreadValues({}, group), {
|
|
4361
|
+
items: group.items.filter(
|
|
4362
|
+
(item) => getTextFromNode(item.title).toLowerCase().startsWith(searchValue.toLowerCase())
|
|
4363
|
+
)
|
|
4364
|
+
}));
|
|
4365
|
+
} else {
|
|
4366
|
+
filteredGroups = options.map((group) => __spreadProps(__spreadValues({}, group), {
|
|
4367
|
+
items: group.items.filter(
|
|
4368
|
+
(item) => getTextFromNode(item.title).toLowerCase().includes(searchValue.toLowerCase())
|
|
4369
|
+
)
|
|
4370
|
+
}));
|
|
4371
|
+
}
|
|
4372
|
+
return filteredGroups.reduce((acc, group) => {
|
|
4373
|
+
if (group.items.length > 0) {
|
|
4374
|
+
acc.push(group);
|
|
4375
|
+
}
|
|
4376
|
+
return acc;
|
|
4377
|
+
}, []);
|
|
4378
|
+
}
|
|
4379
|
+
if (search.searchType === "startsWith") {
|
|
4380
|
+
return options.filter(
|
|
4381
|
+
(option) => getTextFromNode(option.title).toLowerCase().startsWith(searchValue.toLowerCase())
|
|
4382
|
+
);
|
|
4383
|
+
}
|
|
4384
|
+
return options.filter(
|
|
4385
|
+
(option) => getTextFromNode(option.title).toLowerCase().includes(searchValue.toLowerCase())
|
|
4386
|
+
);
|
|
4387
|
+
}
|
|
4388
|
+
return options;
|
|
4389
|
+
}, [options, searchValue, search]);
|
|
4390
|
+
return /* @__PURE__ */ import_react24.default.createElement(SelectWrapper, __spreadValues({}, props), /* @__PURE__ */ import_react24.default.createElement(import_downshift.default, __spreadProps(__spreadValues({}, downshiftProps), { stateReducer }), ({
|
|
4265
4391
|
getItemProps,
|
|
4266
4392
|
getInputProps,
|
|
4267
4393
|
getMenuProps,
|
|
@@ -4273,7 +4399,7 @@ var Select = (_a) => {
|
|
|
4273
4399
|
}) => {
|
|
4274
4400
|
return (
|
|
4275
4401
|
// Don't set the role to combobox to ensure a consistent experience for screen readers
|
|
4276
|
-
/* @__PURE__ */
|
|
4402
|
+
/* @__PURE__ */ import_react24.default.createElement("div", { role: "presentation" }, /* @__PURE__ */ import_react24.default.createElement("div", __spreadValues({}, triggerProps), trigger ? /* @__PURE__ */ import_react24.default.createElement(
|
|
4277
4403
|
CustomHeader,
|
|
4278
4404
|
{
|
|
4279
4405
|
getToggleButtonProps,
|
|
@@ -4286,9 +4412,10 @@ var Select = (_a) => {
|
|
|
4286
4412
|
getInputProps,
|
|
4287
4413
|
ariaMenuName,
|
|
4288
4414
|
hasError,
|
|
4289
|
-
errorMessage
|
|
4415
|
+
errorMessage,
|
|
4416
|
+
isOpen
|
|
4290
4417
|
}
|
|
4291
|
-
) : /* @__PURE__ */
|
|
4418
|
+
) : /* @__PURE__ */ import_react24.default.createElement(
|
|
4292
4419
|
SelectHeader,
|
|
4293
4420
|
{
|
|
4294
4421
|
getToggleButtonProps,
|
|
@@ -4300,10 +4427,11 @@ var Select = (_a) => {
|
|
|
4300
4427
|
isDisabled,
|
|
4301
4428
|
getInputProps,
|
|
4302
4429
|
ariaMenuName,
|
|
4303
|
-
hasError
|
|
4430
|
+
hasError,
|
|
4431
|
+
isOpen
|
|
4304
4432
|
}
|
|
4305
4433
|
)), downshiftIsOpen && isOpen && renderLayer(
|
|
4306
|
-
/* @__PURE__ */
|
|
4434
|
+
/* @__PURE__ */ import_react24.default.createElement(
|
|
4307
4435
|
"div",
|
|
4308
4436
|
__spreadProps(__spreadValues({}, layerProps), {
|
|
4309
4437
|
style: __spreadProps(__spreadValues({}, layerProps.style), {
|
|
@@ -4311,7 +4439,7 @@ var Select = (_a) => {
|
|
|
4311
4439
|
width: menuMinWidth ? "auto" : triggerBounds == null ? void 0 : triggerBounds.width
|
|
4312
4440
|
})
|
|
4313
4441
|
}),
|
|
4314
|
-
/* @__PURE__ */
|
|
4442
|
+
/* @__PURE__ */ import_react24.default.createElement(
|
|
4315
4443
|
SelectMenu,
|
|
4316
4444
|
{
|
|
4317
4445
|
options,
|
|
@@ -4323,26 +4451,36 @@ var Select = (_a) => {
|
|
|
4323
4451
|
downshiftMenuProps: getMenuProps,
|
|
4324
4452
|
maxWidth: menuMaxWidth,
|
|
4325
4453
|
maxHeight: menuMaxHeight,
|
|
4326
|
-
minWidth: menuMinWidth
|
|
4454
|
+
minWidth: menuMinWidth,
|
|
4455
|
+
search: search && /* @__PURE__ */ import_react24.default.createElement(
|
|
4456
|
+
search_bar_default,
|
|
4457
|
+
{
|
|
4458
|
+
ariaLabel: search.searchPlaceholder,
|
|
4459
|
+
placeholder: search.searchPlaceholder,
|
|
4460
|
+
value: searchValue,
|
|
4461
|
+
onChange: onSearchChange,
|
|
4462
|
+
getInputProps
|
|
4463
|
+
}
|
|
4464
|
+
)
|
|
4327
4465
|
}
|
|
4328
4466
|
)
|
|
4329
4467
|
)
|
|
4330
|
-
), hasError && !downshiftIsOpen && /* @__PURE__ */
|
|
4468
|
+
), hasError && !downshiftIsOpen && /* @__PURE__ */ import_react24.default.createElement(ErrorMessage, null, errorMessage))
|
|
4331
4469
|
);
|
|
4332
4470
|
}));
|
|
4333
4471
|
};
|
|
4334
4472
|
var select_default = Select;
|
|
4335
4473
|
|
|
4336
4474
|
// src/components/backdrop/backdrop.tsx
|
|
4337
|
-
var
|
|
4338
|
-
var
|
|
4475
|
+
var import_styled20 = __toESM(require("@emotion/styled"));
|
|
4476
|
+
var import_react26 = __toESM(require("react"));
|
|
4339
4477
|
var import_transition_hook = require("transition-hook");
|
|
4340
4478
|
|
|
4341
4479
|
// src/hooks/use-prevent-scroll.ts
|
|
4342
|
-
var
|
|
4480
|
+
var import_react25 = require("react");
|
|
4343
4481
|
function usePreventScroll(level, enabled) {
|
|
4344
4482
|
const safeDocument = document;
|
|
4345
|
-
(0,
|
|
4483
|
+
(0, import_react25.useLayoutEffect)(() => {
|
|
4346
4484
|
const html = safeDocument == null ? void 0 : safeDocument.documentElement;
|
|
4347
4485
|
const body = safeDocument == null ? void 0 : safeDocument.body;
|
|
4348
4486
|
if (safeDocument == void 0 || !html || !body) {
|
|
@@ -4401,7 +4539,7 @@ var use_prevent_scroll_default = usePreventScroll;
|
|
|
4401
4539
|
|
|
4402
4540
|
// src/components/backdrop/backdrop.tsx
|
|
4403
4541
|
var duration = 300;
|
|
4404
|
-
var BackdropWrapper =
|
|
4542
|
+
var BackdropWrapper = import_styled20.default.div`
|
|
4405
4543
|
position: fixed;
|
|
4406
4544
|
top: 0;
|
|
4407
4545
|
left: 0;
|
|
@@ -4411,7 +4549,7 @@ var BackdropWrapper = import_styled19.default.div`
|
|
|
4411
4549
|
z-index: ${(props) => props.zIndex};
|
|
4412
4550
|
overflow: hidden;
|
|
4413
4551
|
`;
|
|
4414
|
-
var ChildrenWrapper =
|
|
4552
|
+
var ChildrenWrapper = import_styled20.default.div`
|
|
4415
4553
|
overflow: auto;
|
|
4416
4554
|
height: 100%;
|
|
4417
4555
|
`;
|
|
@@ -4429,7 +4567,7 @@ var Backdrop = (_a) => {
|
|
|
4429
4567
|
]);
|
|
4430
4568
|
const { stage, shouldMount } = (0, import_transition_hook.useTransition)(isOpen, duration);
|
|
4431
4569
|
use_prevent_scroll_default("html", isOpen);
|
|
4432
|
-
return /* @__PURE__ */
|
|
4570
|
+
return /* @__PURE__ */ import_react26.default.createElement(import_react26.default.Fragment, null, shouldMount && /* @__PURE__ */ import_react26.default.createElement(
|
|
4433
4571
|
BackdropWrapper,
|
|
4434
4572
|
__spreadValues({
|
|
4435
4573
|
backgroundColor,
|
|
@@ -4439,31 +4577,31 @@ var Backdrop = (_a) => {
|
|
|
4439
4577
|
opacity: stage === "enter" ? 1 : 0
|
|
4440
4578
|
}
|
|
4441
4579
|
}, props),
|
|
4442
|
-
/* @__PURE__ */
|
|
4580
|
+
/* @__PURE__ */ import_react26.default.createElement(ChildrenWrapper, null, children)
|
|
4443
4581
|
));
|
|
4444
4582
|
};
|
|
4445
4583
|
var backdrop_default = Backdrop;
|
|
4446
4584
|
|
|
4447
4585
|
// src/components/modal/modal.tsx
|
|
4448
|
-
var
|
|
4586
|
+
var import_styled21 = __toESM(require("@emotion/styled"));
|
|
4449
4587
|
var import_focus_trap_react = __toESM(require("focus-trap-react"));
|
|
4450
|
-
var
|
|
4588
|
+
var import_react27 = __toESM(require("react"));
|
|
4451
4589
|
|
|
4452
4590
|
// src/components/icon/available-icons/close.tsx
|
|
4453
4591
|
var import_close = __toESM(require("@atlaskit/icon/core/close"));
|
|
4454
|
-
var
|
|
4592
|
+
var React27 = __toESM(require("react"));
|
|
4455
4593
|
function SvgClose() {
|
|
4456
|
-
return /* @__PURE__ */
|
|
4594
|
+
return /* @__PURE__ */ React27.createElement(import_close.default, { label: "", testId: "ads-refreshed-icon" });
|
|
4457
4595
|
}
|
|
4458
4596
|
|
|
4459
4597
|
// src/components/modal/modal.tsx
|
|
4460
4598
|
var DEFAULT_MODAL_CARD_HEIGHT = "70vh";
|
|
4461
|
-
var ContentWrapper =
|
|
4599
|
+
var ContentWrapper = import_styled21.default.div`
|
|
4462
4600
|
display: grid;
|
|
4463
4601
|
grid-template-rows: ${(props) => props.rows};
|
|
4464
4602
|
position: relative;
|
|
4465
4603
|
`;
|
|
4466
|
-
var ModalCardWrapper =
|
|
4604
|
+
var ModalCardWrapper = import_styled21.default.dialog`
|
|
4467
4605
|
top: ${(props) => getPlacement(getSizeValue(props.maxHeight), props.placement).top};
|
|
4468
4606
|
background-color: ${getColorValue("overlay")};
|
|
4469
4607
|
color: ${getColorValue("body")};
|
|
@@ -4486,27 +4624,27 @@ var ModalCardWrapper = import_styled20.default.dialog`
|
|
|
4486
4624
|
background: var(--lns-color-overlay);
|
|
4487
4625
|
}
|
|
4488
4626
|
`;
|
|
4489
|
-
var CloseIconSection =
|
|
4627
|
+
var CloseIconSection = import_styled21.default.div`
|
|
4490
4628
|
position: absolute;
|
|
4491
4629
|
top: ${u(1.5)};
|
|
4492
4630
|
right: ${u(1.5)};
|
|
4493
4631
|
z-index: 1;
|
|
4494
4632
|
`;
|
|
4495
|
-
var RightButtonsSection =
|
|
4633
|
+
var RightButtonsSection = import_styled21.default.div`
|
|
4496
4634
|
margin-left: auto;
|
|
4497
4635
|
|
|
4498
4636
|
* {
|
|
4499
4637
|
vertical-align: middle;
|
|
4500
4638
|
}
|
|
4501
4639
|
`;
|
|
4502
|
-
var TitleSection =
|
|
4640
|
+
var TitleSection = import_styled21.default.div`
|
|
4503
4641
|
padding-left: var(--lns-space-xlarge);
|
|
4504
4642
|
padding-right: var(--lns-space-xlarge);
|
|
4505
4643
|
padding-top: var(--lns-space-xlarge);
|
|
4506
4644
|
padding-bottom: ${(props) => props.bottom};
|
|
4507
4645
|
flex-shrink: 0;
|
|
4508
4646
|
`;
|
|
4509
|
-
var ButtonsSection =
|
|
4647
|
+
var ButtonsSection = import_styled21.default.div`
|
|
4510
4648
|
padding-left: var(--lns-space-xlarge);
|
|
4511
4649
|
padding-right: var(--lns-space-xlarge);
|
|
4512
4650
|
padding-bottom: var(--lns-space-xlarge);
|
|
@@ -4516,7 +4654,7 @@ var ButtonsSection = import_styled20.default.div`
|
|
|
4516
4654
|
justify-content: space-between;
|
|
4517
4655
|
align-items: center;
|
|
4518
4656
|
`;
|
|
4519
|
-
var ChildrenSection2 =
|
|
4657
|
+
var ChildrenSection2 = import_styled21.default.div`
|
|
4520
4658
|
display: flex;
|
|
4521
4659
|
flex-direction: column;
|
|
4522
4660
|
overflow: auto;
|
|
@@ -4528,7 +4666,7 @@ var ChildrenSection2 = import_styled20.default.div`
|
|
|
4528
4666
|
border-color: ${getColorValue("border")};
|
|
4529
4667
|
border-width: ${(props) => props.hasDividers ? "1px 0" : "0"};
|
|
4530
4668
|
`;
|
|
4531
|
-
var ModalCardChildrenSection =
|
|
4669
|
+
var ModalCardChildrenSection = import_styled21.default.div`
|
|
4532
4670
|
overflow: auto;
|
|
4533
4671
|
|
|
4534
4672
|
${(props) => getMaxHeight(props.maxHeight)};
|
|
@@ -4579,14 +4717,14 @@ var ModalCard = (_a) => {
|
|
|
4579
4717
|
}
|
|
4580
4718
|
}
|
|
4581
4719
|
};
|
|
4582
|
-
(0,
|
|
4720
|
+
(0, import_react27.useEffect)(() => {
|
|
4583
4721
|
window.addEventListener("keydown", keyListener);
|
|
4584
4722
|
return () => {
|
|
4585
4723
|
window.removeEventListener("keydown", keyListener);
|
|
4586
4724
|
};
|
|
4587
4725
|
}, [isOpen, onCloseClick]);
|
|
4588
4726
|
use_prevent_scroll_default("html", isOpen);
|
|
4589
|
-
return /* @__PURE__ */
|
|
4727
|
+
return /* @__PURE__ */ import_react27.default.createElement(
|
|
4590
4728
|
import_focus_trap_react.default,
|
|
4591
4729
|
{
|
|
4592
4730
|
active: isOpen,
|
|
@@ -4595,7 +4733,7 @@ var ModalCard = (_a) => {
|
|
|
4595
4733
|
allowOutsideClick: true
|
|
4596
4734
|
}, initialFocus !== void 0 ? { initialFocus } : {})
|
|
4597
4735
|
},
|
|
4598
|
-
/* @__PURE__ */
|
|
4736
|
+
/* @__PURE__ */ import_react27.default.createElement(
|
|
4599
4737
|
ModalCardWrapper,
|
|
4600
4738
|
__spreadValues({
|
|
4601
4739
|
open: isOpen,
|
|
@@ -4608,15 +4746,15 @@ var ModalCard = (_a) => {
|
|
|
4608
4746
|
"aria-modal": ariaModal,
|
|
4609
4747
|
"aria-labelledby": ariaLabelledBy
|
|
4610
4748
|
}, props),
|
|
4611
|
-
!removeClose && onCloseClick && /* @__PURE__ */
|
|
4749
|
+
!removeClose && onCloseClick && /* @__PURE__ */ import_react27.default.createElement(CloseIconSection, null, /* @__PURE__ */ import_react27.default.createElement(
|
|
4612
4750
|
icon_button_default,
|
|
4613
4751
|
{
|
|
4614
4752
|
altText: "Close",
|
|
4615
|
-
icon: /* @__PURE__ */
|
|
4753
|
+
icon: /* @__PURE__ */ import_react27.default.createElement(SvgClose, null),
|
|
4616
4754
|
onClick: onCloseClick
|
|
4617
4755
|
}
|
|
4618
4756
|
)),
|
|
4619
|
-
/* @__PURE__ */
|
|
4757
|
+
/* @__PURE__ */ import_react27.default.createElement(
|
|
4620
4758
|
ModalCardChildrenSection,
|
|
4621
4759
|
__spreadProps(__spreadValues({}, removeClose ? { tabIndex: 0 } : { tabIndex: -1 }), {
|
|
4622
4760
|
maxHeight
|
|
@@ -4626,7 +4764,7 @@ var ModalCard = (_a) => {
|
|
|
4626
4764
|
)
|
|
4627
4765
|
);
|
|
4628
4766
|
};
|
|
4629
|
-
var Modal =
|
|
4767
|
+
var Modal = import_react27.default.forwardRef(
|
|
4630
4768
|
(_a, ref) => {
|
|
4631
4769
|
var _b = _a, {
|
|
4632
4770
|
children,
|
|
@@ -4682,14 +4820,14 @@ var Modal = import_react26.default.forwardRef(
|
|
|
4682
4820
|
}
|
|
4683
4821
|
onCloseClick(e);
|
|
4684
4822
|
};
|
|
4685
|
-
return /* @__PURE__ */
|
|
4823
|
+
return /* @__PURE__ */ import_react27.default.createElement(backdrop_default, __spreadValues({ isOpen, zIndex }, props), /* @__PURE__ */ import_react27.default.createElement(
|
|
4686
4824
|
container_default,
|
|
4687
4825
|
{
|
|
4688
4826
|
height: "100%",
|
|
4689
4827
|
onClick: closeClickHandler,
|
|
4690
4828
|
onKeyDown
|
|
4691
4829
|
},
|
|
4692
|
-
/* @__PURE__ */
|
|
4830
|
+
/* @__PURE__ */ import_react27.default.createElement(
|
|
4693
4831
|
ModalCard,
|
|
4694
4832
|
{
|
|
4695
4833
|
ref,
|
|
@@ -4704,19 +4842,19 @@ var Modal = import_react26.default.forwardRef(
|
|
|
4704
4842
|
ariaLabelledBy: (_a2 = ariaLabelledBy != null ? ariaLabelledBy : titleId) != null ? _a2 : void 0,
|
|
4705
4843
|
initialFocus
|
|
4706
4844
|
},
|
|
4707
|
-
/* @__PURE__ */
|
|
4845
|
+
/* @__PURE__ */ import_react27.default.createElement(
|
|
4708
4846
|
ContentWrapper,
|
|
4709
4847
|
{
|
|
4710
4848
|
rows: `${title ? "auto " : ""} ${children ? "1fr " : ""} ${hasButtons ? "auto" : ""}`
|
|
4711
4849
|
},
|
|
4712
|
-
title && /* @__PURE__ */
|
|
4850
|
+
title && /* @__PURE__ */ import_react27.default.createElement(
|
|
4713
4851
|
TitleSection,
|
|
4714
4852
|
{
|
|
4715
4853
|
bottom: children ? "var(--lns-space-medium)" : "var(--lns-space-xlarge)"
|
|
4716
4854
|
},
|
|
4717
|
-
/* @__PURE__ */
|
|
4855
|
+
/* @__PURE__ */ import_react27.default.createElement(text_default, { htmlTag: "h1", variant: "title", id: titleId }, title)
|
|
4718
4856
|
),
|
|
4719
|
-
/* @__PURE__ */
|
|
4857
|
+
/* @__PURE__ */ import_react27.default.createElement(
|
|
4720
4858
|
ChildrenSection2,
|
|
4721
4859
|
{
|
|
4722
4860
|
noPadding,
|
|
@@ -4726,14 +4864,14 @@ var Modal = import_react26.default.forwardRef(
|
|
|
4726
4864
|
},
|
|
4727
4865
|
children && children
|
|
4728
4866
|
),
|
|
4729
|
-
hasButtons && /* @__PURE__ */
|
|
4867
|
+
hasButtons && /* @__PURE__ */ import_react27.default.createElement(
|
|
4730
4868
|
ButtonsSection,
|
|
4731
4869
|
{
|
|
4732
4870
|
top: children ? "var(--lns-space-xlarge)" : 0,
|
|
4733
4871
|
hasDividers
|
|
4734
4872
|
},
|
|
4735
4873
|
alternativeButton,
|
|
4736
|
-
/* @__PURE__ */
|
|
4874
|
+
/* @__PURE__ */ import_react27.default.createElement(RightButtonsSection, null, secondaryButton && /* @__PURE__ */ import_react27.default.createElement(spacer_default, { right: "small", isInline: true }, secondaryButton), mainButton)
|
|
4737
4875
|
)
|
|
4738
4876
|
)
|
|
4739
4877
|
)
|
|
@@ -4743,9 +4881,9 @@ var Modal = import_react26.default.forwardRef(
|
|
|
4743
4881
|
var modal_default = Modal;
|
|
4744
4882
|
|
|
4745
4883
|
// src/components/link/link.tsx
|
|
4746
|
-
var
|
|
4747
|
-
var
|
|
4748
|
-
var
|
|
4884
|
+
var import_react28 = require("@emotion/react");
|
|
4885
|
+
var import_styled22 = __toESM(require("@emotion/styled"));
|
|
4886
|
+
var import_react29 = __toESM(require("react"));
|
|
4749
4887
|
var variants2 = {
|
|
4750
4888
|
neutral: {
|
|
4751
4889
|
color: getColorValue("inherit"),
|
|
@@ -4764,22 +4902,22 @@ var variants2 = {
|
|
|
4764
4902
|
}
|
|
4765
4903
|
};
|
|
4766
4904
|
var statusStyles2 = {
|
|
4767
|
-
enabled:
|
|
4905
|
+
enabled: import_react28.css`
|
|
4768
4906
|
cursor: pointer;
|
|
4769
4907
|
`,
|
|
4770
|
-
disabled:
|
|
4908
|
+
disabled: import_react28.css`
|
|
4771
4909
|
pointer-events: none;
|
|
4772
4910
|
color: ${getColorValue("disabledContent")};
|
|
4773
4911
|
`
|
|
4774
4912
|
};
|
|
4775
4913
|
var buttonStyles = {
|
|
4776
|
-
isButton:
|
|
4914
|
+
isButton: import_react28.css`
|
|
4777
4915
|
background: none;
|
|
4778
4916
|
border: none;
|
|
4779
4917
|
font: inherit;
|
|
4780
4918
|
`
|
|
4781
4919
|
};
|
|
4782
|
-
var LinkWrapper =
|
|
4920
|
+
var LinkWrapper = import_styled22.default.a`
|
|
4783
4921
|
${(props) => !props.disabled && `color: ${variants2[props.variant].color}`};
|
|
4784
4922
|
${(props) => props.disabled ? statusStyles2.disabled : statusStyles2.enabled};
|
|
4785
4923
|
${(props) => props.as === "button" && buttonStyles.isButton};
|
|
@@ -4816,7 +4954,7 @@ var Link = (_a) => {
|
|
|
4816
4954
|
"htmlTag",
|
|
4817
4955
|
"isDisabled"
|
|
4818
4956
|
]);
|
|
4819
|
-
return /* @__PURE__ */
|
|
4957
|
+
return /* @__PURE__ */ import_react29.default.createElement(
|
|
4820
4958
|
LinkWrapper,
|
|
4821
4959
|
__spreadValues({
|
|
4822
4960
|
href,
|
|
@@ -4831,8 +4969,8 @@ var availableVariants2 = Object.keys(variants2);
|
|
|
4831
4969
|
var link_default = Link;
|
|
4832
4970
|
|
|
4833
4971
|
// src/components/textarea/textarea.tsx
|
|
4834
|
-
var
|
|
4835
|
-
var
|
|
4972
|
+
var import_styled23 = __toESM(require("@emotion/styled"));
|
|
4973
|
+
var import_react30 = __toESM(require("react"));
|
|
4836
4974
|
var sizesStyles3 = {
|
|
4837
4975
|
small: {
|
|
4838
4976
|
padding: `${u(1.5)} ${u(1.75)}`,
|
|
@@ -4843,7 +4981,7 @@ var sizesStyles3 = {
|
|
|
4843
4981
|
textSize: "medium"
|
|
4844
4982
|
}
|
|
4845
4983
|
};
|
|
4846
|
-
var TextareaWrapper =
|
|
4984
|
+
var TextareaWrapper = import_styled23.default.textarea`
|
|
4847
4985
|
width: 100%;
|
|
4848
4986
|
border: none;
|
|
4849
4987
|
font-family: inherit;
|
|
@@ -4882,7 +5020,7 @@ var TextareaWrapper = import_styled22.default.textarea`
|
|
|
4882
5020
|
color: ${getColorValue("bodyDimmed")};
|
|
4883
5021
|
}
|
|
4884
5022
|
`;
|
|
4885
|
-
var Textarea =
|
|
5023
|
+
var Textarea = import_react30.default.forwardRef(
|
|
4886
5024
|
(_a, ref) => {
|
|
4887
5025
|
var _b = _a, {
|
|
4888
5026
|
onChange,
|
|
@@ -4903,7 +5041,7 @@ var Textarea = import_react29.default.forwardRef(
|
|
|
4903
5041
|
"resize",
|
|
4904
5042
|
"error"
|
|
4905
5043
|
]);
|
|
4906
|
-
return /* @__PURE__ */
|
|
5044
|
+
return /* @__PURE__ */ import_react30.default.createElement(import_react30.default.Fragment, null, /* @__PURE__ */ import_react30.default.createElement(
|
|
4907
5045
|
TextareaWrapper,
|
|
4908
5046
|
__spreadValues({
|
|
4909
5047
|
disabled: isDisabled,
|
|
@@ -4916,26 +5054,26 @@ var Textarea = import_react29.default.forwardRef(
|
|
|
4916
5054
|
resize,
|
|
4917
5055
|
error
|
|
4918
5056
|
}, props)
|
|
4919
|
-
), error ? /* @__PURE__ */
|
|
5057
|
+
), 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
5058
|
}
|
|
4921
5059
|
);
|
|
4922
5060
|
var textarea_default = Textarea;
|
|
4923
5061
|
|
|
4924
5062
|
// src/components/typeahead/typeahead.tsx
|
|
4925
|
-
var
|
|
5063
|
+
var import_styled24 = __toESM(require("@emotion/styled"));
|
|
4926
5064
|
var import_downshift3 = __toESM(require("downshift"));
|
|
4927
|
-
var
|
|
5065
|
+
var import_react31 = __toESM(require("react"));
|
|
4928
5066
|
var import_react_laag2 = require("react-laag");
|
|
4929
5067
|
var import_resize_observer_polyfill2 = __toESM(require("resize-observer-polyfill"));
|
|
4930
|
-
var TypeaheadWrapper =
|
|
5068
|
+
var TypeaheadWrapper = import_styled24.default.div`
|
|
4931
5069
|
position: relative;
|
|
4932
5070
|
`;
|
|
4933
|
-
var Group2 =
|
|
5071
|
+
var Group2 = import_styled24.default.ul`
|
|
4934
5072
|
list-style: none;
|
|
4935
5073
|
margin: 0;
|
|
4936
5074
|
padding: 0;
|
|
4937
5075
|
`;
|
|
4938
|
-
var ErrorMessage2 =
|
|
5076
|
+
var ErrorMessage2 = import_styled24.default.span`
|
|
4939
5077
|
color: var(--lns-color-red);
|
|
4940
5078
|
margin-top: var(--lns-space-xsmall);
|
|
4941
5079
|
display: block;
|
|
@@ -4998,7 +5136,7 @@ var getHeaderAccessibilityProps2 = ({
|
|
|
4998
5136
|
"aria-label": [ariaMenuName, valueLabel].filter(Boolean).join(", ")
|
|
4999
5137
|
};
|
|
5000
5138
|
};
|
|
5001
|
-
var TypeaheadHeaderWrapper =
|
|
5139
|
+
var TypeaheadHeaderWrapper = import_styled24.default.button`
|
|
5002
5140
|
position: relative;
|
|
5003
5141
|
width: 100%;
|
|
5004
5142
|
background: none;
|
|
@@ -5013,7 +5151,7 @@ var TypeaheadHeaderWrapper = import_styled23.default.button`
|
|
|
5013
5151
|
cursor: default;
|
|
5014
5152
|
}
|
|
5015
5153
|
`;
|
|
5016
|
-
var TypeaheadInputField =
|
|
5154
|
+
var TypeaheadInputField = import_styled24.default.input`
|
|
5017
5155
|
-webkit-appearance: none;
|
|
5018
5156
|
font-family: inherit;
|
|
5019
5157
|
width: 100%;
|
|
@@ -5024,6 +5162,7 @@ var TypeaheadInputField = import_styled23.default.input`
|
|
|
5024
5162
|
transition: 0.3s box-shadow;
|
|
5025
5163
|
padding-top: 0;
|
|
5026
5164
|
padding-bottom: 0;
|
|
5165
|
+
id: ${(props) => props.id};
|
|
5027
5166
|
padding-left: ${(props) => props.hasIcon ? u(5.5) : "var(--lns-formFieldHorizontalPadding)"};
|
|
5028
5167
|
padding-right: ${(props) => props.hasAddOn ? u(5.5) : "var(--lns-formFieldHorizontalPadding)"};
|
|
5029
5168
|
border-radius: var(--lns-formFieldRadius);
|
|
@@ -5056,7 +5195,7 @@ var TypeaheadInputField = import_styled23.default.input`
|
|
|
5056
5195
|
color: ${getColorValue("bodyDimmed")};
|
|
5057
5196
|
}
|
|
5058
5197
|
`;
|
|
5059
|
-
var IconSection3 =
|
|
5198
|
+
var IconSection3 = import_styled24.default.div`
|
|
5060
5199
|
position: absolute;
|
|
5061
5200
|
pointer-events: none;
|
|
5062
5201
|
width: ${u(6)};
|
|
@@ -5066,7 +5205,7 @@ var IconSection3 = import_styled23.default.div`
|
|
|
5066
5205
|
justify-content: center;
|
|
5067
5206
|
left: 0;
|
|
5068
5207
|
`;
|
|
5069
|
-
var AddOnSection =
|
|
5208
|
+
var AddOnSection = import_styled24.default.div`
|
|
5070
5209
|
position: absolute;
|
|
5071
5210
|
height: 100%;
|
|
5072
5211
|
display: flex;
|
|
@@ -5077,7 +5216,7 @@ var AddOnSection = import_styled23.default.div`
|
|
|
5077
5216
|
top: 50%;
|
|
5078
5217
|
transform: translateY(-50%);
|
|
5079
5218
|
`;
|
|
5080
|
-
var TextOverlay =
|
|
5219
|
+
var TextOverlay = import_styled24.default.div`
|
|
5081
5220
|
position: absolute;
|
|
5082
5221
|
top: 0;
|
|
5083
5222
|
left: ${(props) => props.hasIcon ? u(5.5) : "var(--lns-formFieldHorizontalPadding)"};
|
|
@@ -5088,7 +5227,7 @@ var TextOverlay = import_styled23.default.div`
|
|
|
5088
5227
|
pointer-events: none;
|
|
5089
5228
|
color: inherit;
|
|
5090
5229
|
`;
|
|
5091
|
-
var TypeaheadImage =
|
|
5230
|
+
var TypeaheadImage = import_styled24.default.img`
|
|
5092
5231
|
height: 100%;
|
|
5093
5232
|
width: auto;
|
|
5094
5233
|
min-width: 100%;
|
|
@@ -5110,7 +5249,8 @@ var TypeaheadHeader = ({
|
|
|
5110
5249
|
hasLoader,
|
|
5111
5250
|
inputValue,
|
|
5112
5251
|
handleInputValueChange,
|
|
5113
|
-
inputRef
|
|
5252
|
+
inputRef,
|
|
5253
|
+
id
|
|
5114
5254
|
}) => {
|
|
5115
5255
|
const icon = getIcon2({ options, selectedItem, selectedOptionValue });
|
|
5116
5256
|
const hasIcon = Boolean(icon);
|
|
@@ -5130,6 +5270,8 @@ var TypeaheadHeader = ({
|
|
|
5130
5270
|
getInputProps,
|
|
5131
5271
|
ariaMenuName
|
|
5132
5272
|
})), getInputProps({
|
|
5273
|
+
id,
|
|
5274
|
+
"aria-labelledby": void 0,
|
|
5133
5275
|
disabled: isDisabled,
|
|
5134
5276
|
onFocus: handleClickAndFocus,
|
|
5135
5277
|
onClick: handleClickAndFocus,
|
|
@@ -5140,7 +5282,7 @@ var TypeaheadHeader = ({
|
|
|
5140
5282
|
onChange: (e) => handleInputValueChange(e.target.value)
|
|
5141
5283
|
}));
|
|
5142
5284
|
const showPlaceholder = !inputValue && !selectedOptionValue;
|
|
5143
|
-
return /* @__PURE__ */
|
|
5285
|
+
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
5286
|
TypeaheadInputField,
|
|
5145
5287
|
__spreadProps(__spreadValues({
|
|
5146
5288
|
ref: inputRef
|
|
@@ -5150,12 +5292,12 @@ var TypeaheadHeader = ({
|
|
|
5150
5292
|
hasError,
|
|
5151
5293
|
isDisabled
|
|
5152
5294
|
})
|
|
5153
|
-
), !inputValue && /* @__PURE__ */
|
|
5295
|
+
), !inputValue && /* @__PURE__ */ import_react31.default.createElement(TextOverlay, { hasIcon }, /* @__PURE__ */ import_react31.default.createElement(text_default, { hasEllipsis: true, color: showPlaceholder ? "bodyDimmed" : "inherit" }, getTitle2({
|
|
5154
5296
|
options,
|
|
5155
5297
|
selectedItem,
|
|
5156
5298
|
selectedOptionValue,
|
|
5157
5299
|
placeholder
|
|
5158
|
-
}))), /* @__PURE__ */
|
|
5300
|
+
}))), /* @__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
5301
|
};
|
|
5160
5302
|
var getSelectedOption2 = (value, options) => {
|
|
5161
5303
|
var _a;
|
|
@@ -5177,7 +5319,7 @@ var didSelectedOptionValueChange2 = (selectedOptionValue, prevSelectedItem) => {
|
|
|
5177
5319
|
};
|
|
5178
5320
|
var renderOption2 = (item, index, selectedItem, selectedOptionValue, highlightedIndex, getItemProps) => {
|
|
5179
5321
|
const isSelected = !selectedItem && item.value === selectedOptionValue || selectedItem && selectedItem.value === item.value;
|
|
5180
|
-
return /* @__PURE__ */
|
|
5322
|
+
return /* @__PURE__ */ import_react31.default.createElement(
|
|
5181
5323
|
MenuItem,
|
|
5182
5324
|
__spreadProps(__spreadValues({
|
|
5183
5325
|
key: index,
|
|
@@ -5221,16 +5363,16 @@ var TypeaheadMenu = (_a) => {
|
|
|
5221
5363
|
"emptyResultsMessage",
|
|
5222
5364
|
"hasAvailableOptions"
|
|
5223
5365
|
]);
|
|
5224
|
-
const defaultLoadingMessage = loadingMessage || /* @__PURE__ */
|
|
5366
|
+
const defaultLoadingMessage = loadingMessage || /* @__PURE__ */ import_react31.default.createElement(loader_default, null);
|
|
5225
5367
|
const defaultEmptyResultsMessage = emptyResultsMessage || "No results";
|
|
5226
5368
|
if (isLoading) {
|
|
5227
|
-
return /* @__PURE__ */
|
|
5369
|
+
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
5370
|
}
|
|
5229
5371
|
if (!hasAvailableOptions) {
|
|
5230
|
-
return /* @__PURE__ */
|
|
5372
|
+
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
5373
|
}
|
|
5232
5374
|
if (!isGrouped2(options)) {
|
|
5233
|
-
return /* @__PURE__ */
|
|
5375
|
+
return /* @__PURE__ */ import_react31.default.createElement(menu_default, __spreadValues({}, menuProps), options.map(
|
|
5234
5376
|
(item, index) => renderOption2(
|
|
5235
5377
|
item,
|
|
5236
5378
|
index,
|
|
@@ -5242,9 +5384,9 @@ var TypeaheadMenu = (_a) => {
|
|
|
5242
5384
|
));
|
|
5243
5385
|
}
|
|
5244
5386
|
let downshiftIndex = 0;
|
|
5245
|
-
return /* @__PURE__ */
|
|
5387
|
+
return /* @__PURE__ */ import_react31.default.createElement(menu_default, __spreadValues({}, menuProps), options.map((group) => {
|
|
5246
5388
|
const groupId = `group-${group.group.replace(/\s+/g, "-")}`;
|
|
5247
|
-
return /* @__PURE__ */
|
|
5389
|
+
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
5390
|
return renderOption2(
|
|
5249
5391
|
item,
|
|
5250
5392
|
downshiftIndex++,
|
|
@@ -5256,7 +5398,7 @@ var TypeaheadMenu = (_a) => {
|
|
|
5256
5398
|
})));
|
|
5257
5399
|
}));
|
|
5258
5400
|
};
|
|
5259
|
-
var Typeahead = (0,
|
|
5401
|
+
var Typeahead = (0, import_react31.forwardRef)(
|
|
5260
5402
|
(_a, ref) => {
|
|
5261
5403
|
var _b = _a, {
|
|
5262
5404
|
container,
|
|
@@ -5277,7 +5419,8 @@ var Typeahead = (0, import_react30.forwardRef)(
|
|
|
5277
5419
|
isLoading,
|
|
5278
5420
|
loadingMessage,
|
|
5279
5421
|
emptyResultsMessage,
|
|
5280
|
-
errorMessage
|
|
5422
|
+
errorMessage,
|
|
5423
|
+
id
|
|
5281
5424
|
} = _b, props = __objRest(_b, [
|
|
5282
5425
|
"container",
|
|
5283
5426
|
"onOptionChange",
|
|
@@ -5297,11 +5440,12 @@ var Typeahead = (0, import_react30.forwardRef)(
|
|
|
5297
5440
|
"isLoading",
|
|
5298
5441
|
"loadingMessage",
|
|
5299
5442
|
"emptyResultsMessage",
|
|
5300
|
-
"errorMessage"
|
|
5443
|
+
"errorMessage",
|
|
5444
|
+
"id"
|
|
5301
5445
|
]);
|
|
5302
5446
|
const environment = getDownshiftEnvironment(container);
|
|
5303
|
-
const internalInputRef = (0,
|
|
5304
|
-
const inputRef = (0,
|
|
5447
|
+
const internalInputRef = (0, import_react31.useRef)(null);
|
|
5448
|
+
const inputRef = (0, import_react31.useCallback)(
|
|
5305
5449
|
(node) => {
|
|
5306
5450
|
internalInputRef.current = node;
|
|
5307
5451
|
if (ref) {
|
|
@@ -5310,12 +5454,12 @@ var Typeahead = (0, import_react30.forwardRef)(
|
|
|
5310
5454
|
},
|
|
5311
5455
|
[ref]
|
|
5312
5456
|
);
|
|
5313
|
-
const [inputValue, setInputValue] = (0,
|
|
5314
|
-
const [downshiftIsOpen, setDownshiftIsOpen] = (0,
|
|
5315
|
-
const [prevSelectedItem, setPrevSelectedItem] = (0,
|
|
5457
|
+
const [inputValue, setInputValue] = (0, import_react31.useState)("");
|
|
5458
|
+
const [downshiftIsOpen, setDownshiftIsOpen] = (0, import_react31.useState)(false);
|
|
5459
|
+
const [prevSelectedItem, setPrevSelectedItem] = (0, import_react31.useState)(
|
|
5316
5460
|
getSelectedOption2(selectedOptionValue, options)
|
|
5317
5461
|
);
|
|
5318
|
-
const [selectedItem, setSelectedItem] = (0,
|
|
5462
|
+
const [selectedItem, setSelectedItem] = (0, import_react31.useState)(
|
|
5319
5463
|
prevSelectedItem
|
|
5320
5464
|
);
|
|
5321
5465
|
const handleInputValueChange = (value) => {
|
|
@@ -5346,7 +5490,7 @@ var Typeahead = (0, import_react30.forwardRef)(
|
|
|
5346
5490
|
auto: true,
|
|
5347
5491
|
snap: true
|
|
5348
5492
|
});
|
|
5349
|
-
(0,
|
|
5493
|
+
(0, import_react31.useEffect)(() => {
|
|
5350
5494
|
if (didSelectedOptionValueChange2(selectedOptionValue, prevSelectedItem)) {
|
|
5351
5495
|
const item = getSelectedOption2(selectedOptionValue, options);
|
|
5352
5496
|
setPrevSelectedItem(item);
|
|
@@ -5354,14 +5498,14 @@ var Typeahead = (0, import_react30.forwardRef)(
|
|
|
5354
5498
|
setInputValue("");
|
|
5355
5499
|
}
|
|
5356
5500
|
}, [selectedOptionValue, options, prevSelectedItem]);
|
|
5357
|
-
(0,
|
|
5501
|
+
(0, import_react31.useEffect)(() => {
|
|
5358
5502
|
var _a2;
|
|
5359
5503
|
onOpenChange && onOpenChange(downshiftIsOpen);
|
|
5360
5504
|
if (!downshiftIsOpen) {
|
|
5361
5505
|
(_a2 = internalInputRef.current) == null ? void 0 : _a2.blur();
|
|
5362
5506
|
}
|
|
5363
5507
|
}, [downshiftIsOpen, onOpenChange]);
|
|
5364
|
-
const hasAvailableOptions = (0,
|
|
5508
|
+
const hasAvailableOptions = (0, import_react31.useMemo)(() => {
|
|
5365
5509
|
if (!Array.isArray(options)) {
|
|
5366
5510
|
return false;
|
|
5367
5511
|
}
|
|
@@ -5377,7 +5521,7 @@ var Typeahead = (0, import_react30.forwardRef)(
|
|
|
5377
5521
|
}
|
|
5378
5522
|
return changes;
|
|
5379
5523
|
};
|
|
5380
|
-
return /* @__PURE__ */
|
|
5524
|
+
return /* @__PURE__ */ import_react31.default.createElement(TypeaheadWrapper, __spreadValues({}, props), /* @__PURE__ */ import_react31.default.createElement(import_downshift3.default, __spreadProps(__spreadValues({}, downshiftProps), { stateReducer }), ({
|
|
5381
5525
|
getItemProps,
|
|
5382
5526
|
getInputProps,
|
|
5383
5527
|
getMenuProps,
|
|
@@ -5387,7 +5531,7 @@ var Typeahead = (0, import_react30.forwardRef)(
|
|
|
5387
5531
|
}) => {
|
|
5388
5532
|
return (
|
|
5389
5533
|
// Don't set the role to combobox to ensure a consistent experience for screen readers
|
|
5390
|
-
/* @__PURE__ */
|
|
5534
|
+
/* @__PURE__ */ import_react31.default.createElement("div", { role: "presentation" }, /* @__PURE__ */ import_react31.default.createElement("div", __spreadValues({}, triggerProps), /* @__PURE__ */ import_react31.default.createElement(
|
|
5391
5535
|
TypeaheadHeader,
|
|
5392
5536
|
{
|
|
5393
5537
|
inputRef,
|
|
@@ -5405,10 +5549,11 @@ var Typeahead = (0, import_react30.forwardRef)(
|
|
|
5405
5549
|
setDownshiftIsOpen(true);
|
|
5406
5550
|
},
|
|
5407
5551
|
hasLoader: isLoading,
|
|
5408
|
-
hasError: Boolean(errorMessage)
|
|
5552
|
+
hasError: Boolean(errorMessage),
|
|
5553
|
+
id
|
|
5409
5554
|
}
|
|
5410
5555
|
)), downshiftIsOpen && isOpen && renderLayer(
|
|
5411
|
-
/* @__PURE__ */
|
|
5556
|
+
/* @__PURE__ */ import_react31.default.createElement(
|
|
5412
5557
|
"div",
|
|
5413
5558
|
__spreadProps(__spreadValues({}, layerProps), {
|
|
5414
5559
|
style: __spreadProps(__spreadValues({}, layerProps.style), {
|
|
@@ -5416,7 +5561,7 @@ var Typeahead = (0, import_react30.forwardRef)(
|
|
|
5416
5561
|
width: menuMinWidth ? "auto" : triggerBounds == null ? void 0 : triggerBounds.width
|
|
5417
5562
|
})
|
|
5418
5563
|
}),
|
|
5419
|
-
/* @__PURE__ */
|
|
5564
|
+
/* @__PURE__ */ import_react31.default.createElement(
|
|
5420
5565
|
TypeaheadMenu,
|
|
5421
5566
|
{
|
|
5422
5567
|
options,
|
|
@@ -5436,7 +5581,7 @@ var Typeahead = (0, import_react30.forwardRef)(
|
|
|
5436
5581
|
}
|
|
5437
5582
|
)
|
|
5438
5583
|
)
|
|
5439
|
-
), Boolean(errorMessage) && !downshiftIsOpen ? /* @__PURE__ */
|
|
5584
|
+
), Boolean(errorMessage) && !downshiftIsOpen ? /* @__PURE__ */ import_react31.default.createElement(ErrorMessage2, null, errorMessage) : null)
|
|
5440
5585
|
);
|
|
5441
5586
|
}));
|
|
5442
5587
|
}
|
|
@@ -5450,48 +5595,6 @@ var import_downshift5 = __toESM(require("downshift"));
|
|
|
5450
5595
|
var import_react32 = __toESM(require("react"));
|
|
5451
5596
|
var import_react_laag3 = require("react-laag");
|
|
5452
5597
|
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
5598
|
var getAccessibilityProps = ({
|
|
5496
5599
|
ariaMenuName,
|
|
5497
5600
|
getInputProps,
|
|
@@ -5525,7 +5628,9 @@ var Dropdown = (_a) => {
|
|
|
5525
5628
|
onOuterClick,
|
|
5526
5629
|
triggerOffset = 0,
|
|
5527
5630
|
onOpenChange,
|
|
5528
|
-
search
|
|
5631
|
+
search,
|
|
5632
|
+
role,
|
|
5633
|
+
menuItemRole
|
|
5529
5634
|
} = _b, props = __objRest(_b, [
|
|
5530
5635
|
"ariaMenuName",
|
|
5531
5636
|
"menuPosition",
|
|
@@ -5541,7 +5646,9 @@ var Dropdown = (_a) => {
|
|
|
5541
5646
|
"onOuterClick",
|
|
5542
5647
|
"triggerOffset",
|
|
5543
5648
|
"onOpenChange",
|
|
5544
|
-
"search"
|
|
5649
|
+
"search",
|
|
5650
|
+
"role",
|
|
5651
|
+
"menuItemRole"
|
|
5545
5652
|
]);
|
|
5546
5653
|
const environment = getDownshiftEnvironment(container);
|
|
5547
5654
|
const [downshiftIsOpen, setDownshiftIsOpen] = (0, import_react32.useState)(false);
|
|
@@ -5569,23 +5676,19 @@ var Dropdown = (_a) => {
|
|
|
5569
5676
|
}
|
|
5570
5677
|
return changes;
|
|
5571
5678
|
};
|
|
5572
|
-
|
|
5573
|
-
if (
|
|
5679
|
+
options = (0, import_react32.useMemo)(() => {
|
|
5680
|
+
if (search) {
|
|
5681
|
+
if (search.searchType === "startsWith") {
|
|
5682
|
+
return options.filter(
|
|
5683
|
+
(option) => getTextFromNode(option.title).toLowerCase().startsWith(searchValue.toLowerCase())
|
|
5684
|
+
);
|
|
5685
|
+
}
|
|
5574
5686
|
return options.filter(
|
|
5575
|
-
(option) =>
|
|
5576
|
-
var _a2;
|
|
5577
|
-
return (_a2 = option.title) == null ? void 0 : _a2.toString().toLowerCase().startsWith(searchValue.toLowerCase());
|
|
5578
|
-
}
|
|
5687
|
+
(option) => getTextFromNode(option.title).toLowerCase().includes(searchValue.toLowerCase())
|
|
5579
5688
|
);
|
|
5580
5689
|
}
|
|
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;
|
|
5690
|
+
return options;
|
|
5691
|
+
}, [options, searchValue, search]);
|
|
5589
5692
|
return /* @__PURE__ */ import_react32.default.createElement(
|
|
5590
5693
|
import_downshift5.default,
|
|
5591
5694
|
{
|
|
@@ -5616,7 +5719,7 @@ var Dropdown = (_a) => {
|
|
|
5616
5719
|
ariaMenuName,
|
|
5617
5720
|
getInputProps,
|
|
5618
5721
|
isOpen: isOpen2
|
|
5619
|
-
}))) : /* @__PURE__ */ import_react32.default.createElement(TriggerSection, __spreadValues({}, getToggleButtonProps({})), trigger)),
|
|
5722
|
+
}))) : /* @__PURE__ */ import_react32.default.createElement(TriggerSection, __spreadValues({}, getToggleButtonProps({ tabIndex: 0 })), trigger)),
|
|
5620
5723
|
isOpen2 && renderLayer(
|
|
5621
5724
|
/* @__PURE__ */ import_react32.default.createElement(
|
|
5622
5725
|
"div",
|
|
@@ -5631,6 +5734,7 @@ var Dropdown = (_a) => {
|
|
|
5631
5734
|
maxWidth: menuMaxWidth,
|
|
5632
5735
|
maxHeight: menuMaxHeight,
|
|
5633
5736
|
downshiftMenuProps: getMenuProps,
|
|
5737
|
+
role,
|
|
5634
5738
|
search: search && /* @__PURE__ */ import_react32.default.createElement(
|
|
5635
5739
|
search_bar_default,
|
|
5636
5740
|
{
|
|
@@ -5653,6 +5757,7 @@ var Dropdown = (_a) => {
|
|
|
5653
5757
|
icon: item.icon,
|
|
5654
5758
|
hasDivider: item.hasDivider,
|
|
5655
5759
|
getItemProps,
|
|
5760
|
+
menuItemRole,
|
|
5656
5761
|
index
|
|
5657
5762
|
}, getItemProps({
|
|
5658
5763
|
key: index,
|
|
@@ -6871,16 +6976,16 @@ var CombinedLogoSvg = (_a) => {
|
|
|
6871
6976
|
), /* @__PURE__ */ import_react46.default.createElement(
|
|
6872
6977
|
"path",
|
|
6873
6978
|
{
|
|
6874
|
-
|
|
6875
|
-
|
|
6979
|
+
fillRule: "evenodd",
|
|
6980
|
+
clipRule: "evenodd",
|
|
6876
6981
|
d: "M70.3743 15.1855C71.6352 15.1855 72.7252 15.459 73.6442 16.0059C74.5709 16.5527 75.2848 17.3237 75.7861 18.3187C76.2874 19.3061 76.5381 20.4568 76.5381 21.7708C76.5381 23.0773 76.2874 24.2242 75.7861 25.2116C75.2848 26.199 74.5709 26.9661 73.6442 27.513C72.7252 28.0599 71.6352 28.3333 70.3743 28.3333C69.1135 28.3333 68.0197 28.0599 67.0931 27.513C66.174 26.9661 65.4639 26.199 64.9626 25.2116C64.4613 24.2242 64.2106 23.0773 64.2106 21.7708C64.2106 20.4568 64.4613 19.3061 64.9626 18.3187C65.4639 17.3237 66.174 16.5527 67.0931 16.0059C68.0197 15.459 69.1135 15.1855 70.3743 15.1855ZM70.3743 17.7376C69.7287 17.7376 69.1895 17.9161 68.7565 18.2731C68.3312 18.6225 68.0084 19.101 67.7881 19.7087C67.5754 20.3087 67.4691 20.9923 67.4691 21.7594C67.4691 22.519 67.5754 23.2026 67.7881 23.8102C68.0084 24.4179 68.3312 24.9002 68.7565 25.2572C69.1895 25.6066 69.7287 25.7812 70.3743 25.7812C71.02 25.7812 71.5592 25.6066 71.9922 25.2572C72.4251 24.9002 72.7479 24.4179 72.9606 23.8102C73.1733 23.2026 73.2796 22.519 73.2796 21.7594C73.2796 20.9999 73.1733 20.3163 72.9606 19.7087C72.7479 19.101 72.4251 18.6225 71.9922 18.2731C71.5592 17.9161 71.02 17.7376 70.3743 17.7376Z",
|
|
6877
6982
|
fill: wordmarkColor
|
|
6878
6983
|
}
|
|
6879
6984
|
), /* @__PURE__ */ import_react46.default.createElement(
|
|
6880
6985
|
"path",
|
|
6881
6986
|
{
|
|
6882
|
-
|
|
6883
|
-
|
|
6987
|
+
fillRule: "evenodd",
|
|
6988
|
+
clipRule: "evenodd",
|
|
6884
6989
|
d: "M84.6387 15.1855C85.8995 15.1855 86.9895 15.459 87.9085 16.0059C88.8352 16.5527 89.5491 17.3237 90.0505 18.3187C90.5518 19.3061 90.8024 20.4568 90.8024 21.7708C90.8024 23.0773 90.5518 24.2242 90.0505 25.2116C89.5491 26.199 88.8352 26.9661 87.9085 27.513C86.9895 28.0599 85.8995 28.3333 84.6387 28.3333C83.3778 28.3333 82.2841 28.0599 81.3574 27.513C80.4384 26.9661 79.7282 26.199 79.2269 25.2116C78.7256 24.2242 78.4749 23.0773 78.4749 21.7708C78.4749 20.4568 78.7256 19.3061 79.2269 18.3187C79.7282 17.3237 80.4384 16.5527 81.3574 16.0059C82.2841 15.459 83.3778 15.1855 84.6387 15.1855ZM84.6387 17.7376C83.9931 17.7376 83.4538 17.9161 83.0208 18.2731C82.5955 18.6225 82.2727 19.101 82.0524 19.7087C81.8397 20.3087 81.7334 20.9923 81.7334 21.7594C81.7334 22.519 81.8397 23.2026 82.0524 23.8102C82.2727 24.4179 82.5955 24.9002 83.0208 25.2572C83.4538 25.6066 83.9931 25.7812 84.6387 25.7812C85.2843 25.7812 85.8236 25.6066 86.2565 25.2572C86.6895 24.9002 87.0123 24.4179 87.2249 23.8102C87.4376 23.2026 87.5439 22.519 87.5439 21.7594C87.5439 20.9999 87.4376 20.3163 87.2249 19.7087C87.0123 19.101 86.6895 18.6225 86.2565 18.2731C85.8236 17.9161 85.2843 17.7376 84.6387 17.7376Z",
|
|
6885
6990
|
fill: wordmarkColor
|
|
6886
6991
|
}
|
|
@@ -7533,7 +7638,7 @@ var Tab = (_a) => {
|
|
|
7533
7638
|
children
|
|
7534
7639
|
);
|
|
7535
7640
|
};
|
|
7536
|
-
var
|
|
7641
|
+
var TabsDeprecated = (_a) => {
|
|
7537
7642
|
var _b = _a, {
|
|
7538
7643
|
children,
|
|
7539
7644
|
scrollOffset,
|
|
@@ -7570,6 +7675,166 @@ var Tabs = (_a) => {
|
|
|
7570
7675
|
}
|
|
7571
7676
|
return /* @__PURE__ */ import_react50.default.createElement(TabsContext.Provider, { value: { isPilledDesign } }, tabsContent);
|
|
7572
7677
|
};
|
|
7678
|
+
var ConditionalTooltip = ({
|
|
7679
|
+
tooltipProps,
|
|
7680
|
+
children,
|
|
7681
|
+
tooltipId
|
|
7682
|
+
}) => {
|
|
7683
|
+
if (tooltipProps) {
|
|
7684
|
+
return /* @__PURE__ */ import_react50.default.createElement(tooltip_default, __spreadProps(__spreadValues({}, tooltipProps), { tooltipId, tabIndex: -1 }), children);
|
|
7685
|
+
}
|
|
7686
|
+
return children;
|
|
7687
|
+
};
|
|
7688
|
+
var TabNew = import_react50.default.forwardRef(
|
|
7689
|
+
(_a, ref) => {
|
|
7690
|
+
var _b = _a, {
|
|
7691
|
+
tabContent,
|
|
7692
|
+
tooltipProps,
|
|
7693
|
+
isActive,
|
|
7694
|
+
htmlTag = "button",
|
|
7695
|
+
icon,
|
|
7696
|
+
isDisabled = false,
|
|
7697
|
+
onKeyDown,
|
|
7698
|
+
onClick
|
|
7699
|
+
} = _b, props = __objRest(_b, [
|
|
7700
|
+
"tabContent",
|
|
7701
|
+
"tooltipProps",
|
|
7702
|
+
"isActive",
|
|
7703
|
+
"htmlTag",
|
|
7704
|
+
"icon",
|
|
7705
|
+
"isDisabled",
|
|
7706
|
+
"onKeyDown",
|
|
7707
|
+
"onClick"
|
|
7708
|
+
]);
|
|
7709
|
+
const { isPilledDesign } = import_react50.default.useContext(TabsContext);
|
|
7710
|
+
const tooltipId = (0, import_react50.useId)();
|
|
7711
|
+
const componentProps = __spreadValues({
|
|
7712
|
+
as: htmlTag,
|
|
7713
|
+
isActive,
|
|
7714
|
+
icon,
|
|
7715
|
+
role: "tab",
|
|
7716
|
+
"aria-selected": isActive,
|
|
7717
|
+
disabled: isDisabled,
|
|
7718
|
+
tabIndex: isActive ? 0 : -1,
|
|
7719
|
+
"aria-describedby": tooltipProps ? tooltipId : void 0,
|
|
7720
|
+
onKeyDown,
|
|
7721
|
+
onClick,
|
|
7722
|
+
ref
|
|
7723
|
+
}, props);
|
|
7724
|
+
return /* @__PURE__ */ import_react50.default.createElement(ConditionalTooltip, { tooltipProps, tooltipId }, isPilledDesign ? /* @__PURE__ */ import_react50.default.createElement(TabWrapperPilled, __spreadValues({}, componentProps), icon ? /* @__PURE__ */ import_react50.default.createElement(container_default, { htmlTag: "span", paddingRight: tabContent && "small" }, /* @__PURE__ */ import_react50.default.createElement(icon_default, { icon, color: "currentColor" })) : null, tabContent) : /* @__PURE__ */ import_react50.default.createElement(TabWrapper, __spreadValues({}, componentProps), icon ? /* @__PURE__ */ import_react50.default.createElement(container_default, { htmlTag: "span", paddingRight: tabContent && "small" }, /* @__PURE__ */ import_react50.default.createElement(icon_default, { icon, color: "currentColor" })) : null, tabContent));
|
|
7725
|
+
}
|
|
7726
|
+
);
|
|
7727
|
+
TabNew.displayName = "TabNew";
|
|
7728
|
+
var TabsNew = (_a) => {
|
|
7729
|
+
var _b = _a, {
|
|
7730
|
+
tabs,
|
|
7731
|
+
scrollOffset,
|
|
7732
|
+
hasFullTabs,
|
|
7733
|
+
isPilledDesign,
|
|
7734
|
+
hasBottomBorder = false
|
|
7735
|
+
} = _b, props = __objRest(_b, [
|
|
7736
|
+
"tabs",
|
|
7737
|
+
"scrollOffset",
|
|
7738
|
+
"hasFullTabs",
|
|
7739
|
+
"isPilledDesign",
|
|
7740
|
+
"hasBottomBorder"
|
|
7741
|
+
]);
|
|
7742
|
+
const tabRefs = (0, import_react50.useRef)({});
|
|
7743
|
+
const handleKeyDown = (0, import_react50.useCallback)(
|
|
7744
|
+
(event, currentTabIndex) => {
|
|
7745
|
+
var _a2;
|
|
7746
|
+
let newIndex = currentTabIndex;
|
|
7747
|
+
switch (event.key) {
|
|
7748
|
+
case "ArrowLeft":
|
|
7749
|
+
event.preventDefault();
|
|
7750
|
+
newIndex = currentTabIndex > 0 ? currentTabIndex - 1 : tabs.length - 1;
|
|
7751
|
+
break;
|
|
7752
|
+
case "ArrowRight":
|
|
7753
|
+
event.preventDefault();
|
|
7754
|
+
newIndex = currentTabIndex < tabs.length - 1 ? currentTabIndex + 1 : 0;
|
|
7755
|
+
break;
|
|
7756
|
+
case "Home":
|
|
7757
|
+
event.preventDefault();
|
|
7758
|
+
newIndex = 0;
|
|
7759
|
+
break;
|
|
7760
|
+
case "End":
|
|
7761
|
+
event.preventDefault();
|
|
7762
|
+
newIndex = tabs.length - 1;
|
|
7763
|
+
break;
|
|
7764
|
+
default:
|
|
7765
|
+
return;
|
|
7766
|
+
}
|
|
7767
|
+
(_a2 = tabRefs.current[newIndex]) == null ? void 0 : _a2.focus();
|
|
7768
|
+
},
|
|
7769
|
+
[tabs.length]
|
|
7770
|
+
);
|
|
7771
|
+
const setTabRef = (0, import_react50.useCallback)(
|
|
7772
|
+
(tabIndex) => (ref) => {
|
|
7773
|
+
tabRefs.current[tabIndex] = ref;
|
|
7774
|
+
},
|
|
7775
|
+
[]
|
|
7776
|
+
);
|
|
7777
|
+
const tabsToRender = (0, import_react50.useMemo)(
|
|
7778
|
+
() => tabs.map((tabProps, index) => /* @__PURE__ */ import_react50.default.createElement(
|
|
7779
|
+
TabNew,
|
|
7780
|
+
__spreadValues({
|
|
7781
|
+
key: index,
|
|
7782
|
+
ref: setTabRef(index),
|
|
7783
|
+
onKeyDown: (e) => handleKeyDown(e, index)
|
|
7784
|
+
}, tabProps)
|
|
7785
|
+
)),
|
|
7786
|
+
[tabs, handleKeyDown, setTabRef]
|
|
7787
|
+
);
|
|
7788
|
+
const tabsContent = (0, import_react50.useMemo)(
|
|
7789
|
+
() => isPilledDesign ? /* @__PURE__ */ import_react50.default.createElement(
|
|
7790
|
+
TabsNavPilled,
|
|
7791
|
+
__spreadValues({
|
|
7792
|
+
hasFullTabs,
|
|
7793
|
+
scrollOffset,
|
|
7794
|
+
role: "tablist"
|
|
7795
|
+
}, props),
|
|
7796
|
+
tabsToRender
|
|
7797
|
+
) : /* @__PURE__ */ import_react50.default.createElement(
|
|
7798
|
+
TabsNav,
|
|
7799
|
+
__spreadValues({
|
|
7800
|
+
hasFullTabs,
|
|
7801
|
+
scrollOffset,
|
|
7802
|
+
hasBottomBorder,
|
|
7803
|
+
role: "tablist"
|
|
7804
|
+
}, props),
|
|
7805
|
+
tabsToRender
|
|
7806
|
+
),
|
|
7807
|
+
[
|
|
7808
|
+
tabsToRender,
|
|
7809
|
+
hasFullTabs,
|
|
7810
|
+
scrollOffset,
|
|
7811
|
+
hasBottomBorder,
|
|
7812
|
+
isPilledDesign,
|
|
7813
|
+
props
|
|
7814
|
+
]
|
|
7815
|
+
);
|
|
7816
|
+
const wrappedContent = /* @__PURE__ */ import_react50.default.createElement(TabsContext.Provider, { value: { isPilledDesign } }, tabsContent);
|
|
7817
|
+
if (scrollOffset) {
|
|
7818
|
+
return /* @__PURE__ */ import_react50.default.createElement(Wrapper, { scrollOffset }, wrappedContent);
|
|
7819
|
+
}
|
|
7820
|
+
return wrappedContent;
|
|
7821
|
+
};
|
|
7822
|
+
var Tabs = (_a) => {
|
|
7823
|
+
var _b = _a, { children, tabs } = _b, props = __objRest(_b, ["children", "tabs"]);
|
|
7824
|
+
if (children && tabs) {
|
|
7825
|
+
console.warn(
|
|
7826
|
+
"Both children and tabs props are provided. Please use only one of them."
|
|
7827
|
+
);
|
|
7828
|
+
}
|
|
7829
|
+
if (!children && !tabs) {
|
|
7830
|
+
console.error("Either children or tabs must be provided.");
|
|
7831
|
+
return null;
|
|
7832
|
+
}
|
|
7833
|
+
if (children) {
|
|
7834
|
+
return /* @__PURE__ */ import_react50.default.createElement(TabsDeprecated, __spreadValues({}, props), children);
|
|
7835
|
+
}
|
|
7836
|
+
return /* @__PURE__ */ import_react50.default.createElement(TabsNew, __spreadValues({ tabs }, props));
|
|
7837
|
+
};
|
|
7573
7838
|
var tabs_default = Tabs;
|
|
7574
7839
|
|
|
7575
7840
|
// src/components/pill/pill.tsx
|