@blaze-dev/ui 0.9.0 → 0.10.0

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/dist/tabs.d.ts CHANGED
@@ -3,13 +3,16 @@ export interface TabItem {
3
3
  id: string;
4
4
  label: ReactNode;
5
5
  content: ReactNode;
6
+ disabled?: boolean;
6
7
  }
7
8
  export interface TabsProps {
8
9
  tabs: TabItem[];
9
10
  defaultTab?: string;
11
+ activeTab?: string;
12
+ onTabChange?: (id: string) => void;
10
13
  variant?: 'bordered' | 'lifted' | 'boxed';
11
14
  size?: 'xs' | 'sm' | 'md' | 'lg';
12
15
  className?: string;
13
16
  }
14
- export declare function Tabs({ tabs, defaultTab, variant, size, className }: TabsProps): import("react/jsx-runtime").JSX.Element;
17
+ export declare function Tabs({ tabs, defaultTab, activeTab: controlledTab, onTabChange, variant, size, className, }: TabsProps): import("react/jsx-runtime").JSX.Element;
15
18
  //# sourceMappingURL=tabs.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tabs.d.ts","sourceRoot":"","sources":["../src/tabs.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAY,MAAM,OAAO,CAAA;AAEhD,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,SAAS,CAAA;IAChB,OAAO,EAAE,SAAS,CAAA;CACnB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,OAAO,EAAE,CAAA;IACf,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,OAAO,CAAC,EAAE,UAAU,GAAG,QAAQ,GAAG,OAAO,CAAA;IACzC,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;IAChC,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,wBAAgB,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,OAAoB,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,SAAS,2CAuB1F"}
1
+ {"version":3,"file":"tabs.d.ts","sourceRoot":"","sources":["../src/tabs.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAY,MAAM,OAAO,CAAA;AAEhD,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,SAAS,CAAA;IAChB,OAAO,EAAE,SAAS,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,OAAO,EAAE,CAAA;IACf,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IAClC,OAAO,CAAC,EAAE,UAAU,GAAG,QAAQ,GAAG,OAAO,CAAA;IACzC,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;IAChC,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,wBAAgB,IAAI,CAAC,EACnB,IAAI,EACJ,UAAU,EACV,SAAS,EAAE,aAAa,EACxB,WAAW,EACX,OAAoB,EACpB,IAAI,EACJ,SAAS,GACV,EAAE,SAAS,2CAiCX"}
package/dist/tabs.js CHANGED
@@ -1,8 +1,16 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useState } from 'react';
3
- export function Tabs({ tabs, defaultTab, variant = 'bordered', size, className }) {
4
- const [activeTab, setActiveTab] = useState(defaultTab ?? tabs[0]?.id ?? '');
3
+ export function Tabs({ tabs, defaultTab, activeTab: controlledTab, onTabChange, variant = 'bordered', size, className, }) {
4
+ const [internalTab, setInternalTab] = useState(defaultTab ?? tabs[0]?.id ?? '');
5
+ const isControlled = controlledTab !== undefined;
6
+ const activeTab = isControlled ? controlledTab : internalTab;
5
7
  const sizeClass = size ? `tabs-${size}` : '';
6
- return (_jsxs("div", { className: className, children: [_jsx("div", { role: 'tablist', className: `tabs tabs-${variant} ${sizeClass}`, children: tabs.map((tab) => (_jsx("button", { type: 'button', role: 'tab', className: `tab ${activeTab === tab.id ? 'tab-active' : ''}`, onClick: () => setActiveTab(tab.id), children: tab.label }, tab.id))) }), tabs.find((t) => t.id === activeTab)?.content] }));
8
+ const handleTabClick = (id) => {
9
+ if (!isControlled) {
10
+ setInternalTab(id);
11
+ }
12
+ onTabChange?.(id);
13
+ };
14
+ return (_jsxs("div", { className: className, children: [_jsx("div", { role: 'tablist', className: `tabs tabs-${variant} ${sizeClass}`, children: tabs.map((tab) => (_jsx("button", { type: 'button', role: 'tab', className: `tab ${activeTab === tab.id ? 'tab-active' : ''} ${tab.disabled ? 'tab-disabled' : ''}`, onClick: tab.disabled ? undefined : () => handleTabClick(tab.id), disabled: tab.disabled, children: tab.label }, tab.id))) }), tabs.find((t) => t.id === activeTab)?.content] }));
7
15
  }
8
16
  //# sourceMappingURL=tabs.js.map
package/dist/tabs.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"tabs.js","sourceRoot":"","sources":["../src/tabs.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAkB,QAAQ,EAAE,MAAM,OAAO,CAAA;AAgBhD,MAAM,UAAU,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,GAAG,UAAU,EAAE,IAAI,EAAE,SAAS,EAAa;IACzF,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;IAE3E,MAAM,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;IAE5C,OAAO,CACL,eAAK,SAAS,EAAE,SAAS,aACvB,cAAK,IAAI,EAAC,SAAS,EAAC,SAAS,EAAE,aAAa,OAAO,IAAI,SAAS,EAAE,YAC/D,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CACjB,iBAEE,IAAI,EAAC,QAAQ,EACb,IAAI,EAAC,KAAK,EACV,SAAS,EAAE,OAAO,SAAS,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,EAC5D,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,YAElC,GAAG,CAAC,KAAK,IANL,GAAG,CAAC,EAAE,CAOJ,CACV,CAAC,GACE,EACL,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS,CAAC,EAAE,OAAO,IAC1C,CACP,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"tabs.js","sourceRoot":"","sources":["../src/tabs.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAkB,QAAQ,EAAE,MAAM,OAAO,CAAA;AAmBhD,MAAM,UAAU,IAAI,CAAC,EACnB,IAAI,EACJ,UAAU,EACV,SAAS,EAAE,aAAa,EACxB,WAAW,EACX,OAAO,GAAG,UAAU,EACpB,IAAI,EACJ,SAAS,GACC;IACV,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;IAC/E,MAAM,YAAY,GAAG,aAAa,KAAK,SAAS,CAAA;IAChD,MAAM,SAAS,GAAG,YAAY,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW,CAAA;IAE5D,MAAM,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;IAE5C,MAAM,cAAc,GAAG,CAAC,EAAU,EAAE,EAAE;QACpC,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,cAAc,CAAC,EAAE,CAAC,CAAA;QACpB,CAAC;QACD,WAAW,EAAE,CAAC,EAAE,CAAC,CAAA;IACnB,CAAC,CAAA;IAED,OAAO,CACL,eAAK,SAAS,EAAE,SAAS,aACvB,cAAK,IAAI,EAAC,SAAS,EAAC,SAAS,EAAE,aAAa,OAAO,IAAI,SAAS,EAAE,YAC/D,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CACjB,iBAEE,IAAI,EAAC,QAAQ,EACb,IAAI,EAAC,KAAK,EACV,SAAS,EAAE,OAAO,SAAS,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,EAAE,EAClG,OAAO,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,EAChE,QAAQ,EAAE,GAAG,CAAC,QAAQ,YAErB,GAAG,CAAC,KAAK,IAPL,GAAG,CAAC,EAAE,CAQJ,CACV,CAAC,GACE,EACL,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS,CAAC,EAAE,OAAO,IAC1C,CACP,CAAA;AACH,CAAC"}
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "type": "git",
5
5
  "url": "https://github.com/blaze-it/ui"
6
6
  },
7
- "version": "0.9.0",
7
+ "version": "0.10.0",
8
8
  "private": false,
9
9
  "description": "Shared React + DaisyUI component library for Blaze projects",
10
10
  "type": "module",