tembro 3.1.10 → 3.1.12
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/CHANGELOG.md +11 -0
- package/dist/components/charts/demo.cjs +1 -0
- package/dist/components/charts/demo.d.ts +6 -0
- package/dist/components/charts/demo.js +1 -0
- package/dist/components/data-table/data-table.d.ts +3 -1
- package/dist/showcase/package-meta.d.ts +2 -2
- package/dist/src/components/charts/charts.cjs +1 -1
- package/dist/src/components/charts/charts.js +6 -5
- package/dist/src/components/charts/demo.cjs +1 -0
- package/dist/src/components/charts/demo.js +5 -0
- package/dist/src/components/data-table/data-table.cjs +1 -1
- package/dist/src/components/data-table/data-table.js +146 -111
- package/dist/src/components/display/kanban.cjs +1 -1
- package/dist/src/components/display/kanban.js +1 -1
- package/dist/src/showcase/index.cjs +1 -1
- package/dist/src/showcase/index.js +18 -16
- package/dist/src/showcase/package-meta.cjs +1 -1
- package/dist/src/showcase/package-meta.js +1 -1
- package/dist/src/showcase/preview-registry.cjs +1 -1
- package/dist/src/showcase/preview-registry.js +290 -288
- package/dist/src/showcase/render-registry-preview.cjs +1 -1
- package/dist/src/showcase/render-registry-preview.js +257 -182
- package/dist/src/showcase/site-data.cjs +1 -1
- package/dist/src/showcase/site-data.js +1 -1
- package/dist/src/showcase/tembro-registry.json.cjs +1 -1
- package/dist/src/showcase/tembro-registry.json.js +2 -2
- package/package.json +1 -1
- package/packages/cli/dist/index.cjs +14 -14
- package/packages/cli/vendor/src/components/charts/charts.tsx +5 -3
- package/packages/cli/vendor/src/components/charts/demo.tsx +5 -0
- package/packages/cli/vendor/src/components/data-table/data-table.tsx +112 -41
- package/packages/cli/vendor/src/components/display/kanban.tsx +4 -4
- package/packages/cli/vendor/src/showcase/index.ts +6 -4
- package/packages/cli/vendor/src/showcase/package-meta.ts +1 -1
- package/packages/cli/vendor/src/showcase/preview-registry.tsx +2 -0
- package/packages/cli/vendor/src/showcase/render-registry-preview.tsx +36 -0
- package/packages/cli/vendor/src/showcase/tembro-registry.json +5 -2
- package/packages/cli/vendor/templates/showcase/src/App.tsx +1 -1
- package/packages/cli/vendor/templates/showcase/src/showcase/layout/HeroSection.tsx +3 -3
- package/packages/cli/vendor/templates/showcase/src/showcase/layout/WorkbenchSidebar.tsx +1 -1
- package/packages/cli/vendor/templates/showcase/src/showcase/sections/CalendarSection.tsx +1 -1
- package/packages/cli/vendor/templates/showcase/src/showcase/sections/ComponentLivePreview.tsx +1 -1
- package/packages/cli/vendor/templates/showcase/src/showcase/sections/CoreUiSection.tsx +2 -2
- package/packages/cli/vendor/templates/showcase/src/showcase/sections/FormsSection.tsx +1 -1
- package/packages/cli/vendor/templates/showcase/src/showcase/sections/OverlaySection.tsx +1 -1
- package/packages/cli/vendor/templates/showcase/src/showcase/sections/PatternsSection.tsx +1 -1
- package/packages/cli/vendor/templates/showcase/src/showcase/sections/VerificationSection.tsx +1 -1
- package/packages/cli/vendor/templates/showcase/src/showcase/sections/WizardSection.tsx +1 -1
- package/registry.json +5 -2
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,17 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
|
|
5
|
+
## 3.1.12 - 2026-07-16
|
|
6
|
+
|
|
7
|
+
- Fixed `BarChart` bars rendering with zero height inside dashboard cards.
|
|
8
|
+
- Kept `DataTable` desktop and mobile layouts mutually exclusive at runtime so hidden duplicate cells and badges are not rendered.
|
|
9
|
+
|
|
10
|
+
## 3.1.11 - 2026-07-16
|
|
11
|
+
|
|
12
|
+
- Removed the fixed max-width shell from the generated showcase workbench so `tembro init` projects can use the full viewport for component QA.
|
|
13
|
+
- Updated generated showcase grids to align items at the start, preventing cards from stretching to unrelated sibling heights on wide dashboards.
|
|
14
|
+
- Synced the full-width showcase template into the vendored CLI assets used by the published package.
|
|
15
|
+
|
|
5
16
|
## 3.1.6 - 2026-07-13
|
|
6
17
|
|
|
7
18
|
- Fixed duplicate selected indicators in Select options.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports = require("../../src/components/charts/demo.cjs")
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "../../src/components/charts/demo.js"
|
|
@@ -9,6 +9,7 @@ import { type LoadingStateProps } from "@/components/feedback/loading-state";
|
|
|
9
9
|
import { type InputSearchProps } from "@/components/ui/input";
|
|
10
10
|
export type DataTableDensity = "compact" | "default" | "comfortable";
|
|
11
11
|
export type DataTableLoadingVariant = "skeleton" | "state";
|
|
12
|
+
export type DataTableMobileLayout = "auto" | "cards" | "scroll";
|
|
12
13
|
export type DataTableVirtualizationRange = {
|
|
13
14
|
startIndex: number;
|
|
14
15
|
endIndex: number;
|
|
@@ -78,6 +79,7 @@ export type DataTableProps<TData, TValue = unknown> = Omit<React.ComponentProps<
|
|
|
78
79
|
onRowSelectionChange?: OnChangeFn<RowSelectionState>;
|
|
79
80
|
enableRowSelection?: boolean | ((row: Row<TData>) => boolean);
|
|
80
81
|
renderMobileCard?: (row: Row<TData>) => React.ReactNode;
|
|
82
|
+
mobileLayout?: DataTableMobileLayout;
|
|
81
83
|
onRowClick?: (row: Row<TData>) => void;
|
|
82
84
|
onRowDoubleClick?: (row: Row<TData>) => void;
|
|
83
85
|
getRowDisabled?: (row: Row<TData>) => boolean;
|
|
@@ -101,5 +103,5 @@ export type DataTableProps<TData, TValue = unknown> = Omit<React.ComponentProps<
|
|
|
101
103
|
onColumnPinningChange?: OnChangeFn<ColumnPinningState>;
|
|
102
104
|
virtualization?: DataTableVirtualizationConfig | false;
|
|
103
105
|
};
|
|
104
|
-
declare function DataTable<TData, TValue = unknown>({ className, columns, data, title, description, features, search, filters, summary, toolbarActions, rowActions, bulkActions, onRefresh, onExport, refreshLabel, exportLabel, getRowId, isLoading, isError, emptyState, errorState, loadingState, loadingVariant, toolbar, toolbarProps, pagination, sorting, onSortingChange, columnVisibility, onColumnVisibilityChange, rowSelection, onRowSelectionChange, enableRowSelection, renderMobileCard, onRowClick, onRowDoubleClick, getRowDisabled, density, striped, bordered, stickyHeader, skeletonRows, skeletonCellClassName, cellFallback, tableClassName, tableWrapperClassName, headerCellClassName, cellClassName, rowClassName, renderExpandedRow, expanded, onExpandedChange, getRowCanExpand, columnPinning, onColumnPinningChange, virtualization, ...props }: DataTableProps<TData, TValue>): React.JSX.Element;
|
|
106
|
+
declare function DataTable<TData, TValue = unknown>({ className, columns, data, title, description, features, search, filters, summary, toolbarActions, rowActions, bulkActions, onRefresh, onExport, refreshLabel, exportLabel, getRowId, isLoading, isError, emptyState, errorState, loadingState, loadingVariant, toolbar, toolbarProps, pagination, sorting, onSortingChange, columnVisibility, onColumnVisibilityChange, rowSelection, onRowSelectionChange, enableRowSelection, renderMobileCard, mobileLayout, onRowClick, onRowDoubleClick, getRowDisabled, density, striped, bordered, stickyHeader, skeletonRows, skeletonCellClassName, cellFallback, tableClassName, tableWrapperClassName, headerCellClassName, cellClassName, rowClassName, renderExpandedRow, expanded, onExpandedChange, getRowCanExpand, columnPinning, onColumnPinningChange, virtualization, ...props }: DataTableProps<TData, TValue>): React.JSX.Element;
|
|
105
107
|
export { DataTable };
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export declare const PACKAGE_LATEST_VERSION = "3.1.
|
|
1
|
+
export declare const PACKAGE_LATEST_VERSION = "3.1.12";
|
|
2
2
|
export declare const PACKAGE_LATEST_RELEASE_DATE = "July 15, 2026";
|
|
3
|
-
export declare const PACKAGE_DEPENDENCY_RANGE = "3.1.
|
|
3
|
+
export declare const PACKAGE_DEPENDENCY_RANGE = "3.1.12";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../lib/utils.cjs"),n=require("../ui/card/index.cjs");let r=require("react");r=e.__toESM(r,1);let i=require("react/jsx-runtime");var a={sm:120,md:180,lg:260};function o(e,t=1){return Math.max(...e,t)}function s(e,t){return!Number.isFinite(e)||t<=0?0:Math.max(0,Math.min(e/t,1))}function c(e,t){return t??`var(--color-chart-${e%5+1}, var(--primary))`}function l(e,t){return t?t(e):e.toLocaleString()}function u(e){return typeof e==`string`||typeof e==`number`?String(e):void 0}function d(e,t,n,r){let i=(r-90)*Math.PI/180;return{x:e+n*Math.cos(i),y:t+n*Math.sin(i)}}function f(e,t,n,r,i){let a=d(e,t,n,i),o=d(e,t,n,r),s=i-r<=180?`0`:`1`;return[`M`,a.x,a.y,`A`,n,n,0,s,0,o.x,o.y].join(` `)}function p(e,t,n,r=12){let i=o(e),a=Math.max(t-r*2,1),c=Math.max(n-r*2,1);return e.length===0?``:e.map((t,n)=>{let o=r+(e.length===1?a/2:n/(e.length-1)*a),l=r+(1-s(t,i))*c;return`${n===0?`M`:`L`} ${o} ${l}`}).join(` `)}function m(e,t,n,r=12){let i=p(e,t,n,r);if(!i)return``;let a=n-r;return`${i} L ${e.length===1?t/2:t-r} ${a} L ${e.length===1?t/2:r} ${a} Z`}function h({title:e,description:r,action:a,state:o=`ready`,emptyLabel:s=`No data available.`,className:c,children:l,...u}){return(0,i.jsxs)(n.Card,{"data-slot":`chart-frame`,className:t.cn(`border-border/75 bg-card/96 shadow-sm ring-1 ring-foreground/4`,c),...u,children:[(e||r||a)&&(0,i.jsxs)(n.CardHeader,{className:`flex flex-row items-start justify-between gap-3`,children:[(0,i.jsxs)(`div`,{className:`grid gap-1`,children:[e&&(0,i.jsx)(n.CardTitle,{children:e}),r&&(0,i.jsx)(n.CardDescription,{children:r})]}),a]}),(0,i.jsxs)(n.CardContent,{children:[o===`loading`?(0,i.jsxs)(`div`,{className:`grid gap-3`,children:[(0,i.jsx)(`div`,{className:`h-4 w-24 animate-pulse rounded bg-muted`}),(0,i.jsx)(`div`,{className:`h-36 animate-pulse rounded-[min(var(--radius-xl),16px)] bg-muted/70`})]}):null,o===`empty`?(0,i.jsx)(`div`,{className:`rounded-[min(var(--radius-xl),16px)] border border-dashed border-border/70 px-4 py-10 text-center text-sm text-muted-foreground`,children:s}):null,o===`ready`?l:null]})]})}function g({data:e,size:n=`md`,max:r,showLabels:d=!0,showValues:f=!0,valueFormatter:p,state:m=`ready`,emptyLabel:h=`No chart data.`,className:g,barClassName:_,...v}){let y=e.map(e=>e.value),b=r??o(y.map(e=>Math.abs(e))),x=a[n];return m===`loading`?(0,i.jsx)(`div`,{"data-slot":`bar-chart`,className:t.cn(`grid gap-3`,g),...v,children:(0,i.jsx)(`div`,{className:`h-40 animate-pulse rounded-[min(var(--radius-xl),16px)] bg-muted/70`})}):m===`empty`||e.length===0?(0,i.jsx)(`div`,{"data-slot":`bar-chart`,className:t.cn(`rounded-[min(var(--radius-xl),16px)] border border-dashed border-border/70 px-4 py-10 text-center text-sm text-muted-foreground`,g),...v,children:h}):(0,i.jsx)(`div`,{"data-slot":`bar-chart`,className:t.cn(`grid gap-3`,g),...v,children:(0,i.jsx)(`div`,{className:`flex items-end gap-2`,style:{
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../lib/utils.cjs"),n=require("../ui/card/index.cjs");let r=require("react");r=e.__toESM(r,1);let i=require("react/jsx-runtime");var a={sm:120,md:180,lg:260};function o(e,t=1){return Math.max(...e,t)}function s(e,t){return!Number.isFinite(e)||t<=0?0:Math.max(0,Math.min(e/t,1))}function c(e,t){return t??`var(--color-chart-${e%5+1}, var(--primary))`}function l(e,t){return t?t(e):e.toLocaleString()}function u(e){return typeof e==`string`||typeof e==`number`?String(e):void 0}function d(e,t,n,r){let i=(r-90)*Math.PI/180;return{x:e+n*Math.cos(i),y:t+n*Math.sin(i)}}function f(e,t,n,r,i){let a=d(e,t,n,i),o=d(e,t,n,r),s=i-r<=180?`0`:`1`;return[`M`,a.x,a.y,`A`,n,n,0,s,0,o.x,o.y].join(` `)}function p(e,t,n,r=12){let i=o(e),a=Math.max(t-r*2,1),c=Math.max(n-r*2,1);return e.length===0?``:e.map((t,n)=>{let o=r+(e.length===1?a/2:n/(e.length-1)*a),l=r+(1-s(t,i))*c;return`${n===0?`M`:`L`} ${o} ${l}`}).join(` `)}function m(e,t,n,r=12){let i=p(e,t,n,r);if(!i)return``;let a=n-r;return`${i} L ${e.length===1?t/2:t-r} ${a} L ${e.length===1?t/2:r} ${a} Z`}function h({title:e,description:r,action:a,state:o=`ready`,emptyLabel:s=`No data available.`,className:c,children:l,...u}){return(0,i.jsxs)(n.Card,{"data-slot":`chart-frame`,className:t.cn(`border-border/75 bg-card/96 shadow-sm ring-1 ring-foreground/4`,c),...u,children:[(e||r||a)&&(0,i.jsxs)(n.CardHeader,{className:`flex flex-row items-start justify-between gap-3`,children:[(0,i.jsxs)(`div`,{className:`grid gap-1`,children:[e&&(0,i.jsx)(n.CardTitle,{children:e}),r&&(0,i.jsx)(n.CardDescription,{children:r})]}),a]}),(0,i.jsxs)(n.CardContent,{children:[o===`loading`?(0,i.jsxs)(`div`,{className:`grid gap-3`,children:[(0,i.jsx)(`div`,{className:`h-4 w-24 animate-pulse rounded bg-muted`}),(0,i.jsx)(`div`,{className:`h-36 animate-pulse rounded-[min(var(--radius-xl),16px)] bg-muted/70`})]}):null,o===`empty`?(0,i.jsx)(`div`,{className:`rounded-[min(var(--radius-xl),16px)] border border-dashed border-border/70 px-4 py-10 text-center text-sm text-muted-foreground`,children:s}):null,o===`ready`?l:null]})]})}function g({data:e,size:n=`md`,max:r,showLabels:d=!0,showValues:f=!0,valueFormatter:p,state:m=`ready`,emptyLabel:h=`No chart data.`,className:g,barClassName:_,...v}){let y=e.map(e=>e.value),b=r??o(y.map(e=>Math.abs(e))),x=a[n],S=Math.max(x-(f?28:0)-(d?24:0),32);return m===`loading`?(0,i.jsx)(`div`,{"data-slot":`bar-chart`,className:t.cn(`grid gap-3`,g),...v,children:(0,i.jsx)(`div`,{className:`h-40 animate-pulse rounded-[min(var(--radius-xl),16px)] bg-muted/70`})}):m===`empty`||e.length===0?(0,i.jsx)(`div`,{"data-slot":`bar-chart`,className:t.cn(`rounded-[min(var(--radius-xl),16px)] border border-dashed border-border/70 px-4 py-10 text-center text-sm text-muted-foreground`,g),...v,children:h}):(0,i.jsx)(`div`,{"data-slot":`bar-chart`,className:t.cn(`grid gap-3`,g),...v,children:(0,i.jsx)(`div`,{className:`flex items-end gap-2`,style:{minHeight:x},children:e.map((e,n)=>{let r=s(Math.abs(e.value),b),a=e.value<0,o=u(e.label),m=Math.max(Math.round(r*S),Math.abs(e.value)>0?3:0);return(0,i.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col items-center gap-2`,title:o?`${o}: ${e.value}`:void 0,children:[f&&(0,i.jsx)(`div`,{className:`text-xs font-medium text-muted-foreground`,children:l(e.value,p)}),(0,i.jsx)(`div`,{className:`flex w-full items-end rounded-[min(var(--radius-xl),16px)] border border-border/60 bg-muted/38 p-1`,style:{height:S},children:(0,i.jsx)(`div`,{className:t.cn(`w-full rounded-[min(var(--radius-lg),12px)] bg-primary transition-all`,_),style:{height:m,background:c(n,e.color),opacity:a?.72:1}})}),d&&(0,i.jsx)(`div`,{className:`max-w-full truncate text-xs text-muted-foreground`,children:e.label})]},n)})})})}function _({values:e,size:n=`md`,width:r=560,showArea:c=!1,showGrid:d=!0,labels:f,valueFormatter:h,stroke:g=`var(--primary)`,state:_=`ready`,emptyLabel:v=`No line data.`,className:y,...b}){let x=a[n],S=p(e,r,x),C=m(e,r,x),w=o(e);return _===`loading`?(0,i.jsx)(`div`,{className:t.cn(`h-36 animate-pulse rounded-[min(var(--radius-xl),16px)] bg-muted/70`,y)}):_===`empty`||e.length===0?(0,i.jsx)(`div`,{className:t.cn(`rounded-[min(var(--radius-xl),16px)] border border-dashed border-border/70 px-4 py-10 text-center text-sm text-muted-foreground`,y),children:v}):(0,i.jsxs)(`svg`,{"data-slot":`line-chart`,viewBox:`0 0 ${r} ${x}`,className:t.cn(`h-auto w-full overflow-visible`,y),role:`img`,...b,children:[d&&[.25,.5,.75].map(e=>(0,i.jsx)(`line`,{x1:`12`,x2:r-12,y1:12+e*(x-24),y2:12+e*(x-24),stroke:`var(--border)`,strokeDasharray:`4 6`,opacity:`0.7`},e)),c&&(0,i.jsx)(`path`,{d:C,fill:`var(--primary)`,opacity:`0.12`}),(0,i.jsx)(`path`,{d:S,fill:`none`,stroke:g,strokeWidth:`3`,strokeLinecap:`round`,strokeLinejoin:`round`}),e.map((t,n)=>{let a=12+(e.length===1?(r-24)/2:n/(e.length-1)*(r-24)),o=12+(1-s(t,w))*(x-24),c=f?.[n],d=c==null?`${t}`:`${u(c)??`Value`}: ${t}`;return(0,i.jsx)(`circle`,{cx:a,cy:o,r:`3.5`,fill:g,children:(0,i.jsx)(`title`,{children:h?`${c??`Value`}: ${l(t,h)}`:d})},n)})]})}function v(e){return(0,i.jsx)(_,{showArea:!0,...e})}function y({values:e,positive:n=!0,stroke:r,className:a,...o}){return(0,i.jsx)(_,{values:e,width:180,size:`sm`,stroke:r??(n?`var(--primary)`:`var(--destructive)`),className:t.cn(`max-w-44`,a),"aria-label":`Sparkline`,...o})}function b({data:e,size:n=180,strokeWidth:r=18,centerLabel:a,centerValue:o,state:s=`ready`,emptyLabel:l=`No distribution data.`,className:d,...p}){let m=e.reduce((e,t)=>e+Math.max(t.value,0),0),h=n/2-r,g=e.map((t,n)=>{let r=Math.max(t.value,0),i=e.slice(0,n).reduce((e,t)=>e+Math.max(t.value,0),0);return{item:t,start:i,end:m>0?i+r/m*360:i}});return s===`loading`?(0,i.jsx)(`div`,{className:t.cn(`h-44 w-full max-w-48 animate-pulse rounded-full bg-muted/70`,d)}):s===`empty`||e.length===0||m<=0?(0,i.jsx)(`div`,{className:t.cn(`flex h-44 w-full max-w-48 items-center justify-center rounded-full border border-dashed border-border/70 px-4 text-center text-sm text-muted-foreground`,d),children:l}):(0,i.jsxs)(`svg`,{"data-slot":`donut-chart`,viewBox:`0 0 ${n} ${n}`,className:t.cn(`h-auto w-full max-w-48`,d),role:`img`,...p,children:[(0,i.jsx)(`circle`,{cx:n/2,cy:n/2,r:h,fill:`none`,stroke:`var(--muted)`,strokeWidth:r}),g.map(({item:e,start:t,end:a},o)=>(0,i.jsx)(`path`,{d:f(n/2,n/2,h,t,a),fill:`none`,stroke:c(o,e.color),strokeWidth:r,strokeLinecap:`round`,children:(0,i.jsx)(`title`,{children:`${u(e.label)??`Segment`}: ${e.value}`})},o)),(o||a)&&(0,i.jsxs)(`text`,{x:`50%`,y:`50%`,textAnchor:`middle`,dominantBaseline:`middle`,fill:`var(--foreground)`,children:[o&&(0,i.jsx)(`tspan`,{x:`50%`,dy:a?`-0.2em`:`0`,className:`text-lg font-semibold`,children:o}),a&&(0,i.jsx)(`tspan`,{x:`50%`,dy:`1.3em`,className:`text-xs fill-muted-foreground`,children:a})]})]})}function x({data:e,className:n,...r}){return(0,i.jsx)(`div`,{"data-slot":`chart-legend`,className:t.cn(`flex flex-wrap gap-3 text-xs text-muted-foreground`,n),...r,children:e.map((e,t)=>(0,i.jsxs)(`div`,{className:`inline-flex items-center gap-1.5`,children:[(0,i.jsx)(`span`,{className:`size-2 rounded-full bg-primary`,style:{background:c(t,e.color)}}),(0,i.jsx)(`span`,{children:e.label})]},t))})}function S({label:e,value:n,change:r,positive:a=!0,values:o,className:s,...c}){return(0,i.jsxs)(`div`,{"data-slot":`metric-trend`,className:t.cn(`grid gap-3 rounded-[var(--radius-2xl)] border border-border/75 bg-card/96 p-4 shadow-sm ring-1 ring-foreground/4`,s),...c,children:[(0,i.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[(0,i.jsxs)(`div`,{className:`grid gap-1`,children:[(0,i.jsx)(`div`,{className:`text-sm text-muted-foreground`,children:e}),(0,i.jsx)(`div`,{className:`text-2xl font-semibold tracking-tight`,children:n})]}),r&&(0,i.jsx)(`div`,{className:t.cn(`rounded-full px-2 py-1 text-xs font-medium`,a?`bg-primary/10 text-primary`:`bg-destructive/10 text-destructive`),children:r})]}),o&&(0,i.jsx)(y,{values:o,positive:a})]})}exports.AreaChart=v,exports.BarChart=g,exports.ChartFrame=h,exports.ChartLegend=x,exports.DonutChart=b,exports.LineChart=_,exports.MetricTrend=S,exports.Sparkline=y;
|
|
@@ -84,7 +84,7 @@ function v({ title: c, description: l, action: u, state: d = "ready", emptyLabel
|
|
|
84
84
|
});
|
|
85
85
|
}
|
|
86
86
|
function y({ data: t, size: n = "md", max: r, showLabels: i = !0, showValues: a = !0, valueFormatter: m, state: h = "ready", emptyLabel: g = "No chart data.", className: _, barClassName: v, ...y }) {
|
|
87
|
-
let b = t.map((e) => e.value), x = r ?? l(b.map((e) => Math.abs(e))), S = c[n];
|
|
87
|
+
let b = t.map((e) => e.value), x = r ?? l(b.map((e) => Math.abs(e))), S = c[n], C = Math.max(S - (a ? 28 : 0) - (i ? 24 : 0), 32);
|
|
88
88
|
return h === "loading" ? /* @__PURE__ */ o("div", {
|
|
89
89
|
"data-slot": "bar-chart",
|
|
90
90
|
className: e("grid gap-3", _),
|
|
@@ -101,9 +101,9 @@ function y({ data: t, size: n = "md", max: r, showLabels: i = !0, showValues: a
|
|
|
101
101
|
...y,
|
|
102
102
|
children: /* @__PURE__ */ o("div", {
|
|
103
103
|
className: "flex items-end gap-2",
|
|
104
|
-
style: {
|
|
104
|
+
style: { minHeight: S },
|
|
105
105
|
children: t.map((t, n) => {
|
|
106
|
-
let r = u(Math.abs(t.value), x), c = t.value < 0, l = p(t.label);
|
|
106
|
+
let r = u(Math.abs(t.value), x), c = t.value < 0, l = p(t.label), h = Math.max(Math.round(r * C), Math.abs(t.value) > 0 ? 3 : 0);
|
|
107
107
|
return /* @__PURE__ */ s("div", {
|
|
108
108
|
className: "flex min-w-0 flex-1 flex-col items-center gap-2",
|
|
109
109
|
title: l ? `${l}: ${t.value}` : void 0,
|
|
@@ -113,11 +113,12 @@ function y({ data: t, size: n = "md", max: r, showLabels: i = !0, showValues: a
|
|
|
113
113
|
children: f(t.value, m)
|
|
114
114
|
}),
|
|
115
115
|
/* @__PURE__ */ o("div", {
|
|
116
|
-
className: "flex w-full
|
|
116
|
+
className: "flex w-full items-end rounded-[min(var(--radius-xl),16px)] border border-border/60 bg-muted/38 p-1",
|
|
117
|
+
style: { height: C },
|
|
117
118
|
children: /* @__PURE__ */ o("div", {
|
|
118
119
|
className: e("w-full rounded-[min(var(--radius-lg),12px)] bg-primary transition-all", v),
|
|
119
120
|
style: {
|
|
120
|
-
height:
|
|
121
|
+
height: h,
|
|
121
122
|
background: d(n, t.color),
|
|
122
123
|
opacity: c ? .72 : 1
|
|
123
124
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../showcase/create-demo.cjs");var t=e.createShowcaseDemoRegistry([e.component(`charts`,`ChartFrame`,`display`,`Chart primitives for dashboard metrics, distribution and trend views.`,`ChartFrame`)]);exports.chartsShowcaseDemoRegistry=t;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { component as e, createShowcaseDemoRegistry as t } from "../../showcase/create-demo.js";
|
|
2
|
+
//#region src/components/charts/demo.tsx
|
|
3
|
+
var n = t([e("charts", "ChartFrame", "display", "Chart primitives for dashboard metrics, distribution and trend views.", "ChartFrame")]);
|
|
4
|
+
//#endregion
|
|
5
|
+
export { n as chartsShowcaseDemoRegistry };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../lib/utils.cjs"),n=require("../ui/button/index.cjs"),r=require("../ui/input/index.cjs"),i=require("../ui/table/index.cjs"),a=require("../feedback/loading-state.cjs"),o=require("../display/data-state.cjs"),ee=require("../../../node_modules/@tanstack/react-virtual/dist/esm/index.cjs"),te=require("./data-table-actions-column.cjs"),ne=require("./data-table-bulk-actions.cjs"),re=require("./data-table-column-visibility-menu.cjs"),ie=require("./data-table-pagination.cjs"),ae=require("./data-table-toolbar.cjs");let s=require("react");s=e.__toESM(s,1);let c=require("react/jsx-runtime"),l=require("@tanstack/react-table");var oe={compact:`h-8 px-2 py-1.5`,default:`h-10 px-2 py-2`,comfortable:`h-12 px-3 py-3`},se={compact:`px-2 py-1.5`,default:`p-2`,comfortable:`px-3 py-3`};function ce(e,t){return typeof t==`function`?t(e):t}function le(e,t){return typeof t==`function`?t(e):t}function ue(e,t){return typeof t==`function`?t(e):t}function de(e){return e==null||e===``}function u({className:e,columns:u,data:d,title:f,description:p,features:m,search:h,filters:g,summary:_,toolbarActions:v,rowActions:y,bulkActions:b,onRefresh:x,onExport:S,refreshLabel:fe=`Refresh`,exportLabel:pe=`Export`,getRowId:me,isLoading:C=!1,isError:he=!1,emptyState:ge,errorState:_e,loadingState:ve,loadingVariant:ye=`skeleton`,toolbar:w,toolbarProps:T,pagination:E,sorting:be,onSortingChange:xe,columnVisibility:Se,onColumnVisibilityChange:Ce,rowSelection:we,onRowSelectionChange:Te,enableRowSelection:Ee,renderMobileCard:D,onRowClick:O,onRowDoubleClick:De,getRowDisabled:Oe,density:k=`default`,striped:A=!1,bordered:j=!1,stickyHeader:M=!1,skeletonRows:ke=6,skeletonCellClassName:Ae,cellFallback:je=`-`,tableClassName:Me,tableWrapperClassName:Ne,headerCellClassName:Pe,cellClassName:Fe,rowClassName:Ie,renderExpandedRow:N,expanded:Le,onExpandedChange:Re,getRowCanExpand:ze,columnPinning:P,onColumnPinningChange:Be,virtualization:F,...Ve}){let He=s.useMemo(()=>{let e=u;return!y||m?.rowActions===!1?e:[...e,te.createDataTableActionsColumn({getActions:y})]},[u,m?.rowActions,y]),I=E===!1?void 0:E,Ue=I?{pageIndex:I.pageIndex,pageSize:I.pageSize}:void 0,L=!!(I&&I.manual!==!1),We=we??{},R=(0,l.useReactTable)({data:d,columns:He,getRowId:me,getCoreRowModel:(0,l.getCoreRowModel)(),getPaginationRowModel:I&&!L?(0,l.getPaginationRowModel)():void 0,manualPagination:L,pageCount:I?.pageCount,state:{sorting:be,columnVisibility:Se,rowSelection:We,pagination:Ue,expanded:Le,...P?{columnPinning:P}:{}},onSortingChange:xe,onColumnVisibilityChange:Ce,onRowSelectionChange:Te,onExpandedChange:Re,onColumnPinningChange:Be,enableRowSelection:Ee,getRowCanExpand:ze,getExpandedRowModel:(0,l.getExpandedRowModel)()}),z=R.getRowModel().rows,Ge=s.useRef(null),B=F===!1?void 0:F,V=!!(B&&B.enabled!==!1&&z.length>0),H=B?.height??480,Ke=B?.onRangeChange,U=ee.useVirtualizer({count:V?z.length:0,getScrollElement:()=>Ge.current,estimateSize:()=>B?.estimateRowHeight??48,getItemKey:e=>z[e]?.id??e,overscan:B?.overscan??8,initialRect:{width:0,height:typeof H==`number`?H:480},onChange(e){if(!Ke)return;let t=e.getVirtualItems();Ke({startIndex:t[0]?.index??-1,endIndex:t.at(-1)?.index??-1})}}),qe=V?U.getVirtualItems():[],W=B?.estimateRowHeight??48,Je=V?Math.min(z.length,Math.ceil((typeof H==`number`?H:480)/W)+(B?.overscan??8)):0,G=qe.length>0?qe:Array.from({length:Je},(e,t)=>({key:z[t]?.id??t,index:t,start:t*W,end:(t+1)*W,size:W,lane:0})),Ye=G[0]?.start??0,Xe=G.length?Math.max(U.getTotalSize()-G[G.length-1].end,0):0,K=R.getSelectedRowModel().rows.map(e=>e.original),Ze=K.length,q=s.useMemo(()=>({table:R,data:d,selectedRows:K}),[d,K,R]),Qe=R.getVisibleLeafColumns(),$e=Math.max(Qe.length,1),et=typeof w==`function`?w(R):w,tt=typeof T==`function`?T(R):T,J=typeof g==`function`?g(q):g,Y=typeof _==`function`?_(q):_,nt=!!(h&&m?.search!==!1),rt=!!(m?.columnVisibility&&R.getAllLeafColumns().some(e=>e.getCanHide())),X=!!(m?.refresh&&x),Z=!!(m?.export&&S),it=!!(m?.bulkActions!==!1&&b?.length),at=rt&&!!(f||p||h||J||Y||v||X||Z),ot=nt&&h?(0,c.jsx)(r.Input,{type:`search`,value:h.value,onValueChange:h.onValueChange,placeholder:h.placeholder??`Search...`,wrapperClassName:h.wrapperClassName??h.className,inputClassName:h.inputClassName,disabled:h.disabled,clearable:h.clearable,clearLabel:h.clearLabel,searchIcon:h.searchIcon}):void 0,st=(0,c.jsxs)(c.Fragment,{children:[typeof v==`function`?v(q):v,at&&(0,c.jsx)(re.DataTableColumnVisibilityMenu,{table:R}),X&&(0,c.jsx)(n.Button,{type:`button`,variant:`outline`,size:`sm`,disabled:C,onClick:()=>x?.(q),children:fe}),Z&&(0,c.jsx)(n.Button,{type:`button`,variant:`outline`,size:`sm`,onClick:()=>S?.(q),children:pe})]}),ct=it?(0,c.jsx)(ne.DataTableBulkActions,{rows:K,actions:b??[],selectedLabel:()=>`Actions`,clearLabel:null,onClearSelection:()=>R.resetRowSelection(),hideWhenEmpty:!1}):void 0,lt=!!(et||tt||f||p||ot||J||Y||v||at||X||Z||ct),ut=!!(I&&!I.hidden),Q=C&&ye===`skeleton`,dt=(e,t)=>t>0?(0,c.jsx)(i.TableRow,{"aria-hidden":`true`,className:`pointer-events-none border-0 hover:bg-transparent`,children:(0,c.jsx)(i.TableCell,{colSpan:$e,className:`border-0 p-0`,style:{height:t}})},e):null,ft=e=>(0,c.jsx)(i.TableRow,{children:(0,c.jsx)(i.TableCell,{colSpan:$e,className:`p-0`,children:e})}),pt=()=>Array.from({length:Math.max(ke,1)},(e,n)=>(0,c.jsx)(i.TableRow,{"aria-hidden":`true`,children:Qe.map(e=>(0,c.jsx)(i.TableCell,{className:t.cn(se[k],j&&`border-r last:border-r-0`),children:(0,c.jsx)(`div`,{className:t.cn(`h-4 w-full max-w-40 animate-pulse rounded-md bg-muted`,n%3==1&&`max-w-24`,n%3==2&&`max-w-32`,Ae)})},`${e.id}-${n}`))},`skeleton-${n}`)),$=Q?null:C?(0,c.jsx)(a.LoadingState,{label:`Loading data...`,...ve}):he?(0,c.jsx)(o.DataState,{status:`error`,title:`Could not load data`,description:`Please try again.`,variant:`plain`,..._e}):z.length===0?(0,c.jsx)(o.DataState,{status:`empty`,variant:`plain`,...ge}):null,mt=(e,n,r)=>{let a=Oe?.(e)??!1;return(0,c.jsxs)(s.Fragment,{children:[(0,c.jsx)(i.TableRow,{ref:r&&B?.measureRows!==!1?U.measureElement:void 0,"data-index":r?.index,"data-state":e.getIsSelected()?`selected`:void 0,"data-striped":A&&n%2==1?`true`:void 0,"data-disabled":a||void 0,className:t.cn(O&&!a&&`cursor-pointer`,!a&&`transition-colors hover:bg-[color:color-mix(in_oklch,var(--primary),transparent_96%)] data-[state=selected]:bg-[color:color-mix(in_oklch,var(--primary),transparent_90%)]`,a&&`pointer-events-none opacity-55`,ce(e,Ie)),onClick:()=>{a||O?.(e)},onDoubleClick:()=>{a||De?.(e)},children:e.getVisibleCells().map(e=>{let n=(0,l.flexRender)(e.column.columnDef.cell,e.getContext());return(0,c.jsx)(i.TableCell,{style:{...e.column.getIsPinned()===`left`?{left:`${e.column.getStart(`left`)}px`,position:`sticky`,zIndex:10}:{},...e.column.getIsPinned()===`right`?{right:`${e.column.getAfter(`right`)}px`,position:`sticky`,zIndex:10}:{}},className:t.cn(se[k],e.column.getIsPinned()&&`bg-card shadow-[1px_0_0_var(--border)]`,j&&`border-r last:border-r-0`,ue(e,Fe)),children:de(n)?je:n},e.id)})}),e.getIsExpanded()&&N?(0,c.jsx)(i.TableRow,{className:`bg-muted/50 hover:bg-muted/50`,children:(0,c.jsx)(i.TableCell,{colSpan:e.getVisibleCells().length,children:N(e)})}):null]},e.id)};return(0,c.jsxs)(`div`,{"data-slot":`data-table`,className:t.cn(`grid gap-3`,e),...Ve,children:[lt&&(et??(0,c.jsx)(ae.DataTableToolbar,{title:f,description:p,search:ot,filters:J,summary:Y,actions:st,selectionActions:ct,selectedCount:Ze,totalCount:I?I.rowCount??d.length:d.length,variant:`plain`,...tt})),D&&(0,c.jsx)(`div`,{className:`grid gap-3 md:hidden`,children:$??(Q?(0,c.jsx)(a.LoadingState,{label:`Loading data...`,...ve}):z.map(e=>(0,c.jsx)(s.Fragment,{children:D(e)},e.id)))}),(0,c.jsxs)(`div`,{"data-slot":`data-table-wrapper`,"data-density":k,"data-striped":A||void 0,"data-bordered":j||void 0,"data-virtualized":V||void 0,className:t.cn(`overflow-hidden rounded-[var(--aui-card-radius,var(--radius-lg))] border border-[color:var(--aui-card-border,var(--border))] bg-card shadow-[var(--aui-card-shadow,0_10px_24px_rgba(15,23,42,0.07))] backdrop-blur`,D&&`hidden md:block`,Ne),children:[(0,c.jsxs)(i.Table,{containerRef:Ge,containerStyle:V?{height:H,overscrollBehavior:`contain`}:void 0,containerClassName:t.cn(`rounded-none border-0 bg-transparent shadow-none ring-0`,V&&`overflow-auto`),className:t.cn(`text-[0.95rem]`,Me),"aria-rowcount":z.length,children:[(0,c.jsx)(i.TableHeader,{className:t.cn((M||V)&&`sticky top-0 z-10 shadow-sm backdrop-blur`),children:R.getHeaderGroups().map(e=>(0,c.jsx)(i.TableRow,{children:e.headers.map(e=>(0,c.jsx)(i.TableHead,{style:{width:e.getSize(),...e.column.getIsPinned()===`left`?{left:`${e.column.getStart(`left`)}px`,position:`sticky`,zIndex:M?20:11}:{},...e.column.getIsPinned()===`right`?{right:`${e.column.getAfter(`right`)}px`,position:`sticky`,zIndex:M?20:11}:{}},className:t.cn(oe[k],`bg-[color:color-mix(in_oklch,var(--card),var(--background)_10%)] text-muted-foreground`,(M||V)&&`bg-[color:color-mix(in_oklch,var(--card),transparent_12%)] backdrop-blur`,e.column.getIsPinned()&&`bg-card shadow-[1px_0_0_var(--border)]`,j&&`border-r last:border-r-0`,le(e,Pe)),children:e.isPlaceholder?null:(0,l.flexRender)(e.column.columnDef.header,e.getContext())},e.id))},e.id))}),(0,c.jsx)(i.TableBody,{children:$?ft($):Q?pt():V?[dt(`virtual-top`,Ye),...G.map(e=>mt(z[e.index],e.index,e)),dt(`virtual-bottom`,Xe)]:z.map((e,t)=>mt(e,t))})]}),ut&&I&&(0,c.jsx)(ie.DataTablePagination,{pageIndex:I.pageIndex,pageSize:I.pageSize,pageCount:I.pageCount,rowCount:I.rowCount,pageSizeOptions:I.pageSizeOptions,showPageSize:I.showPageSize,labels:I.labels,disabled:C,onPageChange:I.onPageChange,onPageSizeChange:I.onPageSizeChange})]})]})}exports.DataTable=u;
|
|
1
|
+
"use client";Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../lib/utils.cjs"),n=require("../ui/button/index.cjs"),r=require("../ui/input/index.cjs"),i=require("../ui/table/index.cjs"),a=require("../../hooks/use-is-mobile.cjs"),o=require("../feedback/loading-state.cjs"),s=require("../display/data-state.cjs"),ee=require("../../../node_modules/@tanstack/react-virtual/dist/esm/index.cjs"),te=require("./data-table-actions-column.cjs"),ne=require("./data-table-bulk-actions.cjs"),re=require("./data-table-column-visibility-menu.cjs"),ie=require("./data-table-pagination.cjs"),ae=require("./data-table-toolbar.cjs");let c=require("react");c=e.__toESM(c,1);let l=require("react/jsx-runtime"),u=require("@tanstack/react-table");var oe={compact:`h-8 px-2 py-1.5`,default:`h-10 px-2 py-2`,comfortable:`h-12 px-3 py-3`},se={compact:`px-2 py-1.5`,default:`p-2`,comfortable:`px-3 py-3`};function ce(e,t){return typeof t==`function`?t(e):t}function le(e,t){return typeof t==`function`?t(e):t}function ue(e,t){return typeof t==`function`?t(e):t}function de(e){return e==null||e===``}function fe(e){let t=e.column.columnDef.header;return typeof t==`string`?t:typeof t==`number`?String(t):e.column.id===`actions`?`Actions`:e.column.id}function d({className:e,columns:d,data:f,title:p,description:m,features:h,search:g,filters:_,summary:v,toolbarActions:y,rowActions:b,bulkActions:x,onRefresh:pe,onExport:S,refreshLabel:me=`Refresh`,exportLabel:he=`Export`,getRowId:ge,isLoading:C=!1,isError:_e=!1,emptyState:ve,errorState:ye,loadingState:be,loadingVariant:xe=`skeleton`,toolbar:w,toolbarProps:T,pagination:E,sorting:Se,onSortingChange:Ce,columnVisibility:we,onColumnVisibilityChange:Te,rowSelection:Ee,onRowSelectionChange:De,enableRowSelection:Oe,renderMobileCard:D,mobileLayout:ke=`auto`,onRowClick:O,onRowDoubleClick:Ae,getRowDisabled:k,density:A=`default`,striped:j=!1,bordered:M=!1,stickyHeader:N=!1,skeletonRows:je=6,skeletonCellClassName:Me,cellFallback:P=`-`,tableClassName:Ne,tableWrapperClassName:Pe,headerCellClassName:Fe,cellClassName:Ie,rowClassName:F,renderExpandedRow:Le,expanded:Re,onExpandedChange:ze,getRowCanExpand:Be,columnPinning:Ve,onColumnPinningChange:He,virtualization:Ue,...We}){let Ge=c.useMemo(()=>{let e=d;return!b||h?.rowActions===!1?e:[...e,te.createDataTableActionsColumn({getActions:b})]},[d,h?.rowActions,b]),I=E===!1?void 0:E,Ke=I?{pageIndex:I.pageIndex,pageSize:I.pageSize}:void 0,qe=!!(I&&I.manual!==!1),Je=Ee??{},L=(0,u.useReactTable)({data:f,columns:Ge,getRowId:ge,getCoreRowModel:(0,u.getCoreRowModel)(),getPaginationRowModel:I&&!qe?(0,u.getPaginationRowModel)():void 0,manualPagination:qe,pageCount:I?.pageCount,state:{sorting:Se,columnVisibility:we,rowSelection:Je,pagination:Ke,expanded:Re,...Ve?{columnPinning:Ve}:{}},onSortingChange:Ce,onColumnVisibilityChange:Te,onRowSelectionChange:De,onExpandedChange:ze,onColumnPinningChange:He,enableRowSelection:Oe,getRowCanExpand:Be,getExpandedRowModel:(0,u.getExpandedRowModel)()}),R=L.getRowModel().rows,Ye=c.useRef(null),z=Ue===!1?void 0:Ue,B=!!(z&&z.enabled!==!1&&R.length>0),V=z?.height??480,Xe=z?.onRangeChange,H=ee.useVirtualizer({count:B?R.length:0,getScrollElement:()=>Ye.current,estimateSize:()=>z?.estimateRowHeight??48,getItemKey:e=>R[e]?.id??e,overscan:z?.overscan??8,initialRect:{width:0,height:typeof V==`number`?V:480},onChange(e){if(!Xe)return;let t=e.getVirtualItems();Xe({startIndex:t[0]?.index??-1,endIndex:t.at(-1)?.index??-1})}}),Ze=B?H.getVirtualItems():[],U=z?.estimateRowHeight??48,Qe=B?Math.min(R.length,Math.ceil((typeof V==`number`?V:480)/U)+(z?.overscan??8)):0,W=Ze.length>0?Ze:Array.from({length:Qe},(e,t)=>({key:R[t]?.id??t,index:t,start:t*U,end:(t+1)*U,size:U,lane:0})),$e=W[0]?.start??0,et=W.length?Math.max(H.getTotalSize()-W[W.length-1].end,0):0,G=L.getSelectedRowModel().rows.map(e=>e.original),tt=G.length,K=c.useMemo(()=>({table:L,data:f,selectedRows:G}),[f,G,L]),nt=L.getVisibleLeafColumns(),rt=Math.max(nt.length,1),it=typeof w==`function`?w(L):w,at=typeof T==`function`?T(L):T,q=typeof _==`function`?_(K):_,J=typeof v==`function`?v(K):v,ot=!!(g&&h?.search!==!1),st=!!(h?.columnVisibility&&L.getAllLeafColumns().some(e=>e.getCanHide())),Y=!!(h?.refresh&&pe),X=!!(h?.export&&S),ct=!!(h?.bulkActions!==!1&&x?.length),lt=st&&!!(p||m||g||q||J||y||Y||X),ut=ot&&g?(0,l.jsx)(r.Input,{type:`search`,value:g.value,onValueChange:g.onValueChange,placeholder:g.placeholder??`Search...`,wrapperClassName:g.wrapperClassName??g.className,inputClassName:g.inputClassName,disabled:g.disabled,clearable:g.clearable,clearLabel:g.clearLabel,searchIcon:g.searchIcon}):void 0,dt=(0,l.jsxs)(l.Fragment,{children:[typeof y==`function`?y(K):y,lt&&(0,l.jsx)(re.DataTableColumnVisibilityMenu,{table:L}),Y&&(0,l.jsx)(n.Button,{type:`button`,variant:`outline`,size:`sm`,disabled:C,onClick:()=>pe?.(K),children:me}),X&&(0,l.jsx)(n.Button,{type:`button`,variant:`outline`,size:`sm`,onClick:()=>S?.(K),children:he})]}),ft=ct?(0,l.jsx)(ne.DataTableBulkActions,{rows:G,actions:x??[],selectedLabel:()=>`Actions`,clearLabel:null,onClearSelection:()=>L.resetRowSelection(),hideWhenEmpty:!1}):void 0,pt=!!(it||at||p||m||ut||q||J||y||lt||Y||X||ft),mt=!!(I&&!I.hidden),Z=C&&xe===`skeleton`,ht=a.useIsMobile(),gt=ke!==`scroll`&&ht,_t=(e,t)=>t>0?(0,l.jsx)(i.TableRow,{"aria-hidden":`true`,className:`pointer-events-none border-0 hover:bg-transparent`,children:(0,l.jsx)(i.TableCell,{colSpan:rt,className:`border-0 p-0`,style:{height:t}})},e):null,vt=e=>(0,l.jsx)(i.TableRow,{children:(0,l.jsx)(i.TableCell,{colSpan:rt,className:`p-0`,children:e})}),yt=()=>Array.from({length:Math.max(je,1)},(e,n)=>(0,l.jsx)(i.TableRow,{"aria-hidden":`true`,children:nt.map(e=>(0,l.jsx)(i.TableCell,{className:t.cn(se[A],M&&`border-r last:border-r-0`),children:(0,l.jsx)(`div`,{className:t.cn(`h-4 w-full max-w-40 animate-pulse rounded-md bg-muted`,n%3==1&&`max-w-24`,n%3==2&&`max-w-32`,Me)})},`${e.id}-${n}`))},`skeleton-${n}`)),Q=Z?null:C?(0,l.jsx)(o.LoadingState,{label:`Loading data...`,...be}):_e?(0,l.jsx)(s.DataState,{status:`error`,title:`Could not load data`,description:`Please try again.`,variant:`plain`,...ye}):R.length===0?(0,l.jsx)(s.DataState,{status:`empty`,variant:`plain`,...ve}):null,$=(e,n,r)=>{let a=k?.(e)??!1;return(0,l.jsxs)(c.Fragment,{children:[(0,l.jsx)(i.TableRow,{ref:r&&z?.measureRows!==!1?H.measureElement:void 0,"data-index":r?.index,"data-state":e.getIsSelected()?`selected`:void 0,"data-striped":j&&n%2==1?`true`:void 0,"data-disabled":a||void 0,className:t.cn(O&&!a&&`cursor-pointer`,!a&&`transition-colors hover:bg-[color:color-mix(in_oklch,var(--primary),transparent_96%)] data-[state=selected]:bg-[color:color-mix(in_oklch,var(--primary),transparent_90%)]`,a&&`pointer-events-none opacity-55`,ce(e,F)),onClick:()=>{a||O?.(e)},onDoubleClick:()=>{a||Ae?.(e)},children:e.getVisibleCells().map(e=>{let n=(0,u.flexRender)(e.column.columnDef.cell,e.getContext());return(0,l.jsx)(i.TableCell,{style:{...e.column.getIsPinned()===`left`?{left:`${e.column.getStart(`left`)}px`,position:`sticky`,zIndex:10}:{},...e.column.getIsPinned()===`right`?{right:`${e.column.getAfter(`right`)}px`,position:`sticky`,zIndex:10}:{}},className:t.cn(se[A],e.column.getIsPinned()&&`bg-card shadow-[1px_0_0_var(--border)]`,M&&`border-r last:border-r-0`,ue(e,Ie)),children:de(n)?P:n},e.id)})}),e.getIsExpanded()&&Le?(0,l.jsx)(i.TableRow,{className:`bg-muted/50 hover:bg-muted/50`,children:(0,l.jsx)(i.TableCell,{colSpan:e.getVisibleCells().length,children:Le(e)})}):null]},e.id)},bt=e=>{let n=k?.(e)??!1,r=e.getVisibleCells();return(0,l.jsx)(`article`,{"data-slot":`data-table-mobile-card`,"data-state":e.getIsSelected()?`selected`:void 0,"data-disabled":n||void 0,className:t.cn(`grid gap-3 rounded-[var(--aui-card-radius,var(--radius-lg))] border border-[color:var(--aui-card-border,var(--border))] bg-card p-3 shadow-[var(--aui-card-shadow,0_10px_24px_rgba(15,23,42,0.07))]`,O&&!n&&`cursor-pointer transition-colors hover:bg-[color:color-mix(in_oklch,var(--primary),transparent_96%)]`,n&&`pointer-events-none opacity-55`,ce(e,F)),role:O&&!n?`button`:void 0,tabIndex:O&&!n?0:void 0,onClick:()=>{n||O?.(e)},onKeyDown:t=>{t.target!==t.currentTarget||n||!O||(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),O(e))},children:r.map(e=>{let t=(0,u.flexRender)(e.column.columnDef.cell,e.getContext());return(0,l.jsxs)(`div`,{"data-slot":`data-table-mobile-cell`,className:`grid grid-cols-[minmax(7rem,0.42fr)_minmax(0,1fr)] items-start gap-3 text-sm`,children:[(0,l.jsx)(`span`,{className:`min-w-0 text-xs font-semibold uppercase tracking-wide text-muted-foreground`,children:fe(e)}),(0,l.jsx)(`div`,{className:`min-w-0 text-right text-foreground/92 [&>*]:ml-auto`,children:de(t)?P:t})]},e.id)})},e.id)};return(0,l.jsxs)(`div`,{"data-slot":`data-table`,className:t.cn(`grid gap-3`,e),...We,children:[pt&&(it??(0,l.jsx)(ae.DataTableToolbar,{title:p,description:m,search:ut,filters:q,summary:J,actions:dt,selectionActions:ft,selectedCount:tt,totalCount:I?I.rowCount??f.length:f.length,variant:`plain`,...at})),gt&&(0,l.jsx)(`div`,{className:`grid gap-3`,children:Q??(Z?(0,l.jsx)(o.LoadingState,{label:`Loading data...`,...be}):R.map(e=>(0,l.jsx)(c.Fragment,{children:D?D(e):bt(e)},e.id)))}),!gt&&(0,l.jsxs)(`div`,{"data-slot":`data-table-wrapper`,"data-density":A,"data-striped":j||void 0,"data-bordered":M||void 0,"data-virtualized":B||void 0,className:t.cn(`overflow-hidden rounded-[var(--aui-card-radius,var(--radius-lg))] border border-[color:var(--aui-card-border,var(--border))] bg-card shadow-[var(--aui-card-shadow,0_10px_24px_rgba(15,23,42,0.07))] backdrop-blur`,Pe),children:[(0,l.jsxs)(i.Table,{containerRef:Ye,containerStyle:B?{height:V,overscrollBehavior:`contain`}:void 0,containerClassName:t.cn(`rounded-none border-0 bg-transparent shadow-none ring-0`,B&&`overflow-auto`),className:t.cn(`text-[0.95rem]`,Ne),"aria-rowcount":R.length,children:[(0,l.jsx)(i.TableHeader,{className:t.cn((N||B)&&`sticky top-0 z-10 shadow-sm backdrop-blur`),children:L.getHeaderGroups().map(e=>(0,l.jsx)(i.TableRow,{children:e.headers.map(e=>(0,l.jsx)(i.TableHead,{style:{width:e.getSize(),...e.column.getIsPinned()===`left`?{left:`${e.column.getStart(`left`)}px`,position:`sticky`,zIndex:N?20:11}:{},...e.column.getIsPinned()===`right`?{right:`${e.column.getAfter(`right`)}px`,position:`sticky`,zIndex:N?20:11}:{}},className:t.cn(oe[A],`bg-[color:color-mix(in_oklch,var(--card),var(--background)_10%)] text-muted-foreground`,(N||B)&&`bg-[color:color-mix(in_oklch,var(--card),transparent_12%)] backdrop-blur`,e.column.getIsPinned()&&`bg-card shadow-[1px_0_0_var(--border)]`,M&&`border-r last:border-r-0`,le(e,Fe)),children:e.isPlaceholder?null:(0,u.flexRender)(e.column.columnDef.header,e.getContext())},e.id))},e.id))}),(0,l.jsx)(i.TableBody,{children:Q?vt(Q):Z?yt():B?[_t(`virtual-top`,$e),...W.map(e=>$(R[e.index],e.index,e)),_t(`virtual-bottom`,et)]:R.map((e,t)=>$(e,t))})]}),mt&&I&&(0,l.jsx)(ie.DataTablePagination,{pageIndex:I.pageIndex,pageSize:I.pageSize,pageCount:I.pageCount,rowCount:I.rowCount,pageSizeOptions:I.pageSizeOptions,showPageSize:I.showPageSize,labels:I.labels,disabled:C,onPageChange:I.onPageChange,onPageSizeChange:I.onPageSizeChange})]})]})}exports.DataTable=d;
|