@pattern-stack/frontend-patterns 0.2.0-alpha.7 → 0.2.0-alpha.9
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/atoms/components/core/Badge/Badge.d.ts +1 -1
- package/dist/atoms/components/data/DataTable/DataTable.d.ts +2 -2
- package/dist/atoms/components/data/DataTable/DataTable.d.ts.map +1 -1
- package/dist/atoms/components/data/DataTable/DataTable.types.d.ts +40 -2
- package/dist/atoms/components/data/DataTable/DataTable.types.d.ts.map +1 -1
- package/dist/atoms/hooks/index.d.ts +1 -0
- package/dist/atoms/hooks/index.d.ts.map +1 -1
- package/dist/atoms/hooks/useAdaptiveTable.d.ts +49 -0
- package/dist/atoms/hooks/useAdaptiveTable.d.ts.map +1 -0
- package/dist/atoms/hooks/useApi.d.ts +1 -1
- package/dist/atoms/hooks/useApi.d.ts.map +1 -1
- package/dist/atoms/hooks/useResponsiveTable.d.ts +44 -24
- package/dist/atoms/hooks/useResponsiveTable.d.ts.map +1 -1
- package/dist/atoms/shared/config/table-config.d.ts +79 -0
- package/dist/atoms/shared/config/table-config.d.ts.map +1 -0
- package/dist/atoms/shared/index.d.ts +1 -0
- package/dist/atoms/shared/index.d.ts.map +1 -1
- package/dist/atoms/utils/entity-card-mapping.d.ts +1 -1
- package/dist/atoms/utils/entity-card-mapping.d.ts.map +1 -1
- package/dist/index.es.js +559 -180
- package/dist/index.es.js.map +1 -1
- package/dist/index.js +558 -179
- package/dist/index.js.map +1 -1
- package/dist/molecules/layout/navigation-context.d.ts.map +1 -1
- package/dist/templates/factory.d.ts +11 -0
- package/dist/templates/factory.d.ts.map +1 -1
- package/package.json +5 -3
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { type VariantProps } from "class-variance-authority";
|
|
3
3
|
declare const badgeVariants: (props?: {
|
|
4
|
-
variant?: "success" | "
|
|
4
|
+
variant?: "success" | "warning" | "info" | "secondary" | "default" | "destructive" | "outline";
|
|
5
5
|
size?: "sm" | "lg" | "default";
|
|
6
6
|
} & import("class-variance-authority/types").ClassProp) => string;
|
|
7
7
|
export interface BadgeProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof badgeVariants> {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { IListLoadable } from "../../../types";
|
|
2
2
|
import type { DataTableProps } from "./DataTable.types";
|
|
3
|
-
export type { Column, ResponsiveColumn, DataTableProps, DataTableColumn, } from "./DataTable.types";
|
|
4
|
-
export declare function DataTable<T extends Record<string, unknown>>({ data, columns, searchPlaceholder, pageSize, showPagination, showSearch, onRowClick, emptyMessage, className, hover, isLoading, loadingItemCount, responsive, renderMobileCard, ui, error, errorTitle, errorRetry, selectable, selectedIds, onSelectionChange, getRowId, selectAllMode, }: DataTableProps<T> & IListLoadable): import("react/jsx-runtime").JSX.Element;
|
|
3
|
+
export type { Column, ResponsiveColumn, DataTableProps, DataTableColumn, QueryWithMeta, } from "./DataTable.types";
|
|
4
|
+
export declare function DataTable<T extends Record<string, unknown>>({ data: dataProp, columns: columnsProp, query, searchPlaceholder, pageSize, showPagination, showSearch, onRowClick, emptyMessage, className, hover, isLoading: isLoadingProp, loadingItemCount, responsive, renderMobileCard, ui, error: errorProp, errorTitle, errorRetry, selectable, selectedIds, onSelectionChange, getRowId, selectAllMode, }: DataTableProps<T> & IListLoadable): import("react/jsx-runtime").JSX.Element;
|
|
5
5
|
//# sourceMappingURL=DataTable.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataTable.d.ts","sourceRoot":"","sources":["../../../../../src/atoms/components/data/DataTable/DataTable.tsx"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AASpD,OAAO,KAAK,EAGV,cAAc,EAEf,MAAM,mBAAmB,CAAC;AAM3B,YAAY,EACV,MAAM,EACN,gBAAgB,EAChB,cAAc,EACd,eAAe,
|
|
1
|
+
{"version":3,"file":"DataTable.d.ts","sourceRoot":"","sources":["../../../../../src/atoms/components/data/DataTable/DataTable.tsx"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AASpD,OAAO,KAAK,EAGV,cAAc,EAEf,MAAM,mBAAmB,CAAC;AAM3B,YAAY,EACV,MAAM,EACN,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,aAAa,GACd,MAAM,mBAAmB,CAAC;AA4B3B,wBAAgB,SAAS,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAC3D,IAAI,EAAE,QAAQ,EACd,OAAO,EAAE,WAAW,EACpB,KAAK,EACL,iBAA+B,EAC/B,QAAa,EACb,cAAqB,EACrB,UAAiB,EACjB,UAAU,EACV,YAAkC,EAClC,SAAc,EACd,KAAa,EACb,SAAS,EAAE,aAAqB,EAChC,gBAAoB,EACpB,UAAiB,EACjB,gBAAgB,EAChB,EAAE,EACF,KAAK,EAAE,SAAgB,EACvB,UAAU,EACV,UAAU,EACV,UAAkB,EAClB,WAAW,EACX,iBAAiB,EACjB,QAAQ,EACR,aAAsB,GACvB,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,aAAa,2CA2gBnC"}
|
|
@@ -1,6 +1,26 @@
|
|
|
1
1
|
import type { ResponsiveColumnConfig, DisplayMode, ResponsiveValue, Breakpoint } from "../../../config/responsive";
|
|
2
2
|
import type { UIConfig, UIType, FieldFormat } from "../../../types/ui-config";
|
|
3
3
|
import type { ColumnMetadata } from "../../../types/ui-metadata";
|
|
4
|
+
/**
|
|
5
|
+
* Unified query result with metadata - compatible with sync-patterns generated hooks.
|
|
6
|
+
* This interface matches UnifiedQueryResultWithMeta from sync-patterns.
|
|
7
|
+
*/
|
|
8
|
+
export interface QueryWithMeta<T> {
|
|
9
|
+
/** Entity data array */
|
|
10
|
+
data: T[] | undefined;
|
|
11
|
+
/** Whether data is loading */
|
|
12
|
+
isLoading: boolean;
|
|
13
|
+
/** Data query error */
|
|
14
|
+
error: Error | null;
|
|
15
|
+
/** Column metadata for rendering */
|
|
16
|
+
columns: ColumnMetadata[];
|
|
17
|
+
/** Whether metadata is still loading */
|
|
18
|
+
isLoadingMetadata: boolean;
|
|
19
|
+
/** Metadata-specific error */
|
|
20
|
+
metadataError: Error | null;
|
|
21
|
+
/** True when both data AND metadata are loaded */
|
|
22
|
+
isReady: boolean;
|
|
23
|
+
}
|
|
4
24
|
export interface Column<T> {
|
|
5
25
|
key: string;
|
|
6
26
|
header: string | React.ReactNode;
|
|
@@ -42,8 +62,26 @@ export interface ResponsiveColumn<T> extends Column<T>, ResponsiveColumnConfig {
|
|
|
42
62
|
*/
|
|
43
63
|
export type DataTableColumn<T> = Column<T> | ResponsiveColumn<T> | ColumnMetadata;
|
|
44
64
|
export interface DataTableProps<T> {
|
|
45
|
-
|
|
46
|
-
|
|
65
|
+
/**
|
|
66
|
+
* Raw data array. Use this OR `query`, not both.
|
|
67
|
+
* If `query` is provided, this is ignored.
|
|
68
|
+
*/
|
|
69
|
+
data?: T[];
|
|
70
|
+
/**
|
|
71
|
+
* Column definitions. If `query` is provided and has columns,
|
|
72
|
+
* this prop takes precedence (allows overriding query columns).
|
|
73
|
+
*/
|
|
74
|
+
columns?: DataTableColumn<T>[];
|
|
75
|
+
/**
|
|
76
|
+
* Unified query result with metadata from sync-patterns.
|
|
77
|
+
* When provided, extracts data, columns, loading, and error states automatically.
|
|
78
|
+
* Explicit props (data, columns, isLoading, error) take precedence over query values.
|
|
79
|
+
*
|
|
80
|
+
* @example
|
|
81
|
+
* const query = useAccountsWithMeta()
|
|
82
|
+
* <DataTable query={query} />
|
|
83
|
+
*/
|
|
84
|
+
query?: QueryWithMeta<T>;
|
|
47
85
|
searchPlaceholder?: string;
|
|
48
86
|
pageSize?: number;
|
|
49
87
|
showPagination?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataTable.types.d.ts","sourceRoot":"","sources":["../../../../../src/atoms/components/data/DataTable/DataTable.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,sBAAsB,EACtB,WAAW,EACX,eAAe,EACf,UAAU,EACX,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC9E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAEjE,MAAM,WAAW,MAAM,CAAC,CAAC;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC;IACjC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,KAAK,CAAC,SAAS,CAAC;IACpC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;;;;;OAQG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,MAAM,WAAW,gBAAgB,CAAC,CAAC,CACjC,SAAQ,MAAM,CAAC,CAAC,CAAC,EACf,sBAAsB;IACxB,mCAAmC;IACnC,eAAe,CAAC,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;IAC1C,yCAAyC;IACzC,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,sDAAsD;IACtD,iBAAiB,CAAC,EAAE,eAAe,CAAC,WAAW,CAAC,CAAC;IACjD,6CAA6C;IAC7C,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,MAAM,MAAM,eAAe,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC;AAElF,MAAM,WAAW,cAAc,CAAC,CAAC;IAC/B,IAAI,EAAE,CAAC,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"DataTable.types.d.ts","sourceRoot":"","sources":["../../../../../src/atoms/components/data/DataTable/DataTable.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ export * from "./useHealth";
|
|
|
4
4
|
export * from "./useResponsive";
|
|
5
5
|
export * from "./useFieldMetadata";
|
|
6
6
|
export * from "./useResponsiveTable";
|
|
7
|
+
export * from "./useAdaptiveTable";
|
|
7
8
|
export * from "./useEntityData";
|
|
8
9
|
export * from "./useEntityDetail";
|
|
9
10
|
export * from "./useOnlineStatus";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atoms/hooks/index.ts"],"names":[],"mappings":"AACA,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atoms/hooks/index.ts"],"names":[],"mappings":"AACA,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import type { ColumnMetadata } from "../types/ui-metadata";
|
|
2
|
+
export type ColumnRenderMode = "full" | "compact" | "hidden";
|
|
3
|
+
export type ColumnModes = Record<string, ColumnRenderMode>;
|
|
4
|
+
export interface UseAdaptiveTableOptions {
|
|
5
|
+
/** Column metadata with UIType for width calculations */
|
|
6
|
+
columns: ColumnMetadata[];
|
|
7
|
+
/** Field names that should never be compacted (always full-width) */
|
|
8
|
+
protectedColumns?: string[];
|
|
9
|
+
/** Minimum columns to show before switching to cards @default 2 */
|
|
10
|
+
minColumnsVisible?: number;
|
|
11
|
+
/** Minimum container width (px) before cards @default 400 */
|
|
12
|
+
minWidthForTable?: number;
|
|
13
|
+
/** Debounce delay (ms) for resize @default 100 */
|
|
14
|
+
debounceMs?: number;
|
|
15
|
+
/** Callback when column modes change */
|
|
16
|
+
onModeChange?: (modes: ColumnModes) => void;
|
|
17
|
+
}
|
|
18
|
+
export interface UseAdaptiveTableResult {
|
|
19
|
+
/** Ref to attach to the table container */
|
|
20
|
+
containerRef: React.RefObject<HTMLDivElement | null>;
|
|
21
|
+
/** Per-column render mode (full, compact, or hidden) */
|
|
22
|
+
columnModes: ColumnModes;
|
|
23
|
+
/** Visible columns with compact labels where applicable */
|
|
24
|
+
visibleColumns: ColumnMetadata[];
|
|
25
|
+
/** Overall view mode - 'table' or 'cards' */
|
|
26
|
+
viewMode: "table" | "cards";
|
|
27
|
+
/** Current calculated table width */
|
|
28
|
+
calculatedWidth: number;
|
|
29
|
+
/** Current container width */
|
|
30
|
+
containerWidth: number;
|
|
31
|
+
/** Debug: current degradation phase (0-6) */
|
|
32
|
+
degradationLevel: number;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Adaptive table with progressive per-column degradation.
|
|
36
|
+
*
|
|
37
|
+
* Unlike useResponsiveTable (discrete full/compact/cards modes),
|
|
38
|
+
* this progressively degrades individual columns before hiding them.
|
|
39
|
+
*
|
|
40
|
+
* @example
|
|
41
|
+
* ```tsx
|
|
42
|
+
* const { viewMode, columnModes, visibleColumns, containerRef } = useAdaptiveTable({
|
|
43
|
+
* columns: orderColumns,
|
|
44
|
+
* protectedColumns: ['customer', 'total'],
|
|
45
|
+
* });
|
|
46
|
+
* ```
|
|
47
|
+
*/
|
|
48
|
+
export declare function useAdaptiveTable(options: UseAdaptiveTableOptions): UseAdaptiveTableResult;
|
|
49
|
+
//# sourceMappingURL=useAdaptiveTable.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useAdaptiveTable.d.ts","sourceRoot":"","sources":["../../../src/atoms/hooks/useAdaptiveTable.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAgB,MAAM,sBAAsB,CAAC;AAOzE,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,CAAC;AAC7D,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;AAE3D,MAAM,WAAW,uBAAuB;IACtC,yDAAyD;IACzD,OAAO,EAAE,cAAc,EAAE,CAAC;IAE1B,qEAAqE;IACrE,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAE5B,mEAAmE;IACnE,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B,6DAA6D;IAC7D,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,kDAAkD;IAClD,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,wCAAwC;IACxC,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;CAC7C;AAED,MAAM,WAAW,sBAAsB;IACrC,2CAA2C;IAC3C,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IAErD,wDAAwD;IACxD,WAAW,EAAE,WAAW,CAAC;IAEzB,2DAA2D;IAC3D,cAAc,EAAE,cAAc,EAAE,CAAC;IAEjC,6CAA6C;IAC7C,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC;IAE5B,qCAAqC;IACrC,eAAe,EAAE,MAAM,CAAC;IAExB,8BAA8B;IAC9B,cAAc,EAAE,MAAM,CAAC;IAEvB,6CAA6C;IAC7C,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAqID;;;;;;;;;;;;;GAaG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,sBAAsB,CAmFzF"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type UseQueryOptions, type UseMutationOptions } from "@tanstack/react-query";
|
|
2
2
|
export declare function useApiQuery<T>(queryKey: (string | number)[], queryFn: () => Promise<T>, options?: Omit<UseQueryOptions<T>, "queryKey" | "queryFn">): import("@tanstack/react-query").UseQueryResult<import("@tanstack/query-core").NoInfer<T>, Error>;
|
|
3
|
-
export declare function useApiMutation<TData, TVariables = void>(mutationFn: (variables: TVariables) => Promise<TData>, options?: UseMutationOptions<TData, Error, TVariables>): import("@tanstack/react-query").UseMutationResult<TData, Error, TVariables, unknown>;
|
|
3
|
+
export declare function useApiMutation<TData, TVariables = void>(mutationFn: (variables: TVariables) => Promise<TData>, options?: Omit<UseMutationOptions<TData, Error, TVariables>, "mutationFn">): import("@tanstack/react-query").UseMutationResult<TData, Error, TVariables, unknown>;
|
|
4
4
|
interface ExampleData {
|
|
5
5
|
id: string;
|
|
6
6
|
name: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useApi.d.ts","sourceRoot":"","sources":["../../../src/atoms/hooks/useApi.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACxB,MAAM,uBAAuB,CAAC;AAI/B,wBAAgB,WAAW,CAAC,CAAC,EAC3B,QAAQ,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,EAC7B,OAAO,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACzB,OAAO,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC,oGAO3D;AAGD,wBAAgB,cAAc,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,EACrD,UAAU,EAAE,CAAC,SAAS,EAAE,UAAU,KAAK,OAAO,CAAC,KAAK,CAAC,EACrD,OAAO,CAAC,EAAE,kBAAkB,CAAC,KAAK,EAAE,KAAK,EAAE,UAAU,CAAC,
|
|
1
|
+
{"version":3,"file":"useApi.d.ts","sourceRoot":"","sources":["../../../src/atoms/hooks/useApi.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACxB,MAAM,uBAAuB,CAAC;AAI/B,wBAAgB,WAAW,CAAC,CAAC,EAC3B,QAAQ,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,EAC7B,OAAO,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACzB,OAAO,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC,oGAO3D;AAGD,wBAAgB,cAAc,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,EACrD,UAAU,EAAE,CAAC,SAAS,EAAE,UAAU,KAAK,OAAO,CAAC,KAAK,CAAC,EACrD,OAAO,CAAC,EAAE,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,KAAK,EAAE,UAAU,CAAC,EAAE,YAAY,CAAC,wFAc3E;AAGD,UAAU,WAAW;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,UAAU,iBAAiB;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,UAAU,iBAAiB;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAGD,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,sEAQvC;AAED,wBAAgB,gBAAgB,sGAI/B;AAED,wBAAgB,gBAAgB;QAEP,MAAM;UAAQ,iBAAiB;YAGvD;AAED,wBAAgB,gBAAgB,oFAI/B"}
|
|
@@ -1,5 +1,11 @@
|
|
|
1
|
+
import type { ColumnMetadata } from "../types/ui-metadata";
|
|
1
2
|
export type TableViewMode = "full" | "compact" | "cards";
|
|
2
3
|
export interface UseResponsiveTableOptions {
|
|
4
|
+
/**
|
|
5
|
+
* Column metadata - when provided, enables smart width-based switching
|
|
6
|
+
* Uses UIType to calculate expected column widths
|
|
7
|
+
*/
|
|
8
|
+
columns?: ColumnMetadata[];
|
|
3
9
|
/**
|
|
4
10
|
* Initial view mode
|
|
5
11
|
* @default "full"
|
|
@@ -44,13 +50,31 @@ export interface UseResponsiveTableResult {
|
|
|
44
50
|
*/
|
|
45
51
|
isAutoSwitching: boolean;
|
|
46
52
|
/**
|
|
47
|
-
* Ref to attach to the
|
|
53
|
+
* Ref to attach to the container for width-based calculations
|
|
54
|
+
* Only need one ref when using columns-based calculation
|
|
55
|
+
*/
|
|
56
|
+
containerRef: React.RefObject<HTMLDivElement | null>;
|
|
57
|
+
/**
|
|
58
|
+
* @deprecated Use containerRef instead. Kept for backward compatibility.
|
|
48
59
|
*/
|
|
49
60
|
fullTableRef: React.RefObject<HTMLDivElement | null>;
|
|
50
61
|
/**
|
|
51
|
-
*
|
|
62
|
+
* @deprecated Use containerRef instead. Kept for backward compatibility.
|
|
52
63
|
*/
|
|
53
64
|
compactTableRef: React.RefObject<HTMLDivElement | null>;
|
|
65
|
+
/**
|
|
66
|
+
* Derived compact columns (filtered by importance, with compact labels)
|
|
67
|
+
* Only available when columns option is provided
|
|
68
|
+
*/
|
|
69
|
+
compactColumns: ColumnMetadata[] | null;
|
|
70
|
+
/**
|
|
71
|
+
* Calculated widths for debugging and custom logic
|
|
72
|
+
*/
|
|
73
|
+
calculatedWidths: {
|
|
74
|
+
full: number;
|
|
75
|
+
compact: number;
|
|
76
|
+
container: number;
|
|
77
|
+
};
|
|
54
78
|
/**
|
|
55
79
|
* Current overflow state for debugging
|
|
56
80
|
*/
|
|
@@ -60,36 +84,32 @@ export interface UseResponsiveTableResult {
|
|
|
60
84
|
};
|
|
61
85
|
}
|
|
62
86
|
/**
|
|
63
|
-
* Hook for responsive table view switching
|
|
87
|
+
* Hook for responsive table view switching.
|
|
64
88
|
*
|
|
65
|
-
*
|
|
66
|
-
*
|
|
89
|
+
* Two modes of operation:
|
|
90
|
+
* 1. Column-based (recommended): Pass `columns` option with ColumnMetadata[].
|
|
91
|
+
* Uses UIType to calculate expected widths and switch modes without DOM measurement.
|
|
92
|
+
* 2. Legacy DOM-based: No columns provided. Requires refs on both table containers
|
|
93
|
+
* and measures actual overflow. Less efficient but works without metadata.
|
|
67
94
|
*
|
|
68
95
|
* View hierarchy: full → compact → cards
|
|
69
96
|
*
|
|
70
|
-
* @example
|
|
97
|
+
* @example Column-based (recommended)
|
|
71
98
|
* ```tsx
|
|
72
|
-
* const {
|
|
73
|
-
*
|
|
74
|
-
*
|
|
75
|
-
* fullTableRef,
|
|
76
|
-
* compactTableRef,
|
|
77
|
-
* isAutoSwitching
|
|
78
|
-
* } = useResponsiveTable();
|
|
99
|
+
* const { viewMode, compactColumns, containerRef } = useResponsiveTable({
|
|
100
|
+
* columns: orderColumns, // ColumnMetadata[]
|
|
101
|
+
* });
|
|
79
102
|
*
|
|
80
103
|
* return (
|
|
81
|
-
* <div>
|
|
82
|
-
* {viewMode === '
|
|
83
|
-
* <
|
|
84
|
-
*
|
|
85
|
-
*
|
|
86
|
-
*
|
|
87
|
-
*
|
|
88
|
-
*
|
|
89
|
-
* <DataTable columns={compactColumns} ... />
|
|
90
|
-
* </div>
|
|
104
|
+
* <div ref={containerRef}>
|
|
105
|
+
* {viewMode === 'cards' ? (
|
|
106
|
+
* <CardList data={orders} />
|
|
107
|
+
* ) : (
|
|
108
|
+
* <DataTable
|
|
109
|
+
* data={orders}
|
|
110
|
+
* columns={viewMode === 'compact' ? compactColumns : orderColumns}
|
|
111
|
+
* />
|
|
91
112
|
* )}
|
|
92
|
-
* {viewMode === 'cards' && <CardList ... />}
|
|
93
113
|
* </div>
|
|
94
114
|
* );
|
|
95
115
|
* ```
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useResponsiveTable.d.ts","sourceRoot":"","sources":["../../../src/atoms/hooks/useResponsiveTable.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useResponsiveTable.d.ts","sourceRoot":"","sources":["../../../src/atoms/hooks/useResponsiveTable.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAQ3D,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC;AAEzD,MAAM,WAAW,yBAAyB;IACxC;;;OAGG;IACH,OAAO,CAAC,EAAE,cAAc,EAAE,CAAC;IAE3B;;;OAGG;IACH,WAAW,CAAC,EAAE,aAAa,CAAC;IAE5B;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,CAAC;CAC9C;AAED,MAAM,WAAW,wBAAwB;IACvC;;OAEG;IACH,QAAQ,EAAE,aAAa,CAAC;IAExB;;OAEG;IACH,WAAW,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,CAAC;IAE3C;;OAEG;IACH,gBAAgB,EAAE,MAAM,IAAI,CAAC;IAE7B;;OAEG;IACH,eAAe,EAAE,OAAO,CAAC;IAEzB;;;OAGG;IACH,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IAErD;;OAEG;IACH,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IAErD;;OAEG;IACH,eAAe,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IAExD;;;OAGG;IACH,cAAc,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC;IAExC;;OAEG;IACH,gBAAgB,EAAE;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IAEF;;OAEG;IACH,aAAa,EAAE;QACb,aAAa,EAAE,OAAO,CAAC;QACvB,gBAAgB,EAAE,OAAO,CAAC;KAC3B,CAAC;CACH;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,GAAE,yBAA8B,GACtC,wBAAwB,CA6O1B;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,GAChC,OAAO,CAoBT"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Table Configuration
|
|
3
|
+
*
|
|
4
|
+
* Centralized sizing and formatting configuration for data tables.
|
|
5
|
+
* Maps UIType to column widths and defines compact mode behavior.
|
|
6
|
+
*
|
|
7
|
+
* Used by useResponsiveTable hook and DataTable component to calculate
|
|
8
|
+
* when to switch between full → compact → cards views.
|
|
9
|
+
*/
|
|
10
|
+
import type { UIType } from "../../types/ui-config";
|
|
11
|
+
/**
|
|
12
|
+
* Default column widths (px) by UIType
|
|
13
|
+
* These are baseline widths - components may adjust based on content/format
|
|
14
|
+
*/
|
|
15
|
+
export declare const COLUMN_WIDTHS: Record<UIType, number>;
|
|
16
|
+
/**
|
|
17
|
+
* Compact column widths - for dense table views
|
|
18
|
+
* Only types that differ from full width are listed
|
|
19
|
+
*/
|
|
20
|
+
export declare const COMPACT_COLUMN_WIDTHS: Partial<Record<UIType, number>>;
|
|
21
|
+
/**
|
|
22
|
+
* Compact formatter identifiers by UIType
|
|
23
|
+
* Maps to formatting functions in field renderers
|
|
24
|
+
*/
|
|
25
|
+
export declare const COMPACT_FORMATTERS: Partial<Record<UIType, string>>;
|
|
26
|
+
/**
|
|
27
|
+
* Compact label transformations
|
|
28
|
+
* Shorter header labels for compact mode
|
|
29
|
+
*/
|
|
30
|
+
export declare const COMPACT_LABELS: Record<string, string>;
|
|
31
|
+
/**
|
|
32
|
+
* Table responsive breakpoints
|
|
33
|
+
*/
|
|
34
|
+
export declare const TABLE_BREAKPOINTS: {
|
|
35
|
+
/** Below this width (px), always use cards */
|
|
36
|
+
readonly minForTable: 400;
|
|
37
|
+
/** Buffer (px) to add when calculating if columns fit */
|
|
38
|
+
readonly widthBuffer: 50;
|
|
39
|
+
/** Minimum columns to show in compact mode */
|
|
40
|
+
readonly minCompactColumns: 3;
|
|
41
|
+
/** Maximum columns in compact mode */
|
|
42
|
+
readonly maxCompactColumns: 6;
|
|
43
|
+
};
|
|
44
|
+
/**
|
|
45
|
+
* Importance-based column visibility
|
|
46
|
+
* Which importance levels to include in each mode
|
|
47
|
+
* Supports both semantic (primary/secondary/tertiary) and legacy (critical/high/medium/low/minimal) values
|
|
48
|
+
*/
|
|
49
|
+
export declare const IMPORTANCE_VISIBILITY: {
|
|
50
|
+
readonly full: readonly ["primary", "secondary", "tertiary", "critical", "high", "medium", "low", "minimal"];
|
|
51
|
+
readonly compact: readonly ["primary", "secondary", "critical", "high", "medium"];
|
|
52
|
+
readonly cards: readonly ["primary", "critical", "high"];
|
|
53
|
+
};
|
|
54
|
+
/**
|
|
55
|
+
* Get width for a column based on type and mode
|
|
56
|
+
*/
|
|
57
|
+
export declare function getColumnWidth(type: UIType, mode?: "full" | "compact"): number;
|
|
58
|
+
/**
|
|
59
|
+
* Calculate total table width from column types
|
|
60
|
+
*/
|
|
61
|
+
export declare function calculateTableWidth(columns: Array<{
|
|
62
|
+
type: UIType;
|
|
63
|
+
}>, mode?: "full" | "compact"): number;
|
|
64
|
+
/**
|
|
65
|
+
* Get compact label for a field name
|
|
66
|
+
*/
|
|
67
|
+
export declare function getCompactLabel(fieldName: string, originalLabel: string): string;
|
|
68
|
+
/**
|
|
69
|
+
* Get formatter for compact mode
|
|
70
|
+
*/
|
|
71
|
+
export declare function getCompactFormatter(type: UIType): string | undefined;
|
|
72
|
+
/**
|
|
73
|
+
* Determine table mode based on container width and columns
|
|
74
|
+
*/
|
|
75
|
+
export declare function determineTableMode(containerWidth: number, columns: Array<{
|
|
76
|
+
type: UIType;
|
|
77
|
+
importance?: string;
|
|
78
|
+
}>): "full" | "compact" | "cards";
|
|
79
|
+
//# sourceMappingURL=table-config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"table-config.d.ts","sourceRoot":"","sources":["../../../../src/atoms/shared/config/table-config.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAEpD;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAkCvC,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,qBAAqB,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAWxD,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,kBAAkB,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAQrD,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAsBxC,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,iBAAiB;IAC5B,8CAA8C;;IAE9C,yDAAyD;;IAEzD,8CAA8C;;IAE9C,sCAAsC;;CAE9B,CAAC;AAEX;;;;GAIG;AACH,eAAO,MAAM,qBAAqB;;;;CAIxB,CAAC;AAMX;;GAEG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,MAAM,EACZ,IAAI,GAAE,MAAM,GAAG,SAAkB,GAChC,MAAM,CAKR;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,EAChC,IAAI,GAAE,MAAM,GAAG,SAAkB,GAChC,MAAM,CAER;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM,CAGhF;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAEpE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,cAAc,EAAE,MAAM,EACtB,OAAO,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,GACpD,MAAM,GAAG,SAAS,GAAG,OAAO,CA2B9B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atoms/shared/index.ts"],"names":[],"mappings":"AACA,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atoms/shared/index.ts"],"names":[],"mappings":"AACA,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC"}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import React from "react";
|
|
8
8
|
import type { ColumnMetadata } from "../types/ui-metadata";
|
|
9
|
-
import type
|
|
9
|
+
import { type ListCardProps } from "../components/data/ListCard";
|
|
10
10
|
import type { Column } from "../components/data/DataTable";
|
|
11
11
|
/**
|
|
12
12
|
* Configuration for mapping entity data to ListCard props.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity-card-mapping.d.ts","sourceRoot":"","sources":["../../../src/atoms/utils/entity-card-mapping.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,cAAc,EAAgB,MAAM,sBAAsB,CAAC;AACzE,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"entity-card-mapping.d.ts","sourceRoot":"","sources":["../../../src/atoms/utils/entity-card-mapping.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,cAAc,EAAgB,MAAM,sBAAsB,CAAC;AACzE,OAAO,EAAY,KAAK,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC3E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AAG3D;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,2EAA2E;IAC3E,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,+BAA+B;IAC/B,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,6DAA6D;IAC7D,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,uCAAuC;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,oEAAoE;IACpE,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAE1B,yBAAyB;IACzB,UAAU,CAAC,EAAE;QACX,wBAAwB;QACxB,OAAO,EAAE,UAAU,GAAG,QAAQ,CAAC;QAC/B,sCAAsC;QACtC,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,yBAAyB;QACzB,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;KACxB,CAAC;CACH;AA6QD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,EAAE,cAAc,EAAE,EACzB,OAAO,CAAC,EAAE,iBAAiB,EAC3B,UAAU,CAAC,EAAE,MAAM,GAClB,aAAa,CAkGf;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,6DAA6D;IAC7D,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,yDAAyD;IACzD,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B,wDAAwD;IACxD,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAE1B,0CAA0C;IAC1C,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;AAmCD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACtE,OAAO,EAAE,cAAc,EAAE,EACzB,OAAO,GAAE,qBAA0B,GAClC,MAAM,CAAC,CAAC,CAAC,EAAE,CA8Cb;AA0BD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,wBAAwB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACxE,OAAO,EAAE,cAAc,EAAE,EACzB,OAAO,CAAC,EAAE,iBAAiB,EAC3B,UAAU,CAAC,EAAE,MAAM,GAClB,CAAC,KAAK,EAAE;IAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IAAC,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAA;CAAE,KAAK,KAAK,CAAC,SAAS,CAoB5E"}
|