kitunga-web 0.1.108 → 0.1.109
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/features/selects/components/PickerSelect/PickerSelect.d.ts +4 -1
- package/dist/features/selects/components/PickerSelect/PickerSelect.d.ts.map +1 -1
- package/dist/features/selects/components/PickerSelect/PickerSelect.js +7 -1
- package/dist/features/selects/components/PickerSelect/PickerSelect.js.map +1 -1
- package/dist/features/selects/components/PickerSelect/PickerSelect.module.css +7 -0
- package/dist/features/selects/components/PickerSelect/PickerSheet.d.ts +4 -1
- package/dist/features/selects/components/PickerSelect/PickerSheet.d.ts.map +1 -1
- package/dist/features/selects/components/PickerSelect/PickerSheet.js +22 -8
- package/dist/features/selects/components/PickerSelect/PickerSheet.js.map +1 -1
- package/package.json +1 -1
|
@@ -12,7 +12,10 @@ export interface PickerSelectProps {
|
|
|
12
12
|
name?: string;
|
|
13
13
|
required?: boolean;
|
|
14
14
|
value: string;
|
|
15
|
-
|
|
15
|
+
/** Pode devolver Promise — a sheet só fecha quando resolve; a opção
|
|
16
|
+
* clicada mostra o spinner do Button no lugar do check enquanto
|
|
17
|
+
* a troca (ex.: setLocale + lazy bundle) aterra. */
|
|
18
|
+
onChange: (value: string) => void | Promise<void>;
|
|
16
19
|
/** Explicit options — always wins over `kind`. */
|
|
17
20
|
options?: PickerOption[];
|
|
18
21
|
/** Convenience builders:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PickerSelect.d.ts","sourceRoot":"","sources":["../../../../../src/features/selects/components/PickerSelect/PickerSelect.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAmD,MAAM,OAAO,CAAC;AAExE,OAAoB,EAAE,KAAK,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACxE,OAAO,EAGL,KAAK,YAAY,EAClB,MAAM,iBAAiB,CAAC;AAGzB,MAAM,WAAW,sBAAuB,SAAQ,qBAAqB;IACnE,8DAA8D;IAC9D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"PickerSelect.d.ts","sourceRoot":"","sources":["../../../../../src/features/selects/components/PickerSelect/PickerSelect.tsx"],"names":[],"mappings":"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"}
|
|
@@ -125,11 +125,17 @@ const PickerSelect = ({ id, name, required = false, value, onChange, options, ki
|
|
|
125
125
|
openSheet();
|
|
126
126
|
}
|
|
127
127
|
};
|
|
128
|
+
// Devolve a promise ao PickerSheet — sem ela ele não vê o async e
|
|
129
|
+
// o spinner nunca acende. A sheet fecha quando ela resolve.
|
|
128
130
|
const handleSelect = (option) => {
|
|
129
131
|
if (option.disabled)
|
|
130
132
|
return;
|
|
131
|
-
onChange(option.value);
|
|
133
|
+
const result = onChange(option.value);
|
|
134
|
+
if (result instanceof Promise) {
|
|
135
|
+
return result.then(closeSheet, closeSheet);
|
|
136
|
+
}
|
|
132
137
|
closeSheet();
|
|
138
|
+
return undefined;
|
|
133
139
|
};
|
|
134
140
|
return (_jsxs("div", { className: `${styles.pickerSelect} ${className}`, children: [_jsx("div", { className: `${styles.triggerWrap} ${(_a = classNames === null || classNames === void 0 ? void 0 : classNames.trigger) !== null && _a !== void 0 ? _a : ''}`, onClickCapture: handleTriggerClick, onKeyDownCapture: handleTriggerKey, children: _jsx(CustomSelect, { value: value, onChange: onChange, options: resolvedOptions, placeholder: placeholder, size: size, variant: variant, valueBold: valueBold, collapsible: collapsible, leftIcon: leftIcon, hasError: hasError, disabled: disabled, className: (_b = classNames === null || classNames === void 0 ? void 0 : classNames.trigger) !== null && _b !== void 0 ? _b : '' }) }), isOpen && (_jsx("div", { className: `${styles.overlay} ${(_c = classNames === null || classNames === void 0 ? void 0 : classNames.overlay) !== null && _c !== void 0 ? _c : ''}`, onClick: closeSheet, role: "dialog", "aria-modal": "true", "aria-label": title, children: _jsx("div", { className: `${styles.panel} ${(_d = classNames === null || classNames === void 0 ? void 0 : classNames.panel) !== null && _d !== void 0 ? _d : ''}`, onClick: (e) => e.stopPropagation(), children: _jsx(PickerSheet, { options: resolvedOptions, value: value, onSelect: handleSelect, onClose: closeSheet, title: title, backIcon: backIcon, onBack: onBack, backAriaLabel: backAriaLabel, closeIcon: closeIcon, closeAriaLabel: closeAriaLabel, searchable: searchable, searchPlaceholder: searchPlaceholder, searchSize: searchSize, searchAutoFocus: searchAutoFocus, searchEmptyProps: searchEmptyProps, classNames: classNames }) }) })), _jsx("input", { type: "hidden", id: id, name: name, value: value, required: required })] }));
|
|
135
141
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PickerSelect.js","sourceRoot":"","sources":["../../../../../src/features/selects/components/PickerSelect/PickerSelect.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACxE,OAAO,YAAY,MAAM,yBAAyB,CAAC;AACnD,OAAO,WAA2C,MAAM,eAAe,CAAC;AACxE,OAAO,EACL,yBAAyB,EACzB,0BAA0B,GAE3B,MAAM,iBAAiB,CAAC;AACzB,OAAO,MAAM,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"PickerSelect.js","sourceRoot":"","sources":["../../../../../src/features/selects/components/PickerSelect/PickerSelect.tsx"],"names":[],"mappings":"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"}
|
|
@@ -178,6 +178,13 @@
|
|
|
178
178
|
min-width: 0;
|
|
179
179
|
}
|
|
180
180
|
|
|
181
|
+
/* O spinner async senta no slot do check — o círculo do Button
|
|
182
|
+
(inline-flex para o span deixar de ser inline). */
|
|
183
|
+
.optionSpinner {
|
|
184
|
+
display: inline-flex;
|
|
185
|
+
align-items: center;
|
|
186
|
+
}
|
|
187
|
+
|
|
181
188
|
/* Row icons in the picker list — the same circular 24px frame as the
|
|
182
189
|
CustomSelect trigger: img/svg children fill it and the circle crops
|
|
183
190
|
(flags always read round, trigger and list consistent). */
|
|
@@ -12,7 +12,10 @@ export interface PickerSheetClassNames {
|
|
|
12
12
|
export interface PickerSheetProps {
|
|
13
13
|
options: PickerOption[];
|
|
14
14
|
value: string;
|
|
15
|
-
|
|
15
|
+
/** Pode devolver Promise — a opção clicada ganha o spinner do Button
|
|
16
|
+
* no lugar do check e a sheet espera a resolução (o consumidor
|
|
17
|
+
* decide quando fecha). As outras opções bloqueiam até lá. */
|
|
18
|
+
onSelect: (option: PickerOption) => void | Promise<void>;
|
|
16
19
|
/** Chamado pelos controlos de fecho/voltar do header e pelo ESC. */
|
|
17
20
|
onClose: () => void;
|
|
18
21
|
/** Texto do topo do sheet. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PickerSheet.d.ts","sourceRoot":"","sources":["../../../../../src/features/selects/components/PickerSelect/PickerSheet.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAKxC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"PickerSheet.d.ts","sourceRoot":"","sources":["../../../../../src/features/selects/components/PickerSelect/PickerSheet.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAKxC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAIpD,MAAM,WAAW,qBAAqB;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd;;mEAE+D;IAC/D,QAAQ,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzD,oEAAoE;IACpE,OAAO,EAAE,MAAM,IAAI,CAAC;IAEpB,8BAA8B;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;qEACiE;IACjE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,kDAAkD;IAClD,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,oCAAoC;IACpC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,qDAAqD;IACrD,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC5B,oCAAoC;IACpC,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,UAAU,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAChC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,gBAAgB,CAAC,EAAE;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IAEF,UAAU,CAAC,EAAE,qBAAqB,CAAC;CACpC;AAQD;;;;;;GAMG;AACH,QAAA,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAwJ3C,CAAC;AAEF,eAAe,WAAW,CAAC"}
|
|
@@ -5,6 +5,7 @@ import { ArrowLeft, X } from 'lucide-react';
|
|
|
5
5
|
import SearchInput from '../../../inputs/components/Inputs/SearchInput';
|
|
6
6
|
import SearchEmptyState from '../../../feedback/components/EmptyStates/SearchEmptyState/SearchEmptyState';
|
|
7
7
|
import { CheckBadge } from '../../../data-display/components/Badges/CheckBadge/CheckBadge';
|
|
8
|
+
import buttonStyles from '../../../buttons/components/Btns/Button.module.css';
|
|
8
9
|
import styles from './PickerSelect.module.css';
|
|
9
10
|
const normalize = (text) => text
|
|
10
11
|
.normalize('NFD')
|
|
@@ -20,6 +21,18 @@ const normalize = (text) => text
|
|
|
20
21
|
const PickerSheet = ({ options, value, onSelect, onClose, title = 'Select', backIcon, onBack, backAriaLabel = 'Back', closeIcon, closeAriaLabel = 'Close', searchable = true, searchPlaceholder, searchSize = 'md', searchAutoFocus = false, searchEmptyProps, classNames, }) => {
|
|
21
22
|
var _a, _b, _c, _d, _e;
|
|
22
23
|
const [search, setSearch] = useState('');
|
|
24
|
+
// O valor em voo — a opção com onSelect async mostra o spinner no
|
|
25
|
+
// slot do check; enquanto há uma em voo, as outras não clicam.
|
|
26
|
+
const [busyValue, setBusyValue] = useState(null);
|
|
27
|
+
const pick = (option) => {
|
|
28
|
+
if (option.disabled || busyValue !== null)
|
|
29
|
+
return;
|
|
30
|
+
const result = onSelect(option);
|
|
31
|
+
if (result instanceof Promise) {
|
|
32
|
+
setBusyValue(option.value);
|
|
33
|
+
void result.finally(() => setBusyValue(null));
|
|
34
|
+
}
|
|
35
|
+
};
|
|
23
36
|
const query = normalize(search.trim());
|
|
24
37
|
const visibleOptions = query
|
|
25
38
|
? options.filter((option) => {
|
|
@@ -41,18 +54,19 @@ const PickerSheet = ({ options, value, onSelect, onClose, title = 'Select', back
|
|
|
41
54
|
}
|
|
42
55
|
}
|
|
43
56
|
const selected = value === option.value;
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
57
|
+
const busy = busyValue === option.value;
|
|
58
|
+
const blocked = busyValue !== null || option.disabled;
|
|
59
|
+
// A linha em voo fica inteira (o spinner legível); as outras e
|
|
60
|
+
// as disabled é que esmaecem.
|
|
61
|
+
const dimmed = option.disabled || (busyValue !== null && !busy);
|
|
62
|
+
rows.push(_jsxs("div", { className: `${styles.option} ${selected ? styles.selected : ''} ${dimmed ? styles.disabledOption : ''} ${(_b = classNames === null || classNames === void 0 ? void 0 : classNames.option) !== null && _b !== void 0 ? _b : ''}`, onClick: () => pick(option), onKeyDown: (e) => {
|
|
63
|
+
if (blocked)
|
|
50
64
|
return;
|
|
51
65
|
if (e.key === 'Enter' || e.key === ' ') {
|
|
52
66
|
e.preventDefault();
|
|
53
|
-
|
|
67
|
+
pick(option);
|
|
54
68
|
}
|
|
55
|
-
}, role: "option", "aria-selected": selected, "aria-disabled":
|
|
69
|
+
}, role: "option", "aria-selected": selected, "aria-disabled": blocked ? true : undefined, "aria-busy": busy ? true : undefined, tabIndex: blocked ? -1 : 0, children: [_jsxs("span", { className: styles.optionText, children: [option.icon && (_jsx("span", { className: styles.optionIcon, children: option.icon })), _jsx("span", { children: option.label })] }), busy ? (_jsx("span", { className: styles.optionSpinner, children: _jsx("span", { className: buttonStyles.spinner }) })) : (selected && _jsx(CheckBadge, { checked: true, placement: "inline" }))] }, option.value));
|
|
56
70
|
});
|
|
57
71
|
return rows;
|
|
58
72
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PickerSheet.js","sourceRoot":"","sources":["../../../../../src/features/selects/components/PickerSelect/PickerSheet.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAc,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,WAAW,MAAM,+CAA+C,CAAC;AACxE,OAAO,gBAAgB,MAAM,4EAA4E,CAAC;AAC1G,OAAO,EAAE,UAAU,EAAE,MAAM,+DAA+D,CAAC;AAE3F,OAAO,MAAM,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"PickerSheet.js","sourceRoot":"","sources":["../../../../../src/features/selects/components/PickerSelect/PickerSheet.tsx"],"names":[],"mappings":"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"}
|