@jobber/components 6.90.0 → 6.90.2
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.
|
@@ -441,7 +441,6 @@ interface AutocompleteRebuiltBaseProps<Value extends OptionLike, Multiple extend
|
|
|
441
441
|
readonly customRenderLoading?: React.ReactNode;
|
|
442
442
|
/**
|
|
443
443
|
* Custom equality for option to value mapping.
|
|
444
|
-
* TODO: decide if we wanna keep this
|
|
445
444
|
*/
|
|
446
445
|
readonly isOptionEqualToValue?: (option: Value, value: Value) => boolean;
|
|
447
446
|
}
|
|
@@ -67,8 +67,8 @@ function buildItemsForGroup(group, optionsFilter) {
|
|
|
67
67
|
const filtered = optionsFilter ? optionsFilter(group.options) : group.options;
|
|
68
68
|
const actions = (_a = group.actions) !== null && _a !== void 0 ? _a : [];
|
|
69
69
|
const result = [];
|
|
70
|
-
|
|
71
|
-
if (
|
|
70
|
+
// Only render a section header when that section has at least one option after filtering
|
|
71
|
+
if (isSection && filtered.length > 0) {
|
|
72
72
|
result.push({
|
|
73
73
|
kind: "section",
|
|
74
74
|
section: group,
|
|
@@ -80,7 +80,8 @@ function buildItemsForGroup(group, optionsFilter) {
|
|
|
80
80
|
value: o,
|
|
81
81
|
})));
|
|
82
82
|
}
|
|
83
|
-
|
|
83
|
+
// Only render actions for a group when that group has at least one option after filtering
|
|
84
|
+
if (actions.length > 0 && filtered.length > 0) {
|
|
84
85
|
result.push(...actions.map(action => ({
|
|
85
86
|
kind: "action",
|
|
86
87
|
action,
|
|
@@ -1323,6 +1324,12 @@ function mapToOptions(items) {
|
|
|
1323
1324
|
// Casts the Generics to the forward ref so autocomplete works as expected for consumers
|
|
1324
1325
|
const Autocomplete$1 = React.forwardRef(AutocompleteInternal);
|
|
1325
1326
|
|
|
1327
|
+
// Convenience builder helpers (optional usage)
|
|
1328
|
+
// Helper to improve inference from inline menu literals
|
|
1329
|
+
function defineMenu(menu) {
|
|
1330
|
+
return menu;
|
|
1331
|
+
}
|
|
1332
|
+
|
|
1326
1333
|
function isNewAutocompleteProps(props) {
|
|
1327
1334
|
return props.version === 2;
|
|
1328
1335
|
}
|
|
@@ -1341,6 +1348,7 @@ exports.BaseAutocompleteMenuWrapper = BaseAutocompleteMenuWrapper;
|
|
|
1341
1348
|
exports.BaseMenuGroupOption = BaseMenuGroupOption;
|
|
1342
1349
|
exports.BaseMenuOption = BaseMenuOption;
|
|
1343
1350
|
exports.MenuOption = MenuOption;
|
|
1351
|
+
exports.defineMenu = defineMenu;
|
|
1344
1352
|
exports.getRequestedIndexChange = getRequestedIndexChange;
|
|
1345
1353
|
exports.isOptionGroup = isOptionGroup;
|
|
1346
1354
|
exports.isOptionSelected = isOptionSelected;
|
|
@@ -3,7 +3,7 @@ import type { AnyOption, AutocompleteLegacyProps, AutocompleteRebuiltProps, Extr
|
|
|
3
3
|
import type { InputTextRef } from "../InputText";
|
|
4
4
|
export type { OptionLike } from "./Autocomplete.types";
|
|
5
5
|
export { type MenuOptionProps, BaseMenuOption, type BaseMenuOptionProps, MenuOption, BaseMenuGroupOption, type BaseMenuGroupOptionProps, } from "./Option";
|
|
6
|
-
export { type AnyOption, type AutocompleteProps, type BaseOption, type CustomOptionsMenuProp, type GroupOption, type OptionCollection, type Option, } from "./Autocomplete.types";
|
|
6
|
+
export { type AnyOption, type AutocompleteProps, type BaseOption, type CustomOptionsMenuProp, type GroupOption, type OptionCollection, type Option, type MenuItem, type MenuSection, type MenuOptions, type MenuHeader, type MenuFooter, type MenuAction, type ExtraProps, defineMenu, } from "./Autocomplete.types";
|
|
7
7
|
export { KeyboardAction, getRequestedIndexChange, useKeyboardNavigation, useCustomKeyboardNavigation, } from "./useKeyboardNavigation";
|
|
8
8
|
export { useRepositionMenu } from "./useRepositionMenu";
|
|
9
9
|
export { BaseAutocompleteMenuWrapper, useAutocompleteMenu, } from "./Menu/MenuWrapper";
|
|
@@ -65,8 +65,8 @@ function buildItemsForGroup(group, optionsFilter) {
|
|
|
65
65
|
const filtered = optionsFilter ? optionsFilter(group.options) : group.options;
|
|
66
66
|
const actions = (_a = group.actions) !== null && _a !== void 0 ? _a : [];
|
|
67
67
|
const result = [];
|
|
68
|
-
|
|
69
|
-
if (
|
|
68
|
+
// Only render a section header when that section has at least one option after filtering
|
|
69
|
+
if (isSection && filtered.length > 0) {
|
|
70
70
|
result.push({
|
|
71
71
|
kind: "section",
|
|
72
72
|
section: group,
|
|
@@ -78,7 +78,8 @@ function buildItemsForGroup(group, optionsFilter) {
|
|
|
78
78
|
value: o,
|
|
79
79
|
})));
|
|
80
80
|
}
|
|
81
|
-
|
|
81
|
+
// Only render actions for a group when that group has at least one option after filtering
|
|
82
|
+
if (actions.length > 0 && filtered.length > 0) {
|
|
82
83
|
result.push(...actions.map(action => ({
|
|
83
84
|
kind: "action",
|
|
84
85
|
action,
|
|
@@ -1321,6 +1322,12 @@ function mapToOptions(items) {
|
|
|
1321
1322
|
// Casts the Generics to the forward ref so autocomplete works as expected for consumers
|
|
1322
1323
|
const Autocomplete$1 = forwardRef(AutocompleteInternal);
|
|
1323
1324
|
|
|
1325
|
+
// Convenience builder helpers (optional usage)
|
|
1326
|
+
// Helper to improve inference from inline menu literals
|
|
1327
|
+
function defineMenu(menu) {
|
|
1328
|
+
return menu;
|
|
1329
|
+
}
|
|
1330
|
+
|
|
1324
1331
|
function isNewAutocompleteProps(props) {
|
|
1325
1332
|
return props.version === 2;
|
|
1326
1333
|
}
|
|
@@ -1334,4 +1341,4 @@ const AutocompleteForwarded = forwardRef(AutocompleteShim);
|
|
|
1334
1341
|
AutocompleteForwarded.displayName = "Autocomplete";
|
|
1335
1342
|
const Autocomplete = AutocompleteForwarded;
|
|
1336
1343
|
|
|
1337
|
-
export { Autocomplete, BaseAutocompleteMenuWrapper, BaseMenuGroupOption, BaseMenuOption, KeyboardAction, MenuOption, getRequestedIndexChange, isOptionGroup, isOptionSelected, useAutocompleteMenu, useCustomKeyboardNavigation, useKeyboardNavigation, useRepositionMenu };
|
|
1344
|
+
export { Autocomplete, BaseAutocompleteMenuWrapper, BaseMenuGroupOption, BaseMenuOption, KeyboardAction, MenuOption, defineMenu, getRequestedIndexChange, isOptionGroup, isOptionSelected, useAutocompleteMenu, useCustomKeyboardNavigation, useKeyboardNavigation, useRepositionMenu };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jobber/components",
|
|
3
|
-
"version": "6.90.
|
|
3
|
+
"version": "6.90.2",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.cjs",
|
|
@@ -528,8 +528,6 @@
|
|
|
528
528
|
"axios": "^1.11.0",
|
|
529
529
|
"classnames": "^2",
|
|
530
530
|
"color": "^4",
|
|
531
|
-
"date-fns": "^2.30.0",
|
|
532
|
-
"date-fns-tz": "^2.0.0",
|
|
533
531
|
"filesize": "^6",
|
|
534
532
|
"framer-motion": "^11",
|
|
535
533
|
"lodash": "^4",
|
|
@@ -543,5 +541,5 @@
|
|
|
543
541
|
"> 1%",
|
|
544
542
|
"IE 10"
|
|
545
543
|
],
|
|
546
|
-
"gitHead": "
|
|
544
|
+
"gitHead": "06a9b95690feb709536b820b4d1a6ffcd3a93255"
|
|
547
545
|
}
|
package/rollup.config.mjs
CHANGED
|
@@ -13,7 +13,7 @@ import presetenv from "postcss-preset-env";
|
|
|
13
13
|
import multiInput from "rollup-plugin-multi-input";
|
|
14
14
|
import nodePolyfills from "rollup-plugin-polyfill-node";
|
|
15
15
|
import alias from "@rollup/plugin-alias";
|
|
16
|
-
|
|
16
|
+
|
|
17
17
|
const __filename = fileURLToPath(import.meta.url);
|
|
18
18
|
const __dirname = dirname(__filename);
|
|
19
19
|
|