@aivenio/aquarium 6.1.1 → 6.3.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/_variables.scss +2 -1
- package/dist/atoms.cjs +200 -134
- package/dist/atoms.mjs +112 -46
- package/dist/charts.cjs +4 -3
- package/dist/charts.mjs +4 -3
- package/dist/src/atoms/ChoiceChip/ChoiceChip.js +3 -3
- package/dist/src/atoms/CommandPalette/CommandPalette.d.ts +16 -0
- package/dist/src/atoms/CommandPalette/CommandPalette.js +3 -1
- package/dist/src/atoms/DataList/DataList.js +1 -1
- package/dist/src/atoms/Modal/Modal.d.ts +73 -3
- package/dist/src/atoms/Modal/Modal.js +48 -41
- package/dist/src/atoms/Timeline/Timeline.d.ts +3 -2
- package/dist/src/atoms/Timeline/Timeline.js +2 -2
- package/dist/src/molecules/CommandPalette/CommandPalette.d.ts +12 -4
- package/dist/src/molecules/CommandPalette/CommandPalette.js +17 -5
- package/dist/src/molecules/CommandPalette/CommandPaletteProvider.js +86 -22
- package/dist/src/molecules/CommandPalette/findSubCommands.d.ts +13 -0
- package/dist/src/molecules/CommandPalette/findSubCommands.js +65 -0
- package/dist/src/molecules/CommandPalette/types.d.ts +31 -1
- package/dist/src/molecules/CommandPalette/types.js +10 -1
- package/dist/src/molecules/Modal/Modal.js +2 -2
- package/dist/src/molecules/Popover/Popover.d.ts +3 -0
- package/dist/src/molecules/Popover/Popover.js +1 -1
- package/dist/src/molecules/Section/Section.d.ts +9 -0
- package/dist/src/molecules/Section/Section.js +13 -6
- package/dist/src/molecules/SegmentedControl/SegmentedControl.js +3 -3
- package/dist/src/molecules/Table/Table.d.ts +3 -0
- package/dist/src/molecules/Table/Table.js +4 -1
- package/dist/src/molecules/TagLabel/TagLabel.d.ts +1 -1
- package/dist/src/molecules/TagLabel/TagLabel.js +1 -1
- package/dist/src/molecules/Timeline/Timeline.d.ts +3 -2
- package/dist/src/molecules/Timeline/Timeline.js +16 -4
- package/dist/src/molecules/Typography/Typography.d.ts +3 -0
- package/dist/src/molecules/Typography/Typography.js +1 -1
- package/dist/src/tokens/tokens.json +4 -3
- package/dist/src/utils/useScrollFade.d.ts +17 -0
- package/dist/src/utils/useScrollFade.js +44 -0
- package/dist/styles.css +59 -34
- package/dist/system.cjs +950 -730
- package/dist/system.mjs +906 -684
- package/dist/tokens.json +4 -3
- package/dist/tsconfig.module.tsbuildinfo +1 -1
- package/package.json +1 -1
|
@@ -12,38 +12,7 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
12
12
|
import React from 'react';
|
|
13
13
|
import { tv } from 'tailwind-variants';
|
|
14
14
|
import { Typography } from '../../../src/atoms/Typography/Typography';
|
|
15
|
-
|
|
16
|
-
variants: {
|
|
17
|
-
position: {
|
|
18
|
-
before: [
|
|
19
|
-
'before:content-[""]',
|
|
20
|
-
'before:pointer-events-none',
|
|
21
|
-
'before:sticky',
|
|
22
|
-
'before:top-0',
|
|
23
|
-
'before:left-0',
|
|
24
|
-
'before:h-5',
|
|
25
|
-
'before:flex-shrink-0',
|
|
26
|
-
'before:bg-gradient-to-b',
|
|
27
|
-
'before:from-overlay',
|
|
28
|
-
'before:to-transparent',
|
|
29
|
-
'before:z-10',
|
|
30
|
-
],
|
|
31
|
-
after: [
|
|
32
|
-
'after:content-[""]',
|
|
33
|
-
'after:pointer-events-none',
|
|
34
|
-
'after:sticky',
|
|
35
|
-
'after:bottom-3',
|
|
36
|
-
'after:left-0',
|
|
37
|
-
'after:h-5',
|
|
38
|
-
'after:flex-shrink-0',
|
|
39
|
-
'after:bg-gradient-to-t',
|
|
40
|
-
'after:from-overlay',
|
|
41
|
-
'after:to-transparent',
|
|
42
|
-
'after:z-10',
|
|
43
|
-
],
|
|
44
|
-
},
|
|
45
|
-
},
|
|
46
|
-
});
|
|
15
|
+
import { useScrollFade } from '../../../src/utils/useScrollFade';
|
|
47
16
|
export const modalStyles = tv({
|
|
48
17
|
slots: {
|
|
49
18
|
overlay: 'inset-0 overflow-y-auto z-modal fixed',
|
|
@@ -55,11 +24,7 @@ export const modalStyles = tv({
|
|
|
55
24
|
title: '',
|
|
56
25
|
subtitle: 'max-w-[700px]',
|
|
57
26
|
closeButtonContainer: 'absolute top-[24px] right-[28px]',
|
|
58
|
-
body:
|
|
59
|
-
'grow overflow-y-auto text-default flex flex-col outline-none',
|
|
60
|
-
bodyMaskClasses({ position: 'before' }),
|
|
61
|
-
bodyMaskClasses({ position: 'after' }),
|
|
62
|
-
],
|
|
27
|
+
body: 'grow overflow-y-auto text-default flex flex-col outline-none',
|
|
63
28
|
bodyContent: 'px-7 grow',
|
|
64
29
|
footer: 'px-7 pt-4 pb-6',
|
|
65
30
|
actions: 'flex gap-3 justify-end',
|
|
@@ -104,9 +69,47 @@ export const modalStyles = tv({
|
|
|
104
69
|
headerImage: 'bg-medium',
|
|
105
70
|
},
|
|
106
71
|
},
|
|
72
|
+
showTopFade: {
|
|
73
|
+
true: {
|
|
74
|
+
body: [
|
|
75
|
+
'before:content-[""]',
|
|
76
|
+
'before:pointer-events-none',
|
|
77
|
+
'before:sticky',
|
|
78
|
+
'before:top-0',
|
|
79
|
+
'before:left-0',
|
|
80
|
+
'before:h-5',
|
|
81
|
+
'before:-mb-5',
|
|
82
|
+
'before:flex-shrink-0',
|
|
83
|
+
'before:bg-gradient-to-b',
|
|
84
|
+
'before:from-overlay',
|
|
85
|
+
'before:to-transparent',
|
|
86
|
+
'before:z-10',
|
|
87
|
+
],
|
|
88
|
+
},
|
|
89
|
+
},
|
|
90
|
+
showBottomFade: {
|
|
91
|
+
true: {
|
|
92
|
+
body: [
|
|
93
|
+
'after:content-[""]',
|
|
94
|
+
'after:pointer-events-none',
|
|
95
|
+
'after:sticky',
|
|
96
|
+
'after:bottom-0',
|
|
97
|
+
'after:left-0',
|
|
98
|
+
'after:h-[60px]',
|
|
99
|
+
'after:-mt-[60px]',
|
|
100
|
+
'after:flex-shrink-0',
|
|
101
|
+
'after:bg-gradient-to-t',
|
|
102
|
+
'after:from-overlay',
|
|
103
|
+
'after:to-transparent',
|
|
104
|
+
'after:z-10',
|
|
105
|
+
],
|
|
106
|
+
},
|
|
107
|
+
},
|
|
107
108
|
},
|
|
108
109
|
defaultVariants: {
|
|
109
110
|
isResponsive: true,
|
|
111
|
+
showTopFade: false,
|
|
112
|
+
showBottomFade: false,
|
|
110
113
|
},
|
|
111
114
|
compoundVariants: [
|
|
112
115
|
{
|
|
@@ -217,12 +220,16 @@ Modal.TitleContainer = (_a) => {
|
|
|
217
220
|
const { titleContainer } = modalStyles();
|
|
218
221
|
return (React.createElement("div", Object.assign({}, rest, { className: titleContainer({ className }) }), children));
|
|
219
222
|
};
|
|
220
|
-
|
|
223
|
+
const ModalBody = (_a) => {
|
|
221
224
|
var { children, className, noFooter = false, maxHeight, style, size } = _a, rest = __rest(_a, ["children", "className", "noFooter", "maxHeight", "style", "size"]);
|
|
222
225
|
const { body, bodyContent } = modalStyles({ size });
|
|
223
|
-
|
|
224
|
-
|
|
226
|
+
const { containerRef, topSentinelRef, bottomSentinelRef, showTopFade, showBottomFade } = useScrollFade();
|
|
227
|
+
return (React.createElement("div", Object.assign({}, rest, { ref: containerRef, className: body({ className, showTopFade, showBottomFade }), style: Object.assign({ maxHeight }, style) }),
|
|
228
|
+
React.createElement("div", { ref: topSentinelRef, "aria-hidden": "true", className: "h-1px" }),
|
|
229
|
+
React.createElement("div", { className: bodyContent({ noFooter }) }, children),
|
|
230
|
+
React.createElement("div", { ref: bottomSentinelRef, "aria-hidden": "true", className: "h-1px -mt-1px" })));
|
|
225
231
|
};
|
|
232
|
+
Modal.Body = ModalBody;
|
|
226
233
|
Modal.Footer = (_a) => {
|
|
227
234
|
var { children, className } = _a, rest = __rest(_a, ["children", "className"]);
|
|
228
235
|
const { footer } = modalStyles();
|
|
@@ -233,4 +240,4 @@ Modal.Actions = (_a) => {
|
|
|
233
240
|
const { actions } = modalStyles();
|
|
234
241
|
return (React.createElement("div", Object.assign({}, rest, { className: actions({ className }) }), children));
|
|
235
242
|
};
|
|
236
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
243
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9kYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXRvbXMvTW9kYWwvTW9kYWwudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxLQUFpQyxNQUFNLE9BQU8sQ0FBQztBQUN0RCxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFdkMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRTdELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQXdDeEQsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLEVBQUUsQ0FBQztJQUM1QixLQUFLLEVBQUU7UUFDTCxPQUFPLEVBQUUsdUNBQXVDO1FBQ2hELFFBQVEsRUFBRSwrQ0FBK0M7UUFDekQsTUFBTSxFQUFFLDhEQUE4RDtRQUN0RSxNQUFNLEVBQUUsa0RBQWtEO1FBQzFELFdBQVcsRUFBRSxnQ0FBZ0M7UUFDN0MsY0FBYyxFQUFFLG9CQUFvQjtRQUNwQyxLQUFLLEVBQUUsRUFBRTtRQUNULFFBQVEsRUFBRSxlQUFlO1FBQ3pCLG9CQUFvQixFQUFFLGtDQUFrQztRQUN4RCxJQUFJLEVBQUUsOERBQThEO1FBQ3BFLFdBQVcsRUFBRSxXQUFXO1FBQ3hCLE1BQU0sRUFBRSxnQkFBZ0I7UUFDeEIsT0FBTyxFQUFFLHdCQUF3QjtLQUNsQztJQUNELFFBQVEsRUFBRTtRQUNSLElBQUksRUFBRTtZQUNKLE1BQU0sRUFBRTtnQkFDTixPQUFPLEVBQUUsa0NBQWtDO2dCQUMzQyxNQUFNLEVBQUUsVUFBVTthQUNuQjtZQUNELE1BQU0sRUFBRTtnQkFDTixPQUFPLEVBQUUsbUJBQW1CO2dCQUM1QixNQUFNLEVBQUUsaUJBQWlCO2dCQUN6QixLQUFLLEVBQUUsbURBQW1EO2FBQzNEO1NBQ0Y7UUFDRCxJQUFJLEVBQUU7WUFDSixFQUFFLEVBQUUsRUFBRTtZQUNOLEVBQUUsRUFBRSxFQUFFO1lB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
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
type DivProps = React.
|
|
3
|
-
type
|
|
2
|
+
type DivProps = React.HTMLAttributes<HTMLDivElement>;
|
|
3
|
+
type LiProps = React.LiHTMLAttributes<HTMLLIElement>;
|
|
4
|
+
type ComposedTimelineProps = React.FC<LiProps> & {
|
|
4
5
|
Separator: typeof Separator;
|
|
5
6
|
Content: typeof Content;
|
|
6
7
|
LineContainer: typeof LineContainer;
|
|
@@ -13,7 +13,7 @@ import React from 'react';
|
|
|
13
13
|
import { clsx } from 'clsx';
|
|
14
14
|
export const Timeline = (_a) => {
|
|
15
15
|
var { className } = _a, rest = __rest(_a, ["className"]);
|
|
16
|
-
return (React.createElement("
|
|
16
|
+
return (React.createElement("li", Object.assign({}, rest, { className: clsx('grid grid-cols-[16px_1fr] gap-x-4', className) })));
|
|
17
17
|
};
|
|
18
18
|
const Content = (_a) => {
|
|
19
19
|
var { className } = _a, rest = __rest(_a, ["className"]);
|
|
@@ -40,4 +40,4 @@ LineContainer.Line = Line;
|
|
|
40
40
|
Timeline.Separator = Separator;
|
|
41
41
|
Timeline.LineContainer = LineContainer;
|
|
42
42
|
Timeline.Content = Content;
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGltZWxpbmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXRvbXMvVGltZWxpbmUvVGltZWxpbmUudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQzFCLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFXNUIsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUEwQixDQUFDLEVBQXNCLEVBQUUsRUFBRTtRQUExQixFQUFFLFNBQVMsT0FBVyxFQUFOLElBQUksY0FBcEIsYUFBc0IsQ0FBRjtJQUFPLE9BQUEsQ0FDekUsNENBQVEsSUFBSSxJQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsbUNBQW1DLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FDbEYsQ0FBQTtDQUFBLENBQUM7QUFFRixNQUFNLE9BQU8sR0FBdUIsQ0FBQyxFQUFzQixFQUFFLEVBQUU7UUFBMUIsRUFBRSxTQUFTLE9BQVcsRUFBTixJQUFJLGNBQXBCLGFBQXNCLENBQUY7SUFBTyxPQUFBLDZDQUFTLElBQUksSUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFBO0NBQUEsQ0FBQztBQUV0SCxNQUFNLFNBQVMsR0FBNkMsQ0FBQyxFQUFzQixFQUFFLEVBQUU7UUFBMUIsRUFBRSxTQUFTLE9BQVcsRUFBTixJQUFJLGNBQXBCLGFBQXNCLENBQUY7SUFBTyxPQUFBLENBQ3RGLDZDQUFTLElBQUksSUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLDBDQUEwQyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQzFGLENBQUE7Q0FBQSxDQUFDO0FBRUYsTUFBTSxhQUFhLEdBQStDLENBQUMsRUFBc0IsRUFBRSxFQUFFO1FBQTFCLEVBQUUsU0FBUyxPQUFXLEVBQU4sSUFBSSxjQUFwQixhQUFzQixDQUFGO0lBQU8sT0FBQSxDQUM1Riw2Q0FBUyxJQUFJLElBQUUsU0FBUyxFQUFFLElBQUksQ0FBQywwQkFBMEIsRUFBRSxTQUFTLENBQUMsSUFBSSxDQUMxRSxDQUFBO0NBQUEsQ0FBQztBQUVGLE1BQU0sSUFBSSxHQUF1QixDQUFDLEVBQXNCLEVBQUUsRUFBRTtRQUExQixFQUFFLFNBQVMsT0FBVyxFQUFOLElBQUksY0FBcEIsYUFBc0IsQ0FBRjtJQUFPLE9BQUEsQ0FDM0QsNkNBQVMsSUFBSSxJQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsMENBQTBDLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FDMUYsQ0FBQTtDQUFBLENBQUM7QUFFRixNQUFNLEdBQUcsR0FBdUIsQ0FBQyxFQUFzQixFQUFFLEVBQUU7UUFBMUIsRUFBRSxTQUFTLE9BQVcsRUFBTixJQUFJLGNBQXBCLGFBQXNCLENBQUY7SUFBTyxPQUFBLENBQzFELDZDQUFTLElBQUksSUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLG9DQUFvQyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQ3BGLENBQUE7Q0FBQSxDQUFDO0FBRUYsU0FBUyxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7QUFDcEIsYUFBYSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7QUFFMUIsUUFBUSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7QUFDL0IsUUFBUSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUM7QUFDdkMsUUFBUSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUMifQ==
|
|
@@ -13,7 +13,7 @@ declare const Section: {
|
|
|
13
13
|
<T extends object>({ title, items, children, ...props }: SectionProps<T>): React.JSX.Element | null;
|
|
14
14
|
displayName: string;
|
|
15
15
|
};
|
|
16
|
-
export type CommandProps = Omit<AriaMenuItemProps, 'className'> & {
|
|
16
|
+
export type CommandProps = Omit<AriaMenuItemProps, 'className' | 'onAction'> & {
|
|
17
17
|
/**
|
|
18
18
|
* The text label displayed for this command. Also used as the default search text.
|
|
19
19
|
*
|
|
@@ -30,11 +30,19 @@ export type CommandProps = Omit<AriaMenuItemProps, 'className'> & {
|
|
|
30
30
|
/** When true, this command is always visible regardless of the search query. Useful for loading indicators or status messages. */
|
|
31
31
|
static?: boolean;
|
|
32
32
|
className?: string;
|
|
33
|
-
/**
|
|
34
|
-
|
|
33
|
+
/**
|
|
34
|
+
* Callback fired when a leaf command is selected. Omit on parent commands — they open
|
|
35
|
+
* a sub-level instead of firing an action.
|
|
36
|
+
*/
|
|
37
|
+
onAction?: () => void;
|
|
38
|
+
/**
|
|
39
|
+
* Placeholder text for the search input of the sub-level this command opens.
|
|
40
|
+
* Only meaningful on parent commands (those with nested `<Command>` children).
|
|
41
|
+
*/
|
|
42
|
+
subPlaceholder?: string;
|
|
35
43
|
};
|
|
36
44
|
declare const Command: {
|
|
37
|
-
({ className, icon, label, keywords, disabled, static: isStatic, ...props }: CommandProps): React.JSX.Element;
|
|
45
|
+
({ className, icon, label, keywords, disabled, static: isStatic, subPlaceholder: _subPlaceholder, ...props }: CommandProps): React.JSX.Element;
|
|
38
46
|
displayName: string;
|
|
39
47
|
};
|
|
40
48
|
type CommandPaletteComponent = {
|
|
@@ -15,7 +15,9 @@ import { useId } from '@react-aria/utils';
|
|
|
15
15
|
import { InlineIcon } from '../../../src/molecules/Icon/Icon';
|
|
16
16
|
import { commandPaletteStyles } from '../../../src/atoms/CommandPalette/CommandPalette';
|
|
17
17
|
import { dropdownMenuGroupStyles, dropdownMenuItemStyles } from '../../../src/atoms/DropdownMenu/DropdownMenu';
|
|
18
|
+
import chevronRight from '../../../src/icons/chevronRight';
|
|
18
19
|
import { CommandPaletteProvider, useCommandPalette, useCommandPaletteQuery, useCommandPaletteRootContext, } from './CommandPaletteProvider';
|
|
20
|
+
import { containsCommand } from './findSubCommands';
|
|
19
21
|
import { rankChildren } from './rankCommands';
|
|
20
22
|
import { ActionTypes, FIELD_SEPARATOR, STATIC_ITEM_MARKER } from './types';
|
|
21
23
|
const Commands = ({ children }) => {
|
|
@@ -58,15 +60,25 @@ const Section = (_a) => {
|
|
|
58
60
|
};
|
|
59
61
|
Section.displayName = 'CommandPalette.Section';
|
|
60
62
|
const Command = (_a) => {
|
|
61
|
-
var { className, icon, label, keywords, disabled, static: isStatic } = _a, props = __rest(_a, ["className", "icon", "label", "keywords", "disabled", "static"]);
|
|
63
|
+
var { className, icon, label, keywords, disabled, static: isStatic, subPlaceholder: _subPlaceholder } = _a, props = __rest(_a, ["className", "icon", "label", "keywords", "disabled", "static", "subPlaceholder"]);
|
|
62
64
|
const styles = commandPaletteStyles();
|
|
63
|
-
|
|
65
|
+
// Walk `children` for nested `<Command>` elements — if any exist, this is a parent,
|
|
66
|
+
// and its children will be rendered as a separate level instead of inline. Render-prop
|
|
67
|
+
// children (functions) are not introspectable; they can't declare sub-commands.
|
|
68
|
+
const isParent = typeof props.children !== 'function' && containsCommand(props.children);
|
|
69
|
+
const textValue = props.textValue || label;
|
|
64
70
|
// Join label and keywords with FIELD_SEPARATOR so the Autocomplete predicate can
|
|
65
71
|
// rank them as distinct fields (prevents subsequences from crossing the boundary).
|
|
66
72
|
const resolvedTextValue = [textValue, ...(keywords !== null && keywords !== void 0 ? keywords : [])].filter(Boolean).join(FIELD_SEPARATOR);
|
|
67
|
-
|
|
73
|
+
// Strip children (nested <Command>s are looked up on push, not rendered inline) and,
|
|
74
|
+
// for parents, also strip any consumer-provided onAction — selection on a parent means
|
|
75
|
+
// "push a new level" and is handled centrally by the overlay's AriaMenu onAction.
|
|
76
|
+
const { children: _children, onAction: consumerOnAction } = props, restProps = __rest(props, ["children", "onAction"]);
|
|
77
|
+
const ariaProps = isParent ? restProps : Object.assign(Object.assign({}, restProps), { onAction: consumerOnAction });
|
|
78
|
+
return (React.createElement(AriaMenuItem, Object.assign({ className: (values) => dropdownMenuItemStyles(Object.assign(Object.assign({}, values), { className: ['Aquarium-CommandPalette.Item', className] })), textValue: isStatic ? `${STATIC_ITEM_MARKER}${resolvedTextValue}` : resolvedTextValue, isDisabled: disabled }, ariaProps), composeRenderProps(isParent ? undefined : props.children, (children) => (React.createElement(React.Fragment, null,
|
|
68
79
|
icon && React.createElement(InlineIcon, { icon: icon, className: styles.itemIcon() }),
|
|
69
|
-
React.createElement("span", { className: "grow" }, label || children)
|
|
80
|
+
React.createElement("span", { className: "grow" }, label || children),
|
|
81
|
+
isParent && React.createElement(InlineIcon, { icon: chevronRight, className: styles.itemIcon() }))))));
|
|
70
82
|
};
|
|
71
83
|
Command.displayName = 'CommandPalette.Command';
|
|
72
84
|
export const CommandPalette = {
|
|
@@ -76,4 +88,4 @@ export const CommandPalette = {
|
|
|
76
88
|
Command,
|
|
77
89
|
};
|
|
78
90
|
export { useCommandPalette };
|
|
79
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
91
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29tbWFuZFBhbGV0dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbW9sZWN1bGVzL0NvbW1hbmRQYWxldHRlL0NvbW1hbmRQYWxldHRlLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBLE9BQU8sS0FBSyxFQUFFLEVBQUUsU0FBUyxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBQ3pDLE9BQU8sRUFDTCxVQUFVLElBQUksY0FBYyxFQUM1QixrQkFBa0IsRUFDbEIsTUFBTSxJQUFJLFVBQVUsRUFDcEIsUUFBUSxJQUFJLFlBQVksRUFFeEIsV0FBVyxJQUFJLGVBQWUsR0FFL0IsTUFBTSx1QkFBdUIsQ0FBQztBQUMvQixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFMUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXJELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQy9FLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRXRHLE9BQU8sWUFBWSxNQUFNLHdCQUF3QixDQUFDO0FBRWxELE9BQU8sRUFDTCxzQkFBc0IsRUFHdEIsaUJBQWlCLEVBQ2pCLHNCQUFzQixFQUN0Qiw0QkFBNEIsR0FDN0IsTUFBTSwwQkFBMEIsQ0FBQztBQUNsQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDcEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLGtCQUFrQixFQUFFLE1BQU0sU0FBUyxDQUFDO0FBVTNFLE1BQU0sUUFBUSxHQUE0QixDQUFDLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRTtJQUN6RCxNQUFNLEVBQUUsR0FBRyxLQUFLLEVBQUUsQ0FBQztJQUNuQixNQUFNLENBQUMsRUFBRSxRQUFRLENBQUMsR0FBRyw0QkFBNEIsRUFBRSxDQUFDO0lBRXBELFNBQVMsQ0FBQyxHQUFHLEVBQUU7UUFDYixRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUUsV0FBVyxDQUFDLFFBQVEsRUFBRSxZQUFZLEVBQUUsRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3pFLE9BQU8sR0FBRyxFQUFFO1lBQ1YsUUFBUSxDQUFDLEVBQUUsSUFBSSxFQUFFLFdBQVcsQ0FBQyxVQUFVLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNqRCxDQUFDLENBQUM7UUFDRixvRUFBb0U7UUFDcEUsMkNBQTJDO1FBQzNDLHVEQUF1RDtJQUN6RCxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFFUCxTQUFTLENBQUMsR0FBRyxFQUFFO1FBQ2IsUUFBUSxDQUFDLEVBQUUsSUFBSSxFQUFFLFdBQVcsQ0FBQyxNQUFNLEVBQUUsWUFBWSxFQUFFLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN6RSxDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUUsRUFBRSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFFN0IsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDLENBQUM7QUFFRixRQUFRLENBQUMsV0FBVyxHQUFHLHlCQUF5QixDQUFDO0FBU2pELE1BQU0sT0FBTyxHQUFHLENBQW1CLEVBQXFELEVBQUUsRUFBRTtRQUF6RCxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsUUFBUSxPQUE2QixFQUF4QixLQUFLLGNBQWxDLDhCQUFvQyxDQUFGO0lBQ25FLE1BQU0sV0FBVyxHQUFHLHVCQUF1QixFQUFFLENBQUM7SUFDOUMsTUFBTSxLQUFLLEdBQUcsc0JBQXNCLEVBQUUsQ0FBQztJQUV2QyxNQUFNLFdBQVcsR0FBRyxDQUFDLE9BQXdCLEVBQUUsRUFBRSxDQUFDLENBQ2hELG9CQUFDLGVBQWUsa0JBQUMsU0FBUyxFQUFFLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxTQUFTLEVBQUUsaUNBQWlDLEVBQUUsQ0FBQyxJQUFNLEtBQUs7UUFDdEcsS0FBSyxJQUFJLG9CQUFDLFVBQVUsSUFBQyxTQUFTLEVBQUUsV0FBVyxDQUFDLEtBQUssRUFBRSxJQUFHLEtBQUssQ0FBYztRQUN6RSxPQUFPLENBQ1EsQ0FDbkIsQ0FBQztJQUVGLGtHQUFrRztJQUNsRyxJQUFJLEtBQUssSUFBSSxPQUFPLFFBQVEsS0FBSyxVQUFVLEVBQUUsQ0FBQztRQUM1QyxPQUFPLFdBQVcsQ0FDaEIsS0FBSyxDQUFDLENBQUMsQ0FBQyxvQkFBQyxjQUFjLElBQUMsS0FBSyxFQUFFLEtBQUssSUFBRyxRQUFRLENBQWtCLENBQUMsQ0FBQyxDQUFDLG9CQUFDLGNBQWMsUUFBRSxRQUFRLENBQWtCLENBQ2hILENBQUM7SUFDSixDQUFDO0lBRUQsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ1gsT0FBTyxXQUFXLENBQUMsb0JBQUMsY0FBYyxRQUFFLFFBQVEsQ0FBa0IsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFRCxNQUFNLE1BQU0sR0FBRyxZQUFZLENBQUMsUUFBUSxFQUFFLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztJQUN0RCxJQUFJLE1BQU0sQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDeEIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBQ0QsT0FBTyxXQUFXLENBQUMsb0JBQUMsY0FBYyxRQUFFLE1BQU0sQ0FBa0IsQ0FBQyxDQUFDO0FBQ2hFLENBQUMsQ0FBQztBQUVGLE9BQU8sQ0FBQyxXQUFXLEdBQUcsd0JBQXdCLENBQUM7QUFpQy9DLE1BQU0sT0FBTyxHQUFHLENBQUMsRUFTRixFQUFFLEVBQUU7UUFURixFQUNmLFNBQVMsRUFDVCxJQUFJLEVBQ0osS0FBSyxFQUNMLFFBQVEsRUFDUixRQUFRLEVBQ1IsTUFBTSxFQUFFLFFBQVEsRUFDaEIsY0FBYyxFQUFFLGVBQWUsT0FFbEIsRUFEVixLQUFLLGNBUk8sa0ZBU2hCLENBRFM7SUFFUixNQUFNLE1BQU0sR0FBRyxvQkFBb0IsRUFBRSxDQUFDO0lBQ3RDLG9GQUFvRjtJQUNwRix1RkFBdUY7SUFDdkYsZ0ZBQWdGO0lBQ2hGLE1BQU0sUUFBUSxHQUFHLE9BQU8sS0FBSyxDQUFDLFFBQVEsS0FBSyxVQUFVLElBQUksZUFBZSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN6RixNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsU0FBUyxJQUFJLEtBQUssQ0FBQztJQUMzQyxpRkFBaUY7SUFDakYsbUZBQW1GO0lBQ25GLE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxTQUFTLEVBQUUsR0FBRyxDQUFDLFFBQVEsYUFBUixRQUFRLGNBQVIsUUFBUSxHQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUNqRyxxRkFBcUY7SUFDckYsdUZBQXVGO0lBQ3ZGLGtGQUFrRjtJQUNsRixNQUFNLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLEtBQW1CLEtBQUssRUFBbkIsU0FBUyxVQUFLLEtBQUssRUFBekUsd0JBQWlFLENBQVEsQ0FBQztJQUNoRixNQUFNLFNBQVMsR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLGlDQUFNLFNBQVMsS0FBRSxRQUFRLEVBQUUsZ0JBQWdCLEdBQUUsQ0FBQztJQUN0RixPQUFPLENBQ0wsb0JBQUMsWUFBWSxrQkFDWCxTQUFTLEVBQUUsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUNwQixzQkFBc0IsaUNBQU0sTUFBTSxLQUFFLFNBQVMsRUFBRSxDQUFDLDhCQUE4QixFQUFFLFNBQVMsQ0FBQyxJQUFHLEVBRS9GLFNBQVMsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsa0JBQWtCLEdBQUcsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLEVBQ3JGLFVBQVUsRUFBRSxRQUFRLElBQ2hCLFNBQVMsR0FFWixrQkFBa0IsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FDdkU7UUFDRyxJQUFJLElBQUksb0JBQUMsVUFBVSxJQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sQ0FBQyxRQUFRLEVBQUUsR0FBSTtRQUNqRSw4QkFBTSxTQUFTLEVBQUMsTUFBTSxJQUFFLEtBQUssSUFBSSxRQUFRLENBQVE7UUFDaEQsUUFBUSxJQUFJLG9CQUFDLFVBQVUsSUFBQyxJQUFJLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxNQUFNLENBQUMsUUFBUSxFQUFFLEdBQUksQ0FDNUUsQ0FDSixDQUFDLENBQ1csQ0FDaEIsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGLE9BQU8sQ0FBQyxXQUFXLEdBQUcsd0JBQXdCLENBQUM7QUFXL0MsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUE0QjtJQUNyRCxRQUFRLEVBQUUsc0JBQXNCO0lBQ2hDLFFBQVE7SUFDUixPQUFPO0lBQ1AsT0FBTztDQUNSLENBQUM7QUFFRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQyJ9
|
|
@@ -1,12 +1,15 @@
|
|
|
1
|
-
import React, { createContext, useCallback, useContext, useEffect, useReducer, useRef,
|
|
2
|
-
import { Autocomplete as AriaAutocomplete, Dialog as AriaDialog, Input as AriaInput, Menu as AriaMenu, Modal as AriaModal, ModalOverlay as AriaModalOverlay, SearchField as AriaSearchField, } from 'react-aria-components';
|
|
1
|
+
import React, { createContext, useCallback, useContext, useEffect, useMemo, useReducer, useRef, } from 'react';
|
|
2
|
+
import { Autocomplete as AriaAutocomplete, Dialog as AriaDialog, Input as AriaInput, Menu as AriaMenu, MenuItem as AriaMenuItem, MenuSection as AriaMenuSection, Modal as AriaModal, ModalOverlay as AriaModalOverlay, SearchField as AriaSearchField, } from 'react-aria-components';
|
|
3
3
|
import { isCtrlKeyPressed } from '@react-aria/utils';
|
|
4
|
+
import { InlineIcon } from '../../../src/molecules/Icon/Icon';
|
|
4
5
|
import { CommandPalette as Base, commandPaletteStyles } from '../../../src/atoms/CommandPalette/CommandPalette';
|
|
5
|
-
import { dropdownMenuStyles } from '../../../src/atoms/DropdownMenu/DropdownMenu';
|
|
6
|
+
import { dropdownMenuItemStyles, dropdownMenuStyles } from '../../../src/atoms/DropdownMenu/DropdownMenu';
|
|
6
7
|
import { Modal as BaseModal, modalStyles } from '../../../src/atoms/Modal/Modal';
|
|
7
8
|
import { SearchIcon } from '../../../src/utils/form/InputAdornment/InputAdornment';
|
|
9
|
+
import chevronLeft from '../../../src/icons/chevronLeft';
|
|
10
|
+
import { containsCommand, findCommandInRegistrations, findSubCommands } from './findSubCommands';
|
|
8
11
|
import { autocompleteFilter } from './rankCommands';
|
|
9
|
-
import { ActionTypes } from './types';
|
|
12
|
+
import { ActionTypes, ROOT_LEVEL, STATIC_ITEM_MARKER } from './types';
|
|
10
13
|
// -- Reducer --
|
|
11
14
|
const reducer = (state, action) => {
|
|
12
15
|
switch (action.type) {
|
|
@@ -23,7 +26,30 @@ const reducer = (state, action) => {
|
|
|
23
26
|
case ActionTypes.Open:
|
|
24
27
|
return Object.assign(Object.assign({}, state), { isOpen: true });
|
|
25
28
|
case ActionTypes.Close:
|
|
26
|
-
|
|
29
|
+
// Closing always resets navigation to the root so the next open starts fresh.
|
|
30
|
+
return Object.assign(Object.assign({}, state), { isOpen: false, levelStack: [ROOT_LEVEL] });
|
|
31
|
+
case ActionTypes.PushLevel:
|
|
32
|
+
return Object.assign(Object.assign({}, state), { levelStack: [
|
|
33
|
+
...state.levelStack,
|
|
34
|
+
{
|
|
35
|
+
parentId: action.parentId,
|
|
36
|
+
parentLabel: action.parentLabel,
|
|
37
|
+
placeholder: action.placeholder,
|
|
38
|
+
query: '',
|
|
39
|
+
},
|
|
40
|
+
] });
|
|
41
|
+
case ActionTypes.PopLevel:
|
|
42
|
+
return state.levelStack.length > 1 ? Object.assign(Object.assign({}, state), { levelStack: state.levelStack.slice(0, -1) }) : state;
|
|
43
|
+
case ActionTypes.PopToIndex:
|
|
44
|
+
// Keep entries 0..index (inclusive); ignore if index is out of range.
|
|
45
|
+
if (action.index < 0 || action.index >= state.levelStack.length - 1) {
|
|
46
|
+
return state;
|
|
47
|
+
}
|
|
48
|
+
return Object.assign(Object.assign({}, state), { levelStack: state.levelStack.slice(0, action.index + 1) });
|
|
49
|
+
case ActionTypes.SetQuery: {
|
|
50
|
+
const top = state.levelStack.length - 1;
|
|
51
|
+
return Object.assign(Object.assign({}, state), { levelStack: state.levelStack.map((lvl, i) => (i === top ? Object.assign(Object.assign({}, lvl), { query: action.query }) : lvl)) });
|
|
52
|
+
}
|
|
27
53
|
default:
|
|
28
54
|
throw new Error('Unsupported action type.');
|
|
29
55
|
}
|
|
@@ -51,7 +77,7 @@ export const useCommandPaletteQuery = () => useContext(CommandPaletteQueryContex
|
|
|
51
77
|
export { CommandPaletteQueryContext };
|
|
52
78
|
const DEFAULT_SHORTCUT = { key: 'k', metaKey: true };
|
|
53
79
|
export const CommandPaletteProvider = ({ children, shortcut = DEFAULT_SHORTCUT, marginTop = '100px', placeholder = 'Search commands...', emptyState, isDisabled = false, onOpenChange, onInputChange, }) => {
|
|
54
|
-
const [state, dispatch] = useReducer(reducer, { registrations: [], isOpen: false });
|
|
80
|
+
const [state, dispatch] = useReducer(reducer, { registrations: [], isOpen: false, levelStack: [ROOT_LEVEL] });
|
|
55
81
|
const guardedDispatch = useCallback((action) => {
|
|
56
82
|
if (isDisabled && action.type === ActionTypes.Open) {
|
|
57
83
|
return;
|
|
@@ -89,42 +115,80 @@ export const CommandPaletteProvider = ({ children, shortcut = DEFAULT_SHORTCUT,
|
|
|
89
115
|
children,
|
|
90
116
|
!isDisabled && (React.createElement(CommandPaletteOverlay, { marginTop: marginTop, placeholder: placeholder, emptyState: emptyState, onInputChange: onInputChange }))));
|
|
91
117
|
};
|
|
118
|
+
const BackMenuItem = ({ label, onBack }) => {
|
|
119
|
+
const styles = commandPaletteStyles();
|
|
120
|
+
return (React.createElement(AriaMenuItem, { id: "__command-palette-back", textValue: `${STATIC_ITEM_MARKER}Back`, className: (values) => dropdownMenuItemStyles(Object.assign(Object.assign({}, values), { className: styles.breadcrumbHeader() })), onAction: onBack },
|
|
121
|
+
React.createElement(InlineIcon, { icon: chevronLeft, className: styles.breadcrumbBackButton() }),
|
|
122
|
+
React.createElement("span", null, label)));
|
|
123
|
+
};
|
|
92
124
|
const CommandPaletteOverlay = ({ marginTop, placeholder, emptyState, onInputChange, }) => {
|
|
125
|
+
var _a;
|
|
93
126
|
const [state, dispatch] = useCommandPaletteRootContext();
|
|
94
|
-
const [query, setQuery] = useState('');
|
|
95
127
|
const styles = commandPaletteStyles();
|
|
96
128
|
const { overlay, dialog } = modalStyles({ kind: 'dialog' });
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
129
|
+
const depth = state.levelStack.length - 1;
|
|
130
|
+
const currentLevel = state.levelStack[depth];
|
|
131
|
+
const levelPlaceholder = (_a = currentLevel.placeholder) !== null && _a !== void 0 ? _a : placeholder;
|
|
132
|
+
// Memoize the rendered items so Autocomplete/Menu see a stable child tree across
|
|
133
|
+
// SetQuery dispatches (which fire on every keystroke). React.ReactNode technically
|
|
134
|
+
// unions Promise<React.Node>; eslint's promise rule misfires here.
|
|
135
|
+
// eslint-disable-next-line @typescript-eslint/promise-function-async
|
|
136
|
+
const menuChildren = useMemo(() => {
|
|
137
|
+
if (currentLevel.parentId === null) {
|
|
138
|
+
return state.registrations.map((registration) => (React.createElement(React.Fragment, { key: registration.id }, registration.children)));
|
|
102
139
|
}
|
|
103
|
-
|
|
140
|
+
return findSubCommands(state.registrations, currentLevel.parentId);
|
|
141
|
+
}, [state.registrations, currentLevel.parentId]);
|
|
104
142
|
const handleOpenChange = (isOpen) => {
|
|
143
|
+
if (!isOpen && depth > 0) {
|
|
144
|
+
// When we're in a sub-level, a "dismiss" (Escape or backdrop click) means go back
|
|
145
|
+
// one level instead of closing the palette entirely.
|
|
146
|
+
dispatch({ type: ActionTypes.PopLevel });
|
|
147
|
+
return;
|
|
148
|
+
}
|
|
105
149
|
dispatch(isOpen ? { type: ActionTypes.Open } : { type: ActionTypes.Close });
|
|
106
150
|
};
|
|
107
|
-
|
|
151
|
+
// AriaMenu fires this for any item selection (parent or leaf). Parents push a new level
|
|
152
|
+
// and don't close; leaves close the palette. A leaf's consumer-provided `onAction` is
|
|
153
|
+
// wired directly on the `<AriaMenuItem>` and fires independently.
|
|
154
|
+
const handleMenuAction = (key) => {
|
|
155
|
+
if (key === '__command-palette-back') {
|
|
156
|
+
return;
|
|
157
|
+
}
|
|
158
|
+
const element = findCommandInRegistrations(state.registrations, String(key));
|
|
159
|
+
if (element !== null && containsCommand(element.props.children)) {
|
|
160
|
+
const props = element.props;
|
|
161
|
+
dispatch({
|
|
162
|
+
type: ActionTypes.PushLevel,
|
|
163
|
+
parentId: String(key),
|
|
164
|
+
parentLabel: props.label,
|
|
165
|
+
placeholder: props.subPlaceholder,
|
|
166
|
+
});
|
|
167
|
+
return;
|
|
168
|
+
}
|
|
108
169
|
dispatch({ type: ActionTypes.Close });
|
|
109
170
|
};
|
|
110
171
|
const handleSearchChange = (value) => {
|
|
111
|
-
|
|
172
|
+
dispatch({ type: ActionTypes.SetQuery, query: value });
|
|
112
173
|
onInputChange === null || onInputChange === void 0 ? void 0 : onInputChange(value);
|
|
113
174
|
};
|
|
114
175
|
if (!state.isOpen) {
|
|
115
176
|
return null;
|
|
116
177
|
}
|
|
117
|
-
return (React.createElement(CommandPaletteQueryContext.Provider, { value: query },
|
|
178
|
+
return (React.createElement(CommandPaletteQueryContext.Provider, { value: currentLevel.query },
|
|
118
179
|
React.createElement(AriaModalOverlay, { isOpen: state.isOpen, onOpenChange: handleOpenChange, isDismissable: true, className: overlay({ className: 'Aquarium-CommandPalette items-start' }) },
|
|
119
180
|
React.createElement(BaseModal.BackDrop, null),
|
|
120
181
|
React.createElement(AriaModal, { className: styles.modal(), style: marginTop ? { marginTop } : undefined },
|
|
121
182
|
React.createElement(AriaDialog, { "aria-label": "Command palette", className: dialog({ className: styles.dialog() }) },
|
|
122
|
-
React.createElement(AriaAutocomplete, { filter: autocompleteFilter },
|
|
123
|
-
React.createElement(AriaSearchField, { autoFocus: true, "aria-label": "Search commands", className: styles.searchContainer()
|
|
183
|
+
React.createElement(AriaAutocomplete, { key: depth, filter: autocompleteFilter, defaultInputValue: currentLevel.query, onInputChange: handleSearchChange },
|
|
184
|
+
React.createElement(AriaSearchField, { autoFocus: true, "aria-label": "Search commands", className: styles.searchContainer() },
|
|
124
185
|
React.createElement(SearchIcon, { "aria-hidden": true }),
|
|
125
|
-
React.createElement(AriaInput, { placeholder:
|
|
126
|
-
React.createElement(AriaMenu, { onAction:
|
|
186
|
+
React.createElement(AriaInput, { placeholder: levelPlaceholder, className: styles.searchInput() })),
|
|
187
|
+
React.createElement(AriaMenu, { onAction: handleMenuAction, className: dropdownMenuStyles({
|
|
127
188
|
className: 'Aquarium-CommandPalette.List flex-1 min-h-0 p-3 overflow-y-auto',
|
|
128
|
-
}), renderEmptyState: () => React.createElement(Base.EmptyState, null, emptyState) },
|
|
189
|
+
}), renderEmptyState: () => React.createElement(Base.EmptyState, null, emptyState) },
|
|
190
|
+
depth > 0 && currentLevel.parentLabel && (React.createElement(AriaMenuSection, null,
|
|
191
|
+
React.createElement(BackMenuItem, { label: currentLevel.parentLabel, onBack: () => dispatch({ type: ActionTypes.PopLevel }) }))),
|
|
192
|
+
menuChildren)))))));
|
|
129
193
|
};
|
|
130
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29tbWFuZFBhbGV0dGVQcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9tb2xlY3VsZXMvQ29tbWFuZFBhbGV0dGUvQ29tbWFuZFBhbGV0dGVQcm92aWRlci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsRUFDWixhQUFhLEVBRWIsV0FBVyxFQUNYLFVBQVUsRUFDVixTQUFTLEVBQ1QsVUFBVSxFQUNWLE1BQU0sRUFDTixRQUFRLEdBQ1QsTUFBTSxPQUFPLENBQUM7QUFDZixPQUFPLEVBQ0wsWUFBWSxJQUFJLGdCQUFnQixFQUNoQyxNQUFNLElBQUksVUFBVSxFQUNwQixLQUFLLElBQUksU0FBUyxFQUNsQixJQUFJLElBQUksUUFBUSxFQUNoQixLQUFLLElBQUksU0FBUyxFQUNsQixZQUFZLElBQUksZ0JBQWdCLEVBQ2hDLFdBQVcsSUFBSSxlQUFlLEdBQy9CLE1BQU0sdUJBQXVCLENBQUM7QUFDL0IsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFckQsT0FBTyxFQUFFLGNBQWMsSUFBSSxJQUFJLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUN2RyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUN6RSxPQUFPLEVBQUUsS0FBSyxJQUFJLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUV4RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sOENBQThDLENBQUM7QUFFMUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEQsT0FBTyxFQUFnQixXQUFXLEVBQWMsTUFBTSxTQUFTLENBQUM7QUFFaEUsZ0JBQWdCO0FBRWhCLE1BQU0sT0FBTyxHQUFHLENBQUMsS0FBWSxFQUFFLE1BQWUsRUFBUyxFQUFFO0lBQ3ZELFFBQVEsTUFBTSxDQUFDLElBQUks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
|
|
194
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29tbWFuZFBhbGV0dGVQcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9tb2xlY3VsZXMvQ29tbWFuZFBhbGV0dGUvQ29tbWFuZFBhbGV0dGVQcm92aWRlci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsRUFDWixhQUFhLEVBRWIsV0FBVyxFQUNYLFVBQVUsRUFDVixTQUFTLEVBQ1QsT0FBTyxFQUNQLFVBQVUsRUFDVixNQUFNLEdBQ1AsTUFBTSxPQUFPLENBQUM7QUFDZixPQUFPLEVBQ0wsWUFBWSxJQUFJLGdCQUFnQixFQUNoQyxNQUFNLElBQUksVUFBVSxFQUNwQixLQUFLLElBQUksU0FBUyxFQUNsQixJQUFJLElBQUksUUFBUSxFQUNoQixRQUFRLElBQUksWUFBWSxFQUN4QixXQUFXLElBQUksZUFBZSxFQUM5QixLQUFLLElBQUksU0FBUyxFQUNsQixZQUFZLElBQUksZ0JBQWdCLEVBQ2hDLFdBQVcsSUFBSSxlQUFlLEdBQy9CLE1BQU0sdUJBQXVCLENBQUM7QUFDL0IsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFckQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXJELE9BQU8sRUFBRSxjQUFjLElBQUksSUFBSSxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDdkcsT0FBTyxFQUFFLHNCQUFzQixFQUFFLGtCQUFrQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDakcsT0FBTyxFQUFFLEtBQUssSUFBSSxTQUFTLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFeEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBRTFFLE9BQU8sV0FBVyxNQUFNLHVCQUF1QixDQUFDO0FBRWhELE9BQU8sRUFBRSxlQUFlLEVBQUUsMEJBQTBCLEVBQUUsZUFBZSxFQUFF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
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { CommandPaletteRegistration } from './types';
|
|
3
|
+
/**
|
|
4
|
+
* Returns the children (raw React nodes) of the Command with the given `parentId`,
|
|
5
|
+
* searched across every registration. `null` when the parent is not found.
|
|
6
|
+
*
|
|
7
|
+
* Callers render the result as the contents of the sub-level.
|
|
8
|
+
*/
|
|
9
|
+
export declare const findSubCommands: (registrations: CommandPaletteRegistration[], parentId: string) => React.ReactNode;
|
|
10
|
+
/** Returns the Command element (across all registrations) with the given `id`, or null. */
|
|
11
|
+
export declare const findCommandInRegistrations: (registrations: CommandPaletteRegistration[], id: string) => React.ReactElement | null;
|
|
12
|
+
/** True when `children` contains at least one Command element (directly or nested). */
|
|
13
|
+
export declare const containsCommand: (children: React.ReactNode) => boolean;
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
/** Match by displayName to avoid a circular import with CommandPalette.tsx. */
|
|
3
|
+
const isCommand = (el) => typeof el.type !== 'string' && el.type.displayName === 'CommandPalette.Command';
|
|
4
|
+
/**
|
|
5
|
+
* Depth-first walk that returns the Command element whose `props.id === id`, or null.
|
|
6
|
+
* Descends through Fragments and Sections; stops at the matching Command (does NOT
|
|
7
|
+
* recurse into its descendants once matched).
|
|
8
|
+
*/
|
|
9
|
+
const findCommandById = (node, id) => {
|
|
10
|
+
for (const child of React.Children.toArray(node)) {
|
|
11
|
+
if (!React.isValidElement(child)) {
|
|
12
|
+
continue;
|
|
13
|
+
}
|
|
14
|
+
if (isCommand(child) && child.props.id === id) {
|
|
15
|
+
return child;
|
|
16
|
+
}
|
|
17
|
+
const nested = findCommandById(child.props.children, id);
|
|
18
|
+
if (nested !== null) {
|
|
19
|
+
return nested;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
return null;
|
|
23
|
+
};
|
|
24
|
+
/**
|
|
25
|
+
* Returns the children (raw React nodes) of the Command with the given `parentId`,
|
|
26
|
+
* searched across every registration. `null` when the parent is not found.
|
|
27
|
+
*
|
|
28
|
+
* Callers render the result as the contents of the sub-level.
|
|
29
|
+
*/
|
|
30
|
+
export const findSubCommands = (registrations, parentId) => {
|
|
31
|
+
var _a;
|
|
32
|
+
const match = findCommandInRegistrations(registrations, parentId);
|
|
33
|
+
if (match === null) {
|
|
34
|
+
return null;
|
|
35
|
+
}
|
|
36
|
+
return (_a = match.props.children) !== null && _a !== void 0 ? _a : null;
|
|
37
|
+
};
|
|
38
|
+
/** Returns the Command element (across all registrations) with the given `id`, or null. */
|
|
39
|
+
export const findCommandInRegistrations = (registrations, id) => {
|
|
40
|
+
for (const reg of registrations) {
|
|
41
|
+
const match = findCommandById(reg.children, id);
|
|
42
|
+
if (match !== null) {
|
|
43
|
+
return match;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
return null;
|
|
47
|
+
};
|
|
48
|
+
/** True when `children` contains at least one Command element (directly or nested). */
|
|
49
|
+
export const containsCommand = (children) => findFirstCommand(children) !== null;
|
|
50
|
+
const findFirstCommand = (node) => {
|
|
51
|
+
for (const child of React.Children.toArray(node)) {
|
|
52
|
+
if (!React.isValidElement(child)) {
|
|
53
|
+
continue;
|
|
54
|
+
}
|
|
55
|
+
if (isCommand(child)) {
|
|
56
|
+
return child;
|
|
57
|
+
}
|
|
58
|
+
const nested = findFirstCommand(child.props.children);
|
|
59
|
+
if (nested !== null) {
|
|
60
|
+
return nested;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
return null;
|
|
64
|
+
};
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluZFN1YkNvbW1hbmRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL21vbGVjdWxlcy9Db21tYW5kUGFsZXR0ZS9maW5kU3ViQ29tbWFuZHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBSTFCLCtFQUErRTtBQUMvRSxNQUFNLFNBQVMsR0FBRyxDQUFDLEVBQXNCLEVBQVcsRUFBRSxDQUNwRCxPQUFPLEVBQUUsQ0FBQyxJQUFJLEtBQUssUUFBUSxJQUFLLEVBQUUsQ0FBQyxJQUFpQyxDQUFDLFdBQVcsS0FBSyx3QkFBd0IsQ0FBQztBQUVoSDs7OztHQUlHO0FBQ0gsTUFBTSxlQUFlLEdBQUcsQ0FBQyxJQUFxQixFQUFFLEVBQVUsRUFBNkIsRUFBRTtJQUN2RixLQUFLLE1BQU0sS0FBSyxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDakQsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNqQyxTQUFTO1FBQ1gsQ0FBQztRQUNELElBQUksU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFLLEtBQUssQ0FBQyxLQUF5QixDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQztZQUNuRSxPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7UUFDRCxNQUFNLE1BQU0sR0FBRyxlQUFlLENBQUUsS0FBSyxDQUFDLEtBQXdDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQzdGLElBQUksTUFBTSxLQUFLLElBQUksRUFBRSxDQUFDO1lBQ3BCLE9BQU8sTUFBTSxDQUFDO1FBQ2hCLENBQUM7SUFDSCxDQUFDO0lBQ0QsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDLENBQUM7QUFFRjs7Ozs7R0FLRztBQUNILE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxDQUFDLGFBQTJDLEVBQUUsUUFBZ0IsRUFBbUIsRUFBRTs7SUFDaEgsTUFBTSxLQUFLLEdBQUcsMEJBQTBCLENBQUMsYUFBYSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ2xFLElBQUksS0FBSyxLQUFLLElBQUksRUFBRSxDQUFDO1FBQ25CLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUNELE9BQU8sTUFBQyxLQUFLLENBQUMsS0FBd0MsQ0FBQyxRQUFRLG1DQUFJLElBQUksQ0FBQztBQUMxRSxDQUFDLENBQUM7QUFFRiwyRkFBMkY7QUFDM0YsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUcsQ0FDeEMsYUFBMkMsRUFDM0MsRUFBVSxFQUNpQixFQUFFO0lBQzdCLEtBQUssTUFBTSxHQUFHLElBQUksYUFBYSxFQUFFLENBQUM7UUFDaEMsTUFBTSxLQUFLLEdBQUcsZUFBZSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDaEQsSUFBSSxLQUFLLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDbkIsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO0lBQ0gsQ0FBQztJQUNELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQyxDQUFDO0FBRUYsdUZBQXVGO0FBQ3ZGLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxDQUFDLFFBQXlCLEVBQVcsRUFBRSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxLQUFLLElBQUksQ0FBQztBQUUzRyxNQUFNLGdCQUFnQixHQUFHLENBQUMsSUFBcUIsRUFBNkIsRUFBRTtJQUM1RSxLQUFLLE1BQU0sS0FBSyxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDakQsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNqQyxTQUFTO1FBQ1gsQ0FBQztRQUNELElBQUksU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDckIsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO1FBQ0QsTUFBTSxNQUFNLEdBQUcsZ0JBQWdCLENBQUUsS0FBSyxDQUFDLEtBQXdDLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDMUYsSUFBSSxNQUFNLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDcEIsT0FBTyxNQUFNLENBQUM7UUFDaEIsQ0FBQztJQUNILENBQUM7SUFDRCxPQUFPLElBQUksQ0FBQztBQUNkLENBQUMsQ0FBQyJ9
|