@revikornmann/muka-ui 0.24.0 → 0.26.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/cjs/components/Autocomplete/Autocomplete.css +63 -0
- package/dist/cjs/components/Autocomplete/Autocomplete.js +190 -0
- package/dist/cjs/components/Autocomplete/Autocomplete.js.map +1 -0
- package/dist/cjs/components/Autocomplete/index.js +6 -0
- package/dist/cjs/components/Autocomplete/index.js.map +1 -0
- package/dist/cjs/components/Combobox/Combobox.js +16 -24
- package/dist/cjs/components/Combobox/Combobox.js.map +1 -1
- package/dist/cjs/components/ContextSelect/ContextSelect.js +2 -2
- package/dist/cjs/components/ContextSelect/ContextSelect.js.map +1 -1
- package/dist/cjs/components/Dialog/Dialog.js +25 -9
- package/dist/cjs/components/Dialog/Dialog.js.map +1 -1
- package/dist/cjs/components/DropdownSelect/DropdownSelect.js +2 -2
- package/dist/cjs/components/DropdownSelect/DropdownSelect.js.map +1 -1
- package/dist/cjs/components/InputCounter/InputCounter.css +175 -0
- package/dist/cjs/components/InputCounter/InputCounter.js +196 -0
- package/dist/cjs/components/InputCounter/InputCounter.js.map +1 -0
- package/dist/cjs/components/InputCounter/index.js +11 -0
- package/dist/cjs/components/InputCounter/index.js.map +1 -0
- package/dist/cjs/components/Menu/Menu.js +26 -11
- package/dist/cjs/components/Menu/Menu.js.map +1 -1
- package/dist/cjs/components/PhotoUploader/PhotoUploader.js +1 -1
- package/dist/cjs/components/Popover/Popover.js +10 -8
- package/dist/cjs/components/Popover/Popover.js.map +1 -1
- package/dist/cjs/components/Tooltip/Tooltip.js +7 -2
- package/dist/cjs/components/Tooltip/Tooltip.js.map +1 -1
- package/dist/cjs/components/TopBar/TopBar.css +29 -0
- package/dist/cjs/components/View/View.js +33 -1
- package/dist/cjs/components/View/View.js.map +1 -1
- package/dist/cjs/components/index.js +7 -3
- package/dist/cjs/components/index.js.map +1 -1
- package/dist/cjs/utils/suggestionList.js +27 -0
- package/dist/cjs/utils/suggestionList.js.map +1 -0
- package/dist/cjs/utils/usePortalContainer.js +33 -0
- package/dist/cjs/utils/usePortalContainer.js.map +1 -0
- package/dist/esm/components/Autocomplete/Autocomplete.css +63 -0
- package/dist/esm/components/Autocomplete/Autocomplete.js +187 -0
- package/dist/esm/components/Autocomplete/Autocomplete.js.map +1 -0
- package/dist/esm/components/Autocomplete/index.js +2 -0
- package/dist/esm/components/Autocomplete/index.js.map +1 -0
- package/dist/esm/components/Combobox/Combobox.js +14 -22
- package/dist/esm/components/Combobox/Combobox.js.map +1 -1
- package/dist/esm/components/ContextSelect/ContextSelect.js +2 -2
- package/dist/esm/components/ContextSelect/ContextSelect.js.map +1 -1
- package/dist/esm/components/Dialog/Dialog.js +25 -9
- package/dist/esm/components/Dialog/Dialog.js.map +1 -1
- package/dist/esm/components/DropdownSelect/DropdownSelect.js +2 -2
- package/dist/esm/components/DropdownSelect/DropdownSelect.js.map +1 -1
- package/dist/esm/components/InputCounter/InputCounter.css +175 -0
- package/dist/esm/components/InputCounter/InputCounter.js +160 -0
- package/dist/esm/components/InputCounter/InputCounter.js.map +1 -0
- package/dist/esm/components/InputCounter/index.js +3 -0
- package/dist/esm/components/InputCounter/index.js.map +1 -0
- package/dist/esm/components/Menu/Menu.js +26 -11
- package/dist/esm/components/Menu/Menu.js.map +1 -1
- package/dist/esm/components/PhotoUploader/PhotoUploader.js +1 -1
- package/dist/esm/components/Popover/Popover.js +10 -5
- package/dist/esm/components/Popover/Popover.js.map +1 -1
- package/dist/esm/components/Tooltip/Tooltip.js +7 -2
- package/dist/esm/components/Tooltip/Tooltip.js.map +1 -1
- package/dist/esm/components/TopBar/TopBar.css +29 -0
- package/dist/esm/components/View/View.js +30 -1
- package/dist/esm/components/View/View.js.map +1 -1
- package/dist/esm/components/index.js +2 -0
- package/dist/esm/components/index.js.map +1 -1
- package/dist/esm/utils/suggestionList.js +22 -0
- package/dist/esm/utils/suggestionList.js.map +1 -0
- package/dist/esm/utils/usePortalContainer.js +29 -0
- package/dist/esm/utils/usePortalContainer.js.map +1 -0
- package/dist/styles/components/Autocomplete.css +63 -0
- package/dist/styles/components/InputCounter.css +175 -0
- package/dist/styles/index.css +5910 -5666
- package/dist/styles/muka-dark.css +5910 -5666
- package/dist/styles/muka-light.css +5910 -5666
- package/dist/styles/wireframe-dark.css +5910 -5666
- package/dist/styles/wireframe-light.css +5910 -5666
- package/dist/types/components/Autocomplete/Autocomplete.d.ts +105 -0
- package/dist/types/components/Autocomplete/Autocomplete.d.ts.map +1 -0
- package/dist/types/components/Autocomplete/index.d.ts +2 -0
- package/dist/types/components/Autocomplete/index.d.ts.map +1 -0
- package/dist/types/components/Combobox/Combobox.d.ts +8 -2
- package/dist/types/components/Combobox/Combobox.d.ts.map +1 -1
- package/dist/types/components/ContextSelect/ContextSelect.d.ts +6 -0
- package/dist/types/components/ContextSelect/ContextSelect.d.ts.map +1 -1
- package/dist/types/components/Dialog/Dialog.d.ts.map +1 -1
- package/dist/types/components/DropdownSelect/DropdownSelect.d.ts +6 -0
- package/dist/types/components/DropdownSelect/DropdownSelect.d.ts.map +1 -1
- package/dist/types/components/InputCounter/InputCounter.d.ts +79 -0
- package/dist/types/components/InputCounter/InputCounter.d.ts.map +1 -0
- package/dist/types/components/InputCounter/index.d.ts +3 -0
- package/dist/types/components/InputCounter/index.d.ts.map +1 -0
- package/dist/types/components/Menu/Menu.d.ts +4 -4
- package/dist/types/components/Menu/Menu.d.ts.map +1 -1
- package/dist/types/components/Popover/Popover.d.ts +12 -0
- package/dist/types/components/Popover/Popover.d.ts.map +1 -1
- package/dist/types/components/Tooltip/Tooltip.d.ts +6 -0
- package/dist/types/components/Tooltip/Tooltip.d.ts.map +1 -1
- package/dist/types/components/View/View.d.ts +3 -0
- package/dist/types/components/View/View.d.ts.map +1 -1
- package/dist/types/components/index.d.ts +2 -0
- package/dist/types/components/index.d.ts.map +1 -1
- package/dist/types/utils/suggestionList.d.ts +13 -0
- package/dist/types/utils/suggestionList.d.ts.map +1 -0
- package/dist/types/utils/usePortalContainer.d.ts +19 -0
- package/dist/types/utils/usePortalContainer.d.ts.map +1 -0
- package/docs/consumers/README.md +2 -2
- package/package.json +1 -1
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { useEffect, useId, useMemo, useRef, useState } from 'react';
|
|
4
|
+
import { Icon } from '../Icon';
|
|
5
|
+
import { Menu, MenuContent, MenuItem, MenuTrigger, highlightMenuMatch, } from '../Menu';
|
|
6
|
+
import { Spinner } from '../Spinner';
|
|
7
|
+
import { mergeIds, VISUALLY_HIDDEN_CLASS } from '../../utils/accessibility';
|
|
8
|
+
import { firstEnabledIndex, nextEnabledIndex } from '../../utils/suggestionList';
|
|
9
|
+
import { usePortalContainer } from '../../utils/usePortalContainer';
|
|
10
|
+
import '../Input/Input.css';
|
|
11
|
+
import './Autocomplete.css';
|
|
12
|
+
/**
|
|
13
|
+
* Autocomplete — single-value free-input text field with a suggestion Menu.
|
|
14
|
+
*
|
|
15
|
+
* Matches Figma "Input Autocomplete". The consumer supplies the suggestions
|
|
16
|
+
* (typically fetched as the user types); picking one writes its label into
|
|
17
|
+
* the field. Typed text that matches nothing is kept as is.
|
|
18
|
+
*
|
|
19
|
+
* For multiple values as chips, use `Combobox`.
|
|
20
|
+
*/
|
|
21
|
+
export function Autocomplete({ value, onInputChange, options, onSelect, loading = false, minChars = 1, emptyMessage, filter = false, menuFooter, clearable = true, clearLabel = 'Clear', loadingLabel = 'Loading suggestions', resultsLabel = (count) => `${count} suggestions`, placeholder, label, helperText, error = false, errorMessage, disabled = false, readOnly = false, size = 'md', fullWidth = false, iconLeft, name, id, required = false, className = '', 'aria-label': ariaLabel, onBlur, onFocus, portalContainer, }) {
|
|
22
|
+
const generatedId = useId();
|
|
23
|
+
const fieldId = id || name || generatedId;
|
|
24
|
+
const helperTextId = `${fieldId}-helper`;
|
|
25
|
+
const errorMessageId = `${fieldId}-error`;
|
|
26
|
+
const listboxId = `${fieldId}-listbox`;
|
|
27
|
+
const inputRef = useRef(null);
|
|
28
|
+
const rootRef = useRef(null);
|
|
29
|
+
const menuRef = useRef(null);
|
|
30
|
+
const menuContainer = usePortalContainer(portalContainer, rootRef);
|
|
31
|
+
// Drives the focused treatment: true only while focus is inside the field
|
|
32
|
+
// or its (portaled) menu (MUK-86).
|
|
33
|
+
const [focused, setFocused] = useState(false);
|
|
34
|
+
// Closed by a pick, Escape or an outside press; reopens on the next keystroke
|
|
35
|
+
// or ArrowDown, or when focus comes back into the field.
|
|
36
|
+
const [dismissed, setDismissed] = useState(false);
|
|
37
|
+
const [activeIndex, setActiveIndex] = useState(0);
|
|
38
|
+
const query = value.trim();
|
|
39
|
+
const interactive = !disabled && !readOnly;
|
|
40
|
+
const visibleOptions = useMemo(() => {
|
|
41
|
+
if (!filter)
|
|
42
|
+
return options;
|
|
43
|
+
const q = query.toLowerCase();
|
|
44
|
+
return options.filter((option) => filter(option, q));
|
|
45
|
+
}, [options, filter, query]);
|
|
46
|
+
const hasOptions = visibleOptions.length > 0;
|
|
47
|
+
const showLoadingRow = loading && !hasOptions;
|
|
48
|
+
const showEmptyRow = !loading && !hasOptions && Boolean(emptyMessage);
|
|
49
|
+
const showMenu = interactive &&
|
|
50
|
+
focused &&
|
|
51
|
+
!dismissed &&
|
|
52
|
+
query.length >= minChars &&
|
|
53
|
+
(hasOptions || showLoadingRow || showEmptyRow);
|
|
54
|
+
const optionKey = visibleOptions.map((option) => option.value).join('\0');
|
|
55
|
+
useEffect(() => {
|
|
56
|
+
setActiveIndex(firstEnabledIndex(visibleOptions));
|
|
57
|
+
// Reset only when the set of options changes, not on every render.
|
|
58
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
59
|
+
}, [optionKey]);
|
|
60
|
+
const optionId = (index) => `${listboxId}-option-${index}`;
|
|
61
|
+
const activeOption = showMenu && hasOptions ? visibleOptions[activeIndex] : undefined;
|
|
62
|
+
const announcement = !showMenu
|
|
63
|
+
? ''
|
|
64
|
+
: hasOptions
|
|
65
|
+
? resultsLabel(visibleOptions.length)
|
|
66
|
+
: showLoadingRow
|
|
67
|
+
? loadingLabel
|
|
68
|
+
: typeof emptyMessage === 'string'
|
|
69
|
+
? emptyMessage
|
|
70
|
+
: '';
|
|
71
|
+
const showError = error && errorMessage;
|
|
72
|
+
const describedBy = mergeIds(showError ? errorMessageId : helperText ? helperTextId : undefined);
|
|
73
|
+
const selectOption = (option) => {
|
|
74
|
+
if (option.disabled)
|
|
75
|
+
return;
|
|
76
|
+
onInputChange(option.label, 'select');
|
|
77
|
+
onSelect?.(option);
|
|
78
|
+
setDismissed(true);
|
|
79
|
+
inputRef.current?.focus();
|
|
80
|
+
};
|
|
81
|
+
const handleInputChange = (event) => {
|
|
82
|
+
setDismissed(false);
|
|
83
|
+
onInputChange(event.target.value, 'input');
|
|
84
|
+
};
|
|
85
|
+
const handleClear = () => {
|
|
86
|
+
onInputChange('', 'clear');
|
|
87
|
+
setDismissed(false);
|
|
88
|
+
inputRef.current?.focus();
|
|
89
|
+
};
|
|
90
|
+
const handleFocus = () => {
|
|
91
|
+
if (disabled)
|
|
92
|
+
return;
|
|
93
|
+
setFocused(true);
|
|
94
|
+
};
|
|
95
|
+
// Moving between the field and the portaled menu keeps focus "inside";
|
|
96
|
+
// only a real exit drops the focused style, closes the menu and calls onBlur.
|
|
97
|
+
const handleBlur = (event) => {
|
|
98
|
+
const next = event.relatedTarget;
|
|
99
|
+
if (next && (rootRef.current?.contains(next) || menuRef.current?.contains(next))) {
|
|
100
|
+
return;
|
|
101
|
+
}
|
|
102
|
+
setFocused(false);
|
|
103
|
+
setDismissed(false);
|
|
104
|
+
onBlur?.(event);
|
|
105
|
+
};
|
|
106
|
+
const handleKeyDown = (event) => {
|
|
107
|
+
if (event.key === 'ArrowDown' || event.key === 'ArrowUp') {
|
|
108
|
+
if (!showMenu) {
|
|
109
|
+
if (event.key === 'ArrowDown' && dismissed) {
|
|
110
|
+
event.preventDefault();
|
|
111
|
+
setDismissed(false);
|
|
112
|
+
}
|
|
113
|
+
return;
|
|
114
|
+
}
|
|
115
|
+
event.preventDefault();
|
|
116
|
+
setActiveIndex((current) => nextEnabledIndex(visibleOptions, current, event.key === 'ArrowDown' ? 1 : -1));
|
|
117
|
+
return;
|
|
118
|
+
}
|
|
119
|
+
if (event.key === 'Enter') {
|
|
120
|
+
// Only intercept Enter when it picks a row, so a form can still submit.
|
|
121
|
+
if (activeOption && !activeOption.disabled) {
|
|
122
|
+
event.preventDefault();
|
|
123
|
+
selectOption(activeOption);
|
|
124
|
+
}
|
|
125
|
+
return;
|
|
126
|
+
}
|
|
127
|
+
if (event.key === 'Escape' && showMenu) {
|
|
128
|
+
// Close the menu only; don't let Escape also close an enclosing Dialog.
|
|
129
|
+
event.preventDefault();
|
|
130
|
+
event.stopPropagation();
|
|
131
|
+
setDismissed(true);
|
|
132
|
+
}
|
|
133
|
+
};
|
|
134
|
+
const showClear = clearable && interactive && value.length > 0;
|
|
135
|
+
const iconSize = size === 'sm' ? 'xs' : size === 'lg' ? 'md' : 'sm';
|
|
136
|
+
const rootClasses = [
|
|
137
|
+
'muka-input',
|
|
138
|
+
'muka-autocomplete',
|
|
139
|
+
fullWidth && 'muka-input--full-width',
|
|
140
|
+
className,
|
|
141
|
+
]
|
|
142
|
+
.filter(Boolean)
|
|
143
|
+
.join(' ');
|
|
144
|
+
const fieldClasses = [
|
|
145
|
+
'muka-input__field',
|
|
146
|
+
`muka-input__field--${size}`,
|
|
147
|
+
'muka-autocomplete__field',
|
|
148
|
+
focused && 'muka-input__field--focused',
|
|
149
|
+
error && 'muka-input__field--error',
|
|
150
|
+
disabled && 'muka-input__field--disabled',
|
|
151
|
+
iconLeft && 'muka-input__field--has-icon-left',
|
|
152
|
+
showClear && 'muka-input__field--has-icon-right',
|
|
153
|
+
]
|
|
154
|
+
.filter(Boolean)
|
|
155
|
+
.join(' ');
|
|
156
|
+
return (_jsxs("div", { className: rootClasses, ref: rootRef, children: [label && (_jsxs("label", { className: `muka-input__label muka-input__label--${size}`, htmlFor: fieldId, children: [label, required && _jsx("span", { className: "muka-input__required", "aria-hidden": "true", children: " *" })] })), _jsxs(Menu, { trigger: "click", open: showMenu, onOpenChange: (next) => {
|
|
157
|
+
// Radix closes on an outside press; it never opens the menu itself.
|
|
158
|
+
if (!next)
|
|
159
|
+
setDismissed(true);
|
|
160
|
+
}, modal: false, children: [_jsxs("div", { className: fieldClasses, onFocus: handleFocus, onBlur: handleBlur, onPointerDown: (event) => {
|
|
161
|
+
if (disabled)
|
|
162
|
+
return;
|
|
163
|
+
// A press on the padding or the clear button must not blur the
|
|
164
|
+
// input. Presses on the input keep native caret placement.
|
|
165
|
+
if (event.target !== inputRef.current)
|
|
166
|
+
event.preventDefault();
|
|
167
|
+
}, onClick: (event) => {
|
|
168
|
+
if (disabled)
|
|
169
|
+
return;
|
|
170
|
+
// Focus on click, never on pointerdown: on iOS Safari an early
|
|
171
|
+
// focus opens the keyboard and scrolls mid-tap, so the tap lands
|
|
172
|
+
// on whatever slid under the finger (MUK-88).
|
|
173
|
+
const target = event.target;
|
|
174
|
+
if (target === inputRef.current || target.closest('button'))
|
|
175
|
+
return;
|
|
176
|
+
inputRef.current?.focus();
|
|
177
|
+
}, children: [iconLeft && (_jsx("span", { className: "muka-input__icon muka-input__icon--left", "aria-hidden": "true", children: iconLeft })), _jsx("input", { ref: inputRef, id: fieldId, name: name, type: "text", className: "muka-input__native", value: value, onChange: handleInputChange, onKeyDown: handleKeyDown, onFocus: onFocus, placeholder: placeholder, disabled: disabled, readOnly: readOnly, required: required, "aria-label": label ? undefined : ariaLabel || placeholder, "aria-invalid": error || undefined, "aria-describedby": describedBy, role: "combobox", "aria-autocomplete": "list", "aria-controls": listboxId, "aria-expanded": showMenu, "aria-activedescendant": activeOption ? optionId(activeIndex) : undefined, autoComplete: "off", autoCorrect: "off", spellCheck: false }), showClear && (_jsx("button", { type: "button", className: "muka-input__clear", "aria-label": clearLabel, tabIndex: -1, onClick: handleClear, children: _jsx(Icon, { name: "close", variant: "line", size: iconSize }) })), _jsx(MenuTrigger, { asChild: true, disabled: disabled, children: _jsx("button", { type: "button", className: "muka-autocomplete__menu-anchor", tabIndex: -1, "aria-hidden": "true", disabled: disabled }) })] }), _jsxs(MenuContent, { align: "start", side: "bottom", sideOffset: 4, className: "muka-autocomplete__menu", onOpenAutoFocus: (event) => {
|
|
178
|
+
// Keep the caret in the text field while suggestions are open.
|
|
179
|
+
event.preventDefault();
|
|
180
|
+
inputRef.current?.focus();
|
|
181
|
+
}, onCloseAutoFocus: (event) => event.preventDefault(), loop: false, container: menuContainer, children: [_jsxs("div", { ref: menuRef, id: listboxId, role: "listbox", "aria-label": label || ariaLabel || placeholder, onBlur: handleBlur, children: [visibleOptions.map((option, index) => (_jsx(MenuItem, { id: optionId(index), hint: "enter", disabled: option.disabled, highlighted: index === activeIndex, textValue: option.label, onSelect: (event) => {
|
|
182
|
+
event.preventDefault();
|
|
183
|
+
selectOption(option);
|
|
184
|
+
}, children: highlightMenuMatch(option.label, query) }, `${option.value}-${index}`))), showLoadingRow && (_jsxs("div", { className: "muka-autocomplete__status", "aria-hidden": "true", children: [_jsx(Spinner, { size: "sm", label: loadingLabel }), _jsx("span", { children: loadingLabel })] })), showEmptyRow && (_jsx("div", { className: "muka-autocomplete__status", "aria-hidden": "true", children: emptyMessage }))] }), menuFooter && _jsx("div", { className: "muka-autocomplete__footer", children: menuFooter })] })] }), _jsx("span", { className: VISUALLY_HIDDEN_CLASS, "aria-live": "polite", "aria-atomic": "true", children: announcement }), showError && (_jsx("p", { className: "muka-input__error", id: errorMessageId, role: "alert", children: errorMessage })), !showError && helperText && (_jsx("p", { className: "muka-input__helper", id: helperTextId, children: helperText }))] }));
|
|
185
|
+
}
|
|
186
|
+
export default Autocomplete;
|
|
187
|
+
//# sourceMappingURL=Autocomplete.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Autocomplete.js","sourceRoot":"","sources":["../../../../components/Autocomplete/Autocomplete.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../components/Autocomplete/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,GAIb,MAAM,gBAAgB,CAAC"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
-
import { useEffect, useId,
|
|
3
|
+
import { useEffect, useId, useMemo, useRef, useState } from 'react';
|
|
4
4
|
import { Chip } from '../Chip';
|
|
5
5
|
import { Menu, MenuContent, MenuItem, MenuTrigger, } from '../Menu';
|
|
6
|
+
import { firstEnabledIndex, nextEnabledIndex } from '../../utils/suggestionList';
|
|
7
|
+
import { usePortalContainer } from '../../utils/usePortalContainer';
|
|
6
8
|
import './Combobox.css';
|
|
7
9
|
const defaultFilter = (option, query) => {
|
|
8
10
|
if (!query)
|
|
@@ -10,21 +12,6 @@ const defaultFilter = (option, query) => {
|
|
|
10
12
|
const hay = `${option.label} ${option.caption ?? ''}`.toLowerCase();
|
|
11
13
|
return hay.includes(query);
|
|
12
14
|
};
|
|
13
|
-
const firstEnabledIndex = (items) => {
|
|
14
|
-
const index = items.findIndex((item) => !item.disabled);
|
|
15
|
-
return index === -1 ? 0 : index;
|
|
16
|
-
};
|
|
17
|
-
const nextEnabledIndex = (items, from, direction) => {
|
|
18
|
-
if (items.length === 0)
|
|
19
|
-
return 0;
|
|
20
|
-
let index = from;
|
|
21
|
-
for (let step = 0; step < items.length; step += 1) {
|
|
22
|
-
index = (index + direction + items.length) % items.length;
|
|
23
|
-
if (!items[index]?.disabled)
|
|
24
|
-
return index;
|
|
25
|
-
}
|
|
26
|
-
return from;
|
|
27
|
-
};
|
|
28
15
|
/**
|
|
29
16
|
* Combobox — free-input multi-value field with chips and a suggestion Menu.
|
|
30
17
|
*
|
|
@@ -35,7 +22,7 @@ const nextEnabledIndex = (items, from, direction) => {
|
|
|
35
22
|
* For fixed-option single/multi select with a chevron, use `DropdownSelect`.
|
|
36
23
|
* For a native platform select, use `Select`.
|
|
37
24
|
*/
|
|
38
|
-
export const Combobox = ({ value, onChange, options = [], placeholder = 'Hint text', label, helperText, error = false, errorMessage, disabled = false, size = 'md', fullWidth = false, creatable = true, filter = defaultFilter, 'aria-label': ariaLabel, name, id, className = '', portalContainer, }) => {
|
|
25
|
+
export const Combobox = ({ value, onChange, options = [], placeholder = 'Hint text', label, helperText, error = false, errorMessage, disabled = false, size = 'md', fullWidth = false, creatable = true, commitOnBlur = true, filter = defaultFilter, 'aria-label': ariaLabel, name, id, className = '', portalContainer, }) => {
|
|
39
26
|
const generatedId = useId();
|
|
40
27
|
const fieldId = id || name || generatedId;
|
|
41
28
|
const helperTextId = `${fieldId}-helper`;
|
|
@@ -46,10 +33,7 @@ export const Combobox = ({ value, onChange, options = [], placeholder = 'Hint te
|
|
|
46
33
|
const menuRef = useRef(null);
|
|
47
34
|
// A native <dialog> opened with showModal() lives in the top layer and makes
|
|
48
35
|
// everything outside it inert, so a body-level portal would be unreachable.
|
|
49
|
-
const
|
|
50
|
-
useLayoutEffect(() => {
|
|
51
|
-
setDialogContainer(rootRef.current?.closest('dialog') ?? null);
|
|
52
|
-
}, []);
|
|
36
|
+
const menuContainer = usePortalContainer(portalContainer, rootRef);
|
|
53
37
|
const [query, setQuery] = useState('');
|
|
54
38
|
const [open, setOpen] = useState(false);
|
|
55
39
|
// Drives the focused treatment: true only while focus is inside the field
|
|
@@ -140,6 +124,14 @@ export const Combobox = ({ value, onChange, options = [], placeholder = 'Hint te
|
|
|
140
124
|
}
|
|
141
125
|
setFocused(false);
|
|
142
126
|
setOpen(false);
|
|
127
|
+
// Focus really left: keep what the user typed instead of dropping it. Unlike
|
|
128
|
+
// `commitValue` this must not re-focus the input or reopen the menu.
|
|
129
|
+
if (creatable && commitOnBlur && trimmedQuery) {
|
|
130
|
+
const next = exactOption?.disabled ? '' : (exactOption?.value ?? trimmedQuery);
|
|
131
|
+
if (next && !selectedSet.has(next))
|
|
132
|
+
onChange([...value, next]);
|
|
133
|
+
setQuery('');
|
|
134
|
+
}
|
|
143
135
|
};
|
|
144
136
|
const handleOpenChange = (next) => {
|
|
145
137
|
if (disabled)
|
|
@@ -230,7 +222,7 @@ export const Combobox = ({ value, onChange, options = [], placeholder = 'Hint te
|
|
|
230
222
|
// Keep the blinking caret in the text field while suggestions open.
|
|
231
223
|
event.preventDefault();
|
|
232
224
|
inputRef.current?.focus();
|
|
233
|
-
}, onCloseAutoFocus: (event) => event.preventDefault(), loop: false, container:
|
|
225
|
+
}, onCloseAutoFocus: (event) => event.preventDefault(), loop: false, container: menuContainer, children: _jsx("div", { ref: menuRef, id: listboxId, role: "listbox", "aria-label": label || placeholder, onBlur: handleBlur, children: suggestions.map((suggestion, index) => (_jsx(MenuItem, { id: suggestion.id, hint: "enter", disabled: suggestion.disabled, highlighted: index === activeIndex, textValue: suggestion.label, onSelect: (event) => {
|
|
234
226
|
event.preventDefault();
|
|
235
227
|
if (!suggestion.disabled)
|
|
236
228
|
commitValue(suggestion.value);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Combobox.js","sourceRoot":"","sources":["../../../../components/Combobox/Combobox.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Combobox.js","sourceRoot":"","sources":["../../../../components/Combobox/Combobox.tsx"],"names":[],"mappings":"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"}
|
|
@@ -13,7 +13,7 @@ import './ContextSelect.css';
|
|
|
13
13
|
* Designed to compose inside Breadcrumb (contextual breadcrumb).
|
|
14
14
|
* Not a form Select — use `Select` / `Combobox` for forms.
|
|
15
15
|
*/
|
|
16
|
-
export const ContextSelect = ({ options, value, onValueChange, label, icon, href, onLabelClick, searchable = true, searchPlaceholder = 'Search', scrollbar = false, open: openProp, onOpenChange, defaultOpen, disabled = false, 'aria-label': ariaLabel, className = '', }) => {
|
|
16
|
+
export const ContextSelect = ({ options, value, onValueChange, label, icon, href, onLabelClick, searchable = true, searchPlaceholder = 'Search', scrollbar = false, open: openProp, onOpenChange, defaultOpen, disabled = false, 'aria-label': ariaLabel, className = '', portalContainer, }) => {
|
|
17
17
|
const [uncontrolledOpen, setUncontrolledOpen] = useState(false);
|
|
18
18
|
const isControlled = openProp !== undefined;
|
|
19
19
|
const open = isControlled ? openProp : uncontrolledOpen;
|
|
@@ -39,7 +39,7 @@ export const ContextSelect = ({ options, value, onValueChange, label, icon, href
|
|
|
39
39
|
return;
|
|
40
40
|
}
|
|
41
41
|
onLabelClick?.();
|
|
42
|
-
}, children: labelContent })) : onLabelClick ? (_jsx("button", { type: "button", className: "muka-context-select__label-group muka-context-select__label-group--button", disabled: disabled, onClick: onLabelClick, children: labelContent })) : (_jsx("span", { className: "muka-context-select__label-group", children: labelContent })), _jsx(MenuTrigger, { asChild: true, disabled: disabled, children: _jsx("button", { type: "button", className: "muka-context-select__menu-button", disabled: disabled, "aria-label": ariaLabel || `Switch ${triggerLabel}`, "aria-haspopup": "menu", "aria-expanded": open, "data-state": open ? 'open' : 'closed', children: _jsx(Icon, { name: "arrow-drop-up-down", variant: "line", size: "xs" }) }) })] }), _jsxs(MenuContent, { align: "start", sideOffset: 4, searchable: searchable, scrollbar: scrollbar, className: "muka-context-select__content", children: [searchable && _jsx(MenuSearch, { placeholder: searchPlaceholder }), _jsx(MenuRadioGroup, { value: value, onValueChange: onValueChange, children: options.map((option) => (_jsx(MenuRadioItem, { value: option.value, disabled: option.disabled, indicator: "check", textValue: option.label, children: option.label }, option.value))) })] })] }));
|
|
42
|
+
}, children: labelContent })) : onLabelClick ? (_jsx("button", { type: "button", className: "muka-context-select__label-group muka-context-select__label-group--button", disabled: disabled, onClick: onLabelClick, children: labelContent })) : (_jsx("span", { className: "muka-context-select__label-group", children: labelContent })), _jsx(MenuTrigger, { asChild: true, disabled: disabled, children: _jsx("button", { type: "button", className: "muka-context-select__menu-button", disabled: disabled, "aria-label": ariaLabel || `Switch ${triggerLabel}`, "aria-haspopup": "menu", "aria-expanded": open, "data-state": open ? 'open' : 'closed', children: _jsx(Icon, { name: "arrow-drop-up-down", variant: "line", size: "xs" }) }) })] }), _jsxs(MenuContent, { align: "start", sideOffset: 4, searchable: searchable, scrollbar: scrollbar, className: "muka-context-select__content", container: portalContainer, children: [searchable && _jsx(MenuSearch, { placeholder: searchPlaceholder }), _jsx(MenuRadioGroup, { value: value, onValueChange: onValueChange, children: options.map((option) => (_jsx(MenuRadioItem, { value: option.value, disabled: option.disabled, indicator: "check", textValue: option.label, children: option.label }, option.value))) })] })] }));
|
|
43
43
|
};
|
|
44
44
|
export default ContextSelect;
|
|
45
45
|
//# sourceMappingURL=ContextSelect.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContextSelect.js","sourceRoot":"","sources":["../../../../components/ContextSelect/ContextSelect.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAc,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjD,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EACL,IAAI,EACJ,WAAW,EACX,cAAc,EACd,aAAa,EACb,UAAU,EACV,WAAW,GACZ,MAAM,SAAS,CAAC;AACjB,OAAO,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"ContextSelect.js","sourceRoot":"","sources":["../../../../components/ContextSelect/ContextSelect.tsx"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,7 @@ import { TopBar } from '../TopBar';
|
|
|
5
5
|
import { BottomBar } from '../BottomBar';
|
|
6
6
|
import { Button } from '../Button';
|
|
7
7
|
import { Icon } from '../Icon';
|
|
8
|
+
import { PortalContainerContext } from '../../utils/usePortalContainer';
|
|
8
9
|
import './Dialog.css';
|
|
9
10
|
const ANIMATION_DURATION = 200;
|
|
10
11
|
const MIN_HEIGHT_DISMISS = 200;
|
|
@@ -21,23 +22,37 @@ function getNearestSnap(height) {
|
|
|
21
22
|
* Clone the Dialog's action Buttons (including those wrapped in a Fragment) to
|
|
22
23
|
* force a size, so the TopBar/BottomBar buttons always match the design regardless
|
|
23
24
|
* of the size a consumer passes. Non-Button nodes are left untouched.
|
|
25
|
+
*
|
|
26
|
+
* With `iconOnlySize`, icon-only Buttons get that size instead. The Button sizes
|
|
27
|
+
* its own icon to match, whatever size the Icon was given.
|
|
24
28
|
*/
|
|
25
|
-
function withButtonSize(node, size) {
|
|
29
|
+
function withButtonSize(node, size, iconOnlySize) {
|
|
26
30
|
return React.Children.map(node, (child) => {
|
|
27
31
|
if (!React.isValidElement(child))
|
|
28
32
|
return child;
|
|
29
33
|
if (child.type === React.Fragment) {
|
|
30
34
|
const fragment = child;
|
|
31
|
-
return React.cloneElement(fragment, {}, withButtonSize(fragment.props.children, size));
|
|
35
|
+
return React.cloneElement(fragment, {}, withButtonSize(fragment.props.children, size, iconOnlySize));
|
|
32
36
|
}
|
|
33
37
|
if (child.type === Button) {
|
|
34
|
-
|
|
38
|
+
const button = child;
|
|
39
|
+
if (iconOnlySize && button.props.iconOnly) {
|
|
40
|
+
return React.cloneElement(button, { size: iconOnlySize });
|
|
41
|
+
}
|
|
42
|
+
return React.cloneElement(button, { size });
|
|
35
43
|
}
|
|
36
44
|
return child;
|
|
37
45
|
});
|
|
38
46
|
}
|
|
39
47
|
export const Dialog = ({ open, onClose, children, size = 'sm', mobileHeight = 'full', modal = true, title, leading, trailing, footerActions, footerVariant = 'actions', mobileActions = 'topbar', mobileLeadingLabel, mobileTrailingLabel, onMobileLeadingClick, onMobileTrailingClick, 'aria-label': ariaLabel, surfaceLevel = 3, 'aria-describedby': ariaDescribedBy, className = '', }) => {
|
|
40
48
|
const dialogRef = useRef(null);
|
|
49
|
+
// Overlays inside the dialog (Tooltip, Popover, Menu…) portal into it so
|
|
50
|
+
// they stay in the top layer instead of rendering behind it, inert.
|
|
51
|
+
const [portalContainer, setPortalContainer] = useState(null);
|
|
52
|
+
const setDialogRef = useCallback((node) => {
|
|
53
|
+
dialogRef.current = node;
|
|
54
|
+
setPortalContainer(node);
|
|
55
|
+
}, []);
|
|
41
56
|
const surfaceRef = useRef(null);
|
|
42
57
|
const bodyRef = useRef(null);
|
|
43
58
|
// Slide-in state (React-managed so it survives re-renders)
|
|
@@ -179,16 +194,17 @@ export const Dialog = ({ open, onClose, children, size = 'sm', mobileHeight = 'f
|
|
|
179
194
|
// Mobile TopBar icon actions only when the actions live in the TopBar.
|
|
180
195
|
const showMobileTopBarActions = hasInputs && mobileActions === 'topbar';
|
|
181
196
|
// Compute leading/trailing for TopBar — avoid always-truthy fragments.
|
|
182
|
-
// Per design, TopBar
|
|
197
|
+
// Per design, TopBar icon-only actions are `md` on every viewport; labelled
|
|
198
|
+
// TopBar buttons are `lg`.
|
|
183
199
|
const topBarLeading = !modal
|
|
184
|
-
? withButtonSize(leading, 'lg')
|
|
200
|
+
? withButtonSize(leading, 'lg', 'md')
|
|
185
201
|
: (mobileLeadingLabel && showMobileTopBarActions)
|
|
186
|
-
? (_jsx("span", { className: "muka-dialog__mobile-only", children: _jsx(Button, { variant: "secondary", size: "
|
|
202
|
+
? (_jsx("span", { className: "muka-dialog__mobile-only", children: _jsx(Button, { variant: "secondary", size: "md", iconOnly: true, "aria-label": mobileLeadingLabel, onClick: onMobileLeadingClick || onClose, children: _jsx(Icon, { name: "close", size: "sm" }) }) }))
|
|
187
203
|
: undefined;
|
|
188
204
|
const topBarTrailing = !modal
|
|
189
|
-
? withButtonSize(trailing, 'lg')
|
|
205
|
+
? withButtonSize(trailing, 'lg', 'md')
|
|
190
206
|
: (mobileTrailingLabel && showMobileTopBarActions)
|
|
191
|
-
? (_jsx("span", { className: "muka-dialog__mobile-only", children: _jsx(Button, { variant: "primary", size: "
|
|
207
|
+
? (_jsx("span", { className: "muka-dialog__mobile-only", children: _jsx(Button, { variant: "primary", size: "md", iconOnly: true, "aria-label": mobileTrailingLabel, onClick: onMobileTrailingClick || onClose, children: _jsx(Icon, { name: "check", size: "sm" }) }) }))
|
|
192
208
|
: undefined;
|
|
193
209
|
// Per design, BottomBar action buttons are `lg`.
|
|
194
210
|
const sizedFooterActions = footerActions
|
|
@@ -204,7 +220,7 @@ export const Dialog = ({ open, onClose, children, size = 'sm', mobileHeight = 'f
|
|
|
204
220
|
return (
|
|
205
221
|
// Native <dialog> is interactive and handles Escape natively; click handler closes on backdrop click.
|
|
206
222
|
// eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/no-noninteractive-element-interactions
|
|
207
|
-
_jsx("dialog", { ref:
|
|
223
|
+
_jsx("dialog", { ref: setDialogRef, className: dialogClasses, onClick: handleBackdropClick, "aria-label": ariaLabel, "aria-describedby": ariaDescribedBy, children: _jsx(PortalContainerContext.Provider, { value: portalContainer, children: _jsxs("div", { ref: surfaceRef, className: "muka-dialog__surface", style: surfaceStyle, tabIndex: -1, children: [!modal ? (_jsx("div", { className: "muka-dialog__drag-area", onPointerDown: handlePointerDown, onPointerMove: handlePointerMove, onPointerUp: handlePointerUp, onPointerCancel: handlePointerUp, style: { touchAction: 'none' }, children: topBar })) : (topBar), _jsx("div", { ref: bodyRef, className: "muka-dialog__body", children: children }), sizedFooterActions && (_jsx("div", { className: "muka-dialog__footer", children: _jsx(BottomBar, { variant: footerVariant, size: "lg", bordered: false, children: sizedFooterActions }) }))] }) }) }));
|
|
208
224
|
};
|
|
209
225
|
export default Dialog;
|
|
210
226
|
//# sourceMappingURL=Dialog.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Dialog.js","sourceRoot":"","sources":["../../../../components/Dialog/Dialog.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACzF,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,cAAc,CAAC;AAoFtB,MAAM,kBAAkB,GAAG,GAAG,CAAC;AAC/B,MAAM,kBAAkB,GAAG,GAAG,CAAC;AAE/B,sDAAsD;AACtD,MAAM,OAAO,GAAG,GAAG,CAAC,CAAE,QAAQ;AAC9B,MAAM,OAAO,GAAG,GAAG,CAAC,CAAE,UAAU;AAChC,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,WAAW,GAAG,EAAE,CAAC;AAEhD,SAAS,cAAc,CAAC,MAAc;IACpC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,KAAK,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IACzC,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CACjC,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAChE,CAAC;AACJ,CAAC;AAID
|
|
1
|
+
{"version":3,"file":"Dialog.js","sourceRoot":"","sources":["../../../../components/Dialog/Dialog.tsx"],"names":[],"mappings":"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"}
|
|
@@ -15,7 +15,7 @@ import './DropdownSelect.css';
|
|
|
15
15
|
* Not the native `<Select>` — use that for simple platform-native fields.
|
|
16
16
|
* Not free-text — use `Combobox` for creatable chip input.
|
|
17
17
|
*/
|
|
18
|
-
export const DropdownSelect = ({ options, value, onValueChange, multiple = false, placeholder = 'Select item...', label, helperText, error = false, errorMessage, disabled = false, size = 'md', fullWidth = false, required = false, searchable = true, searchPlaceholder = 'Search', scrollbar = false, open: openProp, onOpenChange, defaultOpen, name, id, 'aria-label': ariaLabel, className = '', }) => {
|
|
18
|
+
export const DropdownSelect = ({ options, value, onValueChange, multiple = false, placeholder = 'Select item...', label, helperText, error = false, errorMessage, disabled = false, size = 'md', fullWidth = false, required = false, searchable = true, searchPlaceholder = 'Search', scrollbar = false, open: openProp, onOpenChange, defaultOpen, name, id, 'aria-label': ariaLabel, className = '', portalContainer, }) => {
|
|
19
19
|
const generatedId = useId();
|
|
20
20
|
const fieldId = id || name || generatedId;
|
|
21
21
|
const helperTextId = `${fieldId}-helper`;
|
|
@@ -94,7 +94,7 @@ export const DropdownSelect = ({ options, value, onValueChange, multiple = false
|
|
|
94
94
|
e.preventDefault();
|
|
95
95
|
e.stopPropagation();
|
|
96
96
|
removeValue(option.value);
|
|
97
|
-
}, children: option.label }, option.value))) })) : (_jsx("span", { className: "muka-dropdown-select__value", children: selectedOptions[0].label })) })] }), _jsxs(MenuContent, { align: "start", side: "bottom", sideOffset: 4, searchable: searchable, scrollbar: scrollbar, className: "muka-dropdown-select__menu", style: menuWidth && menuWidth > 280
|
|
97
|
+
}, children: option.label }, option.value))) })) : (_jsx("span", { className: "muka-dropdown-select__value", children: selectedOptions[0].label })) })] }), _jsxs(MenuContent, { align: "start", side: "bottom", sideOffset: 4, searchable: searchable, scrollbar: scrollbar, className: "muka-dropdown-select__menu", container: portalContainer, style: menuWidth && menuWidth > 280
|
|
98
98
|
? { minWidth: menuWidth }
|
|
99
99
|
: undefined, onCloseAutoFocus: (event) => event.preventDefault(), children: [searchable && (_jsx(MenuSearch, { placeholder: searchPlaceholder, size: size === 'sm' ? 'sm' : 'md' })), multiple ? (options.map((option) => (_jsx(MenuCheckboxItem, { checked: selectedSet.has(option.value), onCheckedChange: (checked) => toggleMulti(option.value, checked), disabled: option.disabled, indicator: "trailing", textValue: option.label, children: option.label }, option.value)))) : (_jsx(MenuRadioGroup, { value: singleValue, onValueChange: (next) => onValueChange?.(next), children: options.map((option) => (_jsx(MenuRadioItem, { value: option.value, disabled: option.disabled, indicator: "check", textValue: option.label, children: option.label }, option.value))) }))] })] }), showError && (_jsx("p", { className: "muka-dropdown-select__error", id: errorMessageId, role: "alert", children: errorMessage })), !showError && helperText && (_jsx("p", { className: "muka-dropdown-select__helper", id: helperTextId, children: helperText }))] }));
|
|
100
100
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DropdownSelect.js","sourceRoot":"","sources":["../../../../components/DropdownSelect/DropdownSelect.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAc,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC3E,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EACL,IAAI,EACJ,gBAAgB,EAChB,WAAW,EACX,cAAc,EACd,aAAa,EACb,UAAU,EACV,WAAW,GACZ,MAAM,SAAS,CAAC;AACjB,OAAO,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"DropdownSelect.js","sourceRoot":"","sources":["../../../../components/DropdownSelect/DropdownSelect.tsx"],"names":[],"mappings":"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"}
|