@net-advantage/nabs-ui-tab 0.70.0 → 0.71.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.
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});let e=require("react"),t=require("react/jsx-runtime");var n=(0,e.forwardRef)(({label:e=`Tab`,children:n,showHeader:r=!0,className:i=``,headerClassName:a=``,contentClassName:o=``,labelClassName:s=``,id:c,...l},u)=>{let d=[`nabs-ui-tab`,i].filter(Boolean).join(` `),f=[`nabs-ui-tab__header`,a].filter(Boolean).join(` `),p=[`nabs-ui-tab__content`,o].filter(Boolean).join(` `),m=[`nabs-ui-tab__label`,s].filter(Boolean).join(` `);return(0,t.jsxs)(`section`,{ref:u,id:c,className:d,...l,children:[r?(0,t.jsx)(`div`,{className:f,children:(0,t.jsx)(`div`,{className:m,children:e})}):null,(0,t.jsx)(`div`,{className:p,children:n})]})});n.displayName=`Tab`,exports.Tab=n;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});let e=require("react"),t=require("react/jsx-runtime");function n({className:e,headerClassName:t,contentClassName:n,labelClassName:r}){return{classes:[`nabs-ui-tab`,e??``].filter(Boolean).join(` `),headerClasses:[`nabs-ui-tab__header`,t??``].filter(Boolean).join(` `),contentClasses:[`nabs-ui-tab__content`,n??``].filter(Boolean).join(` `),labelClasses:[`nabs-ui-tab__label`,r??``].filter(Boolean).join(` `)}}var r=(0,e.forwardRef)(({label:e=`Tab`,children:r,showHeader:i=!0,className:a=``,headerClassName:o=``,contentClassName:s=``,labelClassName:c=``,id:l,...u},d)=>{let{classes:f,headerClasses:p,contentClasses:m,labelClasses:h}=n({className:a,headerClassName:o,contentClassName:s,labelClassName:c});return(0,t.jsxs)(`section`,{ref:d,id:l,className:f,...u,children:[i?(0,t.jsx)(`div`,{className:p,children:(0,t.jsx)(`div`,{className:h,children:e})}):null,(0,t.jsx)(`div`,{className:m,children:r})]})});r.displayName=`Tab`,exports.Tab=r;
@@ -1,25 +1,40 @@
1
1
  import { forwardRef as e } from "react";
2
2
  import { jsx as t, jsxs as n } from "react/jsx-runtime";
3
+ //#region src/tab.view-model.ts
4
+ function r({ className: e, headerClassName: t, contentClassName: n, labelClassName: r }) {
5
+ return {
6
+ classes: ["nabs-ui-tab", e ?? ""].filter(Boolean).join(" "),
7
+ headerClasses: ["nabs-ui-tab__header", t ?? ""].filter(Boolean).join(" "),
8
+ contentClasses: ["nabs-ui-tab__content", n ?? ""].filter(Boolean).join(" "),
9
+ labelClasses: ["nabs-ui-tab__label", r ?? ""].filter(Boolean).join(" ")
10
+ };
11
+ }
12
+ //#endregion
3
13
  //#region src/Tab.tsx
4
- var r = e(({ label: e = "Tab", children: r, showHeader: i = !0, className: a = "", headerClassName: o = "", contentClassName: s = "", labelClassName: c = "", id: l, ...u }, d) => {
5
- let f = ["nabs-ui-tab", a].filter(Boolean).join(" "), p = ["nabs-ui-tab__header", o].filter(Boolean).join(" "), m = ["nabs-ui-tab__content", s].filter(Boolean).join(" "), h = ["nabs-ui-tab__label", c].filter(Boolean).join(" ");
14
+ var i = e(({ label: e = "Tab", children: i, showHeader: a = !0, className: o = "", headerClassName: s = "", contentClassName: c = "", labelClassName: l = "", id: u, ...d }, f) => {
15
+ let { classes: p, headerClasses: m, contentClasses: h, labelClasses: g } = r({
16
+ className: o,
17
+ headerClassName: s,
18
+ contentClassName: c,
19
+ labelClassName: l
20
+ });
6
21
  return /* @__PURE__ */ n("section", {
7
- ref: d,
8
- id: l,
9
- className: f,
10
- ...u,
11
- children: [i ? /* @__PURE__ */ t("div", {
12
- className: p,
22
+ ref: f,
23
+ id: u,
24
+ className: p,
25
+ ...d,
26
+ children: [a ? /* @__PURE__ */ t("div", {
27
+ className: m,
13
28
  children: /* @__PURE__ */ t("div", {
14
- className: h,
29
+ className: g,
15
30
  children: e
16
31
  })
17
32
  }) : null, /* @__PURE__ */ t("div", {
18
- className: m,
19
- children: r
33
+ className: h,
34
+ children: i
20
35
  })]
21
36
  });
22
37
  });
23
- r.displayName = "Tab";
38
+ i.displayName = "Tab";
24
39
  //#endregion
25
- export { r as Tab };
40
+ export { i as Tab };
@@ -0,0 +1,4 @@
1
+ export declare function toTabStateLabel({ showHeader, label, }: {
2
+ showHeader: boolean;
3
+ label: string;
4
+ }): string;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,11 @@
1
+ export declare function buildTabClassNames({ className, headerClassName, contentClassName, labelClassName, }: {
2
+ className?: string;
3
+ headerClassName?: string;
4
+ contentClassName?: string;
5
+ labelClassName?: string;
6
+ }): {
7
+ classes: string;
8
+ headerClasses: string;
9
+ contentClasses: string;
10
+ labelClasses: string;
11
+ };
@@ -0,0 +1 @@
1
+ export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@net-advantage/nabs-ui-tab",
3
- "version": "0.70.0",
3
+ "version": "0.71.0",
4
4
  "description": "Reusable tab container control for the Nabs UI library.",
5
5
  "type": "module",
6
6
  "main": "./dist/nabs-ui-tab.cjs",
@@ -25,11 +25,16 @@
25
25
  "@types/react": "^19.0.0",
26
26
  "@types/react-dom": "^19.0.0",
27
27
  "@vitejs/plugin-react": "^6.0.1",
28
+ "@vitest/coverage-v8": "^3.2.4",
28
29
  "react-dom": "^19.2.6",
29
- "vite": "^8.0.12"
30
+ "vite": "^8.0.12",
31
+ "vitest": "^3.2.4"
30
32
  },
31
33
  "scripts": {
32
34
  "build": "vite build",
33
- "dev": "vite"
35
+ "dev": "vite",
36
+ "test:unit": "vitest run",
37
+ "test:unit:watch": "vitest",
38
+ "test:unit:coverage": "vitest run --coverage --coverage.reporter=html --coverage.reporter=json-summary --coverage.reporter=text-summary"
34
39
  }
35
40
  }