@pattern-stack/frontend-patterns 0.2.0-alpha.3 → 0.2.0-alpha.4
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/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 +18 -5
- package/dist/atoms/components/data/DataTable/DataTable.types.d.ts.map +1 -1
- package/dist/atoms/components/data/DataTable/index.d.ts +1 -0
- package/dist/atoms/components/data/DataTable/index.d.ts.map +1 -1
- package/dist/atoms/components/data/index.d.ts +1 -1
- package/dist/atoms/components/data/index.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/useEntityData.d.ts +36 -0
- package/dist/atoms/hooks/useEntityData.d.ts.map +1 -0
- package/dist/atoms/types/ui-config.d.ts +12 -5
- package/dist/atoms/types/ui-config.d.ts.map +1 -1
- package/dist/atoms/types/ui-metadata.d.ts +1 -10
- package/dist/atoms/types/ui-metadata.d.ts.map +1 -1
- package/dist/atoms/utils/field-detection.d.ts +2 -2
- package/dist/atoms/utils/field-detection.d.ts.map +1 -1
- package/dist/atoms/utils/ui-mapping.d.ts +4 -4
- package/dist/atoms/utils/ui-mapping.d.ts.map +1 -1
- package/dist/frontend-patterns.css +1 -4636
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.es.js +3780 -16319
- package/dist/index.es.js.map +1 -1
- package/dist/index.js +3779 -16318
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -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, } 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, }: DataTableProps<T> & IListLoadable): import("react/jsx-runtime").JSX.Element;
|
|
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, }: 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":"AAaA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AASpD,OAAO,KAAK,EAGV,cAAc,
|
|
1
|
+
{"version":3,"file":"DataTable.d.ts","sourceRoot":"","sources":["../../../../../src/atoms/components/data/DataTable/DataTable.tsx"],"names":[],"mappings":"AAaA,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,GAChB,MAAM,mBAAmB,CAAC;AA4B3B,wBAAgB,SAAS,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAC3D,IAAI,EACJ,OAAO,EACP,iBAA+B,EAC/B,QAAa,EACb,cAAqB,EACrB,UAAiB,EACjB,UAAU,EACV,YAAkC,EAClC,SAAc,EACd,KAAa,EACb,SAAiB,EACjB,gBAAoB,EACpB,UAAiB,EACjB,gBAAgB,EAChB,EAAE,EACF,KAAY,EACZ,UAAU,EACV,UAAU,GACX,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,aAAa,2CAqanC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { ResponsiveColumnConfig, DisplayMode, ResponsiveValue, Breakpoint } from "../../../config/responsive";
|
|
2
|
-
import type { UIConfig,
|
|
2
|
+
import type { UIConfig, UIType, FieldFormat } from "../../../types/ui-config";
|
|
3
|
+
import type { ColumnMetadata } from "../../../types/ui-metadata";
|
|
3
4
|
export interface Column<T> {
|
|
4
5
|
key: string;
|
|
5
6
|
header: string | React.ReactNode;
|
|
@@ -12,10 +13,11 @@ export interface Column<T> {
|
|
|
12
13
|
* When set, DataTable uses defaultFieldRenderers to format the cell.
|
|
13
14
|
* Overridden by custom `cell` renderer if provided.
|
|
14
15
|
*
|
|
15
|
-
* Supports all
|
|
16
|
-
* date, datetime,
|
|
16
|
+
* Supports all UIType values: text, password, number, money, percent,
|
|
17
|
+
* date, datetime, email, url, phone, boolean, badge, status, entity,
|
|
18
|
+
* user, json, image, rating, color, file.
|
|
17
19
|
*/
|
|
18
|
-
type?:
|
|
20
|
+
type?: UIType;
|
|
19
21
|
/**
|
|
20
22
|
* Format configuration for typed fields.
|
|
21
23
|
* Used by money (currency, decimals, locale), date (locale), status (statusColors), etc.
|
|
@@ -34,9 +36,14 @@ export interface ResponsiveColumn<T> extends Column<T>, ResponsiveColumnConfig {
|
|
|
34
36
|
/** Priority for column visibility (higher = more important) */
|
|
35
37
|
priority?: number;
|
|
36
38
|
}
|
|
39
|
+
/**
|
|
40
|
+
* Union type for DataTable columns - accepts both internal Column format
|
|
41
|
+
* and backend ColumnMetadata format for seamless API integration.
|
|
42
|
+
*/
|
|
43
|
+
export type DataTableColumn<T> = Column<T> | ResponsiveColumn<T> | ColumnMetadata;
|
|
37
44
|
export interface DataTableProps<T> {
|
|
38
45
|
data: T[];
|
|
39
|
-
columns:
|
|
46
|
+
columns: DataTableColumn<T>[];
|
|
40
47
|
searchPlaceholder?: string;
|
|
41
48
|
pageSize?: number;
|
|
42
49
|
showPagination?: boolean;
|
|
@@ -59,5 +66,11 @@ export interface DataTableProps<T> {
|
|
|
59
66
|
}) => React.ReactNode;
|
|
60
67
|
/** UI configuration for automatic field rendering */
|
|
61
68
|
ui?: UIConfig<T>;
|
|
69
|
+
/** Error state - renders error message instead of table */
|
|
70
|
+
error?: Error | string | null;
|
|
71
|
+
/** Custom error title (default: "Error loading data") */
|
|
72
|
+
errorTitle?: string;
|
|
73
|
+
/** Callback for retry button */
|
|
74
|
+
errorRetry?: () => void;
|
|
62
75
|
}
|
|
63
76
|
//# sourceMappingURL=DataTable.types.d.ts.map
|
|
@@ -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,
|
|
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;IACV,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;IAC/B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yCAAyC;IACzC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,oBAAoB;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,mDAAmD;IACnD,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iCAAiC;IACjC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,oDAAoD;IACpD,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE;QACzB,IAAI,EAAE,CAAC,EAAE,CAAC;QACV,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;KACjC,KAAK,KAAK,CAAC,SAAS,CAAC;IACtB,qDAAqD;IACrD,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IACjB,2DAA2D;IAC3D,KAAK,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,IAAI,CAAC;IAC9B,yDAAyD;IACzD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gCAAgC;IAChC,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;CACzB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/atoms/components/data/DataTable/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,wBAAwB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/atoms/components/data/DataTable/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,wBAAwB,CAAC;AACvC,YAAY,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { DataTable, type DataTableProps, type Column, type ResponsiveColumn, } from "./DataTable";
|
|
1
|
+
export { DataTable, type DataTableProps, type Column, type ResponsiveColumn, type DataTableColumn, } from "./DataTable";
|
|
2
2
|
export { Table, TableBody, TableCaption, TableCell, TableHead, TableHeader, TableRow, TableFooter, type TableProps, } from "./Table";
|
|
3
3
|
export { DataBadge, type DataBadgeProps } from "./DataBadge";
|
|
4
4
|
export { IconBadge, type IconBadgeProps } from "./IconBadge";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/atoms/components/data/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,SAAS,EACT,KAAK,cAAc,EACnB,KAAK,MAAM,EACX,KAAK,gBAAgB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/atoms/components/data/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,SAAS,EACT,KAAK,cAAc,EACnB,KAAK,MAAM,EACX,KAAK,gBAAgB,EACrB,KAAK,eAAe,GACrB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,KAAK,EACL,SAAS,EACT,YAAY,EACZ,SAAS,EACT,SAAS,EACT,WAAW,EACX,QAAQ,EACR,WAAW,EACX,KAAK,UAAU,GAChB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,KAAK,EAAE,KAAK,UAAU,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACzE,OAAO,EACL,YAAY,EACZ,KAAK,iBAAiB,EACtB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,eAAe,GACrB,MAAM,gBAAgB,CAAC"}
|
|
@@ -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"}
|
|
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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import type { ColumnMetadata } from "../types/ui-metadata";
|
|
2
|
+
interface UseEntityDataOptions {
|
|
3
|
+
/** View context for metadata (default: 'list') */
|
|
4
|
+
view?: "list" | "detail" | "form";
|
|
5
|
+
/** Custom source ID for tenant-specific fields */
|
|
6
|
+
sourceId?: string;
|
|
7
|
+
/** Page size limit */
|
|
8
|
+
limit?: number;
|
|
9
|
+
/** Page offset */
|
|
10
|
+
offset?: number;
|
|
11
|
+
/** Filter parameters */
|
|
12
|
+
filters?: Record<string, unknown>;
|
|
13
|
+
/** Whether queries are enabled */
|
|
14
|
+
enabled?: boolean;
|
|
15
|
+
}
|
|
16
|
+
interface UseEntityDataResult<T> {
|
|
17
|
+
/** Entity data array */
|
|
18
|
+
data: T[];
|
|
19
|
+
/** Column metadata for DataTable */
|
|
20
|
+
columns: ColumnMetadata[];
|
|
21
|
+
/** Total count from API */
|
|
22
|
+
totalCount: number;
|
|
23
|
+
/** Combined loading state */
|
|
24
|
+
isLoading: boolean;
|
|
25
|
+
/** Data query loading state */
|
|
26
|
+
isLoadingData: boolean;
|
|
27
|
+
/** Metadata query loading state */
|
|
28
|
+
isLoadingMetadata: boolean;
|
|
29
|
+
/** First error from either query */
|
|
30
|
+
error: Error | null;
|
|
31
|
+
/** Refetch both queries */
|
|
32
|
+
refetch: () => void;
|
|
33
|
+
}
|
|
34
|
+
export declare function useEntityData<T>(entity: string, options?: UseEntityDataOptions): UseEntityDataResult<T>;
|
|
35
|
+
export {};
|
|
36
|
+
//# sourceMappingURL=useEntityData.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useEntityData.d.ts","sourceRoot":"","sources":["../../../src/atoms/hooks/useEntityData.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,cAAc,EAEf,MAAM,sBAAsB,CAAC;AAE9B,UAAU,oBAAoB;IAC5B,kDAAkD;IAClD,IAAI,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;IAClC,kDAAkD;IAClD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,sBAAsB;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kBAAkB;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wBAAwB;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,kCAAkC;IAClC,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAOD,UAAU,mBAAmB,CAAC,CAAC;IAC7B,wBAAwB;IACxB,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,oCAAoC;IACpC,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,2BAA2B;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,6BAA6B;IAC7B,SAAS,EAAE,OAAO,CAAC;IACnB,+BAA+B;IAC/B,aAAa,EAAE,OAAO,CAAC;IACvB,mCAAmC;IACnC,iBAAiB,EAAE,OAAO,CAAC;IAC3B,oCAAoC;IACpC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,2BAA2B;IAC3B,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,wBAAgB,aAAa,CAAC,CAAC,EAC7B,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,oBAAyB,GACjC,mBAAmB,CAAC,CAAC,CAAC,CA8DxB"}
|
|
@@ -6,10 +6,17 @@
|
|
|
6
6
|
import type { ReactNode } from "react";
|
|
7
7
|
import type { Breakpoint } from "../config/responsive";
|
|
8
8
|
/**
|
|
9
|
-
*
|
|
9
|
+
* Canonical UI types for field rendering.
|
|
10
10
|
* These types define HOW data should be displayed visually.
|
|
11
|
+
*
|
|
12
|
+
* IMPORTANT: Must match backend UIType exactly (19 types).
|
|
13
|
+
* @mirror backend: pattern_stack/atoms/metadata/schemas.py::UIType
|
|
14
|
+
*/
|
|
15
|
+
export type UIType = "text" | "password" | "number" | "money" | "percent" | "date" | "datetime" | "email" | "url" | "phone" | "boolean" | "badge" | "status" | "entity" | "user" | "json" | "image" | "rating" | "color" | "file";
|
|
16
|
+
/**
|
|
17
|
+
* @deprecated Use UIType instead
|
|
11
18
|
*/
|
|
12
|
-
export type UIFieldType =
|
|
19
|
+
export type UIFieldType = UIType;
|
|
13
20
|
/**
|
|
14
21
|
* Format configuration for field renderers
|
|
15
22
|
* Passed from column metadata to customize rendering behavior
|
|
@@ -34,7 +41,7 @@ export interface FieldFormat {
|
|
|
34
41
|
* UI configuration for a specific field
|
|
35
42
|
*/
|
|
36
43
|
export interface UIFieldConfig {
|
|
37
|
-
type:
|
|
44
|
+
type: UIType;
|
|
38
45
|
colorScheme?: "sequential" | "hash" | "static";
|
|
39
46
|
format?: FieldFormat;
|
|
40
47
|
display?: {
|
|
@@ -45,7 +52,7 @@ export interface UIFieldConfig {
|
|
|
45
52
|
* UI configuration for an entire entity/model
|
|
46
53
|
*/
|
|
47
54
|
export type UIConfig<T = Record<string, unknown>> = {
|
|
48
|
-
[K in keyof T]?:
|
|
55
|
+
[K in keyof T]?: UIType | UIFieldConfig;
|
|
49
56
|
};
|
|
50
57
|
/**
|
|
51
58
|
* Props for components that support UI mapping
|
|
@@ -62,6 +69,6 @@ export type FieldRenderer<T = unknown> = (value: T, fieldName: string, breakpoin
|
|
|
62
69
|
* Registry of field renderers
|
|
63
70
|
*/
|
|
64
71
|
export type FieldRendererRegistry = {
|
|
65
|
-
[K in
|
|
72
|
+
[K in UIType]: FieldRenderer;
|
|
66
73
|
};
|
|
67
74
|
//# sourceMappingURL=ui-config.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui-config.d.ts","sourceRoot":"","sources":["../../../src/atoms/types/ui-config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAEvD
|
|
1
|
+
{"version":3,"file":"ui-config.d.ts","sourceRoot":"","sources":["../../../src/atoms/types/ui-config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAEvD;;;;;;GAMG;AACH,MAAM,MAAM,MAAM,GAEd,MAAM,GACN,UAAU,GAEV,QAAQ,GACR,OAAO,GACP,SAAS,GAET,MAAM,GACN,UAAU,GAEV,OAAO,GACP,KAAK,GACL,OAAO,GAEP,SAAS,GAET,OAAO,GACP,QAAQ,GAER,QAAQ,GACR,MAAM,GAEN,MAAM,GACN,OAAO,GACP,QAAQ,GACR,OAAO,GACP,MAAM,CAAC;AAEX;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC;AAEjC;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iEAAiE;IACjE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yCAAyC;IACzC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,uDAAuD;IACvD,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC,CAAC;IACpF,kFAAkF;IAClF,UAAU,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,UAAU,CAAC;IAC3D,+CAA+C;IAC/C,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IAEb,WAAW,CAAC,EAAE,YAAY,GAAG,MAAM,GAAG,QAAQ,CAAC;IAC/C,MAAM,CAAC,EAAE,WAAW,CAAC;IAErB,OAAO,CAAC,EAAE;SACP,CAAC,IAAI,UAAU,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,WAAW;KACrD,CAAC;CACH;AAED;;GAEG;AACH,MAAM,MAAM,QAAQ,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI;KACjD,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,GAAG,aAAa;CACxC,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,cAAc,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACzD,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,GAAG,OAAO,IAAI,CACvC,KAAK,EAAE,CAAC,EACR,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,UAAU,EACtB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,MAAM,CAAC,EAAE,WAAW,KACjB,SAAS,CAAC;AAEf;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG;KACjC,CAAC,IAAI,MAAM,GAAG,aAAa;CAC7B,CAAC"}
|
|
@@ -6,16 +6,7 @@
|
|
|
6
6
|
*
|
|
7
7
|
* @mirror backend: pattern_stack/atoms/metadata/schemas.py
|
|
8
8
|
*/
|
|
9
|
-
|
|
10
|
-
* Semantic UI types for field rendering.
|
|
11
|
-
*
|
|
12
|
-
* Determines how a field should be rendered in the UI based on its semantic meaning.
|
|
13
|
-
* Each type maps to specific UI components and formatting rules.
|
|
14
|
-
*
|
|
15
|
-
* @mirror backend: pattern_stack/atoms/metadata/schemas.py::UIType
|
|
16
|
-
* Keep in sync with backend enum.
|
|
17
|
-
*/
|
|
18
|
-
export type UIType = "text" | "textarea" | "number" | "boolean" | "date" | "datetime" | "email" | "url" | "phone" | "currency" | "percentage" | "select" | "multiselect" | "reference" | "json" | "file" | "image" | "color" | "rating";
|
|
9
|
+
import type { UIType } from "./ui-config";
|
|
19
10
|
/**
|
|
20
11
|
* Business importance levels for field prioritization.
|
|
21
12
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui-metadata.d.ts","sourceRoot":"","sources":["../../../src/atoms/types/ui-metadata.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH
|
|
1
|
+
{"version":3,"file":"ui-metadata.d.ts","sourceRoot":"","sources":["../../../src/atoms/types/ui-metadata.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,MAAM,YAAY,GACpB,SAAS,GACT,WAAW,GACX,UAAU,GACV,UAAU,GACV,MAAM,GACN,QAAQ,GACR,KAAK,GACL,SAAS,CAAC;AAEd;;;;;;;;GAQG;AACH,MAAM,WAAW,cAAc;IAC7B,wCAAwC;IACxC,KAAK,EAAE,MAAM,CAAC;IAEd,uCAAuC;IACvC,KAAK,EAAE,MAAM,CAAC;IAEd,qCAAqC;IACrC,IAAI,EAAE,MAAM,CAAC;IAEb,mDAAmD;IACnD,UAAU,EAAE,YAAY,CAAC;IAEzB,8CAA8C;IAC9C,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,yCAAyC;IACzC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,2CAA2C;IAC3C,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,uCAAuC;IACvC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEjC,qCAAqC;IACrC,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,wCAAwC;IACxC,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,8CAA8C;IAC9C,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,8CAA8C;IAC9C,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;;;GAKG;AACH,MAAM,WAAW,sBAAsB;IACrC,2CAA2C;IAC3C,OAAO,EAAE,cAAc,EAAE,CAAC;IAE1B,0CAA0C;IAC1C,MAAM,EAAE,MAAM,CAAC;IAEf,sCAAsC;IACtC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;IAEjC,8BAA8B;IAC9B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IACjC,8BAA8B;IAC9B,IAAI,EAAE,MAAM,CAAC;IAEb,iCAAiC;IACjC,KAAK,EAAE,MAAM,CAAC;IAEd,qCAAqC;IACrC,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,6CAA6C;IAC7C,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,yCAAyC;IACzC,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB,yCAAyC;IACzC,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B"}
|
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Automatically detects field types based on name, pattern, and value
|
|
5
5
|
*/
|
|
6
|
-
import type {
|
|
6
|
+
import type { UIType, UIConfig } from "../types/ui-config";
|
|
7
7
|
/**
|
|
8
8
|
* Get field type for a given field name and optional value
|
|
9
9
|
*/
|
|
10
|
-
export declare function getFieldType(fieldName: string, value?: unknown, explicitUI?: UIConfig):
|
|
10
|
+
export declare function getFieldType(fieldName: string, value?: unknown, explicitUI?: UIConfig): UIType;
|
|
11
11
|
/**
|
|
12
12
|
* Analyze an array of data to build automatic UI configuration
|
|
13
13
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"field-detection.d.ts","sourceRoot":"","sources":["../../../src/atoms/utils/field-detection.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"field-detection.d.ts","sourceRoot":"","sources":["../../../src/atoms/utils/field-detection.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAuN3D;;GAEG;AACH,wBAAgB,YAAY,CAC1B,SAAS,EAAE,MAAM,EACjB,KAAK,CAAC,EAAE,OAAO,EACf,UAAU,CAAC,EAAE,QAAQ,GACpB,MAAM,CA8BR;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9D,IAAI,EAAE,CAAC,EAAE,EACT,UAAU,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,GACvB,QAAQ,CAAC,CAAC,CAAC,CAqBb"}
|
|
@@ -4,15 +4,15 @@
|
|
|
4
4
|
* Maps field types to their corresponding UI components
|
|
5
5
|
*/
|
|
6
6
|
import React from "react";
|
|
7
|
-
import type {
|
|
7
|
+
import type { UIType, FieldFormat } from "../types/ui-config";
|
|
8
8
|
import type { FieldRendererRegistry } from "../types/ui-config";
|
|
9
9
|
export type { FieldRendererRegistry, FieldFormat };
|
|
10
10
|
import type { Breakpoint } from "../config/responsive";
|
|
11
11
|
/**
|
|
12
|
-
* Normalize a type string to canonical
|
|
13
|
-
*
|
|
12
|
+
* Normalize a type string to canonical UIType.
|
|
13
|
+
* @deprecated Types should match exactly. No normalization needed.
|
|
14
14
|
*/
|
|
15
|
-
export declare function normalizeFieldType(type: string):
|
|
15
|
+
export declare function normalizeFieldType(type: string): UIType;
|
|
16
16
|
/**
|
|
17
17
|
* Default field renderers for each UI type
|
|
18
18
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui-mapping.d.ts","sourceRoot":"","sources":["../../../src/atoms/utils/ui-mapping.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"ui-mapping.d.ts","sourceRoot":"","sources":["../../../src/atoms/utils/ui-mapping.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAEhE,YAAY,EAAE,qBAAqB,EAAE,WAAW,EAAE,CAAC;AACnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAQvD;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEvD;AAsJD;;GAEG;AACH,eAAO,MAAM,qBAAqB,EAAE,qBAoOnC,CAAC;AAEF;;GAEG;AACH,wBAAgB,WAAW,CACzB,KAAK,EAAE,OAAO,EACd,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EAAE,sCAAsC;AACzD,UAAU,EAAE,UAAU,EACtB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,eAAe,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,EAChD,MAAM,CAAC,EAAE,WAAW,GACnB,KAAK,CAAC,SAAS,CAYjB"}
|