@aivenio/aquarium 1.76.3 → 1.77.1
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 +26 -18
- package/dist/atoms.cjs +4 -1
- package/dist/atoms.mjs +4 -1
- package/dist/src/molecules/DropdownMenu/DropdownMenu.js +76 -18
- package/dist/src/molecules/Input/Input.d.ts +5 -4
- package/dist/src/molecules/Input/Input.js +46 -30
- package/dist/src/molecules/Popover/Popover.d.ts +1 -0
- package/dist/src/molecules/Popover/Popover.js +1 -1
- package/dist/src/molecules/PopoverDialog/PopoverDialog.d.ts +1 -1
- package/dist/src/molecules/Spacing/Spacing.d.ts +1 -1
- package/dist/src/molecules/Spacing/Spacing.js +1 -1
- package/dist/src/molecules/Tooltip/Tooltip.js +2 -2
- package/dist/src/utils/form/InputAdornment/InputAdornment.d.ts +1 -0
- package/dist/src/utils/form/InputAdornment/InputAdornment.js +3 -1
- package/dist/styles.css +24 -0
- package/dist/system.cjs +130 -59
- package/dist/system.mjs +130 -60
- package/dist/tsconfig.module.tsbuildinfo +1 -1
- package/dist/types/tailwindGenerated.d.ts +1 -1
- package/package.json +1 -1
@@ -5,6 +5,7 @@ import crossIcon from '../../../../src/icons/cross';
|
|
5
5
|
import errorIcon from '../../../../src/icons/error';
|
6
6
|
import searchIcon from '../../../../src/icons/search';
|
7
7
|
import tickIcon from '../../../../src/icons/tick';
|
8
|
+
import uploadIcon from '../../../../src/icons/upload';
|
8
9
|
export const InputAdornment = ({ placement = 'right', className, dense, children, }) => {
|
9
10
|
return (React.createElement("span", { className: classNames(className, 'absolute inset-y-0 grow-0 text-inactive flex items-center mx-3', {
|
10
11
|
'right-0': placement === 'right',
|
@@ -17,5 +18,6 @@ export const InputAdornment = ({ placement = 'right', className, dense, children
|
|
17
18
|
export const ValidIcon = ({ onClick }) => (React.createElement(Icon, { icon: tickIcon, color: "success-default", "data-testid": "icon-valid", onClick: onClick }));
|
18
19
|
export const ErrorIcon = ({ onClick }) => (React.createElement(Icon, { icon: errorIcon, color: "danger-intense", "data-testid": "icon-invalid", onClick: onClick }));
|
19
20
|
export const SearchIcon = ({ onClick }) => (React.createElement(Icon, { icon: searchIcon, color: "inactive", "data-testid": "icon-search", onClick: onClick }));
|
21
|
+
export const UploadIcon = ({ onClick }) => (React.createElement(Icon, { icon: uploadIcon, color: "primary-intense", "data-testid": "icon-upload", onClick: onClick }));
|
20
22
|
export const ResetIcon = ({ onClick }) => (React.createElement(Icon, { className: "hover:cursor-pointer", icon: crossIcon, color: "inactive", "data-testid": "icon-reset", onClick: onClick }));
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW5wdXRBZG9ybm1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvdXRpbHMvZm9ybS9JbnB1dEFkb3JubWVudC9JbnB1dEFkb3JubWVudC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBRTFCLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFrQixNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFaEQsT0FBTyxTQUFTLE1BQU0saUJBQWlCLENBQUM7QUFDeEMsT0FBTyxTQUFTLE1BQU0saUJBQWlCLENBQUM7QUFDeEMsT0FBTyxVQUFVLE1BQU0sa0JBQWtCLENBQUM7QUFDMUMsT0FBTyxRQUFRLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEMsT0FBTyxVQUFVLE1BQU0sa0JBQWtCLENBQUM7QUFRMUMsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFzRCxDQUFDLEVBQ2hGLFNBQVMsR0FBRyxPQUFPLEVBQ25CLFNBQVMsRUFDVCxLQUFLLEVBQ0wsUUFBUSxHQUNULEVBQUUsRUFBRTtJQUNILE9BQU8sQ0FDTCw4QkFDRSxTQUFTLEVBQUUsVUFBVSxDQUFDLFNBQVMsRUFBRSxnRUFBZ0UsRUFBRTtZQUNqRyxTQUFTLEVBQUUsU0FBUyxLQUFLLE9BQU87WUFDaEMsUUFBUSxFQUFFLFNBQVMsS0FBSyxNQUFNO1lBQzlCLGtCQUFrQixFQUFFLEtBQUs7WUFDekIsMkJBQTJCLEVBQUUsQ0FBQyxLQUFLO1NBQ3BDLENBQUM7UUFFRixvQkFBQyxPQUFPLElBQUMsR0FBRyxFQUFDLEdBQUcsRUFBQyxJQUFJLEVBQUMsTUFBTSxJQUN6QixRQUFRLENBQ0QsQ0FDTCxDQUNSLENBQUM7QUFDSixDQUFDLENBQUM7QUFJRixNQUFNLENBQUMsTUFBTSxTQUFTLEdBQW9CLENBQUMsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FDekQsb0JBQUMsSUFBSSxJQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFDLGlCQUFpQixpQkFBYSxZQUFZLEVBQUMsT0FBTyxFQUFFLE9BQU8sR0FBSSxDQUM1RixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFvQixDQUFDLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQ3pELG9CQUFDLElBQUksSUFBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBQyxnQkFBZ0IsaUJBQWEsY0FBYyxFQUFDLE9BQU8sRUFBRSxPQUFPLEdBQUksQ0FDOUYsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBb0IsQ0FBQyxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUMxRCxvQkFBQyxJQUFJLElBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUMsVUFBVSxpQkFBYSxhQUFhLEVBQUMsT0FBTyxFQUFFLE9BQU8sR0FBSSxDQUN4RixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFvQixDQUFDLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQzFELG9CQUFDLElBQUksSUFBQyxJQUFJLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBQyxpQkFBaUIsaUJBQWEsYUFBYSxFQUFDLE9BQU8sRUFBRSxPQUFPLEdBQUksQ0FDL0YsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBb0IsQ0FBQyxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUN6RCxvQkFBQyxJQUFJLElBQUMsU0FBUyxFQUFDLHNCQUFzQixFQUFDLElBQUksRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFDLFVBQVUsaUJBQWEsWUFBWSxFQUFDLE9BQU8sRUFBRSxPQUFPLEdBQUksQ0FDdkgsQ0FBQyJ9
|
package/dist/styles.css
CHANGED
@@ -3518,6 +3518,30 @@ input[type='number'].no-arrows {
|
|
3518
3518
|
.aquarium-theme-dark .Aquarium-Card {
|
3519
3519
|
--aquarium-background-color-primary-hover: color-mix(in srgb, var(--aquarium-colors-primary-100) 70%, transparent);
|
3520
3520
|
}
|
3521
|
+
.aquarium-theme-dark .Aquarium-Tooltip {
|
3522
|
+
--aquarium-background-color-body-intense: var(--aquarium-background-color-intense);
|
3523
|
+
}
|
3524
|
+
.file\:typography-small-strong::file-selector-button{
|
3525
|
+
font: normal 500 14px/1.42 Inter;
|
3526
|
+
}
|
3527
|
+
.file\:mr-4::file-selector-button{
|
3528
|
+
margin-right: 12px;
|
3529
|
+
}
|
3530
|
+
.file\:border-0::file-selector-button{
|
3531
|
+
border-width: 0px;
|
3532
|
+
border-width: var(--aquarium-border-width-0);
|
3533
|
+
}
|
3534
|
+
.file\:bg-transparent::file-selector-button{
|
3535
|
+
background-color: transparent;
|
3536
|
+
background-color: var(--aquarium-colors-transparent);
|
3537
|
+
}
|
3538
|
+
.file\:p-0::file-selector-button{
|
3539
|
+
padding: 0px;
|
3540
|
+
}
|
3541
|
+
.file\:text-primary-intense::file-selector-button{
|
3542
|
+
color: rgba(53,69,190,1);
|
3543
|
+
color: var(--aquarium-text-color-primary-intense);
|
3544
|
+
}
|
3521
3545
|
.placeholder\:text-inactive::-moz-placeholder{
|
3522
3546
|
color: rgba(150,150,160,1);
|
3523
3547
|
color: var(--aquarium-text-color-inactive);
|
package/dist/system.cjs
CHANGED
@@ -4227,6 +4227,7 @@ __export(system_exports, {
|
|
4227
4227
|
EmptyState: () => EmptyState,
|
4228
4228
|
EmptyStateLayout: () => EmptyStateLayout,
|
4229
4229
|
ExternalLinkButton: () => ExternalLinkButton,
|
4230
|
+
FileInput: () => FileInput,
|
4230
4231
|
Flexbox: () => Flexbox,
|
4231
4232
|
FlexboxItem: () => FlexboxItem,
|
4232
4233
|
FormControl: () => FormControl,
|
@@ -4377,6 +4378,7 @@ __export(molecules_exports, {
|
|
4377
4378
|
EmptyState: () => EmptyState,
|
4378
4379
|
EmptyStateLayout: () => EmptyStateLayout,
|
4379
4380
|
ExternalLinkButton: () => ExternalLinkButton,
|
4381
|
+
FileInput: () => FileInput,
|
4380
4382
|
Flexbox: () => Flexbox,
|
4381
4383
|
FlexboxItem: () => FlexboxItem,
|
4382
4384
|
GhostButton: () => GhostButton,
|
@@ -6975,7 +6977,10 @@ var TooltipWrapper = import_react11.default.forwardRef(
|
|
6975
6977
|
const arrowStyle = getArrowStyle(ref.current, placement, (_a2 = arrowProps.style) != null ? _a2 : {});
|
6976
6978
|
return /* @__PURE__ */ import_react11.default.createElement(import_overlays2.OverlayContainer, null, /* @__PURE__ */ import_react11.default.createElement("div", __spreadValues({
|
6977
6979
|
ref,
|
6978
|
-
className: classNames(
|
6980
|
+
className: classNames(
|
6981
|
+
"Aquarium-Tooltip",
|
6982
|
+
tw("p-3 rounded-sm typography-caption max-w-[320px] bg-body-intense text-opposite-default")
|
6983
|
+
)
|
6979
6984
|
}, (0, import_utils.mergeProps)(props, tooltipProps)), props.children, /* @__PURE__ */ import_react11.default.createElement(Arrow, __spreadProps(__spreadValues({}, arrowProps), {
|
6980
6985
|
style: arrowStyle
|
6981
6986
|
}))));
|
@@ -10443,6 +10448,7 @@ var import_cross5 = __toESM(require_cross());
|
|
10443
10448
|
var import_error3 = __toESM(require_error());
|
10444
10449
|
var import_search3 = __toESM(require_search());
|
10445
10450
|
var import_tick4 = __toESM(require_tick());
|
10451
|
+
var import_upload2 = __toESM(require_upload());
|
10446
10452
|
var InputAdornment = ({
|
10447
10453
|
placement = "right",
|
10448
10454
|
className,
|
@@ -10467,6 +10473,12 @@ var SearchIcon = ({ onClick }) => /* @__PURE__ */ import_react62.default.createE
|
|
10467
10473
|
"data-testid": "icon-search",
|
10468
10474
|
onClick
|
10469
10475
|
});
|
10476
|
+
var UploadIcon = ({ onClick }) => /* @__PURE__ */ import_react62.default.createElement(Icon, {
|
10477
|
+
icon: import_upload2.default,
|
10478
|
+
color: "primary-intense",
|
10479
|
+
"data-testid": "icon-upload",
|
10480
|
+
onClick
|
10481
|
+
});
|
10470
10482
|
var ResetIcon = ({ onClick }) => /* @__PURE__ */ import_react62.default.createElement(Icon, {
|
10471
10483
|
className: "hover:cursor-pointer",
|
10472
10484
|
icon: import_cross5.default,
|
@@ -10497,11 +10509,14 @@ var createInput = (displayName, opts = {}) => {
|
|
10497
10509
|
"type"
|
10498
10510
|
]);
|
10499
10511
|
var _a2;
|
10500
|
-
const inputType = opts.isSearch ? "search" : type;
|
10512
|
+
const inputType = opts.isSearch ? "search" : opts.isFile ? "file" : type;
|
10501
10513
|
const inputRef = import_react63.default.useRef(null);
|
10502
10514
|
(0, import_react63.useImperativeHandle)(ref, () => inputRef.current);
|
10503
|
-
const handleReset = () => {
|
10515
|
+
const handleReset = (e) => {
|
10504
10516
|
var _a3;
|
10517
|
+
if (opts.isFile) {
|
10518
|
+
e.preventDefault();
|
10519
|
+
}
|
10505
10520
|
const el = inputRef.current;
|
10506
10521
|
if (el) {
|
10507
10522
|
const lastValue = el.value;
|
@@ -10514,7 +10529,8 @@ var createInput = (displayName, opts = {}) => {
|
|
10514
10529
|
return /* @__PURE__ */ import_react63.default.createElement("span", {
|
10515
10530
|
className: classNames("Aquarium-InputBase", tw("relative block"))
|
10516
10531
|
}, opts.adornment && /* @__PURE__ */ import_react63.default.createElement(InputAdornment, {
|
10517
|
-
placement: "left"
|
10532
|
+
placement: "left",
|
10533
|
+
className: opts.isFile ? "icon-stroke-2" : void 0
|
10518
10534
|
}, opts.adornment), /* @__PURE__ */ import_react63.default.createElement("input", __spreadProps(__spreadValues({
|
10519
10535
|
ref: inputRef,
|
10520
10536
|
type: inputType
|
@@ -10527,7 +10543,8 @@ var createInput = (displayName, opts = {}) => {
|
|
10527
10543
|
{
|
10528
10544
|
"[&::-webkit-search-cancel-button]:appearance-none": opts.isSearch,
|
10529
10545
|
"pl-7": opts.adornment,
|
10530
|
-
"pr-7": opts.canReset || endAdornment
|
10546
|
+
"pr-7": opts.canReset || endAdornment,
|
10547
|
+
"file:text-primary-intense file:typography-small-strong file:border-0 file:bg-transparent file:p-0 file:mr-4": opts.isFile
|
10531
10548
|
},
|
10532
10549
|
getCommonInputStyles({ readOnly, valid }),
|
10533
10550
|
props.className
|
@@ -10545,57 +10562,68 @@ var createInput = (displayName, opts = {}) => {
|
|
10545
10562
|
return InputComponent;
|
10546
10563
|
};
|
10547
10564
|
var InputBase = createInput("InputBase");
|
10565
|
+
var FileInputBase = createInput("FileInputBase", {
|
10566
|
+
adornment: /* @__PURE__ */ import_react63.default.createElement(UploadIcon, null),
|
10567
|
+
canReset: true,
|
10568
|
+
isFile: true
|
10569
|
+
});
|
10548
10570
|
var SearchInput = createInput("SearchInput", {
|
10549
10571
|
adornment: /* @__PURE__ */ import_react63.default.createElement(SearchIcon, null),
|
10550
10572
|
canReset: true,
|
10551
10573
|
isSearch: true
|
10552
10574
|
});
|
10553
|
-
var
|
10554
|
-
|
10555
|
-
const
|
10556
|
-
|
10557
|
-
|
10558
|
-
|
10559
|
-
|
10560
|
-
|
10561
|
-
|
10562
|
-
|
10563
|
-
|
10564
|
-
|
10565
|
-
|
10566
|
-
|
10567
|
-
|
10568
|
-
|
10569
|
-
|
10570
|
-
|
10571
|
-
|
10572
|
-
|
10573
|
-
|
10574
|
-
|
10575
|
-
inputProps,
|
10576
|
-
|
10577
|
-
|
10578
|
-
|
10579
|
-
|
10580
|
-
|
10581
|
-
|
10582
|
-
|
10583
|
-
|
10584
|
-
|
10585
|
-
|
10586
|
-
|
10587
|
-
|
10588
|
-
|
10589
|
-
|
10590
|
-
|
10591
|
-
|
10592
|
-
|
10593
|
-
|
10594
|
-
|
10595
|
-
|
10596
|
-
|
10597
|
-
|
10598
|
-
|
10575
|
+
var createInputComponent = (displayName, options = {}) => {
|
10576
|
+
const InputComponentBase = options.input || InputBase;
|
10577
|
+
const InputComponent = import_react63.default.forwardRef((inputProps, ref) => {
|
10578
|
+
var _b, _c;
|
10579
|
+
const _a = inputProps, { readOnly = false, value: valueProp, onChange: onChangeProp } = _a, props = __objRest(_a, ["readOnly", "value", "onChange"]);
|
10580
|
+
const isControlled = typeof valueProp !== "undefined";
|
10581
|
+
const [valueState, setValueState] = (0, import_react63.useState)((_b = props.defaultValue) != null ? _b : "");
|
10582
|
+
const value = isControlled ? valueProp : valueState;
|
10583
|
+
const handleChange = (0, import_react63.useCallback)(
|
10584
|
+
(e) => {
|
10585
|
+
const next = e.target.value;
|
10586
|
+
if (!isControlled) {
|
10587
|
+
setValueState(next);
|
10588
|
+
}
|
10589
|
+
onChangeProp == null ? void 0 : onChangeProp(e);
|
10590
|
+
},
|
10591
|
+
[isControlled, onChangeProp]
|
10592
|
+
);
|
10593
|
+
const defaultId = (0, import_utils9.useId)();
|
10594
|
+
const id = (_c = props.id) != null ? _c : defaultId;
|
10595
|
+
const errorMessageId = (0, import_utils9.useId)();
|
10596
|
+
const errorProps = props.valid === false ? { "aria-invalid": true, "aria-describedby": errorMessageId } : {};
|
10597
|
+
const _d = getLabelControlProps(inputProps), { "data-testid": dataTestId } = _d, labelControlProps = __objRest(_d, ["data-testid"]);
|
10598
|
+
const baseProps = (0, import_omit5.default)(
|
10599
|
+
inputProps,
|
10600
|
+
Object.keys(labelControlProps).concat(isControlled ? ["defaultValue"] : ["value"])
|
10601
|
+
);
|
10602
|
+
return /* @__PURE__ */ import_react63.default.createElement(LabelControl, __spreadProps(__spreadValues({
|
10603
|
+
id: `${id}-label`,
|
10604
|
+
htmlFor: id,
|
10605
|
+
messageId: errorMessageId,
|
10606
|
+
length: value !== void 0 ? (0, import_toString.default)(value).length : void 0
|
10607
|
+
}, labelControlProps), {
|
10608
|
+
className: "Aquarium-Input"
|
10609
|
+
}), /* @__PURE__ */ import_react63.default.createElement(InputComponentBase, __spreadProps(__spreadValues(__spreadValues({
|
10610
|
+
ref
|
10611
|
+
}, baseProps), errorProps), {
|
10612
|
+
id,
|
10613
|
+
"data-testid": dataTestId,
|
10614
|
+
onChange: handleChange,
|
10615
|
+
disabled: props.disabled,
|
10616
|
+
maxLength: props.maxLength,
|
10617
|
+
required: props.required,
|
10618
|
+
valid: props.valid,
|
10619
|
+
readOnly
|
10620
|
+
})));
|
10621
|
+
});
|
10622
|
+
InputComponent.displayName = displayName;
|
10623
|
+
return InputComponent;
|
10624
|
+
};
|
10625
|
+
var FileInput = createInputComponent("FileInput", { input: FileInputBase });
|
10626
|
+
var Input2 = createInputComponent("Input", { input: InputBase });
|
10599
10627
|
Input2.Skeleton = () => /* @__PURE__ */ import_react63.default.createElement(LabelControl.Skeleton, null, /* @__PURE__ */ import_react63.default.createElement(InputBase.Skeleton, null));
|
10600
10628
|
Input2.Skeleton.displayName = "Input.Skeleton";
|
10601
10629
|
|
@@ -11796,13 +11824,13 @@ var MenuWrapper = (_a) => {
|
|
11796
11824
|
"header",
|
11797
11825
|
"footer"
|
11798
11826
|
]);
|
11799
|
-
const
|
11827
|
+
const baseListRef = import_react74.default.useRef(null);
|
11800
11828
|
const disabledKeys = getDisabledItemKeys(props.children);
|
11801
11829
|
const state = (0, import_tree.useTreeState)(__spreadValues({
|
11802
11830
|
disabledKeys,
|
11803
11831
|
selectedKeys
|
11804
11832
|
}, props));
|
11805
|
-
const { menuProps } = (0, import_menu2.useMenu)(props, state,
|
11833
|
+
const { menuProps } = (0, import_menu2.useMenu)(props, state, baseListRef);
|
11806
11834
|
const { contains } = (0, import_i18n.useFilter)({ sensitivity: "base" });
|
11807
11835
|
const [search, setSearch] = import_react74.default.useState("");
|
11808
11836
|
const searchInputRef = import_react74.default.useRef(null);
|
@@ -11810,12 +11838,51 @@ var MenuWrapper = (_a) => {
|
|
11810
11838
|
() => searchable ? filterCollection(state.collection, search, contains) : state.collection,
|
11811
11839
|
[searchable, state.collection, search, contains]
|
11812
11840
|
);
|
11813
|
-
import_react74.
|
11841
|
+
const focusOnSearchInput = (0, import_react74.useCallback)(() => {
|
11842
|
+
var _a2;
|
11843
|
+
(_a2 = searchInputRef.current) == null ? void 0 : _a2.focus();
|
11844
|
+
}, []);
|
11845
|
+
const focusOnBaseList = (0, import_react74.useCallback)(() => {
|
11814
11846
|
var _a2;
|
11847
|
+
(_a2 = baseListRef.current) == null ? void 0 : _a2.focus();
|
11848
|
+
}, []);
|
11849
|
+
import_react74.default.useEffect(() => {
|
11815
11850
|
if (searchable) {
|
11816
|
-
(
|
11851
|
+
requestAnimationFrame(focusOnSearchInput);
|
11817
11852
|
}
|
11818
|
-
}, [searchable]);
|
11853
|
+
}, [searchable, focusOnSearchInput]);
|
11854
|
+
const onSearchInputKeyDown = (0, import_react74.useCallback)(
|
11855
|
+
(event) => {
|
11856
|
+
if (event.code === "ArrowDown") {
|
11857
|
+
focusOnBaseList();
|
11858
|
+
}
|
11859
|
+
},
|
11860
|
+
[focusOnBaseList]
|
11861
|
+
);
|
11862
|
+
const onMenuItemsKeyDown = (0, import_react74.useCallback)(
|
11863
|
+
(event) => {
|
11864
|
+
if (!searchable) {
|
11865
|
+
return;
|
11866
|
+
}
|
11867
|
+
if (event.shiftKey && event.code.startsWith("Shift") || event.altKey && event.code.startsWith("Alt") || event.ctrlKey || event.metaKey || [
|
11868
|
+
"ArrowUp",
|
11869
|
+
"ArrowDown",
|
11870
|
+
"ArrowLeft",
|
11871
|
+
"ArrowRight",
|
11872
|
+
"PageUp",
|
11873
|
+
"PageDown",
|
11874
|
+
"Home",
|
11875
|
+
"End",
|
11876
|
+
"Tab",
|
11877
|
+
"Enter",
|
11878
|
+
"Space"
|
11879
|
+
].includes(event.code)) {
|
11880
|
+
return;
|
11881
|
+
}
|
11882
|
+
focusOnSearchInput();
|
11883
|
+
},
|
11884
|
+
[searchable, focusOnSearchInput]
|
11885
|
+
);
|
11819
11886
|
return /* @__PURE__ */ import_react74.default.createElement(DropdownMenu, {
|
11820
11887
|
minWidth,
|
11821
11888
|
maxWidth,
|
@@ -11825,10 +11892,13 @@ var MenuWrapper = (_a) => {
|
|
11825
11892
|
"aria-label": "search",
|
11826
11893
|
value: search,
|
11827
11894
|
onChange: (e) => setSearch(e.target.value),
|
11895
|
+
onKeyDown: onSearchInputKeyDown,
|
11828
11896
|
className: tw("mb-5"),
|
11829
11897
|
ref: searchInputRef
|
11830
|
-
}), filteredCollection.size === 0 && emptyState && /* @__PURE__ */ import_react74.default.createElement(DropdownMenu.EmptyStateContainer, null, emptyState), /* @__PURE__ */ import_react74.default.createElement(
|
11831
|
-
|
11898
|
+
}), filteredCollection.size === 0 && emptyState && /* @__PURE__ */ import_react74.default.createElement(DropdownMenu.EmptyStateContainer, null, emptyState), /* @__PURE__ */ import_react74.default.createElement("div", {
|
11899
|
+
onKeyDown: onMenuItemsKeyDown
|
11900
|
+
}, /* @__PURE__ */ import_react74.default.createElement(DropdownMenu.List, __spreadValues({
|
11901
|
+
ref: baseListRef
|
11832
11902
|
}, menuProps), Array.from(filteredCollection).map((item) => {
|
11833
11903
|
if (isSectionNode(item)) {
|
11834
11904
|
return /* @__PURE__ */ import_react74.default.createElement(SectionWrapper, {
|
@@ -11843,7 +11913,7 @@ var MenuWrapper = (_a) => {
|
|
11843
11913
|
state
|
11844
11914
|
});
|
11845
11915
|
}
|
11846
|
-
}))), footer);
|
11916
|
+
})))), footer);
|
11847
11917
|
};
|
11848
11918
|
var ItemWrapper = ({ item, state }) => {
|
11849
11919
|
const ref = import_react74.default.useRef(null);
|
@@ -16074,6 +16144,7 @@ var system_default = __spreadValues({}, molecules_exports);
|
|
16074
16144
|
EmptyState,
|
16075
16145
|
EmptyStateLayout,
|
16076
16146
|
ExternalLinkButton,
|
16147
|
+
FileInput,
|
16077
16148
|
Flexbox,
|
16078
16149
|
FlexboxItem,
|
16079
16150
|
FormControl,
|