@aivenio/aquarium 6.0.2 → 6.1.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/atoms.cjs +263 -232
- package/dist/atoms.mjs +258 -232
- package/dist/src/atoms/ChoiceChip/ChoiceChip.js +2 -2
- package/dist/src/atoms/CommandPalette/CommandPalette.d.ts +85 -0
- package/dist/src/atoms/CommandPalette/CommandPalette.js +33 -0
- package/dist/src/atoms/DropdownMenu/DropdownMenu.d.ts +131 -0
- package/dist/src/atoms/DropdownMenu/DropdownMenu.js +4 -4
- package/dist/src/atoms/index.d.ts +1 -0
- package/dist/src/atoms/index.js +2 -1
- package/dist/src/molecules/CommandPalette/CommandPalette.d.ts +48 -0
- package/dist/src/molecules/CommandPalette/CommandPalette.js +79 -0
- package/dist/src/molecules/CommandPalette/CommandPaletteProvider.d.ts +36 -0
- package/dist/src/molecules/CommandPalette/CommandPaletteProvider.js +119 -0
- package/dist/src/molecules/CommandPalette/rankCommands.d.ts +10 -0
- package/dist/src/molecules/CommandPalette/rankCommands.js +51 -0
- package/dist/src/molecules/CommandPalette/types.d.ts +39 -0
- package/dist/src/molecules/CommandPalette/types.js +17 -0
- package/dist/src/molecules/index.d.ts +1 -0
- package/dist/src/molecules/index.js +2 -1
- package/dist/styles.css +16 -0
- package/dist/system.cjs +1461 -1177
- package/dist/system.mjs +1467 -1163
- package/dist/tsconfig.module.tsbuildinfo +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import React, { createContext, useCallback, useContext, useEffect, useReducer, useRef, useState, } from 'react';
|
|
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';
|
|
3
|
+
import { isCtrlKeyPressed } from '@react-aria/utils';
|
|
4
|
+
import { CommandPalette as Base, commandPaletteStyles } from '../../../src/atoms/CommandPalette/CommandPalette';
|
|
5
|
+
import { dropdownMenuStyles } from '../../../src/atoms/DropdownMenu/DropdownMenu';
|
|
6
|
+
import { Modal as BaseModal, modalStyles } from '../../../src/atoms/Modal/Modal';
|
|
7
|
+
import { SearchIcon } from '../../../src/utils/form/InputAdornment/InputAdornment';
|
|
8
|
+
import { autocompleteFilter } from './rankCommands';
|
|
9
|
+
import { ActionTypes } from './types';
|
|
10
|
+
// -- Reducer --
|
|
11
|
+
const reducer = (state, action) => {
|
|
12
|
+
switch (action.type) {
|
|
13
|
+
case ActionTypes.Register: {
|
|
14
|
+
if (state.registrations.some((r) => r.id === action.registration.id)) {
|
|
15
|
+
return state;
|
|
16
|
+
}
|
|
17
|
+
return Object.assign(Object.assign({}, state), { registrations: [...state.registrations, action.registration] });
|
|
18
|
+
}
|
|
19
|
+
case ActionTypes.Unregister:
|
|
20
|
+
return Object.assign(Object.assign({}, state), { registrations: state.registrations.filter((r) => r.id !== action.id) });
|
|
21
|
+
case ActionTypes.Update:
|
|
22
|
+
return Object.assign(Object.assign({}, state), { registrations: state.registrations.map((r) => (r.id === action.registration.id ? action.registration : r)) });
|
|
23
|
+
case ActionTypes.Open:
|
|
24
|
+
return Object.assign(Object.assign({}, state), { isOpen: true });
|
|
25
|
+
case ActionTypes.Close:
|
|
26
|
+
return Object.assign(Object.assign({}, state), { isOpen: false });
|
|
27
|
+
default:
|
|
28
|
+
throw new Error('Unsupported action type.');
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
const CommandPaletteContext = createContext(null);
|
|
32
|
+
const useCommandPaletteRootContext = () => {
|
|
33
|
+
const ctx = useContext(CommandPaletteContext);
|
|
34
|
+
if (ctx === null) {
|
|
35
|
+
throw new Error('CommandPaletteContext was used outside of provider.');
|
|
36
|
+
}
|
|
37
|
+
return ctx;
|
|
38
|
+
};
|
|
39
|
+
export const useCommandPalette = () => {
|
|
40
|
+
const [state, dispatch] = useCommandPaletteRootContext();
|
|
41
|
+
const open = useCallback(() => dispatch({ type: ActionTypes.Open }), [dispatch]);
|
|
42
|
+
const close = useCallback(() => dispatch({ type: ActionTypes.Close }), [dispatch]);
|
|
43
|
+
const toggle = useCallback(() => dispatch(state.isOpen ? { type: ActionTypes.Close } : { type: ActionTypes.Open }), [dispatch, state.isOpen]);
|
|
44
|
+
return { open, close, toggle, isOpen: state.isOpen };
|
|
45
|
+
};
|
|
46
|
+
export { CommandPaletteContext, useCommandPaletteRootContext };
|
|
47
|
+
// -- Query context (internal) --
|
|
48
|
+
const CommandPaletteQueryContext = createContext('');
|
|
49
|
+
/** Read the current palette search query. Returns '' when the palette is closed or empty. */
|
|
50
|
+
export const useCommandPaletteQuery = () => useContext(CommandPaletteQueryContext);
|
|
51
|
+
export { CommandPaletteQueryContext };
|
|
52
|
+
const DEFAULT_SHORTCUT = { key: 'k', metaKey: true };
|
|
53
|
+
export const CommandPaletteProvider = ({ children, shortcut = DEFAULT_SHORTCUT, marginTop = '100px', placeholder = 'Search commands...', emptyState, onOpenChange, onInputChange, }) => {
|
|
54
|
+
const [state, dispatch] = useReducer(reducer, { registrations: [], isOpen: false });
|
|
55
|
+
useEffect(() => {
|
|
56
|
+
if (shortcut === null) {
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
const handleKeyDown = (e) => {
|
|
60
|
+
if (e.key === shortcut.key && (!shortcut.metaKey || isCtrlKeyPressed(e))) {
|
|
61
|
+
e.preventDefault();
|
|
62
|
+
dispatch(state.isOpen ? { type: ActionTypes.Close } : { type: ActionTypes.Open });
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
document.addEventListener('keydown', handleKeyDown);
|
|
66
|
+
return () => document.removeEventListener('keydown', handleKeyDown);
|
|
67
|
+
}, [shortcut, state.isOpen]);
|
|
68
|
+
const isInitialMount = useRef(true);
|
|
69
|
+
useEffect(() => {
|
|
70
|
+
if (isInitialMount.current) {
|
|
71
|
+
isInitialMount.current = false;
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
onOpenChange === null || onOpenChange === void 0 ? void 0 : onOpenChange(state.isOpen);
|
|
75
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
76
|
+
}, [state.isOpen]);
|
|
77
|
+
return (React.createElement(CommandPaletteContext.Provider, { value: [state, dispatch] },
|
|
78
|
+
children,
|
|
79
|
+
React.createElement(CommandPaletteOverlay, { marginTop: marginTop, placeholder: placeholder, emptyState: emptyState, onInputChange: onInputChange })));
|
|
80
|
+
};
|
|
81
|
+
const CommandPaletteOverlay = ({ marginTop, placeholder, emptyState, onInputChange, }) => {
|
|
82
|
+
const [state, dispatch] = useCommandPaletteRootContext();
|
|
83
|
+
const [query, setQuery] = useState('');
|
|
84
|
+
const styles = commandPaletteStyles();
|
|
85
|
+
const { overlay, dialog } = modalStyles({ kind: 'dialog' });
|
|
86
|
+
// Clear the query on every close so the next open starts fresh — regardless of
|
|
87
|
+
// whether the close came from Escape, backdrop click, action selection, or Cmd+K.
|
|
88
|
+
useEffect(() => {
|
|
89
|
+
if (!state.isOpen) {
|
|
90
|
+
setQuery('');
|
|
91
|
+
}
|
|
92
|
+
}, [state.isOpen]);
|
|
93
|
+
const handleOpenChange = (isOpen) => {
|
|
94
|
+
dispatch(isOpen ? { type: ActionTypes.Open } : { type: ActionTypes.Close });
|
|
95
|
+
};
|
|
96
|
+
const handleAction = () => {
|
|
97
|
+
dispatch({ type: ActionTypes.Close });
|
|
98
|
+
};
|
|
99
|
+
const handleSearchChange = (value) => {
|
|
100
|
+
setQuery(value);
|
|
101
|
+
onInputChange === null || onInputChange === void 0 ? void 0 : onInputChange(value);
|
|
102
|
+
};
|
|
103
|
+
if (!state.isOpen) {
|
|
104
|
+
return null;
|
|
105
|
+
}
|
|
106
|
+
return (React.createElement(CommandPaletteQueryContext.Provider, { value: query },
|
|
107
|
+
React.createElement(AriaModalOverlay, { isOpen: state.isOpen, onOpenChange: handleOpenChange, isDismissable: true, className: overlay({ className: 'Aquarium-CommandPalette items-start' }) },
|
|
108
|
+
React.createElement(BaseModal.BackDrop, null),
|
|
109
|
+
React.createElement(AriaModal, { className: styles.modal(), style: marginTop ? { marginTop } : undefined },
|
|
110
|
+
React.createElement(AriaDialog, { "aria-label": "Command palette", className: dialog({ className: styles.dialog() }) },
|
|
111
|
+
React.createElement(AriaAutocomplete, { filter: autocompleteFilter },
|
|
112
|
+
React.createElement(AriaSearchField, { autoFocus: true, "aria-label": "Search commands", className: styles.searchContainer(), onChange: handleSearchChange },
|
|
113
|
+
React.createElement(SearchIcon, { "aria-hidden": true }),
|
|
114
|
+
React.createElement(AriaInput, { placeholder: placeholder, className: styles.searchInput() })),
|
|
115
|
+
React.createElement(AriaMenu, { onAction: handleAction, className: dropdownMenuStyles({
|
|
116
|
+
className: 'Aquarium-CommandPalette.List flex-1 min-h-0 p-3 overflow-y-auto',
|
|
117
|
+
}), renderEmptyState: () => React.createElement(Base.EmptyState, null, emptyState) }, state.registrations.map((registration) => (React.createElement(React.Fragment, { key: registration.id }, registration.children))))))))));
|
|
118
|
+
};
|
|
119
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29tbWFuZFBhbGV0dGVQcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9tb2xlY3VsZXMvQ29tbWFuZFBhbGV0dGUvQ29tbWFuZFBhbGV0dGVQcm92aWRlci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsRUFDWixhQUFhLEVBRWIsV0FBVyxFQUNYLFVBQVUsRUFDVixTQUFTLEVBQ1QsVUFBVSxFQUNWLE1BQU0sRUFDTixRQUFRLEdBQ1QsTUFBTSxPQUFPLENBQUM7QUFDZixPQUFPLEVBQ0wsWUFBWSxJQUFJLGdCQUFnQixFQUNoQyxNQUFNLElBQUksVUFBVSxFQUNwQixLQUFLLElBQUksU0FBUyxFQUNsQixJQUFJLElBQUksUUFBUSxFQUNoQixLQUFLLElBQUksU0FBUyxFQUNsQixZQUFZLElBQUksZ0JBQWdCLEVBQ2hDLFdBQVcsSUFBSSxlQUFlLEdBQy9CLE1BQU0sdUJBQXVCLENBQUM7QUFDL0IsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFckQsT0FBTyxFQUFFLGNBQWMsSUFBSSxJQUFJLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUN2RyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUN6RSxPQUFPLEVBQUUsS0FBSyxJQUFJLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUV4RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sOENBQThDLENBQUM7QUFFMUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEQsT0FBTyxFQUFnQixXQUFXLEVBQWMsTUFBTSxTQUFTLENBQUM7QUFFaEUsZ0JBQWdCO0FBRWhCLE1BQU0sT0FBTyxHQUFHLENBQUMsS0FBWSxFQUFFLE1BQWUsRUFBUyxFQUFFO0lBQ3ZELFFBQVEsTUFBTSxDQUFDLElBQUks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
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Reorders and filters a Section's children against `query` using match-sorter's
|
|
4
|
+
* default `MATCHES` threshold (subsequence). Static Command elements are always
|
|
5
|
+
* kept in source order; non-Command children are preserved at the end. Returns
|
|
6
|
+
* the original children unchanged when `query` is empty.
|
|
7
|
+
*/
|
|
8
|
+
export declare const rankChildren: (children: React.ReactNode, query: string, CommandType: React.ElementType) => React.ReactNode[];
|
|
9
|
+
/** Predicate for `<AriaAutocomplete filter>` — same match-sorter semantics as {@link rankChildren}. */
|
|
10
|
+
export declare const autocompleteFilter: (textValue: string, inputValue: string) => boolean;
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { matchSorter } from 'match-sorter';
|
|
3
|
+
import { FIELD_SEPARATOR, STATIC_ITEM_MARKER } from './types';
|
|
4
|
+
const isCommandElement = (node, CommandType) => React.isValidElement(node) && node.type === CommandType;
|
|
5
|
+
/**
|
|
6
|
+
* Reorders and filters a Section's children against `query` using match-sorter's
|
|
7
|
+
* default `MATCHES` threshold (subsequence). Static Command elements are always
|
|
8
|
+
* kept in source order; non-Command children are preserved at the end. Returns
|
|
9
|
+
* the original children unchanged when `query` is empty.
|
|
10
|
+
*/
|
|
11
|
+
export const rankChildren = (children, query, CommandType) => {
|
|
12
|
+
const flat = React.Children.toArray(children);
|
|
13
|
+
if (!query) {
|
|
14
|
+
return flat;
|
|
15
|
+
}
|
|
16
|
+
const staticEls = [];
|
|
17
|
+
const rankable = [];
|
|
18
|
+
const passThrough = [];
|
|
19
|
+
// `React.Children.toArray` assigns a stable key to every element (user-provided or
|
|
20
|
+
// positional like ".0"), so reordering doesn't trigger unmount/remount.
|
|
21
|
+
flat.forEach((child) => {
|
|
22
|
+
var _a;
|
|
23
|
+
if (isCommandElement(child, CommandType)) {
|
|
24
|
+
if (child.props.static) {
|
|
25
|
+
staticEls.push(child);
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
rankable.push({ el: child, label: child.props.label, keywords: (_a = child.props.keywords) !== null && _a !== void 0 ? _a : [] });
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
passThrough.push(child);
|
|
32
|
+
});
|
|
33
|
+
// Rank label and keywords as separate keys so subsequences can't straddle the boundary
|
|
34
|
+
// between them (e.g. "seka" must not match "Service: Go to Valkey" via the `cache` keyword).
|
|
35
|
+
const ranked = matchSorter(rankable, query, { keys: ['label', 'keywords'] }).map((entry) => entry.el);
|
|
36
|
+
return [...staticEls, ...ranked, ...passThrough];
|
|
37
|
+
};
|
|
38
|
+
/** Predicate for `<AriaAutocomplete filter>` — same match-sorter semantics as {@link rankChildren}. */
|
|
39
|
+
export const autocompleteFilter = (textValue, inputValue) => {
|
|
40
|
+
if (textValue.startsWith(STATIC_ITEM_MARKER)) {
|
|
41
|
+
return true;
|
|
42
|
+
}
|
|
43
|
+
if (!inputValue) {
|
|
44
|
+
return true;
|
|
45
|
+
}
|
|
46
|
+
// `<Command>` joins label + keywords with FIELD_SEPARATOR. Splitting here ranks each
|
|
47
|
+
// field independently, so a subsequence can't straddle the label/keyword boundary.
|
|
48
|
+
const fields = textValue.split(FIELD_SEPARATOR);
|
|
49
|
+
return matchSorter([{ fields }], inputValue, { keys: ['fields'] }).length > 0;
|
|
50
|
+
};
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFua0NvbW1hbmRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL21vbGVjdWxlcy9Db21tYW5kUGFsZXR0ZS9yYW5rQ29tbWFuZHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQzFCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQU05RCxNQUFNLGdCQUFnQixHQUFHLENBQUMsSUFBcUIsRUFBRSxXQUE4QixFQUEwQixFQUFFLENBQ3pHLEtBQUssQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxXQUFXLENBQUM7QUFFMUQ7Ozs7O0dBS0c7QUFDSCxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsQ0FDMUIsUUFBeUIsRUFDekIsS0FBYSxFQUNiLFdBQThCLEVBQ1gsRUFBRTtJQUNyQixNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM5QyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDWCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxNQUFNLFNBQVMsR0FBc0IsRUFBRSxDQUFDO0lBQ3hDLE1BQU0sUUFBUSxHQUFxRSxFQUFFLENBQUM7SUFDdEYsTUFBTSxXQUFXLEdBQXNCLEVBQUUsQ0FBQztJQUUxQyxtRkFBbUY7SUFDbkYsd0VBQXdFO0lBQ3hFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTs7UUFDckIsSUFBSSxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsV0FBVyxDQUFDLEVBQUUsQ0FBQztZQUN6QyxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ3ZCLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3RCLE9BQU87WUFDVCxDQUFDO1lBQ0QsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFBLEtBQUssQ0FBQyxLQUFLLENBQUMsUUFBUSxtQ0FBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQzdGLE9BQU87UUFDVCxDQUFDO1FBQ0QsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMxQixDQUFDLENBQUMsQ0FBQztJQUVILHVGQUF1RjtJQUN2Riw2RkFBNkY7SUFDN0YsTUFBTSxNQUFNLEdBQUcsV0FBVyxDQUFDLFFBQVEsRUFBRSxLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3RHLE9BQU8sQ0FBQyxHQUFHLFNBQVMsRUFBRSxHQUFHLE1BQU0sRUFBRSxHQUFHLFdBQVcsQ0FBQyxDQUFDO0FBQ25ELENBQUMsQ0FBQztBQUVGLHVHQUF1RztBQUN2RyxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLFNBQWlCLEVBQUUsVUFBa0IsRUFBVyxFQUFFO0lBQ25GLElBQUksU0FBUyxDQUFDLFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLENBQUM7UUFDN0MsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBQ0QsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ2hCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUNELHFGQUFxRjtJQUNyRixtRkFBbUY7SUFDbkYsTUFBTSxNQUFNLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUNoRCxPQUFPLFdBQVcsQ0FBQyxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxVQUFVLEVBQUUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztBQUNoRixDQUFDLENBQUMifQ==
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import type React from 'react';
|
|
2
|
+
/** Zero-width space used to mark items that bypass client-side filtering. */
|
|
3
|
+
export declare const STATIC_ITEM_MARKER = "\u200B";
|
|
4
|
+
/**
|
|
5
|
+
* ASCII unit separator used inside a `<Command>`'s `textValue` to keep label and keywords
|
|
6
|
+
* as distinct fields, so fuzzy matching in the Autocomplete predicate can't subsequence
|
|
7
|
+
* across the boundary between them.
|
|
8
|
+
*/
|
|
9
|
+
export declare const FIELD_SEPARATOR = "\u001F";
|
|
10
|
+
export type CommandPaletteRegistrationId = string;
|
|
11
|
+
export type CommandPaletteRegistration = {
|
|
12
|
+
id: CommandPaletteRegistrationId;
|
|
13
|
+
children: React.ReactNode;
|
|
14
|
+
};
|
|
15
|
+
export type State = {
|
|
16
|
+
registrations: CommandPaletteRegistration[];
|
|
17
|
+
isOpen: boolean;
|
|
18
|
+
};
|
|
19
|
+
export declare enum ActionTypes {
|
|
20
|
+
Register = 0,
|
|
21
|
+
Unregister = 1,
|
|
22
|
+
Update = 2,
|
|
23
|
+
Open = 3,
|
|
24
|
+
Close = 4
|
|
25
|
+
}
|
|
26
|
+
export type Actions = {
|
|
27
|
+
type: ActionTypes.Close;
|
|
28
|
+
} | {
|
|
29
|
+
type: ActionTypes.Open;
|
|
30
|
+
} | {
|
|
31
|
+
type: ActionTypes.Register;
|
|
32
|
+
registration: CommandPaletteRegistration;
|
|
33
|
+
} | {
|
|
34
|
+
type: ActionTypes.Unregister;
|
|
35
|
+
id: CommandPaletteRegistrationId;
|
|
36
|
+
} | {
|
|
37
|
+
type: ActionTypes.Update;
|
|
38
|
+
registration: CommandPaletteRegistration;
|
|
39
|
+
};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/** Zero-width space used to mark items that bypass client-side filtering. */
|
|
2
|
+
export const STATIC_ITEM_MARKER = '';
|
|
3
|
+
/**
|
|
4
|
+
* ASCII unit separator used inside a `<Command>`'s `textValue` to keep label and keywords
|
|
5
|
+
* as distinct fields, so fuzzy matching in the Autocomplete predicate can't subsequence
|
|
6
|
+
* across the boundary between them.
|
|
7
|
+
*/
|
|
8
|
+
export const FIELD_SEPARATOR = '';
|
|
9
|
+
export var ActionTypes;
|
|
10
|
+
(function (ActionTypes) {
|
|
11
|
+
ActionTypes[ActionTypes["Register"] = 0] = "Register";
|
|
12
|
+
ActionTypes[ActionTypes["Unregister"] = 1] = "Unregister";
|
|
13
|
+
ActionTypes[ActionTypes["Update"] = 2] = "Update";
|
|
14
|
+
ActionTypes[ActionTypes["Open"] = 3] = "Open";
|
|
15
|
+
ActionTypes[ActionTypes["Close"] = 4] = "Close";
|
|
16
|
+
})(ActionTypes || (ActionTypes = {}));
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbW9sZWN1bGVzL0NvbW1hbmRQYWxldHRlL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLDZFQUE2RTtBQUM3RSxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxHQUFHLENBQUM7QUFFdEM7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxHQUFHLENBQUM7QUFjbkMsTUFBTSxDQUFOLElBQVksV0FNWDtBQU5ELFdBQVksV0FBVztJQUNyQixxREFBUSxDQUFBO0lBQ1IseURBQVUsQ0FBQTtJQUNWLGlEQUFNLENBQUE7SUFDTiw2Q0FBSSxDQUFBO0lBQ0osK0NBQUssQ0FBQTtBQUNQLENBQUMsRUFOVyxXQUFXLEtBQVgsV0FBVyxRQU10QiJ9
|
|
@@ -13,6 +13,7 @@ export * from './CheckboxGroup/CheckboxGroup';
|
|
|
13
13
|
export * from './Chip/Chip';
|
|
14
14
|
export * from './ChoiceChipGroup/ChoiceChipGroup';
|
|
15
15
|
export * from './Combobox/Combobox';
|
|
16
|
+
export * from './CommandPalette/CommandPalette';
|
|
16
17
|
export * from './Container/Container';
|
|
17
18
|
export * from './Context/Context';
|
|
18
19
|
export * from './ControlLabel/ControlLabel';
|
|
@@ -15,6 +15,7 @@ export * from './CheckboxGroup/CheckboxGroup';
|
|
|
15
15
|
export * from './Chip/Chip';
|
|
16
16
|
export * from './ChoiceChipGroup/ChoiceChipGroup';
|
|
17
17
|
export * from './Combobox/Combobox';
|
|
18
|
+
export * from './CommandPalette/CommandPalette';
|
|
18
19
|
export * from './Container/Container';
|
|
19
20
|
export * from './Context/Context';
|
|
20
21
|
export * from './ControlLabel/ControlLabel';
|
|
@@ -82,4 +83,4 @@ export * from '../utils/table/useTableSort';
|
|
|
82
83
|
export * from './ItemList/ItemList';
|
|
83
84
|
export * from './Pagination/usePagination';
|
|
84
85
|
export const SelectItem = Select.Item;
|
|
85
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
86
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbW9sZWN1bGVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUVoRCxzREFBc0Q7QUFDdEQsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM3RCxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMseUJBQXlCLENBQUM7QUFFeEMsdUNBQXVDO0FBQ3ZDLGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsNEJBQTRCLENBQUM7QUFFM0MsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMifQ==
|
package/dist/styles.css
CHANGED
|
@@ -1383,9 +1383,15 @@ video {
|
|
|
1383
1383
|
.max-h-\[inherit\]{
|
|
1384
1384
|
max-height: inherit;
|
|
1385
1385
|
}
|
|
1386
|
+
.max-h-\[min\(480px\2c 60vh\)\]{
|
|
1387
|
+
max-height: min(480px,60vh);
|
|
1388
|
+
}
|
|
1386
1389
|
.max-h-full{
|
|
1387
1390
|
max-height: 100%;
|
|
1388
1391
|
}
|
|
1392
|
+
.min-h-0{
|
|
1393
|
+
min-height: 0px;
|
|
1394
|
+
}
|
|
1389
1395
|
.min-h-\[120px\]{
|
|
1390
1396
|
min-height: 120px;
|
|
1391
1397
|
}
|
|
@@ -1503,6 +1509,9 @@ video {
|
|
|
1503
1509
|
.max-w-\[400px\]{
|
|
1504
1510
|
max-width: 400px;
|
|
1505
1511
|
}
|
|
1512
|
+
.max-w-\[640px\]{
|
|
1513
|
+
max-width: 640px;
|
|
1514
|
+
}
|
|
1506
1515
|
.max-w-\[700px\]{
|
|
1507
1516
|
max-width: 700px;
|
|
1508
1517
|
}
|
|
@@ -3067,6 +3076,9 @@ video {
|
|
|
3067
3076
|
.align-middle{
|
|
3068
3077
|
vertical-align: middle;
|
|
3069
3078
|
}
|
|
3079
|
+
.font-mono{
|
|
3080
|
+
font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
|
|
3081
|
+
}
|
|
3070
3082
|
.text-\[9px\]{
|
|
3071
3083
|
font-size: 9px;
|
|
3072
3084
|
}
|
|
@@ -4238,6 +4250,10 @@ code{
|
|
|
4238
4250
|
color: rgba(255,255,255,1);
|
|
4239
4251
|
color: var(--aquarium-colors-white);
|
|
4240
4252
|
}
|
|
4253
|
+
.group[data-focused] .group-data-\[focused\]\:text-default{
|
|
4254
|
+
color: rgba(45,46,48,1);
|
|
4255
|
+
color: var(--aquarium-text-color-default);
|
|
4256
|
+
}
|
|
4241
4257
|
.children\:inline-block > *{
|
|
4242
4258
|
display: inline-block;
|
|
4243
4259
|
}
|