@trackunit/react-components 0.1.289 → 0.1.290
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
CHANGED
|
@@ -12,6 +12,7 @@ var IconSpriteOutline = require('@trackunit/ui-icons/icons-sprite-outline.svg');
|
|
|
12
12
|
var IconSpriteSolid = require('@trackunit/ui-icons/icons-sprite-solid.svg');
|
|
13
13
|
var stringTs = require('string-ts');
|
|
14
14
|
var cssClassVarianceUtilities = require('@trackunit/css-class-variance-utilities');
|
|
15
|
+
var reactSlot = require('@radix-ui/react-slot');
|
|
15
16
|
var reactUse = require('react-use');
|
|
16
17
|
var reactDayPicker = require('react-day-picker');
|
|
17
18
|
var tailwindMerge = require('tailwind-merge');
|
|
@@ -714,13 +715,18 @@ const cvaIconButton = cssClassVarianceUtilities.cvaMerge([], {
|
|
|
714
715
|
* @returns {JSX.Element} Button component
|
|
715
716
|
*/
|
|
716
717
|
const Button = React__namespace.forwardRef((_a, ref) => {
|
|
717
|
-
var { onClick, children, loading, disabled, className, fullWidth = false, prefix, suffix, variant = "primary", type = "button", size = "medium", square = false, dataTestId, title, role, tabIndex,
|
|
718
|
-
|
|
718
|
+
var { onClick, children, loading, disabled, className, fullWidth = false, prefix, suffix, variant = "primary", type = "button", size = "medium", square = false, dataTestId, title, role, tabIndex, asChild = false, circular } = _a, rest = __rest(_a, ["onClick", "children", "loading", "disabled", "className", "fullWidth", "prefix", "suffix", "variant", "type", "size", "square", "dataTestId", "title", "role", "tabIndex", "asChild", "circular"]);
|
|
719
|
+
const Comp = asChild ? reactSlot.Slot : "button";
|
|
720
|
+
const sharedCompProps = Object.assign({ ref,
|
|
719
721
|
title,
|
|
720
|
-
type,
|
|
721
722
|
role,
|
|
722
723
|
onClick,
|
|
723
|
-
tabIndex,
|
|
724
|
+
tabIndex, className: cvaButton({ rounded: circular, disabled, size, square, variant, loading, fullWidth, className }), "aria-label": title, "aria-disabled": disabled || loading, "data-testid": dataTestId }, rest);
|
|
725
|
+
const buttonSpecificProps = {
|
|
726
|
+
disabled: disabled || loading,
|
|
727
|
+
type,
|
|
728
|
+
};
|
|
729
|
+
return (jsxRuntime.jsxs(Comp, Object.assign({}, sharedCompProps, (asChild ? {} : buttonSpecificProps), { children: [loading ? (jsxRuntime.jsx(Spinner, { centering: "vertically", className: cvaButtonSpinner({ variant }), containerClassName: cvaButtonSpinnerContainer(), size: "small" })) : null, prefix && !loading ? jsxRuntime.jsx("div", { className: cvaButtonPrefixSuffix({ size: size }), children: prefix }) : null, jsxRuntime.jsx(reactSlot.Slottable, { children: children }), suffix && !loading ? jsxRuntime.jsx("div", { className: cvaButtonPrefixSuffix({ size: size }), children: suffix }) : null] })));
|
|
724
730
|
});
|
|
725
731
|
Button.displayName = "Button";
|
|
726
732
|
|
|
@@ -3351,7 +3357,7 @@ const PageHeader = ({ className, dataTestId, action, showLoading, description, l
|
|
|
3351
3357
|
return (jsxRuntime.jsxs("div", { className: cvaPageHeaderContainer({
|
|
3352
3358
|
className,
|
|
3353
3359
|
withBorder: !tabsList,
|
|
3354
|
-
}), "data-testid": dataTestId, children: [jsxRuntime.jsxs("div", { className: cvaPageHeader(), children: [jsxRuntime.jsxs("div", { className: cvaPageHeaderHeadingAccessoriesContainer(), "data-testid": dataTestId ? `${dataTestId}-heading-container` : undefined, children: [jsxRuntime.jsxs("div", { className: cvaPageHeaderHeadingContainer(), children: [backTo ? (jsxRuntime.jsx(
|
|
3360
|
+
}), "data-testid": dataTestId, children: [jsxRuntime.jsxs("div", { className: cvaPageHeader(), children: [jsxRuntime.jsxs("div", { className: cvaPageHeaderHeadingAccessoriesContainer(), "data-testid": dataTestId ? `${dataTestId}-heading-container` : undefined, children: [jsxRuntime.jsxs("div", { className: cvaPageHeaderHeadingContainer(), children: [backTo ? (jsxRuntime.jsx(Button, { asChild: true, prefix: jsxRuntime.jsx(Icon, { name: "ArrowLeft", size: "small" }), size: "small", variant: "ghost-neutral", children: jsxRuntime.jsx(reactRouter.Link, { to: backTo }) })) : undefined, jsxRuntime.jsx("h1", { className: cvaPageHeaderHeading(), "data-testid": dataTestId ? `${dataTestId}-heading` : undefined, children: title }), description && !showLoading ? (jsxRuntime.jsxs("div", { className: cvaPageHeaderDescriptionAndLinkContainer(), children: [jsxRuntime.jsx(Tooltip, { dataTestId: dataTestId ? `${dataTestId}-tooltip` : undefined, iconProps: { name: "QuestionMarkCircle" }, label: description, placement: "bottom" }), link ? (jsxRuntime.jsxs(reactRouter.Link, { className: cvaPageHeaderLink(), "data-testid": "tooltip-link", params: prev => prev, target: "_blank", to: link, children: [linkText, jsxRuntime.jsx(Icon, { name: "ArrowTopRightOnSquare", size: "small" })] })) : undefined] })) : undefined] }), tag && !showLoading ? (jsxRuntime.jsx(Tag, { color: tagColor, dataTestId: dataTestId ? `${dataTestId}-tag` : undefined, children: tag })) : undefined, showLoading ? (jsxRuntime.jsx(Spinner, { centering: "vertically", dataTestId: dataTestId ? `${dataTestId}-spinner` : undefined })) : null, action] }), children ? jsxRuntime.jsx("div", { className: cvaPageHeaderChildContainer(), children: children }) : null] }), tabsList] }));
|
|
3355
3361
|
};
|
|
3356
3362
|
|
|
3357
3363
|
const cvaPagination = cssClassVarianceUtilities.cvaMerge(["flex", "items-center", "gap-1"]);
|
package/index.esm.js
CHANGED
|
@@ -9,6 +9,7 @@ import IconSpriteOutline from '@trackunit/ui-icons/icons-sprite-outline.svg';
|
|
|
9
9
|
import IconSpriteSolid from '@trackunit/ui-icons/icons-sprite-solid.svg';
|
|
10
10
|
import { snakeCase } from 'string-ts';
|
|
11
11
|
import { cvaMerge } from '@trackunit/css-class-variance-utilities';
|
|
12
|
+
import { Slottable, Slot } from '@radix-ui/react-slot';
|
|
12
13
|
import { useMeasure, useCopyToClipboard, usePrevious } from 'react-use';
|
|
13
14
|
import { DayPicker as DayPicker$1 } from 'react-day-picker';
|
|
14
15
|
import { twMerge } from 'tailwind-merge';
|
|
@@ -683,13 +684,18 @@ const cvaIconButton = cvaMerge([], {
|
|
|
683
684
|
* @returns {JSX.Element} Button component
|
|
684
685
|
*/
|
|
685
686
|
const Button = React.forwardRef((_a, ref) => {
|
|
686
|
-
var { onClick, children, loading, disabled, className, fullWidth = false, prefix, suffix, variant = "primary", type = "button", size = "medium", square = false, dataTestId, title, role, tabIndex,
|
|
687
|
-
|
|
687
|
+
var { onClick, children, loading, disabled, className, fullWidth = false, prefix, suffix, variant = "primary", type = "button", size = "medium", square = false, dataTestId, title, role, tabIndex, asChild = false, circular } = _a, rest = __rest(_a, ["onClick", "children", "loading", "disabled", "className", "fullWidth", "prefix", "suffix", "variant", "type", "size", "square", "dataTestId", "title", "role", "tabIndex", "asChild", "circular"]);
|
|
688
|
+
const Comp = asChild ? Slot : "button";
|
|
689
|
+
const sharedCompProps = Object.assign({ ref,
|
|
688
690
|
title,
|
|
689
|
-
type,
|
|
690
691
|
role,
|
|
691
692
|
onClick,
|
|
692
|
-
tabIndex,
|
|
693
|
+
tabIndex, className: cvaButton({ rounded: circular, disabled, size, square, variant, loading, fullWidth, className }), "aria-label": title, "aria-disabled": disabled || loading, "data-testid": dataTestId }, rest);
|
|
694
|
+
const buttonSpecificProps = {
|
|
695
|
+
disabled: disabled || loading,
|
|
696
|
+
type,
|
|
697
|
+
};
|
|
698
|
+
return (jsxs(Comp, Object.assign({}, sharedCompProps, (asChild ? {} : buttonSpecificProps), { children: [loading ? (jsx(Spinner, { centering: "vertically", className: cvaButtonSpinner({ variant }), containerClassName: cvaButtonSpinnerContainer(), size: "small" })) : null, prefix && !loading ? jsx("div", { className: cvaButtonPrefixSuffix({ size: size }), children: prefix }) : null, jsx(Slottable, { children: children }), suffix && !loading ? jsx("div", { className: cvaButtonPrefixSuffix({ size: size }), children: suffix }) : null] })));
|
|
693
699
|
});
|
|
694
700
|
Button.displayName = "Button";
|
|
695
701
|
|
|
@@ -3320,7 +3326,7 @@ const PageHeader = ({ className, dataTestId, action, showLoading, description, l
|
|
|
3320
3326
|
return (jsxs("div", { className: cvaPageHeaderContainer({
|
|
3321
3327
|
className,
|
|
3322
3328
|
withBorder: !tabsList,
|
|
3323
|
-
}), "data-testid": dataTestId, children: [jsxs("div", { className: cvaPageHeader(), children: [jsxs("div", { className: cvaPageHeaderHeadingAccessoriesContainer(), "data-testid": dataTestId ? `${dataTestId}-heading-container` : undefined, children: [jsxs("div", { className: cvaPageHeaderHeadingContainer(), children: [backTo ? (jsx(
|
|
3329
|
+
}), "data-testid": dataTestId, children: [jsxs("div", { className: cvaPageHeader(), children: [jsxs("div", { className: cvaPageHeaderHeadingAccessoriesContainer(), "data-testid": dataTestId ? `${dataTestId}-heading-container` : undefined, children: [jsxs("div", { className: cvaPageHeaderHeadingContainer(), children: [backTo ? (jsx(Button, { asChild: true, prefix: jsx(Icon, { name: "ArrowLeft", size: "small" }), size: "small", variant: "ghost-neutral", children: jsx(Link, { to: backTo }) })) : undefined, jsx("h1", { className: cvaPageHeaderHeading(), "data-testid": dataTestId ? `${dataTestId}-heading` : undefined, children: title }), description && !showLoading ? (jsxs("div", { className: cvaPageHeaderDescriptionAndLinkContainer(), children: [jsx(Tooltip, { dataTestId: dataTestId ? `${dataTestId}-tooltip` : undefined, iconProps: { name: "QuestionMarkCircle" }, label: description, placement: "bottom" }), link ? (jsxs(Link, { className: cvaPageHeaderLink(), "data-testid": "tooltip-link", params: prev => prev, target: "_blank", to: link, children: [linkText, jsx(Icon, { name: "ArrowTopRightOnSquare", size: "small" })] })) : undefined] })) : undefined] }), tag && !showLoading ? (jsx(Tag, { color: tagColor, dataTestId: dataTestId ? `${dataTestId}-tag` : undefined, children: tag })) : undefined, showLoading ? (jsx(Spinner, { centering: "vertically", dataTestId: dataTestId ? `${dataTestId}-spinner` : undefined })) : null, action] }), children ? jsx("div", { className: cvaPageHeaderChildContainer(), children: children }) : null] }), tabsList] }));
|
|
3324
3330
|
};
|
|
3325
3331
|
|
|
3326
3332
|
const cvaPagination = cvaMerge(["flex", "items-center", "gap-1"]);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@trackunit/react-components",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.290",
|
|
4
4
|
"repository": "https://github.com/Trackunit/manager",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE.txt",
|
|
6
6
|
"engines": {
|
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
},
|
|
9
9
|
"dependencies": {
|
|
10
10
|
"@trackunit/ui-design-tokens": "*",
|
|
11
|
+
"@radix-ui/react-slot": "^1.0.2",
|
|
11
12
|
"react": "^18.2.0",
|
|
12
13
|
"@trackunit/css-class-variance-utilities": "*",
|
|
13
14
|
"react-use": "^17.4.0",
|
|
@@ -23,9 +23,9 @@ export interface ButtonProps extends ButtonCommonProps {
|
|
|
23
23
|
*/
|
|
24
24
|
type?: ButtonType;
|
|
25
25
|
/**
|
|
26
|
-
*
|
|
26
|
+
* If true the button will render as the child element, and not be a button element
|
|
27
27
|
*/
|
|
28
|
-
|
|
28
|
+
asChild?: boolean;
|
|
29
29
|
/**
|
|
30
30
|
* The Id of the form to submit, for button type submit
|
|
31
31
|
*/
|