@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.
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbW9sZWN1bGVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUVoRCxzREFBc0Q7QUFDdEQsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDN0QsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLHlCQUF5QixDQUFDO0FBRXhDLHVDQUF1QztBQUN2QyxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLDRCQUE0QixDQUFDO0FBRTNDLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDIn0=
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
  }