@uxf/ui 11.22.0 → 11.22.1

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@uxf/ui",
3
- "version": "11.22.0",
3
+ "version": "11.22.1",
4
4
  "description": "",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -1,5 +1,6 @@
1
1
  import React, { CSSProperties, ForwardedRef, ReactNode } from "react";
2
2
  interface TabsButtonListProps {
3
+ className?: string;
3
4
  isVertical?: boolean;
4
5
  children: ReactNode;
5
6
  onKeyDown: React.KeyboardEventHandler<HTMLDivElement>;
@@ -30,7 +30,7 @@ function Component(props, ref) {
30
30
  var _a;
31
31
  return (
32
32
  // eslint-disable-next-line jsx-a11y/interactive-supports-focus
33
- react_1.default.createElement("div", { ref: ref, className: (0, cx_1.cx)("uxf-tabs__button-list", props.isVertical ? "uxf-tabs__button-list--vertical" : "uxf-tabs__button-list--horizontal", `uxf-tabs__button-list--variant-${(_a = props.variant) !== null && _a !== void 0 ? _a : "default"}`), role: "tablist", onKeyDown: props.onKeyDown, style: props.style }, props.children));
33
+ react_1.default.createElement("div", { ref: ref, className: (0, cx_1.cx)("uxf-tabs__button-list", props.isVertical ? "uxf-tabs__button-list--vertical" : "uxf-tabs__button-list--horizontal", `uxf-tabs__button-list--variant-${(_a = props.variant) !== null && _a !== void 0 ? _a : "default"}`, props.className), role: "tablist", onKeyDown: props.onKeyDown, style: props.style }, props.children));
34
34
  }
35
35
  exports.Component = Component;
36
36
  exports.TabsButtonList = (0, react_1.forwardRef)(Component);
package/tabs/tabs.d.ts CHANGED
@@ -1,15 +1,16 @@
1
1
  import { TabsVariant } from "@uxf/ui/tabs/theme";
2
2
  import React, { ReactNode } from "react";
3
3
  import { Panel } from "./panel";
