@jobber/components 4.66.7 → 4.67.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/Combobox/Combobox.types.d.ts +9 -2
- package/dist/Combobox/ComboboxProvider.d.ts +3 -9
- package/dist/Combobox/components/ComboboxAction/ComboboxAction.d.ts +1 -1
- package/dist/Combobox/index.js +2 -1
- package/dist/{Combobox-4343fd6c.js → Combobox-eb1e5817.js} +16 -12
- package/dist/DataList/index.js +1 -1
- package/package.json +2 -2
|
@@ -172,10 +172,17 @@ export interface ComboboxActionProps {
|
|
|
172
172
|
/**
|
|
173
173
|
* The function to call when the action is clicked.
|
|
174
174
|
*/
|
|
175
|
-
onClick(event: React.MouseEvent<HTMLButtonElement
|
|
175
|
+
onClick(event: React.MouseEvent<HTMLButtonElement>, options: ComboboxActionCallbackOptions): void;
|
|
176
176
|
/**
|
|
177
177
|
* The label text of the action.
|
|
178
178
|
*/
|
|
179
|
-
readonly label: string;
|
|
179
|
+
readonly label: string | ((options: ComboboxActionCallbackOptions) => string);
|
|
180
|
+
/**
|
|
181
|
+
* Determine if the action is visible for a given item.
|
|
182
|
+
*/
|
|
183
|
+
readonly visible?: boolean | ((options: ComboboxActionCallbackOptions) => boolean);
|
|
184
|
+
}
|
|
185
|
+
export interface ComboboxActionCallbackOptions {
|
|
186
|
+
readonly searchValue: string;
|
|
180
187
|
}
|
|
181
188
|
export {};
|
|
@@ -1,13 +1,5 @@
|
|
|
1
1
|
import React, { Dispatch, MutableRefObject, SetStateAction } from "react";
|
|
2
2
|
import { ComboboxOption } from "./Combobox.types";
|
|
3
|
-
export declare const ComboboxContext: React.Context<{
|
|
4
|
-
open: boolean;
|
|
5
|
-
setOpen: (open: boolean) => void;
|
|
6
|
-
selected: ComboboxOption[];
|
|
7
|
-
selectionHandler: (option: ComboboxOption) => void;
|
|
8
|
-
handleClose: () => void;
|
|
9
|
-
shouldScroll: MutableRefObject<boolean>;
|
|
10
|
-
}>;
|
|
11
3
|
export interface ComboboxProviderProps {
|
|
12
4
|
readonly children: React.ReactNode;
|
|
13
5
|
readonly selected: ComboboxOption[];
|
|
@@ -16,5 +8,7 @@ export interface ComboboxProviderProps {
|
|
|
16
8
|
readonly setOpen: Dispatch<SetStateAction<boolean>>;
|
|
17
9
|
readonly handleClose: () => void;
|
|
18
10
|
readonly shouldScroll: MutableRefObject<boolean>;
|
|
11
|
+
readonly searchValue: string;
|
|
19
12
|
}
|
|
20
|
-
export declare
|
|
13
|
+
export declare const ComboboxContext: React.Context<Omit<ComboboxProviderProps, "children">>;
|
|
14
|
+
export declare function ComboboxContextProvider({ children, ...props }: ComboboxProviderProps): JSX.Element;
|
package/dist/Combobox/index.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var Combobox = require('../Combobox-
|
|
5
|
+
var Combobox = require('../Combobox-eb1e5817.js');
|
|
6
6
|
require('react');
|
|
7
7
|
require('classnames');
|
|
8
8
|
require('react-dom');
|
|
@@ -11,6 +11,7 @@ require('../Icon-405a216c.js');
|
|
|
11
11
|
require('@jobber/design');
|
|
12
12
|
require('../Text-4a2bc89f.js');
|
|
13
13
|
require('../Typography-973b122e.js');
|
|
14
|
+
require('../tslib.es6-5b8768b7.js');
|
|
14
15
|
require('../Button-163a0641.js');
|
|
15
16
|
require('react-router-dom');
|
|
16
17
|
require('@jobber/hooks/useRefocusOnActivator');
|
|
@@ -6,6 +6,7 @@ var ReactDOM = require('react-dom');
|
|
|
6
6
|
var styleInject_es = require('./style-inject.es-9d2f5f4e.js');
|
|
7
7
|
var Icon = require('./Icon-405a216c.js');
|
|
8
8
|
var Text = require('./Text-4a2bc89f.js');
|
|
9
|
+
var tslib_es6 = require('./tslib.es6-5b8768b7.js');
|
|
9
10
|
var Typography = require('./Typography-973b122e.js');
|
|
10
11
|
var Button = require('./Button-163a0641.js');
|
|
11
12
|
var useRefocusOnActivator = require('@jobber/hooks/useRefocusOnActivator');
|
|
@@ -63,15 +64,9 @@ var styles$3 = {"option":"_5QdRGmaNHvc-"};
|
|
|
63
64
|
styleInject_es.styleInject(css_248z$3);
|
|
64
65
|
|
|
65
66
|
const ComboboxContext = React__default["default"].createContext({});
|
|
66
|
-
function ComboboxContextProvider(
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
setOpen: props.setOpen,
|
|
70
|
-
selected: props.selected,
|
|
71
|
-
selectionHandler: props.selectionHandler,
|
|
72
|
-
handleClose: props.handleClose,
|
|
73
|
-
shouldScroll: props.shouldScroll,
|
|
74
|
-
} }, props.children));
|
|
67
|
+
function ComboboxContextProvider(_a) {
|
|
68
|
+
var { children } = _a, props = tslib_es6.__rest(_a, ["children"]);
|
|
69
|
+
return (React__default["default"].createElement(ComboboxContext.Provider, { value: props }, children));
|
|
75
70
|
}
|
|
76
71
|
|
|
77
72
|
function ComboboxOption(props) {
|
|
@@ -260,9 +255,18 @@ var styles$1 = {"actionContainer":"Ow9wSNnGP-g-","actionButton":"ncp0nKHQ7d8-"};
|
|
|
260
255
|
styleInject_es.styleInject(css_248z$1);
|
|
261
256
|
|
|
262
257
|
function ComboboxAction(props) {
|
|
258
|
+
const { searchValue } = React.useContext(ComboboxContext);
|
|
259
|
+
if (props.visible) {
|
|
260
|
+
const isVisible = typeof props.visible === "function" && !props.visible({ searchValue });
|
|
261
|
+
if (isVisible || !props.visible) {
|
|
262
|
+
return null;
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
const options = { searchValue };
|
|
266
|
+
const computedLabel = typeof props.label === "string" ? props.label : props.label(options);
|
|
263
267
|
return (React__default["default"].createElement("div", { className: styles$1.actionContainer },
|
|
264
|
-
React__default["default"].createElement("button", { className: styles$1.actionButton, onClick: props.onClick, type: "button"
|
|
265
|
-
React__default["default"].createElement(Typography.Typography, { element: "span", size: "base", textColor: "green", fontWeight: "semiBold" },
|
|
268
|
+
React__default["default"].createElement("button", { className: styles$1.actionButton, onClick: e => props.onClick(e, options), type: "button" },
|
|
269
|
+
React__default["default"].createElement(Typography.Typography, { element: "span", size: "base", textColor: "green", fontWeight: "semiBold" }, computedLabel))));
|
|
266
270
|
}
|
|
267
271
|
|
|
268
272
|
function ComboboxTrigger({ label = "Select", selected, }) {
|
|
@@ -389,7 +393,7 @@ function Combobox(props) {
|
|
|
389
393
|
label: option.props.label,
|
|
390
394
|
}))) || [], [optionElements]);
|
|
391
395
|
const { selectedOptions, selectedStateSetter, shouldScroll, wrapperRef, searchValue, setSearchValue, open, setOpen, handleClose, handleSelection, } = useCombobox(props.selected, props.onSelect, props.onClose, props.multiSelect);
|
|
392
|
-
return (React__default["default"].createElement(ComboboxContextProvider, { selected: selectedOptions, selectionHandler: handleSelection, open: open, setOpen: setOpen, handleClose: handleClose, shouldScroll: shouldScroll },
|
|
396
|
+
return (React__default["default"].createElement(ComboboxContextProvider, { selected: selectedOptions, selectionHandler: handleSelection, open: open, setOpen: setOpen, handleClose: handleClose, shouldScroll: shouldScroll, searchValue: searchValue },
|
|
393
397
|
React__default["default"].createElement("div", { ref: wrapperRef, className: styles.wrapper },
|
|
394
398
|
open && (React__default["default"].createElement("div", { className: styles.overlay, onClick: () => handleClose(), "data-testid": "ATL-Combobox-Overlay" })),
|
|
395
399
|
triggerElement || (React__default["default"].createElement(ComboboxTrigger, { label: props.label, selected: props.selected })),
|
package/dist/DataList/index.js
CHANGED
|
@@ -25,7 +25,7 @@ var ReactDOM = require('react-dom');
|
|
|
25
25
|
var Checkbox = require('../Checkbox-ad7ec2e7.js');
|
|
26
26
|
var reactRouterDom = require('react-router-dom');
|
|
27
27
|
var AnimatedSwitcher = require('../AnimatedSwitcher-d1e1ddcf.js');
|
|
28
|
-
var Combobox = require('../Combobox-
|
|
28
|
+
var Combobox = require('../Combobox-eb1e5817.js');
|
|
29
29
|
var Chip = require('../Chip-168acf3e.js');
|
|
30
30
|
var Icon = require('../Icon-405a216c.js');
|
|
31
31
|
var debounce = require('lodash/debounce');
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jobber/components",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.67.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -83,5 +83,5 @@
|
|
|
83
83
|
"> 1%",
|
|
84
84
|
"IE 10"
|
|
85
85
|
],
|
|
86
|
-
"gitHead": "
|
|
86
|
+
"gitHead": "8050cc83c347bd700c07536f2278ba81ed3bd7a0"
|
|
87
87
|
}
|