@trackunit/react-filter-components 0.0.364 → 0.0.365
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/index.cjs.js +6 -6
- package/index.esm.js +6 -6
- package/package.json +1 -1
package/index.cjs.js
CHANGED
|
@@ -66,7 +66,7 @@ const cvaFilterCustomButton = cssClassVarianceUtilities.cvaMerge([], {
|
|
|
66
66
|
const Filter = (_a) => {
|
|
67
67
|
var { title, children, popoverProps, isActive, activeLabel, menuListProps, className, dataTestId, withStickyHeader = false, readOnly } = _a, rest = __rest(_a, ["title", "children", "popoverProps", "isActive", "activeLabel", "menuListProps", "className", "dataTestId", "withStickyHeader", "readOnly"]);
|
|
68
68
|
const buttonProps = Object.assign({}, rest);
|
|
69
|
-
return (jsxRuntime.jsxs(reactComponents.Popover, Object.assign({ dataTestId: dataTestId && `${dataTestId}-popover`, placement: "bottom-start" }, popoverProps, { children: [jsxRuntime.jsx(reactComponents.PopoverTrigger, { children: jsxRuntime.jsxs(reactComponents.Button, Object.assign({ className: cvaFilterCustomButton({ isActive, className }),
|
|
69
|
+
return (jsxRuntime.jsxs(reactComponents.Popover, Object.assign({ dataTestId: dataTestId && `${dataTestId}-popover`, placement: "bottom-start" }, popoverProps, { children: [jsxRuntime.jsx(reactComponents.PopoverTrigger, { children: jsxRuntime.jsxs(reactComponents.Button, Object.assign({ className: cvaFilterCustomButton({ isActive, className }), dataTestId: dataTestId, disabled: readOnly, size: "small", variant: "secondary" }, buttonProps, { children: [title, " ", isActive && jsxRuntime.jsx("span", { className: "text-primary-600", children: activeLabel })] })) }), jsxRuntime.jsx(reactComponents.PopoverContent, { children: jsxRuntime.jsx(reactComponents.MenuList, Object.assign({ className: cvaMenuListOverrides({ withStickyHeader }), dataTestId: dataTestId && `${dataTestId}-menulist`, withStickyHeader: withStickyHeader }, menuListProps, { children: children })) })] })));
|
|
70
70
|
};
|
|
71
71
|
const cvaMenuListOverrides = cssClassVarianceUtilities.cvaMerge(["overflow-x-hidden", "relative"], {
|
|
72
72
|
variants: {
|
|
@@ -125,7 +125,7 @@ const cvaFilterFooter = cssClassVarianceUtilities.cvaMerge(["flex", "justify-end
|
|
|
125
125
|
*/
|
|
126
126
|
const FilterHeader = (_a) => {
|
|
127
127
|
var { title, resetLabel, showReset, dataTestId, onReset, loading, children } = _a, rest = __rest(_a, ["title", "resetLabel", "showReset", "dataTestId", "onReset", "loading", "children"]);
|
|
128
|
-
return (jsxRuntime.jsxs("div", Object.assign({ className: "grid gap-1 p-1" }, rest, { "data-testid": dataTestId, children: [jsxRuntime.jsxs("div", { className: "flex h-6 items-center justify-between pl-1 text-sm font-medium uppercase text-slate-600", children: [jsxRuntime.jsx("h4", { children: title }), loading ? (jsxRuntime.jsx("div", { children: jsxRuntime.jsx(reactComponents.Spinner, { size: "small" }) })) : (jsxRuntime.jsx(reactComponents.Button, { className: cvaFilterHeaderButton({ isVisible: showReset }), "data-testid": `${dataTestId}-reset-button`, size: "small", variant: "secondary-danger",
|
|
128
|
+
return (jsxRuntime.jsxs("div", Object.assign({ className: "grid gap-1 p-1" }, rest, { "data-testid": dataTestId, children: [jsxRuntime.jsxs("div", { className: "flex h-6 items-center justify-between pl-1 text-sm font-medium uppercase text-slate-600", children: [jsxRuntime.jsx("h4", { children: title }), loading ? (jsxRuntime.jsx("div", { children: jsxRuntime.jsx(reactComponents.Spinner, { size: "small" }) })) : (jsxRuntime.jsx(reactComponents.Button, { className: cvaFilterHeaderButton({ isVisible: showReset }), "data-testid": `${dataTestId}-reset-button`, onClick: onReset, size: "small", variant: "secondary-danger", children: resetLabel }))] }), children] })));
|
|
129
129
|
};
|
|
130
130
|
const cvaFilterHeaderButton = cssClassVarianceUtilities.cvaMerge([], {
|
|
131
131
|
variants: {
|
|
@@ -152,12 +152,12 @@ const CheckBoxFilterItem = (_a) => {
|
|
|
152
152
|
const checkboxRef = React.useRef(null);
|
|
153
153
|
const [labelRef, setLabelRef] = React.useState(null);
|
|
154
154
|
const enableTooltip = reactComponents.useIsTextCutOff(labelRef);
|
|
155
|
-
const Item = (jsxRuntime.jsx(reactComponents.MenuItem, Object.assign({ onClick: e => {
|
|
155
|
+
const Item = (jsxRuntime.jsx(reactComponents.MenuItem, Object.assign({ className: className, dataTestId: dataTestId, disabled: checkboxProps.disabled, onClick: e => {
|
|
156
156
|
var _a;
|
|
157
157
|
e.preventDefault();
|
|
158
158
|
(_a = checkboxRef.current) === null || _a === void 0 ? void 0 : _a.click();
|
|
159
|
-
},
|
|
160
|
-
return (jsxRuntime.jsx("div", { children: enableTooltip && Boolean(showTooltip) ? (jsxRuntime.jsx(reactComponents.Tooltip, {
|
|
159
|
+
}, prefix: prefix, selected: checkboxProps.checked }, menuItemProps, { suffix: jsxRuntime.jsx("small", { children: itemCount }), children: jsxRuntime.jsx(reactFormComponents.Checkbox, Object.assign({ onLabelRefChange: label => setLabelRef(label), ref: checkboxRef }, checkboxProps, { className: "flex-grow cursor-pointer", dataTestId: dataTestId && `${dataTestId}-checkbox` })) })));
|
|
160
|
+
return (jsxRuntime.jsx("div", { children: enableTooltip && Boolean(showTooltip) ? (jsxRuntime.jsx(reactComponents.Tooltip, { className: "w-full", contentTextType: "span", label: checkboxProps.label, placement: "top", children: Item }, "tooltip-" + checkboxProps.name)) : (Item) }));
|
|
161
161
|
};
|
|
162
162
|
|
|
163
163
|
/**
|
|
@@ -169,7 +169,7 @@ const CheckBoxFilterItem = (_a) => {
|
|
|
169
169
|
*/
|
|
170
170
|
const RadioFilterItem = (_a) => {
|
|
171
171
|
var { value, label, itemCount, selected, dataTestId, menuItemProps } = _a, rest = __rest(_a, ["value", "label", "itemCount", "selected", "dataTestId", "menuItemProps"]);
|
|
172
|
-
return (jsxRuntime.jsx(reactComponents.MenuItem, Object.assign({
|
|
172
|
+
return (jsxRuntime.jsx(reactComponents.MenuItem, Object.assign({ className: "my-[2px] flex cursor-default justify-between p-0", dataTestId: dataTestId, selected: selected, suffix: jsxRuntime.jsx("small", { className: "pl-1 pr-3", children: itemCount }) }, menuItemProps, { children: jsxRuntime.jsx(reactFormComponents.RadioItem, Object.assign({}, rest, { className: "flex w-full items-center py-2 pl-2", dataTestId: dataTestId && `${dataTestId}-radio`, label: jsxRuntime.jsx(reactComponents.Text, { className: "cursor-pointer", type: "span", children: label }), value: value })) })));
|
|
173
173
|
};
|
|
174
174
|
|
|
175
175
|
exports.CheckBoxFilterItem = CheckBoxFilterItem;
|
package/index.esm.js
CHANGED
|
@@ -58,7 +58,7 @@ const cvaFilterCustomButton = cvaMerge([], {
|
|
|
58
58
|
const Filter = (_a) => {
|
|
59
59
|
var { title, children, popoverProps, isActive, activeLabel, menuListProps, className, dataTestId, withStickyHeader = false, readOnly } = _a, rest = __rest(_a, ["title", "children", "popoverProps", "isActive", "activeLabel", "menuListProps", "className", "dataTestId", "withStickyHeader", "readOnly"]);
|
|
60
60
|
const buttonProps = Object.assign({}, rest);
|
|
61
|
-
return (jsxs(Popover, Object.assign({ dataTestId: dataTestId && `${dataTestId}-popover`, placement: "bottom-start" }, popoverProps, { children: [jsx(PopoverTrigger, { children: jsxs(Button, Object.assign({ className: cvaFilterCustomButton({ isActive, className }),
|
|
61
|
+
return (jsxs(Popover, Object.assign({ dataTestId: dataTestId && `${dataTestId}-popover`, placement: "bottom-start" }, popoverProps, { children: [jsx(PopoverTrigger, { children: jsxs(Button, Object.assign({ className: cvaFilterCustomButton({ isActive, className }), dataTestId: dataTestId, disabled: readOnly, size: "small", variant: "secondary" }, buttonProps, { children: [title, " ", isActive && jsx("span", { className: "text-primary-600", children: activeLabel })] })) }), jsx(PopoverContent, { children: jsx(MenuList, Object.assign({ className: cvaMenuListOverrides({ withStickyHeader }), dataTestId: dataTestId && `${dataTestId}-menulist`, withStickyHeader: withStickyHeader }, menuListProps, { children: children })) })] })));
|
|
62
62
|
};
|
|
63
63
|
const cvaMenuListOverrides = cvaMerge(["overflow-x-hidden", "relative"], {
|
|
64
64
|
variants: {
|
|
@@ -117,7 +117,7 @@ const cvaFilterFooter = cvaMerge(["flex", "justify-end", "p-1"]);
|
|
|
117
117
|
*/
|
|
118
118
|
const FilterHeader = (_a) => {
|
|
119
119
|
var { title, resetLabel, showReset, dataTestId, onReset, loading, children } = _a, rest = __rest(_a, ["title", "resetLabel", "showReset", "dataTestId", "onReset", "loading", "children"]);
|
|
120
|
-
return (jsxs("div", Object.assign({ className: "grid gap-1 p-1" }, rest, { "data-testid": dataTestId, children: [jsxs("div", { className: "flex h-6 items-center justify-between pl-1 text-sm font-medium uppercase text-slate-600", children: [jsx("h4", { children: title }), loading ? (jsx("div", { children: jsx(Spinner, { size: "small" }) })) : (jsx(Button, { className: cvaFilterHeaderButton({ isVisible: showReset }), "data-testid": `${dataTestId}-reset-button`, size: "small", variant: "secondary-danger",
|
|
120
|
+
return (jsxs("div", Object.assign({ className: "grid gap-1 p-1" }, rest, { "data-testid": dataTestId, children: [jsxs("div", { className: "flex h-6 items-center justify-between pl-1 text-sm font-medium uppercase text-slate-600", children: [jsx("h4", { children: title }), loading ? (jsx("div", { children: jsx(Spinner, { size: "small" }) })) : (jsx(Button, { className: cvaFilterHeaderButton({ isVisible: showReset }), "data-testid": `${dataTestId}-reset-button`, onClick: onReset, size: "small", variant: "secondary-danger", children: resetLabel }))] }), children] })));
|
|
121
121
|
};
|
|
122
122
|
const cvaFilterHeaderButton = cvaMerge([], {
|
|
123
123
|
variants: {
|
|
@@ -144,12 +144,12 @@ const CheckBoxFilterItem = (_a) => {
|
|
|
144
144
|
const checkboxRef = useRef(null);
|
|
145
145
|
const [labelRef, setLabelRef] = useState(null);
|
|
146
146
|
const enableTooltip = useIsTextCutOff(labelRef);
|
|
147
|
-
const Item = (jsx(MenuItem, Object.assign({ onClick: e => {
|
|
147
|
+
const Item = (jsx(MenuItem, Object.assign({ className: className, dataTestId: dataTestId, disabled: checkboxProps.disabled, onClick: e => {
|
|
148
148
|
var _a;
|
|
149
149
|
e.preventDefault();
|
|
150
150
|
(_a = checkboxRef.current) === null || _a === void 0 ? void 0 : _a.click();
|
|
151
|
-
},
|
|
152
|
-
return (jsx("div", { children: enableTooltip && Boolean(showTooltip) ? (jsx(Tooltip, {
|
|
151
|
+
}, prefix: prefix, selected: checkboxProps.checked }, menuItemProps, { suffix: jsx("small", { children: itemCount }), children: jsx(Checkbox, Object.assign({ onLabelRefChange: label => setLabelRef(label), ref: checkboxRef }, checkboxProps, { className: "flex-grow cursor-pointer", dataTestId: dataTestId && `${dataTestId}-checkbox` })) })));
|
|
152
|
+
return (jsx("div", { children: enableTooltip && Boolean(showTooltip) ? (jsx(Tooltip, { className: "w-full", contentTextType: "span", label: checkboxProps.label, placement: "top", children: Item }, "tooltip-" + checkboxProps.name)) : (Item) }));
|
|
153
153
|
};
|
|
154
154
|
|
|
155
155
|
/**
|
|
@@ -161,7 +161,7 @@ const CheckBoxFilterItem = (_a) => {
|
|
|
161
161
|
*/
|
|
162
162
|
const RadioFilterItem = (_a) => {
|
|
163
163
|
var { value, label, itemCount, selected, dataTestId, menuItemProps } = _a, rest = __rest(_a, ["value", "label", "itemCount", "selected", "dataTestId", "menuItemProps"]);
|
|
164
|
-
return (jsx(MenuItem, Object.assign({
|
|
164
|
+
return (jsx(MenuItem, Object.assign({ className: "my-[2px] flex cursor-default justify-between p-0", dataTestId: dataTestId, selected: selected, suffix: jsx("small", { className: "pl-1 pr-3", children: itemCount }) }, menuItemProps, { children: jsx(RadioItem, Object.assign({}, rest, { className: "flex w-full items-center py-2 pl-2", dataTestId: dataTestId && `${dataTestId}-radio`, label: jsx(Text, { className: "cursor-pointer", type: "span", children: label }), value: value })) })));
|
|
165
165
|
};
|
|
166
166
|
|
|
167
167
|
export { CheckBoxFilterItem, Filter, FilterBody, FilterFooter, FilterHeader, RadioFilterItem, cvaFilterFooter, cvaFilterHeaderButton };
|