4
- export interface TabsProps {
4
+ export interface TabsProps<TValue> {
5
5
  className?: string;
6
+ classNameButtonList?: string;
6
7
  children: ReactNode;
7
- value: string;
8
- onChange: (value: string) => void;
8
+ value: TValue;
9
+ onChange: (value: TValue) => void;
9
10
  isVertical?: boolean;
10
11
  variant?: TabsVariant;
11
12
  }
12
- declare function Root(props: TabsProps): React.JSX.Element;
13
+ declare function Root<TValue>(props: TabsProps<TValue>): React.JSX.Element;
13
14
  declare namespace Root {
14
15
  var displayName: string;
15
16
  }
package/tabs/tabs.js CHANGED
@@ -64,7 +64,7 @@ function Root(props) {
64
64
  };
65
65
  const hasPanelWithChildren = (0, is_not_nil_1.isNotNil)(tabPanels.find((panel) => (0, is_not_nil_1.isNotNil)(panel.props.children)));
66
66
  return (react_1.default.createElement(tabs_root_1.TabsRoot, { className: props.className, isVertical: props.isVertical, variant: props.variant },
67
- react_1.default.createElement(tabs_button_list_1.TabsButtonList, { isVertical: props.isVertical, variant: props.variant, onKeyDown: onKeyDown, ref: buttonListRef, style: buttonListStyle }, tabPanels.map((panel, index) => (react_1.default.createElement(tabs_button_1.TabsButton, { key: panel.props.name, ref: (ref) => (tabRefs.current[index] = ref), className: panel.props.classNameButton, id: createId(id, panel.props.name), isActive: panel.props.name === props.value, isDisabled: panel.props.isDisabled, isHidden: panel.props.isHidden, isVertical: props.isVertical, onClick: () => props.onChange(panel.props.name), variant: props.variant }, typeof panel.props.label === "function"
67
+ react_1.default.createElement(tabs_button_list_1.TabsButtonList, { isVertical: props.isVertical, variant: props.variant, onKeyDown: onKeyDown, ref: buttonListRef, style: buttonListStyle, className: props.classNameButtonList }, tabPanels.map((panel, index) => (react_1.default.createElement(tabs_button_1.TabsButton, { key: panel.props.name, ref: (ref) => (tabRefs.current[index] = ref), className: panel.props.classNameButton, id: createId(id, panel.props.name), isActive: panel.props.name === props.value, isDisabled: panel.props.isDisabled, isHidden: panel.props.isHidden, isVertical: props.isVertical, onClick: () => props.onChange(panel.props.name), variant: props.variant }, typeof panel.props.label === "function"
68
68
  ? panel.props.label({ isActive: panel.props.name === props.value })
69
69
  : panel.props.label)))),
70
70
  hasPanelWithChildren && (react_1.default.createElement(tabs_panels_1.TabsPanels, null, tabPanels.map((panel) => (react_1.default.createElement(tabs_panel_1.TabsPanel, { key: panel.props.name, className: panel.props.classNamePanel, isActive: panel.props.name === props.value, isHidden: panel.props.isHidden, isAlwaysMounted: panel.props.isAlwaysMounted }, panel.props.children)))))));
@@ -29,17 +29,25 @@ const react_1 = __importStar(require("react"));
29
29
  const icon_1 = require("../icon");
30
30
  const toggle_1 = require("../toggle");
31
31
  const tabs_1 = require("./tabs");
32
+ var TabEnum;
33
+ (function (TabEnum) {
34
+ TabEnum["Basic"] = "tab-basic";
35
+ TabEnum["Disabled"] = "tab-disabled";
36
+ TabEnum["Hidden"] = "tab-hidden";
37
+ TabEnum["AlwaysMounted"] = "tab-always-mounted";
38
+ TabEnum["Custom"] = "tab-custom";
39
+ })(TabEnum || (TabEnum = {}));
32
40
  function Default() {
33
- const [activeTab, setActiveTab] = (0, react_1.useState)("tab-basic");
41
+ const [activeTab, setActiveTab] = (0, react_1.useState)(TabEnum.Basic);
34
42
  const [isVertical, setIsVertical] = (0, react_1.useState)(false);
35
43
  return (react_1.default.createElement(react_1.default.Fragment, null,
36
44
  react_1.default.createElement(toggle_1.Toggle, { label: "Vertical", value: isVertical, onChange: setIsVertical, name: "isVertical", className: "mb-5" }),
37
45
  react_1.default.createElement(tabs_1.Tabs, { value: activeTab, onChange: setActiveTab, isVertical: isVertical },
38
- react_1.default.createElement(tabs_1.Tabs.Panel, { name: "tab-basic", label: "Basic" }, "Basic tab"),
39
- react_1.default.createElement(tabs_1.Tabs.Panel, { name: "tab-disabled", label: "Disabled", isDisabled: true }, "Disabled tab"),
40
- react_1.default.createElement(tabs_1.Tabs.Panel, { name: "tab-hidden", label: "Hidden", isHidden: true }, "Hidden"),
41
- react_1.default.createElement(tabs_1.Tabs.Panel, { name: "tab-always-mounted", label: "Always mounted", isAlwaysMounted: true }, "Always mounted tab"),
42
- react_1.default.createElement(tabs_1.Tabs.Panel, { name: "tab-custom", label: () => (react_1.default.createElement("span", { className: "flex items-center gap-2" },
46
+ react_1.default.createElement(tabs_1.Tabs.Panel, { name: TabEnum.Basic, label: "Basic" }, "Basic tab"),
47
+ react_1.default.createElement(tabs_1.Tabs.Panel, { name: TabEnum.Disabled, label: "Disabled", isDisabled: true }, "Disabled tab"),
48
+ react_1.default.createElement(tabs_1.Tabs.Panel, { name: TabEnum.Hidden, label: "Hidden", isHidden: true }, "Hidden"),
49
+ react_1.default.createElement(tabs_1.Tabs.Panel, { name: TabEnum.AlwaysMounted, label: "Always mounted", isAlwaysMounted: true }, "Always mounted tab"),
50
+ react_1.default.createElement(tabs_1.Tabs.Panel, { name: TabEnum.Custom, label: () => (react_1.default.createElement("span", { className: "flex items-center gap-2" },
43
51
  react_1.default.createElement(icon_1.Icon, { name: "camera", className: "size-4" }),
44
52
  " Custom button")) }, "Custom button tab"))));
45
53
  }