@trackunit/react-components 1.7.36 → 1.7.41

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
@@ -3157,7 +3157,7 @@ const cvaMenuItemStyle = cssClassVarianceUtilities.cvaMerge(["py-2", "px-2", "h-
3157
3157
  disabled: false,
3158
3158
  },
3159
3159
  });
3160
- const cvaMenuItemLabel = cssClassVarianceUtilities.cvaMerge(["flex-grow", "truncate", "text-black", "font-normal"], {
3160
+ const cvaMenuItemLabel = cssClassVarianceUtilities.cvaMerge(["flex-grow", "truncate", "text-black", "font-normal", "flex", "items-center"], {
3161
3161
  variants: {
3162
3162
  variant: {
3163
3163
  primary: [],
@@ -3173,7 +3173,15 @@ const cvaMenuItemLabel = cssClassVarianceUtilities.cvaMerge(["flex-grow", "trunc
3173
3173
  disabled: false,
3174
3174
  },
3175
3175
  });
3176
- const cvaMenuItemPrefix = cssClassVarianceUtilities.cvaMerge(["text-secondary-400", "hover:text-secondary-500", "focus:text-secondary-500", "h-min", "leading-[0]"], {
3176
+ const cvaMenuItemPrefix = cssClassVarianceUtilities.cvaMerge([
3177
+ "text-secondary-400",
3178
+ "hover:text-secondary-500",
3179
+ "focus:text-secondary-500",
3180
+ "h-min",
3181
+ "leading-[0]",
3182
+ "flex",
3183
+ "items-center",
3184
+ ], {
3177
3185
  variants: {
3178
3186
  selected: {
3179
3187
  true: "text-secondary-600",
@@ -3193,7 +3201,7 @@ const cvaMenuItemPrefix = cssClassVarianceUtilities.cvaMerge(["text-secondary-40
3193
3201
  disabled: false,
3194
3202
  },
3195
3203
  });
3196
- const cvaMenuItemSuffix = cssClassVarianceUtilities.cvaMerge(["text-secondary-400", "text-sm"], {
3204
+ const cvaMenuItemSuffix = cssClassVarianceUtilities.cvaMerge(["text-secondary-400", "text-sm", "flex", "items-center"], {
3197
3205
  variants: {
3198
3206
  selected: {
3199
3207
  true: "text-secondary-600",
@@ -3220,7 +3228,7 @@ const cvaMenuItemSuffix = cssClassVarianceUtilities.cvaMerge(["text-secondary-40
3220
3228
  * @param {MenuItemProps} props - The props for the MenuItem component
3221
3229
  * @returns {ReactElement} MenuItem component
3222
3230
  */
3223
- const MenuItem = ({ className, dataTestId, label, children, selected, focused, prefix, suffix, disabled, onClick, stopPropagation = true, id, tabIndex, optionLabelDescription, fieldSize = "medium", variant = "primary", }) => {
3231
+ const MenuItem = ({ className, dataTestId, label, children, selected, focused, prefix, suffix, disabled, onClick, stopPropagation = true, id, tabIndex, optionLabelDescription, optionPrefix, fieldSize = "medium", variant = "primary", }) => {
3224
3232
  /* Handle tab navigation */
3225
3233
  const handleKeyDown = (e) => {
3226
3234
  if (e.key === "Enter" && onClick && !disabled) {
@@ -3243,7 +3251,7 @@ const MenuItem = ({ className, dataTestId, label, children, selected, focused, p
3243
3251
  e.stopPropagation();
3244
3252
  }
3245
3253
  onClick?.(e);
3246
- }, onKeyDown: handleKeyDown, role: "menuitem", tabIndex: disabled ? -1 : (tabIndex ?? 0), children: [prefix ? (jsxRuntime.jsx("div", { className: cvaMenuItemPrefix({ selected, variant, disabled }), "data-testid": dataTestId ? `${dataTestId}-prefix` : "menu-item-prefix", children: prefix })) : null, children && typeof children !== "string" ? (children) : (jsxRuntime.jsxs("div", { className: cvaMenuItemLabel({ variant, disabled }), "data-testid": dataTestId ? `${dataTestId}-label` : "menu-item-label", children: [children ?? label, optionLabelDescription ? jsxRuntime.jsxs("span", { className: "text-secondary-400 ml-1", children: ["(", optionLabelDescription, ")"] }) : null] })), suffix ? (jsxRuntime.jsx("div", { className: cvaMenuItemSuffix({ selected, variant, disabled, className: "flex items-center" }), "data-testid": dataTestId ? `${dataTestId}-suffix` : "menu-item-suffix", children: suffix })) : null] }));
3254
+ }, onKeyDown: handleKeyDown, role: "menuitem", tabIndex: disabled ? -1 : (tabIndex ?? 0), children: [prefix ? (jsxRuntime.jsx("div", { className: cvaMenuItemPrefix({ selected, variant, disabled }), "data-testid": dataTestId ? `${dataTestId}-prefix` : "menu-item-prefix", children: prefix })) : null, children && typeof children !== "string" ? (children) : (jsxRuntime.jsxs("div", { className: cvaMenuItemLabel({ variant, disabled }), "data-testid": dataTestId ? `${dataTestId}-label` : "menu-item-label", children: [optionPrefix ? optionPrefix : null, children ?? label, optionLabelDescription ? jsxRuntime.jsxs("span", { className: "text-secondary-400 ml-1", children: ["(", optionLabelDescription, ")"] }) : null] })), suffix ? (jsxRuntime.jsx("div", { className: cvaMenuItemSuffix({ selected, variant, disabled }), "data-testid": dataTestId ? `${dataTestId}-suffix` : "menu-item-suffix", children: suffix })) : null] }));
3247
3255
  };
3248
3256
 
3249
3257
  /**
package/index.esm.js CHANGED
@@ -3155,7 +3155,7 @@ const cvaMenuItemStyle = cvaMerge(["py-2", "px-2", "h-auto", "flex", "flex-row",
3155
3155
  disabled: false,
3156
3156
  },
3157
3157
  });
3158
- const cvaMenuItemLabel = cvaMerge(["flex-grow", "truncate", "text-black", "font-normal"], {
3158
+ const cvaMenuItemLabel = cvaMerge(["flex-grow", "truncate", "text-black", "font-normal", "flex", "items-center"], {
3159
3159
  variants: {
3160
3160
  variant: {
3161
3161
  primary: [],
@@ -3171,7 +3171,15 @@ const cvaMenuItemLabel = cvaMerge(["flex-grow", "truncate", "text-black", "font-
3171
3171
  disabled: false,
3172
3172
  },
3173
3173
  });
3174
- const cvaMenuItemPrefix = cvaMerge(["text-secondary-400", "hover:text-secondary-500", "focus:text-secondary-500", "h-min", "leading-[0]"], {
3174
+ const cvaMenuItemPrefix = cvaMerge([
3175
+ "text-secondary-400",
3176
+ "hover:text-secondary-500",
3177
+ "focus:text-secondary-500",
3178
+ "h-min",
3179
+ "leading-[0]",
3180
+ "flex",
3181
+ "items-center",
3182
+ ], {
3175
3183
  variants: {
3176
3184
  selected: {
3177
3185
  true: "text-secondary-600",
@@ -3191,7 +3199,7 @@ const cvaMenuItemPrefix = cvaMerge(["text-secondary-400", "hover:text-secondary-
3191
3199
  disabled: false,
3192
3200
  },
3193
3201
  });
3194
- const cvaMenuItemSuffix = cvaMerge(["text-secondary-400", "text-sm"], {
3202
+ const cvaMenuItemSuffix = cvaMerge(["text-secondary-400", "text-sm", "flex", "items-center"], {
3195
3203
  variants: {
3196
3204
  selected: {
3197
3205
  true: "text-secondary-600",
@@ -3218,7 +3226,7 @@ const cvaMenuItemSuffix = cvaMerge(["text-secondary-400", "text-sm"], {
3218
3226
  * @param {MenuItemProps} props - The props for the MenuItem component
3219
3227
  * @returns {ReactElement} MenuItem component
3220
3228
  */
3221
- const MenuItem = ({ className, dataTestId, label, children, selected, focused, prefix, suffix, disabled, onClick, stopPropagation = true, id, tabIndex, optionLabelDescription, fieldSize = "medium", variant = "primary", }) => {
3229
+ const MenuItem = ({ className, dataTestId, label, children, selected, focused, prefix, suffix, disabled, onClick, stopPropagation = true, id, tabIndex, optionLabelDescription, optionPrefix, fieldSize = "medium", variant = "primary", }) => {
3222
3230
  /* Handle tab navigation */
3223
3231
  const handleKeyDown = (e) => {
3224
3232
  if (e.key === "Enter" && onClick && !disabled) {
@@ -3241,7 +3249,7 @@ const MenuItem = ({ className, dataTestId, label, children, selected, focused, p
3241
3249
  e.stopPropagation();
3242
3250
  }
3243
3251
  onClick?.(e);
3244
- }, onKeyDown: handleKeyDown, role: "menuitem", tabIndex: disabled ? -1 : (tabIndex ?? 0), children: [prefix ? (jsx("div", { className: cvaMenuItemPrefix({ selected, variant, disabled }), "data-testid": dataTestId ? `${dataTestId}-prefix` : "menu-item-prefix", children: prefix })) : null, children && typeof children !== "string" ? (children) : (jsxs("div", { className: cvaMenuItemLabel({ variant, disabled }), "data-testid": dataTestId ? `${dataTestId}-label` : "menu-item-label", children: [children ?? label, optionLabelDescription ? jsxs("span", { className: "text-secondary-400 ml-1", children: ["(", optionLabelDescription, ")"] }) : null] })), suffix ? (jsx("div", { className: cvaMenuItemSuffix({ selected, variant, disabled, className: "flex items-center" }), "data-testid": dataTestId ? `${dataTestId}-suffix` : "menu-item-suffix", children: suffix })) : null] }));
3252
+ }, onKeyDown: handleKeyDown, role: "menuitem", tabIndex: disabled ? -1 : (tabIndex ?? 0), children: [prefix ? (jsx("div", { className: cvaMenuItemPrefix({ selected, variant, disabled }), "data-testid": dataTestId ? `${dataTestId}-prefix` : "menu-item-prefix", children: prefix })) : null, children && typeof children !== "string" ? (children) : (jsxs("div", { className: cvaMenuItemLabel({ variant, disabled }), "data-testid": dataTestId ? `${dataTestId}-label` : "menu-item-label", children: [optionPrefix ? optionPrefix : null, children ?? label, optionLabelDescription ? jsxs("span", { className: "text-secondary-400 ml-1", children: ["(", optionLabelDescription, ")"] }) : null] })), suffix ? (jsx("div", { className: cvaMenuItemSuffix({ selected, variant, disabled }), "data-testid": dataTestId ? `${dataTestId}-suffix` : "menu-item-suffix", children: suffix })) : null] }));
3245
3253
  };
3246
3254
 
3247
3255
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@trackunit/react-components",
3
- "version": "1.7.36",
3
+ "version": "1.7.41",
4
4
  "repository": "https://github.com/Trackunit/manager",
5
5
  "license": "SEE LICENSE IN LICENSE.txt",
6
6
  "engines": {
@@ -17,12 +17,12 @@
17
17
  "@floating-ui/react": "^0.26.25",
18
18
  "string-ts": "^2.0.0",
19
19
  "tailwind-merge": "^2.0.0",
20
- "@trackunit/ui-design-tokens": "1.6.28",
21
- "@trackunit/css-class-variance-utilities": "1.6.27",
22
- "@trackunit/shared-utils": "1.8.27",
23
- "@trackunit/ui-icons": "1.6.26",
24
- "@trackunit/react-table-pagination": "1.6.26",
25
- "@trackunit/react-test-setup": "1.3.27",
20
+ "@trackunit/ui-design-tokens": "1.6.31",
21
+ "@trackunit/css-class-variance-utilities": "1.6.30",
22
+ "@trackunit/shared-utils": "1.8.30",
23
+ "@trackunit/ui-icons": "1.6.29",
24
+ "@trackunit/react-table-pagination": "1.6.29",
25
+ "@trackunit/react-test-setup": "1.3.30",
26
26
  "@tanstack/react-router": "1.114.29"
27
27
  },
28
28
  "module": "./index.esm.js",
@@ -71,6 +71,11 @@ export interface MenuItemProps extends CommonProps {
71
71
  * Adds a suffixed description to the label, ie. (CustomerID 1234)
72
72
  */
73
73
  optionLabelDescription?: string;
74
+ /**
75
+ * Adds a prefix to the label
76
+ * This is typically used to render an icon.
77
+ */
78
+ optionPrefix?: ReactNode;
74
79
  /**
75
80
  * The size of the field.
76
81
  *
@@ -85,4 +90,4 @@ export interface MenuItemProps extends CommonProps {
85
90
  * @param {MenuItemProps} props - The props for the MenuItem component
86
91
  * @returns {ReactElement} MenuItem component
87
92
  */
88
- export declare const MenuItem: ({ className, dataTestId, label, children, selected, focused, prefix, suffix, disabled, onClick, stopPropagation, id, tabIndex, optionLabelDescription, fieldSize, variant, }: MenuItemProps) => import("react/jsx-runtime").JSX.Element;
93
+ export declare const MenuItem: ({ className, dataTestId, label, children, selected, focused, prefix, suffix, disabled, onClick, stopPropagation, id, tabIndex, optionLabelDescription, optionPrefix, fieldSize, variant, }: MenuItemProps) => import("react/jsx-runtime").JSX.Element;