@trackunit/react-components 0.1.385 → 0.1.388

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.
Files changed (53) hide show
  1. package/index.cjs.js +125 -133
  2. package/index.esm.js +112 -109
  3. package/package.json +6 -5
  4. package/src/common/PackageNameStoryComponent.d.ts +1 -2
  5. package/src/components/Alert/Alert.d.ts +1 -1
  6. package/src/components/Badge/Badge.d.ts +1 -2
  7. package/src/components/Breadcrumb/Breadcrumb.d.ts +3 -4
  8. package/src/components/Breadcrumb/BreadcrumbForLargeScreen.d.ts +1 -2
  9. package/src/components/Breadcrumb/BreadcrumbForMediumScreen.d.ts +1 -2
  10. package/src/components/Breadcrumb/BreadcrumbForSmallScreen.d.ts +1 -2
  11. package/src/components/Breadcrumb/utils/types.d.ts +0 -1
  12. package/src/components/Card/Card.d.ts +1 -1
  13. package/src/components/Card/CardBody.d.ts +1 -1
  14. package/src/components/Card/CardFooter.d.ts +1 -1
  15. package/src/components/Card/CardHeader.d.ts +1 -1
  16. package/src/components/Collapse/Collapse.d.ts +1 -1
  17. package/src/components/CompletionStatusIndicator/CompletionStatusIndicator.d.ts +1 -2
  18. package/src/components/CopyableText/CopyableText.d.ts +1 -2
  19. package/src/components/Drawer/Drawer.d.ts +1 -1
  20. package/src/components/EmptyState/EmptyState.d.ts +1 -2
  21. package/src/components/EmptyValue/EmptyValue.d.ts +0 -1
  22. package/src/components/ExternalLink/ExternalLink.d.ts +0 -1
  23. package/src/components/Icon/Icon.d.ts +2 -6
  24. package/src/components/Indicator/Indicator.d.ts +0 -1
  25. package/src/components/Menu/MenuList/MenuList.d.ts +0 -1
  26. package/src/components/Menu/MoreMenu/MoreMenu.d.ts +1 -1
  27. package/src/components/Notice/Notice.d.ts +0 -1
  28. package/src/components/Page/Page.d.ts +1 -1
  29. package/src/components/Page/PageContent.d.ts +1 -1
  30. package/src/components/PageHeader/PageHeader.d.ts +1 -1
  31. package/src/components/Pagination/Pagination.d.ts +1 -2
  32. package/src/components/Popover/Popover.d.ts +1 -2
  33. package/src/components/Popover/PopoverContent.d.ts +1 -1
  34. package/src/components/Popover/PopoverTitle.d.ts +1 -1
  35. package/src/components/Popover/PopoverTrigger.d.ts +1 -2
  36. package/src/components/Popover/PopoverTypes.d.ts +0 -1
  37. package/src/components/Sidebar/Sidebar.d.ts +1 -1
  38. package/src/components/SkeletonLines/SkeletonLines.d.ts +1 -2
  39. package/src/components/Spacer/Spacer.d.ts +1 -2
  40. package/src/components/Spinner/Spinner.d.ts +1 -2
  41. package/src/components/Tabs/Tab.d.ts +1 -1
  42. package/src/components/Tabs/TabContent.d.ts +1 -1
  43. package/src/components/Tabs/TabList.d.ts +1 -1
  44. package/src/components/Tabs/Tabs.d.ts +1 -1
  45. package/src/components/Timeline/Timeline.d.ts +2 -3
  46. package/src/components/ToggleGroup/ToggleGroup.d.ts +1 -2
  47. package/src/components/ValueBar/ValueBar.d.ts +1 -2
  48. package/src/components/VirtualizedList/VirtualizedList.d.ts +1 -2
  49. package/src/components/Widget/WidgetBody.d.ts +1 -1
  50. package/src/components/buttons/BackToTopButton/BackToTopButton.d.ts +1 -2
  51. package/src/components/buttons/StarButton/StarButton.d.ts +1 -1
  52. package/src/components/buttons/shared/ButtonProps.d.ts +0 -1
  53. package/src/hooks/useSelfUpdatingRef.d.ts +0 -1
package/index.esm.js CHANGED
@@ -133,13 +133,20 @@ cvaMerge([
133
133
  "after:opacity-50",
134
134
  ]);
135
135
 
136
- const iconPalette = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, intentPalette), generalPalette), criticalityPalette), activityPalette), utilizationPalette), sitesPalette), rentalStatusPalette);
136
+ const iconPalette = {
137
+ ...intentPalette,
138
+ ...generalPalette,
139
+ ...criticalityPalette,
140
+ ...activityPalette,
141
+ ...utilizationPalette,
142
+ ...sitesPalette,
143
+ ...rentalStatusPalette,
144
+ };
137
145
  const iconColorNames = objectKeys(iconPalette).map(key => snakeCase(key));
138
146
  const isSafari = () => {
139
147
  const ua = navigator.userAgent.toLowerCase();
140
148
  return ua.includes("safari") && !ua.includes("chrome");
141
149
  };
142
- const ICON_CONTAINER_ID = v4();
143
150
  /**
144
151
  * - The Icon component is used to display an Icon.
145
152
  * - Icons are semantic vector graphics that adds character and improves the visual appeal of elements when combined with.
@@ -150,6 +157,7 @@ const ICON_CONTAINER_ID = v4();
150
157
  */
