@lamenna/lxp-shared-components 0.0.2 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/components/Button/__tests__/button.test.js +76 -31
- package/dist/components/Button/__tests__/button.test.js.map +1 -1
- package/dist/components/Button/config.d.ts +23 -0
- package/dist/components/Button/config.d.ts.map +1 -1
- package/dist/components/Button/config.js +28 -0
- package/dist/components/Button/config.js.map +1 -1
- package/dist/components/Button/index.d.ts +1 -1
- package/dist/components/Button/index.d.ts.map +1 -1
- package/dist/components/Button/index.js +1 -1
- package/dist/components/Button/index.js.map +1 -1
- package/dist/components/Button/types.d.ts +16 -2
- package/dist/components/Button/types.d.ts.map +1 -1
- package/dist/components/Table/__tests__/table.test.d.ts +2 -0
- package/dist/components/Table/__tests__/table.test.d.ts.map +1 -0
- package/dist/components/Table/__tests__/table.test.js +15 -0
- package/dist/components/Table/__tests__/table.test.js.map +1 -0
- package/dist/components/Table/config.d.ts +30 -0
- package/dist/components/Table/config.d.ts.map +1 -0
- package/dist/components/Table/config.js +33 -0
- package/dist/components/Table/config.js.map +1 -0
- package/dist/components/Table/index.d.ts +4 -0
- package/dist/components/Table/index.d.ts.map +1 -0
- package/dist/components/Table/index.js +2 -0
- package/dist/components/Table/index.js.map +1 -0
- package/dist/components/Table/types.d.ts +132 -0
- package/dist/components/Table/types.d.ts.map +1 -0
- package/dist/components/Table/types.js +2 -0
- package/dist/components/Table/types.js.map +1 -0
- package/dist/components/Theme/config.d.ts +43 -0
- package/dist/components/Theme/config.d.ts.map +1 -0
- package/dist/components/Theme/config.js +36 -0
- package/dist/components/Theme/config.js.map +1 -0
- package/dist/components/Theme/index.d.ts +3 -0
- package/dist/components/Theme/index.d.ts.map +1 -0
- package/dist/components/Theme/index.js +2 -0
- package/dist/components/Theme/index.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -5,65 +5,110 @@
|
|
|
5
5
|
* This test suite validates the Button component's shared configuration,
|
|
6
6
|
* types, and core logic that all platform implementations depend on.
|
|
7
7
|
*/
|
|
8
|
-
describe(
|
|
9
|
-
describe(
|
|
10
|
-
it(
|
|
11
|
-
const { buttonConfig } = require(
|
|
8
|
+
describe("Button Component (Shared)", () => {
|
|
9
|
+
describe("Module Imports", () => {
|
|
10
|
+
it("should be able to import button config", () => {
|
|
11
|
+
const { buttonConfig } = require("../index");
|
|
12
12
|
expect(buttonConfig).toBeDefined();
|
|
13
13
|
});
|
|
14
|
-
it(
|
|
15
|
-
const { buttonConfig } = require(
|
|
14
|
+
it("should export button configuration with variants", () => {
|
|
15
|
+
const { buttonConfig } = require("../index");
|
|
16
16
|
expect(buttonConfig.variants).toBeDefined();
|
|
17
17
|
expect(buttonConfig.variants.primary).toBeDefined();
|
|
18
18
|
expect(buttonConfig.variants.secondary).toBeDefined();
|
|
19
19
|
});
|
|
20
|
-
it(
|
|
21
|
-
const { buttonConfig } = require(
|
|
20
|
+
it("should export button configuration with sizes", () => {
|
|
21
|
+
const { buttonConfig } = require("../index");
|
|
22
22
|
expect(buttonConfig.sizes).toBeDefined();
|
|
23
23
|
expect(buttonConfig.sizes.sm).toBeDefined();
|
|
24
24
|
expect(buttonConfig.sizes.md).toBeDefined();
|
|
25
25
|
expect(buttonConfig.sizes.lg).toBeDefined();
|
|
26
26
|
});
|
|
27
|
-
it(
|
|
28
|
-
const { buttonConfig } = require(
|
|
27
|
+
it("should have common button styles", () => {
|
|
28
|
+
const { buttonConfig } = require("../index");
|
|
29
29
|
expect(buttonConfig.common).toBeDefined();
|
|
30
30
|
expect(buttonConfig.common.borderRadius).toBeDefined();
|
|
31
31
|
expect(buttonConfig.common.fontWeight).toBe(500);
|
|
32
|
-
expect(buttonConfig.common.cursor).toBe(
|
|
32
|
+
expect(buttonConfig.common.cursor).toBe("pointer");
|
|
33
33
|
});
|
|
34
|
-
it(
|
|
35
|
-
const { buttonConfig } = require(
|
|
34
|
+
it("primary variant should have correct colors", () => {
|
|
35
|
+
const { buttonConfig } = require("../index");
|
|
36
36
|
const primary = buttonConfig.variants.primary;
|
|
37
37
|
expect(primary.backgroundColor).toBeDefined();
|
|
38
|
-
expect(primary.color).toBe(
|
|
38
|
+
expect(primary.color).toBe("white");
|
|
39
39
|
});
|
|
40
|
-
it(
|
|
41
|
-
const { buttonConfig } = require(
|
|
40
|
+
it("secondary variant should have correct colors", () => {
|
|
41
|
+
const { buttonConfig } = require("../index");
|
|
42
42
|
const secondary = buttonConfig.variants.secondary;
|
|
43
43
|
expect(secondary.backgroundColor).toBeDefined();
|
|
44
|
-
expect(secondary.color).toBe(
|
|
44
|
+
expect(secondary.color).toBe("white");
|
|
45
45
|
});
|
|
46
|
-
it(
|
|
47
|
-
const { buttonConfig } = require(
|
|
46
|
+
it("small size should have correct dimensions", () => {
|
|
47
|
+
const { buttonConfig } = require("../index");
|
|
48
48
|
const sm = buttonConfig.sizes.sm;
|
|
49
|
-
expect(sm.height).toBe(
|
|
50
|
-
expect(sm.fontSize).toBe(
|
|
49
|
+
expect(sm.height).toBe("28px");
|
|
50
|
+
expect(sm.fontSize).toBe("12px");
|
|
51
51
|
});
|
|
52
|
-
it(
|
|
53
|
-
const { buttonConfig } = require(
|
|
52
|
+
it("medium size should have correct dimensions", () => {
|
|
53
|
+
const { buttonConfig } = require("../index");
|
|
54
54
|
const md = buttonConfig.sizes.md;
|
|
55
|
-
expect(md.height).toBe(
|
|
56
|
-
expect(md.fontSize).toBe(
|
|
55
|
+
expect(md.height).toBe("36px");
|
|
56
|
+
expect(md.fontSize).toBe("14px");
|
|
57
57
|
});
|
|
58
|
-
it(
|
|
59
|
-
const { buttonConfig } = require(
|
|
58
|
+
it("large size should have correct dimensions", () => {
|
|
59
|
+
const { buttonConfig } = require("../index");
|
|
60
60
|
const lg = buttonConfig.sizes.lg;
|
|
61
|
-
expect(lg.height).toBe(
|
|
62
|
-
expect(lg.fontSize).toBe(
|
|
61
|
+
expect(lg.height).toBe("44px");
|
|
62
|
+
expect(lg.fontSize).toBe("16px");
|
|
63
63
|
});
|
|
64
64
|
});
|
|
65
|
-
describe(
|
|
66
|
-
it(
|
|
65
|
+
describe("createButtonConfig helper", () => {
|
|
66
|
+
it("should merge overrides with the default config", () => {
|
|
67
|
+
const { buttonConfig, createButtonConfig } = require("../index");
|
|
68
|
+
const customConfig = createButtonConfig({
|
|
69
|
+
variants: {
|
|
70
|
+
secondary: {
|
|
71
|
+
backgroundColor: "custom-secondary-bg",
|
|
72
|
+
color: "custom-secondary-color",
|
|
73
|
+
borderColor: "custom-secondary-border",
|
|
74
|
+
},
|
|
75
|
+
},
|
|
76
|
+
sizes: {
|
|
77
|
+
xl: {
|
|
78
|
+
padding: "16px 32px",
|
|
79
|
+
fontSize: "18px",
|
|
80
|
+
height: "52px",
|
|
81
|
+
},
|
|
82
|
+
},
|
|
83
|
+
common: {
|
|
84
|
+
fontWeight: 700,
|
|
85
|
+
},
|
|
86
|
+
});
|
|
87
|
+
// Original variants are preserved unless explicitly overridden
|
|
88
|
+
expect(customConfig.variants.primary).toEqual(buttonConfig.variants.primary);
|
|
89
|
+
// Overridden variant uses custom values
|
|
90
|
+
expect(customConfig.variants.secondary.backgroundColor).toBe("custom-secondary-bg");
|
|
91
|
+
expect(customConfig.variants.secondary.color).toBe("custom-secondary-color");
|
|
92
|
+
expect(customConfig.variants.secondary.borderColor).toBe("custom-secondary-border");
|
|
93
|
+
// New size is added on top of existing sizes
|
|
94
|
+
expect(customConfig.sizes.sm).toEqual(buttonConfig.sizes.sm);
|
|
95
|
+
expect(customConfig.sizes.xl).toEqual({
|
|
96
|
+
padding: "16px 32px",
|
|
97
|
+
fontSize: "18px",
|
|
98
|
+
height: "52px",
|
|
99
|
+
});
|
|
100
|
+
// Common styles are merged
|
|
101
|
+
expect(customConfig.common.fontWeight).toBe(700);
|
|
102
|
+
expect(customConfig.common.cursor).toBe(buttonConfig.common.cursor);
|
|
103
|
+
});
|
|
104
|
+
it("should fall back to default config when no overrides are provided", () => {
|
|
105
|
+
const { buttonConfig, createButtonConfig } = require("../index");
|
|
106
|
+
const customConfig = createButtonConfig({});
|
|
107
|
+
expect(customConfig).toEqual(buttonConfig);
|
|
108
|
+
});
|
|
109
|
+
});
|
|
110
|
+
describe("Test Infrastructure", () => {
|
|
111
|
+
it("should have working test setup", () => {
|
|
67
112
|
expect(true).toBe(true);
|
|
68
113
|
});
|
|
69
114
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"button.test.js","sourceRoot":"","sources":["../../../../src/components/Button/__tests__/button.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"button.test.js","sourceRoot":"","sources":["../../../../src/components/Button/__tests__/button.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,13 @@
|
|
|
2
2
|
* Button Component Configuration
|
|
3
3
|
* Default styles and configuration for button components
|
|
4
4
|
*/
|
|
5
|
+
/**
|
|
6
|
+
* Core, shared configuration object for all button implementations.
|
|
7
|
+
*
|
|
8
|
+
* This is intentionally a plain data structure so platform-specific
|
|
9
|
+
* button components (React, React Native, Angular, etc.) can derive
|
|
10
|
+
* their concrete styles from the same source of truth.
|
|
11
|
+
*/
|
|
5
12
|
export declare const buttonConfig: {
|
|
6
13
|
readonly variants: {
|
|
7
14
|
readonly primary: {
|
|
@@ -41,4 +48,20 @@ export declare const buttonConfig: {
|
|
|
41
48
|
readonly activeOpacity: 0.7;
|
|
42
49
|
};
|
|
43
50
|
};
|
|
51
|
+
/**
|
|
52
|
+
* Convenience type representing the full button configuration shape.
|
|
53
|
+
* Useful for strongly-typed overrides in consumer packages.
|
|
54
|
+
*/
|
|
55
|
+
export type ButtonConfig = typeof buttonConfig;
|
|
56
|
+
/**
|
|
57
|
+
* Helper to create a new button configuration by shallow-merging
|
|
58
|
+
* overrides into the default config. Variants, sizes and common
|
|
59
|
+
* styles are merged key-by-key so consumers can extend or tweak
|
|
60
|
+
* only what they need per-package.
|
|
61
|
+
*/
|
|
62
|
+
export declare const createButtonConfig: (overrides: Partial<{
|
|
63
|
+
variants: Partial<ButtonConfig["variants"]>;
|
|
64
|
+
sizes: Partial<ButtonConfig["sizes"]>;
|
|
65
|
+
common: Partial<ButtonConfig["common"]>;
|
|
66
|
+
}>) => ButtonConfig;
|
|
44
67
|
//# sourceMappingURL=config.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/components/Button/config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsCf,CAAC"}
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/components/Button/config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH;;;;;;GAMG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsCf,CAAC;AAEX;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG,OAAO,YAAY,CAAC;AAE/C;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,GAC7B,WAAW,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC;IAC5C,KAAK,EAAE,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;IACtC,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC;CACzC,CAAC,KACD,YAcD,CAAC"}
|
|
@@ -3,6 +3,13 @@
|
|
|
3
3
|
* Default styles and configuration for button components
|
|
4
4
|
*/
|
|
5
5
|
import { tokens } from "@lamenna/lxp-tokens";
|
|
6
|
+
/**
|
|
7
|
+
* Core, shared configuration object for all button implementations.
|
|
8
|
+
*
|
|
9
|
+
* This is intentionally a plain data structure so platform-specific
|
|
10
|
+
* button components (React, React Native, Angular, etc.) can derive
|
|
11
|
+
* their concrete styles from the same source of truth.
|
|
12
|
+
*/
|
|
6
13
|
export const buttonConfig = {
|
|
7
14
|
variants: {
|
|
8
15
|
primary: {
|
|
@@ -42,4 +49,25 @@ export const buttonConfig = {
|
|
|
42
49
|
activeOpacity: 0.7,
|
|
43
50
|
},
|
|
44
51
|
};
|
|
52
|
+
/**
|
|
53
|
+
* Helper to create a new button configuration by shallow-merging
|
|
54
|
+
* overrides into the default config. Variants, sizes and common
|
|
55
|
+
* styles are merged key-by-key so consumers can extend or tweak
|
|
56
|
+
* only what they need per-package.
|
|
57
|
+
*/
|
|
58
|
+
export const createButtonConfig = (overrides) => ({
|
|
59
|
+
...buttonConfig,
|
|
60
|
+
variants: {
|
|
61
|
+
...buttonConfig.variants,
|
|
62
|
+
...(overrides.variants ?? {}),
|
|
63
|
+
},
|
|
64
|
+
sizes: {
|
|
65
|
+
...buttonConfig.sizes,
|
|
66
|
+
...(overrides.sizes ?? {}),
|
|
67
|
+
},
|
|
68
|
+
common: {
|
|
69
|
+
...buttonConfig.common,
|
|
70
|
+
...(overrides.common ?? {}),
|
|
71
|
+
},
|
|
72
|
+
});
|
|
45
73
|
//# sourceMappingURL=config.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/components/Button/config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAE7C,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,QAAQ,EAAE;QACR,OAAO,EAAE;YACP,eAAe,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;YAC1C,KAAK,EAAE,OAAO;YACd,WAAW,EAAE,aAAa;SAC3B;QACD,SAAS,EAAE;YACT,eAAe,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC;YAC5C,KAAK,EAAE,OAAO;YACd,WAAW,EAAE,aAAa;SAC3B;KACF;IACD,KAAK,EAAE;QACL,EAAE,EAAE;YACF,OAAO,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE,IAAI,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE;YACpD,QAAQ,EAAE,MAAM;YAChB,MAAM,EAAE,MAAM;SACf;QACD,EAAE,EAAE;YACF,OAAO,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE,IAAI,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE;YACpD,QAAQ,EAAE,MAAM;YAChB,MAAM,EAAE,MAAM;SACf;QACD,EAAE,EAAE;YACF,OAAO,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE,IAAI,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE;YACpD,QAAQ,EAAE,MAAM;YAChB,MAAM,EAAE,MAAM;SACf;KACF;IACD,MAAM,EAAE;QACN,YAAY,EAAE,MAAM,CAAC,YAAY,CAAC,EAAE;QACpC,MAAM,EAAE,MAAM;QACd,UAAU,EAAE,GAAG;QACf,MAAM,EAAE,SAAS;QACjB,UAAU,EAAE,cAAc;QAC1B,aAAa,EAAE,GAAG;KACnB;CACO,CAAC"}
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/components/Button/config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAE7C;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,QAAQ,EAAE;QACR,OAAO,EAAE;YACP,eAAe,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;YAC1C,KAAK,EAAE,OAAO;YACd,WAAW,EAAE,aAAa;SAC3B;QACD,SAAS,EAAE;YACT,eAAe,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC;YAC5C,KAAK,EAAE,OAAO;YACd,WAAW,EAAE,aAAa;SAC3B;KACF;IACD,KAAK,EAAE;QACL,EAAE,EAAE;YACF,OAAO,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE,IAAI,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE;YACpD,QAAQ,EAAE,MAAM;YAChB,MAAM,EAAE,MAAM;SACf;QACD,EAAE,EAAE;YACF,OAAO,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE,IAAI,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE;YACpD,QAAQ,EAAE,MAAM;YAChB,MAAM,EAAE,MAAM;SACf;QACD,EAAE,EAAE;YACF,OAAO,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE,IAAI,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE;YACpD,QAAQ,EAAE,MAAM;YAChB,MAAM,EAAE,MAAM;SACf;KACF;IACD,MAAM,EAAE;QACN,YAAY,EAAE,MAAM,CAAC,YAAY,CAAC,EAAE;QACpC,MAAM,EAAE,MAAM;QACd,UAAU,EAAE,GAAG;QACf,MAAM,EAAE,SAAS;QACjB,UAAU,EAAE,cAAc;QAC1B,aAAa,EAAE,GAAG;KACnB;CACO,CAAC;AAQX;;;;;GAKG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,SAIE,EACY,EAAE,CAAC,CAAC;IAClB,GAAG,YAAY;IACf,QAAQ,EAAE;QACR,GAAG,YAAY,CAAC,QAAQ;QACxB,GAAG,CAAC,SAAS,CAAC,QAAQ,IAAI,EAAE,CAAC;KAC9B;IACD,KAAK,EAAE;QACL,GAAG,YAAY,CAAC,KAAK;QACrB,GAAG,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE,CAAC;KAC3B;IACD,MAAM,EAAE;QACN,GAAG,YAAY,CAAC,MAAM;QACtB,GAAG,CAAC,SAAS,CAAC,MAAM,IAAI,EAAE,CAAC;KAC5B;CACF,CAAC,CAAC"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { buttonConfig } from "./config";
|
|
1
|
+
export { buttonConfig, createButtonConfig } from "./config";
|
|
2
2
|
export type { BaseButtonProps, ReactButtonProps, ReactNativeButtonProps, AngularButtonProps, ButtonVariant, ButtonSize, } from "./types";
|
|
3
3
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Button/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Button/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC5D,YAAY,EACV,eAAe,EACf,gBAAgB,EAChB,sBAAsB,EACtB,kBAAkB,EAClB,aAAa,EACb,UAAU,GACX,MAAM,SAAS,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { buttonConfig } from "./config";
|
|
1
|
+
export { buttonConfig, createButtonConfig } from "./config";
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Button/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Button/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC"}
|
|
@@ -2,8 +2,22 @@
|
|
|
2
2
|
* Button Component Types
|
|
3
3
|
* Platform-agnostic interface for button components
|
|
4
4
|
*/
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
import { buttonConfig } from "./config";
|
|
6
|
+
/**
|
|
7
|
+
* Visual variant of the button.
|
|
8
|
+
*
|
|
9
|
+
* This is derived from the keys of the shared `buttonConfig.variants`
|
|
10
|
+
* object so that adding a new variant in configuration automatically
|
|
11
|
+
* updates the allowed prop values in all platform implementations.
|
|
12
|
+
*/
|
|
13
|
+
export type ButtonVariant = keyof typeof buttonConfig.variants;
|
|
14
|
+
/**
|
|
15
|
+
* Logical size of the button.
|
|
16
|
+
*
|
|
17
|
+
* Like `ButtonVariant`, this is derived from the shared config so
|
|
18
|
+
* consumers can extend sizes centrally.
|
|
19
|
+
*/
|
|
20
|
+
export type ButtonSize = keyof typeof buttonConfig.sizes;
|
|
7
21
|
/**
|
|
8
22
|
* Base button props that all platform implementations should support
|
|
9
23
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/Button/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,MAAM,aAAa,GAAG,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/Button/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC;;;;;;GAMG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,OAAO,YAAY,CAAC,QAAQ,CAAC;AAE/D;;;;;GAKG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,OAAO,YAAY,CAAC,KAAK,CAAC;AAEzD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,uFAAuF;IACvF,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,mCAAmC;IACnC,OAAO,CAAC,EAAE,aAAa,CAAC;IAExB,yBAAyB;IACzB,IAAI,CAAC,EAAE,UAAU,CAAC;IAElB,qCAAqC;IACrC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,wDAAwD;IACxD,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,iCAAiC;IACjC,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ,mCAAmC;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,mCAAmC;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAiB,SAAQ,eAAe;IACvD,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,sBAAuB,SAAQ,eAAe;IAC7D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,kBAAmB,SAAQ,eAAe;IACzD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"table.test.d.ts","sourceRoot":"","sources":["../../../../src/components/Table/__tests__/table.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { tableConfig, tableThemeConfig } from "../config";
|
|
2
|
+
describe("Table shared configuration", () => {
|
|
3
|
+
it("exposes sane defaults for behaviour", () => {
|
|
4
|
+
expect(tableConfig.defaultTitle).toBeDefined();
|
|
5
|
+
expect(tableConfig.defaultPageSize).toBeGreaterThan(0);
|
|
6
|
+
expect(tableConfig.defaultPageSizeOptions.length).toBeGreaterThan(0);
|
|
7
|
+
});
|
|
8
|
+
it("defines theme config for both tera and cynk", () => {
|
|
9
|
+
expect(tableThemeConfig.tera).toBeDefined();
|
|
10
|
+
expect(tableThemeConfig.cynk).toBeDefined();
|
|
11
|
+
expect(tableThemeConfig.tera.fontFamily).toContain("General Sans");
|
|
12
|
+
expect(tableThemeConfig.cynk.fontFamily).toContain("Inter");
|
|
13
|
+
});
|
|
14
|
+
});
|
|
15
|
+
//# sourceMappingURL=table.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"table.test.js","sourceRoot":"","sources":["../../../../src/components/Table/__tests__/table.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAE1D,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;IAC1C,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;QAC7C,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,CAAC;QAC/C,MAAM,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QACvD,MAAM,CAAC,WAAW,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IACvE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;QAC5C,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;QAE5C,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;QACnE,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;AACL,CAAC,CACA,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { type ThemeKey } from "../Theme";
|
|
2
|
+
/**
|
|
3
|
+
* Configuration for the Table component, derived from the active theme.
|
|
4
|
+
* This keeps all visual concerns (colors, typography) in a single place
|
|
5
|
+
* so platform wrappers can stay focused on behavior.
|
|
6
|
+
*/
|
|
7
|
+
export interface TableThemeConfig {
|
|
8
|
+
fontFamily: string;
|
|
9
|
+
borderColor: string;
|
|
10
|
+
headerBackground: string;
|
|
11
|
+
headerTextColor: string;
|
|
12
|
+
rowHoverBackground: string;
|
|
13
|
+
emptyStateTextColor: string;
|
|
14
|
+
}
|
|
15
|
+
export declare const tableThemeConfig: Record<ThemeKey, TableThemeConfig>;
|
|
16
|
+
/**
|
|
17
|
+
* Non-theme-specific configuration for Table behavior.
|
|
18
|
+
*/
|
|
19
|
+
export declare const tableConfig: {
|
|
20
|
+
readonly defaultTitle: "Data Table";
|
|
21
|
+
readonly defaultPageSize: 10;
|
|
22
|
+
readonly defaultPageSizeOptions: readonly [5, 10, 25, 50];
|
|
23
|
+
readonly selectionColumnWidth: "40px";
|
|
24
|
+
readonly headerFontWeight: 500;
|
|
25
|
+
readonly rowMinHeight: "56px";
|
|
26
|
+
readonly loadingMessage: "Loading...";
|
|
27
|
+
readonly emptyMessage: "No records found";
|
|
28
|
+
};
|
|
29
|
+
export type TableThemeKey = ThemeKey;
|
|
30
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/components/Table/config.ts"],"names":[],"mappings":"AACA,OAAO,EAAe,KAAK,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEtD;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;IACxB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAED,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAiB/D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW;;;;;;;;;CASd,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,QAAQ,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { themeConfig } from "../Theme";
|
|
2
|
+
export const tableThemeConfig = {
|
|
3
|
+
tera: {
|
|
4
|
+
fontFamily: themeConfig.tera.fontFamily,
|
|
5
|
+
borderColor: "#EFF1F3",
|
|
6
|
+
headerBackground: "#F9FAFB",
|
|
7
|
+
headerTextColor: "#111827",
|
|
8
|
+
rowHoverBackground: "#F3F4F6",
|
|
9
|
+
emptyStateTextColor: "#6B7280",
|
|
10
|
+
},
|
|
11
|
+
cynk: {
|
|
12
|
+
fontFamily: themeConfig.cynk.fontFamily,
|
|
13
|
+
borderColor: "#E5E7EB",
|
|
14
|
+
headerBackground: "#F3F4F6",
|
|
15
|
+
headerTextColor: "#111827",
|
|
16
|
+
rowHoverBackground: "#E5E7EB",
|
|
17
|
+
emptyStateTextColor: "#6B7280",
|
|
18
|
+
},
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* Non-theme-specific configuration for Table behavior.
|
|
22
|
+
*/
|
|
23
|
+
export const tableConfig = {
|
|
24
|
+
defaultTitle: "Data Table",
|
|
25
|
+
defaultPageSize: 10,
|
|
26
|
+
defaultPageSizeOptions: [5, 10, 25, 50],
|
|
27
|
+
selectionColumnWidth: "40px",
|
|
28
|
+
headerFontWeight: 500,
|
|
29
|
+
rowMinHeight: "56px",
|
|
30
|
+
loadingMessage: "Loading...",
|
|
31
|
+
emptyMessage: "No records found",
|
|
32
|
+
};
|
|
33
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/components/Table/config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAiB,MAAM,UAAU,CAAC;AAgBtD,MAAM,CAAC,MAAM,gBAAgB,GAAuC;IAClE,IAAI,EAAE;QACJ,UAAU,EAAE,WAAW,CAAC,IAAI,CAAC,UAAU;QACvC,WAAW,EAAE,SAAS;QACtB,gBAAgB,EAAE,SAAS;QAC3B,eAAe,EAAE,SAAS;QAC1B,kBAAkB,EAAE,SAAS;QAC7B,mBAAmB,EAAE,SAAS;KAC/B;IACD,IAAI,EAAE;QACJ,UAAU,EAAE,WAAW,CAAC,IAAI,CAAC,UAAU;QACvC,WAAW,EAAE,SAAS;QACtB,gBAAgB,EAAE,SAAS;QAC3B,eAAe,EAAE,SAAS;QAC1B,kBAAkB,EAAE,SAAS;QAC7B,mBAAmB,EAAE,SAAS;KAC/B;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,YAAY,EAAE,YAAY;IAC1B,eAAe,EAAE,EAAE;IACnB,sBAAsB,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IACvC,oBAAoB,EAAE,MAAM;IAC5B,gBAAgB,EAAE,GAAG;IACrB,YAAY,EAAE,MAAM;IACpB,cAAc,EAAE,YAAY;IAC5B,YAAY,EAAE,kBAAkB;CACxB,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { tableConfig, tableThemeConfig } from "./config";
|
|
2
|
+
export type { TableThemeKey } from "./config";
|
|
3
|
+
export type { TableColumn, ImageCellData, TableAction, TableProgressBarSegment, TableSortDirection, TableSort, TablePageChange, TableSearchData, TableFilterData, TableSelectionChange, TableTabChange, TableLegendItem, TableEmptyStateConfig, TableTabsConfigItem, TableProgressBarConfig, BaseTableProps, } from "./types";
|
|
4
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Table/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AACzD,YAAY,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC9C,YAAY,EACV,WAAW,EACX,aAAa,EACb,WAAW,EACX,uBAAuB,EACvB,kBAAkB,EAClB,SAAS,EACT,eAAe,EACf,eAAe,EACf,eAAe,EACf,oBAAoB,EACpB,cAAc,EACd,eAAe,EACf,qBAAqB,EACrB,mBAAmB,EACnB,sBAAsB,EACtB,cAAc,GACf,MAAM,SAAS,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Table/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC"}
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
import type { TableThemeKey } from "./config";
|
|
2
|
+
/**
|
|
3
|
+
* Column definition for the Table component. This mirrors the TAMU
|
|
4
|
+
* UI Library API while remaining framework-agnostic.
|
|
5
|
+
*/
|
|
6
|
+
export interface TableColumn {
|
|
7
|
+
key: string;
|
|
8
|
+
label: string;
|
|
9
|
+
/**
|
|
10
|
+
* Optional secondary label used by some layouts (e.g. subtitle).
|
|
11
|
+
*/
|
|
12
|
+
labelSecondary?: string;
|
|
13
|
+
sortable?: boolean;
|
|
14
|
+
filterable?: boolean;
|
|
15
|
+
width?: string;
|
|
16
|
+
align?: "left" | "center" | "right";
|
|
17
|
+
/**
|
|
18
|
+
* Optional custom renderer for a cell. Platform wrappers are
|
|
19
|
+
* responsible for interpreting the return value.
|
|
20
|
+
*/
|
|
21
|
+
render?: (value: any, row: any) => any;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Shape used for rich "image + two-line" cells in TAMU tables.
|
|
25
|
+
*/
|
|
26
|
+
export interface ImageCellData {
|
|
27
|
+
image?: string;
|
|
28
|
+
imageUrl?: string;
|
|
29
|
+
line1?: string;
|
|
30
|
+
line2?: string;
|
|
31
|
+
text?: string;
|
|
32
|
+
name?: string;
|
|
33
|
+
}
|
|
34
|
+
export interface TableAction {
|
|
35
|
+
label: string;
|
|
36
|
+
action: (row: any) => void;
|
|
37
|
+
variant?: "primary" | "secondary" | "danger" | "ghost";
|
|
38
|
+
disabled?: (row: any) => boolean;
|
|
39
|
+
icon?: any;
|
|
40
|
+
type?: "view" | "edit" | "add" | "create" | "remove" | "archive" | "retire" | "delete" | "download" | "transfer";
|
|
41
|
+
}
|
|
42
|
+
export interface TableProgressBarSegment {
|
|
43
|
+
value: number;
|
|
44
|
+
color: string;
|
|
45
|
+
label: string;
|
|
46
|
+
}
|
|
47
|
+
export type TableSortDirection = "asc" | "desc";
|
|
48
|
+
export interface TableSort {
|
|
49
|
+
key: string;
|
|
50
|
+
direction: TableSortDirection;
|
|
51
|
+
}
|
|
52
|
+
export interface TablePageChange {
|
|
53
|
+
page: number;
|
|
54
|
+
pageSize: number;
|
|
55
|
+
searchTerm: string;
|
|
56
|
+
filters: Record<string, string>;
|
|
57
|
+
}
|
|
58
|
+
export interface TableSearchData extends TablePageChange {
|
|
59
|
+
}
|
|
60
|
+
export interface TableFilterData extends TablePageChange {
|
|
61
|
+
}
|
|
62
|
+
export interface TableSelectionChange {
|
|
63
|
+
selection: number[];
|
|
64
|
+
}
|
|
65
|
+
export interface TableTabChange {
|
|
66
|
+
tabId: string;
|
|
67
|
+
}
|
|
68
|
+
export interface TableLegendItem {
|
|
69
|
+
key: string;
|
|
70
|
+
value: string;
|
|
71
|
+
color: string;
|
|
72
|
+
description?: string;
|
|
73
|
+
}
|
|
74
|
+
export interface TableEmptyStateConfig {
|
|
75
|
+
icon?: string;
|
|
76
|
+
title?: string;
|
|
77
|
+
message?: string;
|
|
78
|
+
showDefault?: boolean;
|
|
79
|
+
}
|
|
80
|
+
export interface TableTabsConfigItem {
|
|
81
|
+
id: string;
|
|
82
|
+
label: string;
|
|
83
|
+
active?: boolean;
|
|
84
|
+
}
|
|
85
|
+
export interface TableProgressBarConfig {
|
|
86
|
+
show: boolean;
|
|
87
|
+
segments?: TableProgressBarSegment[];
|
|
88
|
+
total: number;
|
|
89
|
+
value?: number;
|
|
90
|
+
showLegend?: boolean;
|
|
91
|
+
max?: number;
|
|
92
|
+
label?: string;
|
|
93
|
+
color?: string;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Base, framework-agnostic Table props. Platform wrappers may extend this
|
|
97
|
+
* with additional UI-specific props (e.g. custom renderActions functions).
|
|
98
|
+
*/
|
|
99
|
+
export interface BaseTableProps {
|
|
100
|
+
columns: TableColumn[];
|
|
101
|
+
data: any[];
|
|
102
|
+
actions?: TableAction[];
|
|
103
|
+
selectable?: boolean;
|
|
104
|
+
showPagination?: boolean;
|
|
105
|
+
showSearch?: boolean;
|
|
106
|
+
loading?: boolean;
|
|
107
|
+
theme?: TableThemeKey;
|
|
108
|
+
title?: string;
|
|
109
|
+
titleLink?: string;
|
|
110
|
+
serverSide?: boolean;
|
|
111
|
+
totalCount?: number;
|
|
112
|
+
currentPage?: number;
|
|
113
|
+
pageSize?: number;
|
|
114
|
+
pageSizeOptions?: number[];
|
|
115
|
+
showRefreshButton?: boolean;
|
|
116
|
+
isRefreshing?: boolean;
|
|
117
|
+
tabs?: TableTabsConfigItem[];
|
|
118
|
+
legendItems?: TableLegendItem[];
|
|
119
|
+
progressBar?: TableProgressBarConfig;
|
|
120
|
+
emptyState?: TableEmptyStateConfig;
|
|
121
|
+
onSelectionChange?: (selection: number[]) => void;
|
|
122
|
+
onSort?: (sort: TableSort) => void;
|
|
123
|
+
onPageChange?: (pageChange: TablePageChange) => void;
|
|
124
|
+
onPageSizeChange?: (pageChange: TablePageChange) => void;
|
|
125
|
+
onSearch?: (searchData: TableSearchData) => void;
|
|
126
|
+
onFilterChange?: (filterData: TableFilterData) => void;
|
|
127
|
+
onRefresh?: () => void;
|
|
128
|
+
onTabChange?: (tabData: TableTabChange) => void;
|
|
129
|
+
enableRowClick?: boolean;
|
|
130
|
+
onRowClick?: (row: any, index: number) => void;
|
|
131
|
+
}
|
|
132
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/Table/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/components/Table/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Theme identifiers supported by the design system.
|
|
3
|
+
*
|
|
4
|
+
* These intentionally mirror the TAMU UI Library company themes
|
|
5
|
+
* while remaining generic so they can be reused across platforms.
|
|
6
|
+
*/
|
|
7
|
+
export type CompanyTheme = "tera" | "cynk";
|
|
8
|
+
/**
|
|
9
|
+
* Configuration for each theme. This is a plain data structure so it can
|
|
10
|
+
* be consumed from any UI framework (React, React Native, Angular, etc.).
|
|
11
|
+
*/
|
|
12
|
+
export declare const themeConfig: {
|
|
13
|
+
readonly tera: {
|
|
14
|
+
readonly key: "tera";
|
|
15
|
+
/**
|
|
16
|
+
* Primary brand color for the theme. Used by components like Table
|
|
17
|
+
* for accents, selection states, and emphasis.
|
|
18
|
+
*/
|
|
19
|
+
readonly primaryColor: string;
|
|
20
|
+
/**
|
|
21
|
+
* Base font stack for the theme. In TAMU UI Library this maps to
|
|
22
|
+
* General Sans; here we keep the same intent while allowing the
|
|
23
|
+
* host app to load the actual font.
|
|
24
|
+
*/
|
|
25
|
+
readonly fontFamily: "General Sans, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif";
|
|
26
|
+
};
|
|
27
|
+
readonly cynk: {
|
|
28
|
+
readonly key: "cynk";
|
|
29
|
+
readonly primaryColor: string;
|
|
30
|
+
/**
|
|
31
|
+
* Cynk uses Inter in the TAMU UI Library; we mirror that here so
|
|
32
|
+
* components can switch typography consistently when the theme
|
|
33
|
+
* changes.
|
|
34
|
+
*/
|
|
35
|
+
readonly fontFamily: "Inter, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif";
|
|
36
|
+
};
|
|
37
|
+
};
|
|
38
|
+
export type ThemeKey = keyof typeof themeConfig;
|
|
39
|
+
/**
|
|
40
|
+
* Default theme used when none is explicitly provided.
|
|
41
|
+
*/
|
|
42
|
+
export declare const defaultTheme: ThemeKey;
|
|
43
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/components/Theme/config.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,MAAM,CAAC;AAE3C;;;GAGG;AACH,eAAO,MAAM,WAAW;;;QAGpB;;;WAGG;;QAEH;;;;WAIG;;;;;;QAOH;;;;WAIG;;;CAIG,CAAC;AAEX,MAAM,MAAM,QAAQ,GAAG,MAAM,OAAO,WAAW,CAAC;AAEhD;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,QAAiB,CAAC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { tokens } from "@lamenna/lxp-tokens";
|
|
2
|
+
/**
|
|
3
|
+
* Configuration for each theme. This is a plain data structure so it can
|
|
4
|
+
* be consumed from any UI framework (React, React Native, Angular, etc.).
|
|
5
|
+
*/
|
|
6
|
+
export const themeConfig = {
|
|
7
|
+
tera: {
|
|
8
|
+
key: "tera",
|
|
9
|
+
/**
|
|
10
|
+
* Primary brand color for the theme. Used by components like Table
|
|
11
|
+
* for accents, selection states, and emphasis.
|
|
12
|
+
*/
|
|
13
|
+
primaryColor: tokens.color.primary[500],
|
|
14
|
+
/**
|
|
15
|
+
* Base font stack for the theme. In TAMU UI Library this maps to
|
|
16
|
+
* General Sans; here we keep the same intent while allowing the
|
|
17
|
+
* host app to load the actual font.
|
|
18
|
+
*/
|
|
19
|
+
fontFamily: 'General Sans, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',
|
|
20
|
+
},
|
|
21
|
+
cynk: {
|
|
22
|
+
key: "cynk",
|
|
23
|
+
primaryColor: tokens.color.secondary[500],
|
|
24
|
+
/**
|
|
25
|
+
* Cynk uses Inter in the TAMU UI Library; we mirror that here so
|
|
26
|
+
* components can switch typography consistently when the theme
|
|
27
|
+
* changes.
|
|
28
|
+
*/
|
|
29
|
+
fontFamily: 'Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',
|
|
30
|
+
},
|
|
31
|
+
};
|
|
32
|
+
/**
|
|
33
|
+
* Default theme used when none is explicitly provided.
|
|
34
|
+
*/
|
|
35
|
+
export const defaultTheme = "tera";
|
|
36
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/components/Theme/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAU7C;;;GAGG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,IAAI,EAAE;QACJ,GAAG,EAAE,MAAe;QACpB;;;WAGG;QACH,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QACvC;;;;WAIG;QACH,UAAU,EACR,4FAA4F;KAC/F;IACD,IAAI,EAAE;QACJ,GAAG,EAAE,MAAe;QACpB,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC;QACzC;;;;WAIG;QACH,UAAU,EACR,qFAAqF;KACxF;CACO,CAAC;AAIX;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAa,MAAM,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Theme/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACrD,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Theme/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC"}
|
package/dist/index.d.ts
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,qBAAqB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,qBAAqB,CAAC;AAGpC,cAAc,oBAAoB,CAAC;AAGnC,cAAc,oBAAoB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,3 +1,7 @@
|
|
|
1
1
|
// Button component
|
|
2
2
|
export * from "./components/Button";
|
|
3
|
+
// Theme (company-level theming shared across components)
|
|
4
|
+
export * from "./components/Theme";
|
|
5
|
+
// Table (data grid component configuration and types)
|
|
6
|
+
export * from "./components/Table";
|
|
3
7
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,mBAAmB;AACnB,cAAc,qBAAqB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,mBAAmB;AACnB,cAAc,qBAAqB,CAAC;AAEpC,yDAAyD;AACzD,cAAc,oBAAoB,CAAC;AAEnC,sDAAsD;AACtD,cAAc,oBAAoB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lamenna/lxp-shared-components",
|
|
3
|
-
"version": "0.0
|
|
3
|
+
"version": "0.1.0",
|
|
4
4
|
"description": "Shared component logic for LXP - reusable across React, React Native, and Angular",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"access": "public"
|
|
12
12
|
},
|
|
13
13
|
"dependencies": {
|
|
14
|
-
"@lamenna/lxp-tokens": "0.0
|
|
14
|
+
"@lamenna/lxp-tokens": "0.1.0"
|
|
15
15
|
},
|
|
16
16
|
"devDependencies": {
|
|
17
17
|
"@types/react": "18.2.79",
|