151
158
  const Icon = ({ name, size = "large", className, dataTestId, color, onClick, type, style, forwardedRef, ariaLabel, ariaLabelledBy, ariaDescribedBy, }) => {
152
159
  const useTagRef = useRef(null);
160
+ const ICON_CONTAINER_ID = v4();
153
161
  const correctIconType = useMemo(() => {
154
162
  if (size === "small" || size === "medium") {
155
163
  return "mini";
@@ -266,38 +274,6 @@ const PackageNameStoryComponent = ({ packageJSON }) => {
266
274
  return (jsxs("div", { className: "flex gap-2", children: [jsx(Tag, { color: "secondary", children: packageJSON === null || packageJSON === void 0 ? void 0 : packageJSON.name }), jsxs(Tag, { color: "secondary", children: ["v", packageJSON === null || packageJSON === void 0 ? void 0 : packageJSON.version] })] }));
267
275
  };
268
276
 
269
- /******************************************************************************
270
- Copyright (c) Microsoft Corporation.
271
-
272
- Permission to use, copy, modify, and/or distribute this software for any
273
- purpose with or without fee is hereby granted.
274
-
275
- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
276
- REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
277
- AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
278
- INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
279
- LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
280
- OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
281
- PERFORMANCE OF THIS SOFTWARE.
282
- ***************************************************************************** */
283
-
284
- function __rest(s, e) {
285
- var t = {};
286
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
287
- t[p] = s[p];
288
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
289
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
290
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
291
- t[p[i]] = s[p[i]];
292
- }
293
- return t;
294
- }
295
-
296
- typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
297
- var e = new Error(message);
298
- return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
299
- };
300
-
301
277
  const cvaText = cvaMerge(["text-black", "m-0", "relative", "text-sm", "font-normal"], {
302
278
  variants: {
303
279
  align: {
@@ -361,9 +337,9 @@ const cvaText = cvaMerge(["text-black", "m-0", "relative", "text-sm", "font-norm
361
337
  * @param {TextProps} props - The props for the Text component
362
338
  * @returns {JSX.Element} Text component
363
339
  */
364
- const Text = (_a) => {
365
- var { children, type = "p", size = "medium", align = "left", weight = "normal", underline = false, inverted = false, subtle = false, italicize = false, uppercase = false, disabled = false, className, dataTestId } = _a, rest = __rest(_a, ["children", "type", "size", "align", "weight", "underline", "inverted", "subtle", "italicize", "uppercase", "disabled", "className", "dataTestId"]);
366
- return React.createElement(type, Object.assign({ className: cvaText({
340
+ const Text = ({ children, type = "p", size = "medium", align = "left", weight = "normal", underline = false, inverted = false, subtle = false, italicize = false, uppercase = false, disabled = false, className, dataTestId, ...rest }) => {
341
+ return React.createElement(type, {
342
+ className: cvaText({
367
343
  inverted,
368
344
  uppercase,
369
345
  align,
@@ -374,7 +350,10 @@ const Text = (_a) => {
374
350
  subtle,
375
351
  disabled,
376
352
  className,
377
- }), "data-testid": dataTestId }, rest), children);
353
+ }),
354
+ "data-testid": dataTestId,
355
+ ...rest,
356
+ }, children);
378
357
  };
379
358
 
380
359
  const cvaSpinner = cvaMerge([
@@ -679,30 +658,35 @@ const cvaIconButton = cvaMerge([], {
679
658
  * @param {ButtonProps} props - The props for the Button component
680
659
  * @returns {JSX.Element} Button component
681
660
  */
682
- const Button = React.forwardRef((_a, ref) => {
683
- 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"]);
661
+ const Button = React.forwardRef(({ onClick, children, loading, disabled, className, fullWidth = false, prefix, suffix, variant = "primary", type = "button", size = "medium", square = false, dataTestId, title, role, tabIndex, asChild = false, circular, ...rest }, ref) => {
684
662
  const Comp = asChild ? Slot : "button";
685
- const sharedCompProps = Object.assign({ ref,
663
+ const sharedCompProps = {
664
+ ref,
686
665
  title,
687
666
  role,
688
667
  onClick,
689
- tabIndex, className: cvaButton({ rounded: circular, disabled, size, square, variant, loading, fullWidth, className }), "aria-label": title, "aria-disabled": disabled || loading, "data-testid": dataTestId }, rest);
668
+ tabIndex,
669
+ className: cvaButton({ rounded: circular, disabled, size, square, variant, loading, fullWidth, className }),
670
+ "aria-label": title,
671
+ "aria-disabled": disabled || loading,
672
+ "data-testid": dataTestId,
673
+ ...rest,
674
+ };
690
675
  const buttonSpecificProps = {
691
676
  disabled: disabled || loading,
692
677
  type,
693
678
  };
694
- 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, variant }), children: prefix }) : null, jsx(Slottable, { children: children }), suffix && !loading ? jsx("div", { className: cvaButtonPrefixSuffix({ size, variant }), children: suffix }) : null] })));
679
+ return (jsxs(Comp, { ...sharedCompProps, ...(asChild ? {} : buttonSpecificProps), children: [loading ? (jsx(Spinner, { centering: "vertically", className: cvaButtonSpinner({ variant }), containerClassName: cvaButtonSpinnerContainer(), size: "small" })) : null, prefix && !loading ? jsx("div", { className: cvaButtonPrefixSuffix({ size, variant }), children: prefix }) : null, jsx(Slottable, { children: children }), suffix && !loading ? jsx("div", { className: cvaButtonPrefixSuffix({ size, variant }), children: suffix }) : null] }));
695
680
  });
696
681
  Button.displayName = "Button";
697
682
 
698
683
  /**
699
684
  * Buttons are clickable elements that are used to trigger actions. They communicate calls to action to the user and allow users to interact with pages in a variety of ways. The Icon Button is a version of the standard Button component without the text label.
700
685
  */
701
- const IconButton = React.forwardRef((_a, ref) => {
702
- var { icon, size = "medium", square = true, loading, disabled, className } = _a, rest = __rest(_a, ["icon", "size", "square", "loading", "disabled", "className"]);
703
- return (jsx(Button, Object.assign({ className: cvaIconButton({ size: size, className }), disabled: disabled || loading, loading: loading,
686
+ const IconButton = React.forwardRef(({ icon, size = "medium", square = true, loading, disabled, className, ...rest }, ref) => {
687
+ return (jsx(Button, { className: cvaIconButton({ size: size, className }), disabled: disabled || loading, loading: loading,
704
688
  // eslint-disable-next-line local-rules/design-guideline-button-icon-size-match
705
- prefix: !loading ? icon : undefined, ref: ref, size: size, square: square }, rest)));
689
+ prefix: !loading ? icon : undefined, ref: ref, size: size, square: square, ...rest }));
706
690
  });
707
691
  IconButton.displayName = "IconButton";
708
692
 
@@ -805,8 +789,7 @@ const cvaBadge = cvaMerge([
805
789
  * @param {BadgeProps} props - The props for the Badge component
806
790
  * @returns {JSX.Element} Badge component
807
791
  */
808
- const Badge = (_a) => {
809
- var { color = "primary", className, count, max, hideZero = false, dataTestId } = _a; __rest(_a, ["color", "className", "count", "max", "hideZero", "dataTestId"]);
792
+ const Badge = ({ color = "primary", className, count, max, hideZero = false, dataTestId, ...rest }) => {
810
793
  if (hideZero && count === 0) {
811
794
  return null;
812
795
  }
@@ -1566,9 +1549,8 @@ const ROLE_CARD = "region";
1566
1549
  * @param {CardProps} props - The props for the Card component
1567
1550
  * @returns {JSX.Element} Card component
1568
1551
  */
1569
- const Card = (_a) => {
1570
- var { children, onClick, fullHeight = false, onMouseEnter, onMouseLeave, className, dataTestId } = _a, rest = __rest(_a, ["children", "onClick", "fullHeight", "onMouseEnter", "onMouseLeave", "className", "dataTestId"]);
1571
- return (jsx("div", Object.assign({ className: cvaCard({ fullHeight, clickable: Boolean(onClick), className }), "data-testid": dataTestId, onClick: onClick, onMouseEnter: onMouseEnter, onMouseLeave: onMouseLeave, role: ROLE_CARD }, rest, { children: children })));
1552
+ const Card = ({ children, onClick, fullHeight = false, onMouseEnter, onMouseLeave, className, dataTestId, ...rest }) => {
1553
+ return (jsx("div", { className: cvaCard({ fullHeight, clickable: Boolean(onClick), className }), "data-testid": dataTestId, onClick: onClick, onMouseEnter: onMouseEnter, onMouseLeave: onMouseLeave, role: ROLE_CARD, ...rest, children: children }));
1572
1554
  };
1573
1555
 
1574
1556
  /**
@@ -1636,15 +1618,18 @@ const cvaHeading = cvaMerge(["m-0", "leading-normal", "text-black"], {
1636
1618
  * @param {HeadingProps} props - The props for the Heading component
1637
1619
  * @returns {JSX.Element} Heading component
1638
1620
  */
1639
- const Heading = (_a) => {
1640
- var { variant = "primary", inverted = false, subtle = false, className, dataTestId } = _a, rest = __rest(_a, ["variant", "inverted", "subtle", "className", "dataTestId"]);
1621
+ const Heading = ({ variant = "primary", inverted = false, subtle = false, className, dataTestId, ...rest }) => {
1641
1622
  const semanticType = {
1642
1623
  primary: "h1",
1643
1624
  secondary: "h2",
1644
1625
  tertiary: "h3",
1645
1626
  subtitle: "h4",
1646
1627
  };
1647
- return React.createElement(semanticType[variant], Object.assign(Object.assign({}, rest), { className: cvaHeading({ subtle, inverted, size: variant, className }), "data-testid": dataTestId }));
1628
+ return React.createElement(semanticType[variant], {
1629
+ ...rest,
1630
+ className: cvaHeading({ subtle, inverted, size: variant, className }),
1631
+ "data-testid": dataTestId,
1632
+ });
1648
1633
  };
1649
1634
 
1650
1635
  /**
@@ -1710,7 +1695,6 @@ const cvaChevronIcon = cvaMerge([
1710
1695
  },
1711
1696
  });
1712
1697
 
1713
- const LABEL_ID = v4();
1714
1698
  /**
1715
1699
  * The Collapse component is a container for additional information that adds context to various flows. It is used for displaying non-essential information that can be hidden away.
1716
1700
  *
@@ -1729,6 +1713,7 @@ const LABEL_ID = v4();
1729
1713
  * @returns {JSX.Element} Collapse component
1730
1714
  */
1731
1715
  const Collapse = ({ id, initialExpanded = false, onToggle, label, children, className, headerClassName, headerAddon, dataTestId, }) => {
1716
+ const LABEL_ID = v4();
1732
1717
  const [expanded, setExpanded] = React.useState(initialExpanded);
1733
1718
  const handleClick = React.useCallback((e) => {
1734
1719
  if (onToggle) {
@@ -1756,16 +1741,15 @@ const Collapsible = ({ children, expanded, id }) => {
1756
1741
  * @param {boolean} props.warning - Indicates if the process has a warning.
1757
1742
  * @param {boolean} props.success - Indicates if the process was successful.
1758
1743
  */
1759
- const CompletionStatusIndicator = (_a) => {
1760
- var { loading, error, success } = _a, rest = __rest(_a, ["loading", "error", "success"]);
1744
+ const CompletionStatusIndicator = ({ loading, error, success, ...rest }) => {
1761
1745
  if (loading) {
1762
- return jsx(Spinner, Object.assign({ className: "h-[22px] w-[22px]", containerClassName: "w-min" }, rest));
1746
+ return jsx(Spinner, { className: "h-[22px] w-[22px]", containerClassName: "w-min", ...rest });
1763
1747
  }
1764
1748
  if (error) {
1765
- return jsx(Icon, Object.assign({ color: "danger", name: "XCircle", type: "solid" }, rest));
1749
+ return jsx(Icon, { color: "danger", name: "XCircle", type: "solid", ...rest });
1766
1750
  }
1767
1751
  if (success) {
1768
- return jsx(Icon, Object.assign({ color: "success", name: "CheckCircle", type: "solid" }, rest));
1752
+ return jsx(Icon, { color: "success", name: "CheckCircle", type: "solid", ...rest });
1769
1753
  }
1770
1754
  return null;
1771
1755
  };
@@ -3293,8 +3277,7 @@ const ExternalLink = ({ rel = "noreferrer", target = "_blank", href, className,
3293
3277
  * @param {PopoverProps} options The options for the popover
3294
3278
  * @returns {ReturnType<typeof usePopover>} The data for the popover
3295
3279
  */
3296
- const usePopover = (_a) => {
3297
- var { initialOpen = false, placement = "bottom", isModal, isOpen: controlledIsOpen, activation = { click: true, hover: false }, dismissal, onOpenStateChange } = _a, restOptions = __rest(_a, ["initialOpen", "placement", "isModal", "isOpen", "activation", "dismissal", "onOpenStateChange"]);
3280
+ const usePopover = ({ initialOpen = false, placement = "bottom", isModal, isOpen: controlledIsOpen, activation = { click: true, hover: false }, dismissal, onOpenStateChange, ...restOptions }) => {
3298
3281
  const [uncontrolledIsOpen, setUncontrolledIsOpen] = useState(initialOpen);
3299
3282
  const [labelId, setLabelId] = useState();
3300
3283
  const [descriptionId, setDescriptionId] = useState();
@@ -3332,11 +3315,25 @@ const usePopover = (_a) => {
3332
3315
  dismissInteraction,
3333
3316
  roleInteraction,
3334
3317
  ]);
3335
- return useMemo(() => (Object.assign(Object.assign(Object.assign(Object.assign({ isOpen, setIsOpen: setUncontrolledIsOpen }, omit(popoverData, "middlewareData", "floatingStyles", "elements")), { x: popoverData.x, y: popoverData.y, isPositioned: popoverData.isPositioned, refs: popoverData.refs, update: popoverData.update, placement: popoverData.placement, strategy: popoverData.strategy }), combinedInteractions), { isModal,
3318
+ return useMemo(() => ({
3319
+ isOpen,
3320
+ setIsOpen: setUncontrolledIsOpen,
3321
+ ...omit(popoverData, "middlewareData", "floatingStyles", "elements"),
3322
+ x: popoverData.x,
3323
+ y: popoverData.y,
3324
+ isPositioned: popoverData.isPositioned,
3325
+ refs: popoverData.refs,
3326
+ update: popoverData.update,
3327
+ placement: popoverData.placement,
3328
+ strategy: popoverData.strategy,
3329
+ ...combinedInteractions,
3330
+ isModal,
3336
3331
  labelId,
3337
3332
  descriptionId,
3338
3333
  setLabelId,
3339
- setDescriptionId, customProps: restOptions })), [isOpen, setUncontrolledIsOpen, combinedInteractions, popoverData, isModal, labelId, descriptionId, restOptions]);
3334
+ setDescriptionId,
3335
+ customProps: restOptions,
3336
+ }), [isOpen, setUncontrolledIsOpen, combinedInteractions, popoverData, isModal, labelId, descriptionId, restOptions]);
3340
3337
  };
3341
3338
 
3342
3339
  const PopoverContext = createContext(null);
@@ -3366,9 +3363,8 @@ const usePopoverContext = () => {
3366
3363
  * @param {PopoverProps} props The props for the popover
3367
3364
  * @returns {JSX.Element} A Popover Context Provider containing the children
3368
3365
  */
3369
- const Popover = (_a) => {
3370
- var { children, isModal = false } = _a, restOptions = __rest(_a, ["children", "isModal"]);
3371
- const popover = usePopover(Object.assign({ isModal }, restOptions));
3366
+ const Popover = ({ children, isModal = false, ...restOptions }) => {
3367
+ const popover = usePopover({ isModal, ...restOptions });
3372
3368
  return jsx(PopoverContext.Provider, { value: popover, children: children });
3373
3369
  };
3374
3370
 
@@ -3383,12 +3379,17 @@ const cvaPopoverTitleContainer = cvaMerge(["flex", "items-center", "px-2", "py-1
3383
3379
  });
3384
3380
  const cvaPopoverTitleText = cvaMerge(["flex-1", "text-neutral-500"]);
3385
3381
 
3386
- const PopoverContent = React__default.forwardRef(function PopoverContent(_a, propRef) {
3387
- var _b;
3388
- var { className, dataTestId, children, portalId } = _a, props = __rest(_a, ["className", "dataTestId", "children", "portalId"]);
3389
- const _c = usePopoverContext(), { context: floatingContext, customProps } = _c, context = __rest(_c, ["context", "customProps"]);
3382
+ const PopoverContent = React__default.forwardRef(function PopoverContent({ className, dataTestId, children, portalId, ...props }, propRef) {
3383
+ var _a;
3384
+ const { context: floatingContext, customProps, ...context } = usePopoverContext();
3390
3385
  const ref = useMergeRefs([context.refs.setFloating, propRef]);
3391
- return (jsx(FloatingPortal, { id: portalId !== null && portalId !== void 0 ? portalId : "tu-floating-ui", children: context.isOpen ? (jsx(FloatingFocusManager, { closeOnFocusOut: false, context: floatingContext, guards: false, modal: context.isModal, order: ["reference", "content"], returnFocus: false, children: jsx("div", Object.assign({ "aria-describedby": context.descriptionId, "aria-labelledby": context.labelId, className: cvaPopoverContainer({ className: className !== null && className !== void 0 ? className : customProps.className }), "data-testid": (_b = dataTestId !== null && dataTestId !== void 0 ? dataTestId : customProps.dataTestId) !== null && _b !== void 0 ? _b : "popover-content", ref: ref, style: Object.assign({ position: context.strategy, top: context.y, left: context.x, width: "max-content" }, props.style) }, context.getFloatingProps(props), { children: typeof children === "function" ? children(() => context.setIsOpen(false)) : children })) })) : null }));
3386
+ return (jsx(FloatingPortal, { id: portalId !== null && portalId !== void 0 ? portalId : "tu-floating-ui", children: context.isOpen ? (jsx(FloatingFocusManager, { closeOnFocusOut: false, context: floatingContext, guards: false, modal: context.isModal, order: ["reference", "content"], returnFocus: false, children: jsx("div", { "aria-describedby": context.descriptionId, "aria-labelledby": context.labelId, className: cvaPopoverContainer({ className: className !== null && className !== void 0 ? className : customProps.className }), "data-testid": (_a = dataTestId !== null && dataTestId !== void 0 ? dataTestId : customProps.dataTestId) !== null && _a !== void 0 ? _a : "popover-content", ref: ref, style: {
3387
+ position: context.strategy,
3388
+ top: context.y,
3389
+ left: context.x,
3390
+ width: "max-content",
3391
+ ...props.style,
3392
+ }, ...context.getFloatingProps(props), children: typeof children === "function" ? children(() => context.setIsOpen(false)) : children }) })) : null }));
3392
3393
  });
3393
3394
 
3394
3395
  /**
@@ -3401,17 +3402,21 @@ const PopoverTitle = ({ children, action, divider = false, className, dataTestId
3401
3402
  return (jsxs("div", { className: cvaPopoverTitleContainer({ divider, className }), "data-testid": dataTestId, children: [jsx(Text, { className: cvaPopoverTitleText(), size: "small", subtle: true, type: "div", uppercase: true, weight: "bold", children: children }), action] }));
3402
3403
  };
3403
3404
 
3404
- const PopoverTrigger = forwardRef(function PopoverTrigger(_a, propRef) {
3405
- var { children, renderButton } = _a, props = __rest(_a, ["children", "renderButton"]);
3405
+ const PopoverTrigger = forwardRef(function PopoverTrigger({ children, renderButton, ...props }, propRef) {
3406
3406
  const context = usePopoverContext();
3407
3407
  // eslint-disable-next-line @typescript-eslint/no-explicit-any, local-rules/no-typescript-assertion
3408
3408
  const childrenRef = children.ref;
3409
3409
  const ref = useMergeRefs([context.refs.setReference, propRef, childrenRef]);
3410
3410
  if (!renderButton && isValidElement(children)) {
3411
- return cloneElement(children, context.getReferenceProps(Object.assign(Object.assign(Object.assign({ ref }, props), children.props), { "data-state": context.isOpen ? "open" : "closed" })));
3411
+ return cloneElement(children, context.getReferenceProps({
3412
+ ref,
3413
+ ...props,
3414
+ ...children.props,
3415
+ "data-state": context.isOpen ? "open" : "closed",
3416
+ }));
3412
3417
  }
3413
3418
  else {
3414
- return (jsx(Button, Object.assign({ "data-state": context.isOpen ? "open" : "closed", ref: ref, type: "button" }, context.getReferenceProps(props), { children: children })));
3419
+ return (jsx(Button, { "data-state": context.isOpen ? "open" : "closed", ref: ref, type: "button", ...context.getReferenceProps(props), children: children }));
3415
3420
  }
3416
3421
  });
3417
3422
 
@@ -3503,7 +3508,7 @@ const Tooltip = ({ children, dataTestId = "tool-tip", disabled, className, label
3503
3508
  if (disabled) {
3504
3509
  return wrappedChildren;
3505
3510
  }
3506
- return (jsxs(Popover, { activation: { hover: true }, className: cvaTooltipPopover(), dataTestId: dataTestId, placement: placement === "auto" ? "bottom" : placement, children: [jsx(PopoverTrigger, { className: cvaTooltipIcon({ color: mode, className }), "data-testid": dataTestId ? `${dataTestId}-trigger` : null, onMouseEnter: () => setIsOpen(true), onMouseLeave: () => setIsOpen(false), ref: refs.setReference, children: children === undefined ? (jsx("div", { children: jsx(Icon, Object.assign({ dataTestId: dataTestId ? `${dataTestId}-icon` : undefined, name: "QuestionMarkCircle", size: "small" }, iconProps)) })) : (wrappedChildren) }), isMounted ? (jsx("div", { ref: refs.setFloating, style: floatingStyles, children: jsx(PopoverContent, { children: jsxs("div", { "aria-label": typeof label === "string" ? label : undefined, className: cvaTooltipPopoverContent({ color: mode }), "data-testid": `${dataTestId}-content`, children: [jsx(Text, { inverted: mode === "dark", type: typeof label === "string" ? "p" : "span", children: label }), placement !== "auto" && jsx(FloatingArrowContainer, { arrowRef: arrowRef, mode: mode })] }) }) })) : null] }));
3511
+ return (jsxs(Popover, { activation: { hover: true }, className: cvaTooltipPopover(), dataTestId: dataTestId, placement: placement === "auto" ? "bottom" : placement, children: [jsx(PopoverTrigger, { className: cvaTooltipIcon({ color: mode, className }), "data-testid": dataTestId ? `${dataTestId}-trigger` : null, onMouseEnter: () => setIsOpen(true), onMouseLeave: () => setIsOpen(false), ref: refs.setReference, children: children === undefined ? (jsx("div", { children: jsx(Icon, { dataTestId: dataTestId ? `${dataTestId}-icon` : undefined, name: "QuestionMarkCircle", size: "small", ...iconProps }) })) : (wrappedChildren) }), isMounted ? (jsx("div", { ref: refs.setFloating, style: floatingStyles, children: jsx(PopoverContent, { children: jsxs("div", { "aria-label": typeof label === "string" ? label : undefined, className: cvaTooltipPopoverContent({ color: mode }), "data-testid": `${dataTestId}-content`, children: [jsx(Text, { inverted: mode === "dark", type: typeof label === "string" ? "p" : "span", children: label }), placement !== "auto" && jsx(FloatingArrowContainer, { arrowRef: arrowRef, mode: mode })] }) }) })) : null] }));
3507
3512
  };
3508
3513
 
3509
3514
  const cvaIndicator = cvaMerge(["flex", "items-center"]);
@@ -3604,9 +3609,8 @@ const cvaIndicatorIconBackground = cvaMerge(["rounded-full", "items-center", "ju
3604
3609
  * @param {IndicatorProps} props - The props for the Indicator component
3605
3610
  * @returns {JSX.Element} Indicator component
3606
3611
  */
3607
- const Indicator = (_a) => {
3608
- var { dataTestId, icon, label, color = "unknown", withBackground = true, withLabel = true, ping = false, className } = _a, rest = __rest(_a, ["dataTestId", "icon", "label", "color", "withBackground", "withLabel", "ping", "className"]);
3609
- return (jsx(Tooltip, { className: className, disabled: withLabel, label: label, placement: "bottom", children: jsxs("div", Object.assign({ "aria-label": label, className: cvaIndicator(), "data-testid": dataTestId }, rest, { children: [jsxs("div", { className: cvaIndicatorIconBackground({ color, background: withBackground ? "visible" : "hidden" }), "data-testid": dataTestId ? `${dataTestId}-background` : "indicator-background", children: [ping ? (jsx("div", { className: cvaIndicatorPing({ color }), "data-testid": dataTestId ? `${dataTestId}-ping` : "indicator-ping" })) : null, icon] }), label !== undefined && withLabel ? (jsx("div", { className: cvaIndicatorLabel(), "data-testid": dataTestId ? `${dataTestId}-label` : "indicator-label", children: label })) : null] })) }));
3612
+ const Indicator = ({ dataTestId, icon, label, color = "unknown", withBackground = true, withLabel = true, ping = false, className, ...rest }) => {
3613
+ return (jsx(Tooltip, { className: className, disabled: withLabel, label: label, placement: "bottom", children: jsxs("div", { "aria-label": label, className: cvaIndicator(), "data-testid": dataTestId, ...rest, children: [jsxs("div", { className: cvaIndicatorIconBackground({ color, background: withBackground ? "visible" : "hidden" }), "data-testid": dataTestId ? `${dataTestId}-background` : "indicator-background", children: [ping ? (jsx("div", { className: cvaIndicatorPing({ color }), "data-testid": dataTestId ? `${dataTestId}-ping` : "indicator-ping" })) : null, icon] }), label !== undefined && withLabel ? (jsx("div", { className: cvaIndicatorLabel(), "data-testid": dataTestId ? `${dataTestId}-label` : "indicator-label", children: label })) : null] }) }));
3610
3614
  };
3611
3615
 
3612
3616
  const cvaKPICardContainer = cvaMerge(["inline-flex"], {
@@ -3657,13 +3661,12 @@ const LoadingContent = () => (jsxs("div", { className: "flex flex-row items-cent
3657
3661
  * @param {KPICardProps} props - The props for the KPICard component
3658
3662
  * @returns {JSX.Element} KPICard component
3659
3663
  */
3660
- const KPICard = (_a) => {
3661
- var { asChild = false, title, value, loading, unit, iconName, iconBackgroundColor, className, dataTestId, tooltipLabel, isActive, onClick } = _a, rest = __rest(_a, ["asChild", "title", "value", "loading", "unit", "iconName", "iconBackgroundColor", "className", "dataTestId", "tooltipLabel", "isActive", "onClick"]);
3664
+ const KPICard = ({ asChild = false, title, value, loading, unit, iconName, iconBackgroundColor, className, dataTestId, tooltipLabel, isActive, onClick, ...rest }) => {
3662
3665
  const Comp = asChild ? Slot : "div";
3663
3666
  const CardContent = () => {
3664
3667
  return (jsx(Card, { className: cvaKPICard({ isClickable: Boolean((onClick || asChild) && !loading), isActive }), children: loading ? (jsx(LoadingContent, {})) : (jsxs(Fragment, { children: [iconName ? (jsx("div", { className: cvaKPICardIconContainer({ backgroundColor: iconBackgroundColor }), "data-testid": `${dataTestId}-icon-container`, children: jsx(Icon, { color: "white", dataTestId: `${dataTestId}-icon`, name: iconName, size: "medium" }) })) : null, jsxs("div", { children: [jsx(Text, { dataTestId: `${dataTestId}-title`, subtle: true, weight: "bold", children: title }), jsxs(Text, { dataTestId: `${dataTestId}-value`, size: "large", weight: "bold", children: [value, " ", unit] })] })] })) }));
3665
3668
  };
3666
- return (jsxs(Comp, Object.assign({ className: cvaKPICardContainer({ className, isClickable: Boolean(asChild || onClick) }), "data-testid": `${dataTestId}-comp`, onClick: onClick }, rest, { children: [tooltipLabel ? (jsx(Tooltip, { className: "w-full", label: tooltipLabel, placement: "bottom", children: jsx(CardContent, {}) })) : (jsx(CardContent, {})), !loading && jsx(Slottable, { children: rest.children })] })));
3669
+ return (jsxs(Comp, { className: cvaKPICardContainer({ className, isClickable: Boolean(asChild || onClick) }), "data-testid": `${dataTestId}-comp`, onClick: onClick, ...rest, children: [tooltipLabel ? (jsx(Tooltip, { className: "w-full", label: tooltipLabel, placement: "bottom", children: jsx(CardContent, {}) })) : (jsx(CardContent, {})), !loading && jsx(Slottable, { children: rest.children })] }));
3667
3670
  };
3668
3671
 
3669
3672
  const cvaMenuItem = cvaMerge([
@@ -3742,7 +3745,7 @@ const cvaMenuItemPrefix = cvaMerge(["self-center", "flex-grow-0", "text-slate-40
3742
3745
  */
3743
3746
  const MenuItem = ({ className, dataTestId, label, size, children, selected, focused, prefix, suffix, disabled, onClick, stopPropagation = true, id, tabIndex, }) => {
3744
3747
  const containerProps = useContainerProps({ className, dataTestId: dataTestId || "menu-item" });
3745
- return (jsxs("div", Object.assign({}, containerProps, { className: cvaMenuItem({
3748
+ return (jsxs("div", { ...containerProps, className: cvaMenuItem({
3746
3749
  selected,
3747
3750
  focused,
3748
3751
  disabled,
@@ -3751,7 +3754,7 @@ const MenuItem = ({ className, dataTestId, label, size, children, selected, focu
3751
3754
  }), id: id, onClick: e => {
3752
3755
  stopPropagation && e.stopPropagation();
3753
3756
  onClick && onClick(e);
3754
- }, tabIndex: tabIndex !== null && tabIndex !== void 0 ? tabIndex : 0, children: [prefix ? (jsx("div", { className: cvaMenuItemPrefix({ selected }), "data-testid": dataTestId ? `${dataTestId}-prefix` : null, children: prefix })) : null, children && typeof children !== "string" ? (children) : (jsx("div", { className: cvaMenuItemLabel(), "data-testid": dataTestId ? `${dataTestId}-label` : null, children: children !== null && children !== void 0 ? children : label })), suffix ? (jsx("div", { className: cvaMenuItemSuffix({ selected }), "data-testid": dataTestId ? `${dataTestId}-suffix` : null, children: suffix })) : null] })));
3757
+ }, tabIndex: tabIndex !== null && tabIndex !== void 0 ? tabIndex : 0, children: [prefix ? (jsx("div", { className: cvaMenuItemPrefix({ selected }), "data-testid": dataTestId ? `${dataTestId}-prefix` : null, children: prefix })) : null, children && typeof children !== "string" ? (children) : (jsx("div", { className: cvaMenuItemLabel(), "data-testid": dataTestId ? `${dataTestId}-label` : null, children: children !== null && children !== void 0 ? children : label })), suffix ? (jsx("div", { className: cvaMenuItemSuffix({ selected }), "data-testid": dataTestId ? `${dataTestId}-suffix` : null, children: suffix })) : null] }));
3755
3758
  };
3756
3759
 
3757
3760
  const cvaMenuList = cvaMerge(["shadow-md", "rounded-lg", "z-20", "bg-white", "p-1", "border", "border-slate-300", "gap-1", "grid"], {
@@ -3775,8 +3778,7 @@ const cvaMenuListDivider = cvaMerge([
3775
3778
  * @param {MenuListProps} props - The props for the MenuList component
3776
3779
  * @returns {JSX.Element} MenuList component
3777
3780
  */
3778
- const MenuList = (_a) => {
3779
- var { dataTestId, className, children, withStickyHeader = false, showDivider = false } = _a, args = __rest(_a, ["dataTestId", "className", "children", "withStickyHeader", "showDivider"]);
3781
+ const MenuList = ({ dataTestId, className, children, withStickyHeader = false, showDivider = false, ...args }) => {
3780
3782
  const childrenArr = Children.toArray(children);
3781
3783
  const isLastItem = (index) => index === childrenArr.length - 1;
3782
3784
  return (jsx("div", { className: cvaMenuList({ stickyHeader: withStickyHeader, className }), "data-testid": dataTestId, onClick: args.onClick, role: "list", tabIndex: 0, children: Children.map(childrenArr, (menuItem, index) => (jsxs(Fragment, { children: [menuItem, showDivider && !isLastItem(index) ? jsx("hr", { className: cvaMenuListDivider() }) : null] }))) }));
@@ -3800,7 +3802,7 @@ const MoreMenu = ({ className, dataTestId, popoverProps, iconProps = {
3800
3802
  variant: "secondary",
3801
3803
  }, customButton, customPortalId, children, }) => {
3802
3804
  const actionMenuRef = useRef(null);
3803
- return (jsx("div", { className: cvaMoreMenu({ className }), "data-testid": dataTestId, ref: actionMenuRef, children: jsxs(Popover, Object.assign({}, popoverProps, { children: [jsx(PopoverTrigger, { children: customButton !== null && customButton !== void 0 ? customButton : jsx(IconButton, Object.assign({}, iconButtonProps, { icon: jsx(Icon, Object.assign({ name: "EllipsisHorizontal" }, iconProps)) })) }), jsx(PopoverContent, { portalId: customPortalId, children: close => (typeof children === "function" ? children(close) : children) })] })) }));
3805
+ return (jsx("div", { className: cvaMoreMenu({ className }), "data-testid": dataTestId, ref: actionMenuRef, children: jsxs(Popover, { ...popoverProps, children: [jsx(PopoverTrigger, { children: customButton !== null && customButton !== void 0 ? customButton : jsx(IconButton, { ...iconButtonProps, icon: jsx(Icon, { name: "EllipsisHorizontal", ...iconProps }) }) }), jsx(PopoverContent, { portalId: customPortalId, children: close => (typeof children === "function" ? children(close) : children) })] }) }));
3804
3806
  };
3805
3807
 
3806
3808
  const cvaNotice = cvaMerge(["flex", "items-center"]);
@@ -3853,9 +3855,8 @@ const cvaNoticeIcon = cvaMerge(["rounded-full", "items-center", "justify-center"
3853
3855
  * @param {NoticeProps} props - The props for the Notice component
3854
3856
  * @returns {JSX.Element} Notice component
3855
3857
  */
3856
- const Notice = (_a) => {
3857
- var { dataTestId, icon, label, color = "neutral", withLabel = true, className, tooltipLabel = label, withTooltip = false } = _a, rest = __rest(_a, ["dataTestId", "icon", "label", "color", "withLabel", "className", "tooltipLabel", "withTooltip"]);
3858
- return (jsx(Tooltip, { className: className, disabled: !withTooltip, label: tooltipLabel, placement: "bottom", children: jsxs("div", Object.assign({ "aria-label": label, className: cvaNotice(), "data-testid": dataTestId }, rest, { children: [jsx("div", { className: cvaNoticeIcon({ color }), "data-testid": dataTestId ? `${dataTestId}-icon` : "notice-icon", children: icon }), label !== undefined && withLabel ? (jsx("div", { className: cvaNoticeLabel({ color }), "data-testid": dataTestId ? `${dataTestId}-label` : "notice-label", children: label })) : null] })) }));
3858
+ const Notice = ({ dataTestId, icon, label, color = "neutral", withLabel = true, className, tooltipLabel = label, withTooltip = false, ...rest }) => {
3859
+ return (jsx(Tooltip, { className: className, disabled: !withTooltip, label: tooltipLabel, placement: "bottom", children: jsxs("div", { "aria-label": label, className: cvaNotice(), "data-testid": dataTestId, ...rest, children: [jsx("div", { className: cvaNoticeIcon({ color }), "data-testid": dataTestId ? `${dataTestId}-icon` : "notice-icon", children: icon }), label !== undefined && withLabel ? (jsx("div", { className: cvaNoticeLabel({ color }), "data-testid": dataTestId ? `${dataTestId}-label` : "notice-label", children: label })) : null] }) }));
3859
3860
  };
3860
3861
 
3861
3862
  const cvaPage = cvaMerge(["grid", "h-full"], {
@@ -4111,7 +4112,7 @@ const useOverflowItems = ({ threshold = 1, childUniqueIdentifierAttribute = "id"
4111
4112
  updatedEntries[targetElementId] = entry.isIntersecting ? false : true;
4112
4113
  }
4113
4114
  });
4114
- setItemOverflowMap(prev => (Object.assign(Object.assign({}, prev), updatedEntries)));
4115
+ setItemOverflowMap(prev => ({ ...prev, ...updatedEntries }));
4115
4116
  }, [childUniqueIdentifierAttribute]);
4116
4117
  const observe = useCallback(() => {
4117
4118
  const node = overflowContainerRef.current;
@@ -4172,10 +4173,10 @@ const Sidebar = ({ childContainerClassName, children, breakpoint = "lg", classNa
4172
4173
  return React__default.cloneElement(child, {
4173
4174
  className: twMerge(child.props.className, itemVisibilityClassName(child.props.id)),
4174
4175
  });
4175
- }) }), overflowItemCount > 0 ? (jsx(MoreMenu, Object.assign({ iconButtonProps: {
4176
+ }) }), overflowItemCount > 0 ? (jsx(MoreMenu, { iconButtonProps: {
4176
4177
  circular: false,
4177
4178
  variant: "ghost-neutral",
4178
- }, popoverProps: { placement: "bottom-end" } }, moreMenuProps, { className: twMerge(moreMenuProps === null || moreMenuProps === void 0 ? void 0 : moreMenuProps.className, "!p-0"), dataTestId: dataTestId ? `${dataTestId}-more-menu` : undefined, children: close => (jsx(MenuList, Object.assign({}, menuListProps, { dataTestId: dataTestId ? `${dataTestId}-menu-list` : undefined, children: React__default.Children.map(children, child => {
4179
+ }, popoverProps: { placement: "bottom-end" }, ...moreMenuProps, className: twMerge(moreMenuProps === null || moreMenuProps === void 0 ? void 0 : moreMenuProps.className, "!p-0"), dataTestId: dataTestId ? `${dataTestId}-more-menu` : undefined, children: close => (jsx(MenuList, { ...menuListProps, dataTestId: dataTestId ? `${dataTestId}-menu-list` : undefined, children: React__default.Children.map(children, child => {
4179
4180
  return itemOverflowMap[child.props.id]
4180
4181
  ? React__default.cloneElement(child, {
4181
4182
  onClick: () => {
@@ -4185,7 +4186,7 @@ const Sidebar = ({ childContainerClassName, children, breakpoint = "lg", classNa
4185
4186
  },
4186
4187
  })
4187
4188
  : null;
4188
- }) }))) }))) : null] }));
4189
+ }) })) })) : null] }));
4189
4190
  };
4190
4191
 
4191
4192
  const cvaTabsRoot = cvaMerge([]);
@@ -4239,35 +4240,37 @@ const cvaTab = cvaMerge([
4239
4240
  * Wrapper for radix tab component.
4240
4241
  * We add a custom implementation of the asChild prop to make it easy to make the child element look like other tabs.
4241
4242
  */
4242
- const Tab = (_a) => {
4243
- var { value, isFullWidth = false, iconName, dataTestId, className, children, suffix, asChild, appendTabStylesToChildIfAsChild = true } = _a, rest = __rest(_a, ["value", "isFullWidth", "iconName", "dataTestId", "className", "children", "suffix", "asChild", "appendTabStylesToChildIfAsChild"]);
4243
+ const Tab = ({ value, isFullWidth = false, iconName, dataTestId, className, children, suffix, asChild, appendTabStylesToChildIfAsChild = true, ...rest }) => {
4244
4244
  const renderContent = () => (jsxs(Fragment, { children: [iconName ? jsx(Icon, { name: iconName, size: "small" }) : null, React__default.isValidElement(children) ? children.props.children : children, suffix] }));
4245
- const commonProps = Object.assign({ className: appendTabStylesToChildIfAsChild ? cvaTab({ className, isFullWidth }) : className }, rest);
4246
- return (jsx(Trigger, { asChild: true, value: value, children: asChild && typeof children !== "string" ? (React__default.cloneElement(children, Object.assign(Object.assign({}, commonProps), { children: renderContent() }))) : (jsx("button", Object.assign({}, commonProps, { "data-testid": dataTestId, children: renderContent() }))) }));
4245
+ const commonProps = {
4246
+ className: appendTabStylesToChildIfAsChild ? cvaTab({ className, isFullWidth }) : className,
4247
+ ...rest,
4248
+ };
4249
+ return (jsx(Trigger, { asChild: true, value: value, children: asChild && typeof children !== "string" ? (React__default.cloneElement(children, {
4250
+ ...commonProps,
4251
+ children: renderContent(),
4252
+ })) : (jsx("button", { ...commonProps, "data-testid": dataTestId, children: renderContent() })) }));
4247
4253
  };
4248
4254
 
4249
4255
  /**
4250
4256
  * Wrapper for radix tab content component.
4251
4257
  */
4252
- const TabContent = (_a) => {
4253
- var { className, dataTestId, children } = _a, rest = __rest(_a, ["className", "dataTestId", "children"]);
4254
- return (jsx(Content, Object.assign({ className: cvaTabContent({ className }), "data-testid": dataTestId ? `${dataTestId}-content` : undefined }, rest, { children: children })));
4258
+ const TabContent = ({ className, dataTestId, children, ...rest }) => {
4259
+ return (jsx(Content, { className: cvaTabContent({ className }), "data-testid": dataTestId ? `${dataTestId}-content` : undefined, ...rest, children: children }));
4255
4260
  };
4256
4261
 
4257
4262
  /**
4258
4263
  * Wrapper for radix tab list component.
4259
4264
  */
4260
- const TabList = (_a) => {
4261
- var { className, dataTestId, children } = _a, rest = __rest(_a, ["className", "dataTestId", "children"]);
4262
- return (jsx(List, Object.assign({ className: cvaTabList({ className }), "data-testid": dataTestId }, rest, { children: children })));
4265
+ const TabList = ({ className, dataTestId, children, ...rest }) => {
4266
+ return (jsx(List, { className: cvaTabList({ className }), "data-testid": dataTestId, ...rest, children: children }));
4263
4267
  };
4264
4268
 
4265
4269
  /**
4266
4270
  * Tabs are used to group different but related content, allowing users to navigate views without leaving the page. They always contain at least two items and one tab is active at a time. Tabs can be used on full page layouts or in components such as modals or tables.
4267
4271
  */
4268
- const Tabs = (_a) => {
4269
- var { children, forceRender, className, dataTestId, fullWidth } = _a, rest = __rest(_a, ["children", "forceRender", "className", "dataTestId", "fullWidth"]);
4270
- return (jsx(Root, Object.assign({ className: cvaTabsRoot({ className }), "data-testid": dataTestId }, rest, { children: children })));
4272
+ const Tabs = ({ children, forceRender, className, dataTestId, fullWidth, ...rest }) => {
4273
+ return (jsx(Root, { className: cvaTabsRoot({ className }), "data-testid": dataTestId, ...rest, children: children }));
4271
4274
  };
4272
4275
 
4273
4276
  const cvaTimeline = cvaMerge("ml-4");
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@trackunit/react-components",
3
- "version": "0.1.385",
3
+ "version": "0.1.388",
4
4
  "repository": "https://github.com/Trackunit/manager",
5
5
  "license": "SEE LICENSE IN LICENSE.txt",
6
6
  "engines": {
@@ -9,7 +9,7 @@
9
9
  "dependencies": {
10
10
  "@trackunit/ui-design-tokens": "*",
11
11
  "@radix-ui/react-slot": "^1.0.2",
12
- "react": "^18.2.0",
12
+ "react": "18.3.1",
13
13
  "@trackunit/css-class-variance-utilities": "*",
14
14
  "react-use": "^17.4.0",
15
15
  "date-fns": "^2.30.0",
@@ -20,7 +20,7 @@
20
20
  "zod": "3.22.4",
21
21
  "lodash": "4.17.21",
22
22
  "jest-fetch-mock": "^3.0.3",
23
- "@testing-library/react": "14.0.0",
23
+ "@testing-library/react": "15.0.6",
24
24
  "@floating-ui/react": "^0.26.6",
25
25
  "@tanstack/react-router": "1.46.8",
26
26
  "string-ts": "^2.0.0",
@@ -29,5 +29,6 @@
29
29
  "uuid": "^9.0.1"
30
30
  },
31
31
  "module": "./index.esm.js",
32
- "main": "./index.cjs.js"
33
- }
32
+ "main": "./index.cjs.js",
33
+ "types": "./index.esm.d.ts"
34
+ }
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  interface PackageNameStoryComponentProps {
3
2
  packageJSON?: {
4
3
  name?: string;
@@ -8,5 +7,5 @@ interface PackageNameStoryComponentProps {
8
7
  /**
9
8
  * A component used to display the package name and version in the Storybook docs.
10
9
  */
11
- export declare const PackageNameStoryComponent: ({ packageJSON }: PackageNameStoryComponentProps) => JSX.Element;
10
+ export declare const PackageNameStoryComponent: ({ packageJSON }: PackageNameStoryComponentProps) => import("react/jsx-runtime").JSX.Element;
12
11
  export {};
@@ -46,4 +46,4 @@ export interface AlertProps extends CommonProps {
46
46
  * @param {AlertProps} props - The props for the Alert component
47
47
  * @returns {JSX.Element} Alert component
48
48
  */
49
- export declare const Alert: ({ color, title, className, children, primaryAction, secondaryAction, onClose, dataTestId, autoScroll, }: AlertProps) => JSX.Element;
49
+ export declare const Alert: ({ color, title, className, children, primaryAction, secondaryAction, onClose, dataTestId, autoScroll, }: AlertProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { ThemeColors } from "@trackunit/ui-design-tokens";
3
2
  import { CommonProps } from "../../common/CommonProps";
4
3
  type BadgeColors = Extract<ThemeColors, "primary" | "danger" | "warning">;
@@ -38,5 +37,5 @@ export type BadgeProps = BaseBadgeProps;
38
37
  * @param {BadgeProps} props - The props for the Badge component
39
38
  * @returns {JSX.Element} Badge component
40
39
  */
41
- export declare const Badge: ({ color, className, count, max, hideZero, dataTestId, ...rest }: BadgeProps) => JSX.Element | null;
40
+ export declare const Badge: ({ color, className, count, max, hideZero, dataTestId, ...rest }: BadgeProps) => import("react/jsx-runtime").JSX.Element | null;
42
41
  export {};
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { BreadcrumbContainerProps, BreadcrumbItemRenderProps, BreadcrumbProps } from "./utils/types";
3
2
  /**
4
3
  * The breadcrumb component shows a user's location in a website or application. Breadcrumbs are particularly useful when a large amount of content is organized in a hierarchical manner. They streamline navigation, minimize the steps required to revisit previous pages, and offer contextual insights to the users.
@@ -13,14 +12,14 @@ import { BreadcrumbContainerProps, BreadcrumbItemRenderProps, BreadcrumbProps }
13
12
  * @param {BreadcrumbProps} props - The props for the Breadcrumb component
14
13
  * @returns {JSX.Element} Breadcrumb component
15
14
  */
16
- export declare const Breadcrumb: ({ className, dataTestId, breadcrumbItems, back }: BreadcrumbProps) => JSX.Element;
15
+ export declare const Breadcrumb: ({ className, dataTestId, breadcrumbItems, back }: BreadcrumbProps) => import("react/jsx-runtime").JSX.Element;
17
16
  /**
18
17
  * BreadcrumbContainer is a helper component that renders the breadcrumb items based on the screen size.
19
18
  *
20
19
  * @param {BreadcrumbContainerProps} props - The props for the BreadcrumbContainer component
21
20
  */
22
- export declare const BreadcrumbContainer: ({ dataTestId, breadcrumbItems }: BreadcrumbContainerProps) => JSX.Element;
21
+ export declare const BreadcrumbContainer: ({ dataTestId, breadcrumbItems }: BreadcrumbContainerProps) => import("react/jsx-runtime").JSX.Element;
23
22
  /**
24
23
  * BreadcrumbItem is a helper component that renders the individual breadcrumb item.
25
24
  */
26
- export declare const BreadcrumbItem: ({ item, dataTestId }: BreadcrumbItemRenderProps) => JSX.Element;
25
+ export declare const BreadcrumbItem: ({ item, dataTestId }: BreadcrumbItemRenderProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,6 +1,5 @@
1
- /// <reference types="react" />
2
1
  import { BreadcrumbContainerProps } from "./utils/types";
3
2
  /**
4
3
  * BreadcrumbForLargeScreen is a helper component that renders the breadcrumb items for large screens.
5
4
  */
6
- export declare const BreadcrumbForLargeScreen: ({ dataTestId, breadcrumbItems }: BreadcrumbContainerProps) => JSX.Element;
5
+ export declare const BreadcrumbForLargeScreen: ({ dataTestId, breadcrumbItems }: BreadcrumbContainerProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,6 +1,5 @@
1
- /// <reference types="react" />
2
1
  import { BreadcrumbContainerProps } from "./utils/types";
3
2
  /**
4
3
  * BreadcrumbForMediumScreen is a helper component that renders the breadcrumb items for medium screens.
5
4
  */
6
- export declare const BreadcrumbForMediumScreen: ({ dataTestId, breadcrumbItems }: BreadcrumbContainerProps) => JSX.Element;
5
+ export declare const BreadcrumbForMediumScreen: ({ dataTestId, breadcrumbItems }: BreadcrumbContainerProps) => import("react/jsx-runtime").JSX.Element;