chaincss 1.13.3 → 2.0.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.
Files changed (101) hide show
  1. package/CHANGELOG.md +81 -0
  2. package/LICENSE +2 -3
  3. package/README.md +238 -105
  4. package/dist/cli/commands/build.d.ts +3 -0
  5. package/dist/cli/commands/build.d.ts.map +1 -0
  6. package/dist/cli/commands/compile.d.ts +3 -0
  7. package/dist/cli/commands/compile.d.ts.map +1 -0
  8. package/dist/cli/commands/init.d.ts +5 -0
  9. package/dist/cli/commands/init.d.ts.map +1 -0
  10. package/dist/cli/commands/timeline.d.ts +2 -0
  11. package/dist/cli/commands/timeline.d.ts.map +1 -0
  12. package/dist/cli/commands/watch.d.ts +6 -0
  13. package/dist/cli/commands/watch.d.ts.map +1 -0
  14. package/dist/cli/index.d.ts +2 -0
  15. package/dist/cli/index.d.ts.map +1 -0
  16. package/dist/cli/index.js +5960 -0
  17. package/dist/cli/types.d.ts +51 -0
  18. package/dist/cli/types.d.ts.map +1 -0
  19. package/dist/cli/utils/config-loader.d.ts +8 -0
  20. package/dist/cli/utils/config-loader.d.ts.map +1 -0
  21. package/dist/cli/utils/file-utils.d.ts +9 -0
  22. package/dist/cli/utils/file-utils.d.ts.map +1 -0
  23. package/dist/cli/utils/logger.d.ts +17 -0
  24. package/dist/cli/utils/logger.d.ts.map +1 -0
  25. package/dist/compiler/atomic-optimizer.d.ts +76 -0
  26. package/dist/compiler/atomic-optimizer.d.ts.map +1 -0
  27. package/dist/compiler/btt.d.ts +138 -0
  28. package/dist/compiler/btt.d.ts.map +1 -0
  29. package/dist/compiler/cache-manager.d.ts +20 -0
  30. package/dist/compiler/cache-manager.d.ts.map +1 -0
  31. package/dist/compiler/commonProps.d.ts +2 -0
  32. package/dist/compiler/commonProps.d.ts.map +1 -0
  33. package/dist/compiler/index.d.ts +12 -0
  34. package/dist/compiler/index.d.ts.map +1 -0
  35. package/dist/compiler/index.js +5177 -0
  36. package/dist/compiler/prefixer.d.ts +42 -0
  37. package/dist/compiler/prefixer.d.ts.map +1 -0
  38. package/dist/compiler/theme-contract.d.ts +61 -0
  39. package/dist/compiler/theme-contract.d.ts.map +1 -0
  40. package/dist/compiler/tokens.d.ts +52 -0
  41. package/dist/compiler/tokens.d.ts.map +1 -0
  42. package/dist/compiler/types.d.ts +57 -0
  43. package/dist/compiler/types.d.ts.map +1 -0
  44. package/dist/core/compiler.d.ts +32 -0
  45. package/dist/core/compiler.d.ts.map +1 -0
  46. package/dist/core/constants.d.ts +129 -0
  47. package/dist/core/constants.d.ts.map +1 -0
  48. package/dist/core/index.d.ts +4 -0
  49. package/dist/core/index.d.ts.map +1 -0
  50. package/dist/core/types.d.ts +88 -0
  51. package/dist/core/types.d.ts.map +1 -0
  52. package/dist/core/utils.d.ts +37 -0
  53. package/dist/core/utils.d.ts.map +1 -0
  54. package/dist/index.d.ts +13 -0
  55. package/dist/index.d.ts.map +1 -0
  56. package/dist/index.js +5667 -0
  57. package/dist/plugins/vite.d.ts +11 -0
  58. package/dist/plugins/vite.d.ts.map +1 -0
  59. package/dist/plugins/vite.js +25839 -0
  60. package/dist/plugins/webpack.d.ts +45 -0
  61. package/dist/plugins/webpack.d.ts.map +1 -0
  62. package/dist/plugins/webpack.js +107 -0
  63. package/dist/runtime/hmr.d.ts +3 -0
  64. package/dist/runtime/hmr.d.ts.map +1 -0
  65. package/dist/runtime/index.d.ts +15 -0
  66. package/dist/runtime/index.d.ts.map +1 -0
  67. package/dist/runtime/index.js +552 -0
  68. package/dist/runtime/injector.d.ts +85 -0
  69. package/dist/runtime/injector.d.ts.map +1 -0
  70. package/dist/runtime/react.d.ts +54 -0
  71. package/dist/runtime/react.d.ts.map +1 -0
  72. package/dist/runtime/react.js +270 -0
  73. package/dist/runtime/types.d.ts +45 -0
  74. package/dist/runtime/types.d.ts.map +1 -0
  75. package/dist/runtime/utils.d.ts +62 -0
  76. package/dist/runtime/utils.d.ts.map +1 -0
  77. package/dist/runtime/vue.d.ts +52 -0
  78. package/dist/runtime/vue.d.ts.map +1 -0
  79. package/dist/runtime/vue.js +232 -0
  80. package/package.json +90 -119
  81. package/browser/commonProps.js +0 -14
  82. package/browser/index.js +0 -3
  83. package/browser/react-hooks.js +0 -162
  84. package/browser/rtt.js +0 -400
  85. package/browser/vue-composables.js +0 -200
  86. package/node/atomic-optimizer.js +0 -526
  87. package/node/btt.js +0 -1009
  88. package/node/cache-manager.js +0 -56
  89. package/node/chaincss.js +0 -642
  90. package/node/index.js +0 -2
  91. package/node/loaders/chaincss-loader.js +0 -62
  92. package/node/plugins/next-plugin.js +0 -120
  93. package/node/plugins/vite-plugin.js +0 -383
  94. package/node/plugins/webpack-plugin.js +0 -41
  95. package/node/prefixer.js +0 -237
  96. package/node/strVal.js +0 -92
  97. package/node/theme-validator.js +0 -32
  98. package/shared/theme-contract.js +0 -98
  99. package/shared/tokens.cjs +0 -256
  100. package/shared/tokens.mjs +0 -320
  101. package/types.d.ts +0 -325
@@ -0,0 +1,51 @@
1
+ export interface CLIOptions {
2
+ input?: string;
3
+ output?: string;
4
+ watch?: boolean;
5
+ atomic?: boolean;
6
+ minify?: boolean;
7
+ prefix?: boolean;
8
+ sourceMap?: boolean;
9
+ verbose?: boolean;
10
+ config?: string;
11
+ help?: boolean;
12
+ version?: boolean;
13
+ }
14
+ export interface CompileOptions {
15
+ input: string;
16
+ output: string;
17
+ watch?: boolean;
18
+ atomic?: boolean;
19
+ minify?: boolean;
20
+ prefix?: boolean;
21
+ sourceMap?: boolean;
22
+ verbose?: boolean;
23
+ }
24
+ export interface BuildOptions {
25
+ config?: string;
26
+ watch?: boolean;
27
+ verbose?: boolean;
28
+ }
29
+ export interface ChainCSSConfig {
30
+ inputs?: string[];
31
+ output?: string;
32
+ tokens?: {
33
+ enabled?: boolean;
34
+ prefix?: string;
35
+ };
36
+ atomic?: {
37
+ enabled?: boolean;
38
+ threshold?: number;
39
+ naming?: 'hash' | 'readable';
40
+ minify?: boolean;
41
+ mode?: 'standard' | 'atomic' | 'hybrid';
42
+ verbose?: boolean;
43
+ };
44
+ prefixer?: {
45
+ enabled?: boolean;
46
+ browsers?: string[];
47
+ };
48
+ watch?: boolean;
49
+ verbose?: boolean;
50
+ }
51
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/cli/types.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,UAAU;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE;QACP,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,MAAM,CAAC,EAAE;QACP,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,MAAM,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC;QAC7B,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,IAAI,CAAC,EAAE,UAAU,GAAG,QAAQ,GAAG,QAAQ,CAAC;QACxC,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB,CAAC;IACF,QAAQ,CAAC,EAAE;QACT,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;KACrB,CAAC;IACF,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * ChainCSS Configuration Loader
3
+ * @module config-loader
4
+ */
5
+ import type { ChainCSSConfig } from '../types.js';
6
+ export declare function loadConfig(configPath?: string): Promise<ChainCSSConfig>;
7
+ export declare function saveConfigTemplate(outputPath?: string, full?: boolean): void;
8
+ //# sourceMappingURL=config-loader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-loader.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/config-loader.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAiDlD,wBAAsB,UAAU,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAkC7E;AA6BD,wBAAgB,kBAAkB,CAAC,UAAU,GAAE,MAA6B,EAAE,IAAI,GAAE,OAAe,GAAG,IAAI,CAuGzG"}
@@ -0,0 +1,9 @@
1
+ export declare function findInputFiles(patterns: string[]): string[];
2
+ export declare function ensureDirectory(dir: string): void;
3
+ export declare function getRelativePath(filePath: string, baseDir: string): string;
4
+ export declare function getOutputPath(inputFile: string, outputDir: string): string;
5
+ export declare function fileExists(filePath: string): boolean;
6
+ export declare function readFile(filePath: string): string;
7
+ export declare function writeFile(filePath: string, content: string): void;
8
+ export declare function deleteFile(filePath: string): void;
9
+ //# sourceMappingURL=file-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-utils.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/file-utils.ts"],"names":[],"mappings":"AAMA,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAW3D;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAIjD;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAEzE;AAED,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAG1E;AAED,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEpD;AAED,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEjD;AAED,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAGjE;AAED,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAIjD"}
@@ -0,0 +1,17 @@
1
+ export type LogLevel = 'info' | 'success' | 'warn' | 'error' | 'debug';
2
+ export declare class Logger {
3
+ private verbose;
4
+ constructor(verbose?: boolean);
5
+ info(message: string, ...args: any[]): void;
6
+ success(message: string, ...args: any[]): void;
7
+ warn(message: string, ...args: any[]): void;
8
+ error(message: string, ...args: any[]): void;
9
+ debug(message: string, ...args: any[]): void;
10
+ step(message: string, ...args: any[]): void;
11
+ header(message: string): void;
12
+ divider(): void;
13
+ table(data: Record<string, any>): void;
14
+ progress(current: number, total: number, message: string): void;
15
+ }
16
+ export declare function createLogger(verbose?: boolean): Logger;
17
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/logger.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;AAEvE,qBAAa,MAAM;IACjB,OAAO,CAAC,OAAO,CAAU;gBAEb,OAAO,GAAE,OAAe;IAIpC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAI3C,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAI9C,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAI3C,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAI5C,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAM5C,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAI3C,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAM7B,OAAO,IAAI,IAAI;IAIf,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;IAStC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;CAWhE;AAED,wBAAgB,YAAY,CAAC,OAAO,GAAE,OAAe,GAAG,MAAM,CAE7D"}
@@ -0,0 +1,76 @@
1
+ export interface AtomicClass {
2
+ className: string;
3
+ prop: string;
4
+ value: string;
5
+ usageCount: number;
6
+ }
7
+ export interface AtomicOptimizerStats {
8
+ totalStyles: number;
9
+ atomicStyles: number;
10
+ standardStyles: number;
11
+ uniqueProperties: number;
12
+ savings: string;
13
+ }
14
+ export interface AtomicOptimizerOptions {
15
+ enabled?: boolean;
16
+ threshold?: number;
17
+ naming?: 'hash' | 'readable';
18
+ cache?: boolean;
19
+ cachePath?: string;
20
+ minify?: boolean;
21
+ mode?: 'standard' | 'atomic' | 'hybrid';
22
+ outputStrategy?: 'component-first' | 'utility-first';
23
+ alwaysAtomic?: string[];
24
+ neverAtomic?: string[];
25
+ frameworkOutput?: {
26
+ react?: boolean;
27
+ vue?: boolean;
28
+ vanilla?: boolean;
29
+ };
30
+ preserveSelectors?: boolean;
31
+ verbose?: boolean;
32
+ }
33
+ export interface ComponentClassMapEntry {
34
+ atomicClasses: string[];
35
+ hoverAtomicClasses: string[];
36
+ selectors: string[];
37
+ }
38
+ export interface OptimizeResult {
39
+ css: string;
40
+ map: Record<string, string>;
41
+ stats: AtomicOptimizerStats;
42
+ atomicCSS: string;
43
+ componentCSS: string;
44
+ componentMap?: Map<string, ComponentClassMapEntry>;
45
+ }
46
+ export declare class AtomicOptimizer {
47
+ options: Required<AtomicOptimizerOptions>;
48
+ usageCount: Map<string, number>;
49
+ atomicClasses: Map<string, AtomicClass>;
50
+ componentClassMap: Map<string, ComponentClassMapEntry>;
51
+ stats: {
52
+ totalStyles: number;
53
+ atomicStyles: number;
54
+ standardStyles: number;
55
+ uniqueProperties: number;
56
+ savings: number;
57
+ };
58
+ constructor(options?: AtomicOptimizerOptions);
59
+ private loadCache;
60
+ private saveCache;
61
+ private trackStyles;
62
+ private incrementUsage;
63
+ private shouldBeAtomic;
64
+ private generateClassName;
65
+ private getOrCreateAtomic;
66
+ private getKeyFromClassName;
67
+ private generateAtomicCSS;
68
+ private generateComponentCSS;
69
+ optimize(stylesInput: any[] | Record<string, any>): OptimizeResult;
70
+ getStats(): AtomicOptimizerStats;
71
+ getAtomicClass(prop: string, value: string): string | null;
72
+ getAllAtomicClasses(): AtomicClass[];
73
+ clearCache(): void;
74
+ }
75
+ export { AtomicOptimizer as default };
76
+ //# sourceMappingURL=atomic-optimizer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"atomic-optimizer.d.ts","sourceRoot":"","sources":["../../src/compiler/atomic-optimizer.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC;IAC7B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,UAAU,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACxC,cAAc,CAAC,EAAE,iBAAiB,GAAG,eAAe,CAAC;IACrD,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,eAAe,CAAC,EAAE;QAChB,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,GAAG,CAAC,EAAE,OAAO,CAAC;QACd,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB,CAAC;IACF,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,sBAAsB;IACrC,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5B,KAAK,EAAE,oBAAoB,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;CACpD;AAWD,qBAAa,eAAe;IAC1B,OAAO,EAAE,QAAQ,CAAC,sBAAsB,CAAC,CAAC;IAC1C,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACxC,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;IACvD,KAAK,EAAE;QACL,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;QACrB,cAAc,EAAE,MAAM,CAAC;QACvB,gBAAgB,EAAE,MAAM,CAAC;QACzB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;gBAEU,OAAO,GAAE,sBAA2B;IAqDhD,OAAO,CAAC,SAAS;IAyBjB,OAAO,CAAC,SAAS;IAmCjB,OAAO,CAAC,WAAW;IAsBnB,OAAO,CAAC,cAAc;IAYtB,OAAO,CAAC,cAAc;IAiBtB,OAAO,CAAC,iBAAiB;IAYzB,OAAO,CAAC,iBAAiB;IAiBzB,OAAO,CAAC,mBAAmB;IAW3B,OAAO,CAAC,iBAAiB;IAiBzB,OAAO,CAAC,oBAAoB;IAuJ5B,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,cAAc;IA4FlE,QAAQ,IAAI,oBAAoB;IAchC,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAM1D,mBAAmB,IAAI,WAAW,EAAE;IAIpC,UAAU,IAAI,IAAI;CAQnB;AAGD,OAAO,EAAE,eAAe,IAAI,OAAO,EAAE,CAAC"}
@@ -0,0 +1,138 @@
1
+ import { DesignTokens } from './tokens.js';
2
+ import type { AtomicOptimizer } from './atomic-optimizer.js';
3
+ interface StyleSnapshot {
4
+ id: string;
5
+ timestamp: number;
6
+ selector: string;
7
+ styles: Record<string, any>;
8
+ source: string;
9
+ hash: string;
10
+ }
11
+ interface StyleChange {
12
+ id: string;
13
+ timestamp: number;
14
+ selector: string;
15
+ property: string;
16
+ oldValue: any;
17
+ newValue: any;
18
+ type: 'add' | 'remove' | 'modify';
19
+ }
20
+ export declare function enableTimeline(enable?: boolean): void;
21
+ export declare function getStyleHistory(): StyleSnapshot[];
22
+ export declare function getStyleChanges(): StyleChange[];
23
+ export declare function getStyleDiff(snapshotId1: string, snapshotId2: string): Record<string, any>;
24
+ export declare function exportTimeline(): string;
25
+ export declare function clearTimeline(): void;
26
+ export declare function setSourceComments(enabled: boolean): void;
27
+ declare function calc(expression: string): string;
28
+ declare function add(a: string | number, b: string | number): string;
29
+ declare function subtract(a: string | number, b: string | number): string;
30
+ declare function multiply(a: string | number, b: string | number): string;
31
+ declare function divide(a: string | number, b: string | number): string;
32
+ declare function percent(value: number): string;
33
+ declare function vw(value: number): string;
34
+ declare function vh(value: number): string;
35
+ declare function rem(value: number): string;
36
+ declare function em(value: number): string;
37
+ declare function px(value: number): string;
38
+ declare function min(...values: (string | number)[]): string;
39
+ declare function max(...values: (string | number)[]): string;
40
+ declare function clamp(min: string | number, preferred: string | number, max: string | number): string;
41
+ declare const helpers: {
42
+ calc: typeof calc;
43
+ add: typeof add;
44
+ subtract: typeof subtract;
45
+ sub: typeof subtract;
46
+ multiply: typeof multiply;
47
+ mul: typeof multiply;
48
+ divide: typeof divide;
49
+ div: typeof divide;
50
+ percent: typeof percent;
51
+ vw: typeof vw;
52
+ vh: typeof vh;
53
+ rem: typeof rem;
54
+ em: typeof em;
55
+ px: typeof px;
56
+ min: typeof min;
57
+ max: typeof max;
58
+ clamp: typeof clamp;
59
+ };
60
+ declare function enableDebug(enable?: boolean): void;
61
+ declare function setBreakpoints(breakpoints: Record<string, string>): void;
62
+ export interface StyleDefinition {
63
+ selectors: string[];
64
+ hover?: Record<string, string | number>;
65
+ atRules?: AtRule[];
66
+ nestedRules?: NestedRule[];
67
+ themes?: ThemeBlock[];
68
+ [cssProperty: string]: any;
69
+ }
70
+ export interface AtRule {
71
+ type: 'media' | 'keyframes' | 'font-face' | 'supports' | 'container' | 'layer' | 'counter-style' | 'property';
72
+ query?: string;
73
+ condition?: string;
74
+ name?: string;
75
+ styles?: any;
76
+ steps?: Record<string, Record<string, string>>;
77
+ properties?: Record<string, string>;
78
+ descriptors?: Record<string, string>;
79
+ }
80
+ export interface NestedRule {
81
+ selector: string;
82
+ styles: Record<string, string | number>;
83
+ }
84
+ export interface ThemeBlock {
85
+ name: string;
86
+ styles: StyleDefinition;
87
+ tokens: any;
88
+ fallback: any;
89
+ }
90
+ export interface ChainObject {
91
+ cssOutput: string;
92
+ catcher: any;
93
+ cachedValidProperties: string[];
94
+ classMap: Record<string, string>;
95
+ atomicStats: any;
96
+ componentMap?: Map<string, any>;
97
+ initializeProperties: () => Promise<void>;
98
+ getCachedProperties: () => string[] | null;
99
+ }
100
+ export declare const chain: ChainObject;
101
+ declare let atomicOptimizer: AtomicOptimizer | null;
102
+ export declare function setAtomicOptimizer(optimizer: AtomicOptimizer | null): void;
103
+ export declare function configureAtomic(opts: Record<string, any>): void;
104
+ export declare const tokens: DesignTokens;
105
+ export declare function createTokens(tokenValues: Record<string, any>): DesignTokens;
106
+ export declare const $: any;
107
+ export declare const run: (...args: any[]) => string;
108
+ export declare const compile: (obj: Record<string, StyleDefinition>) => string;
109
+ export interface RecipeOptions<TVariants extends Record<string, Record<string, any>>> {
110
+ base?: StyleDefinition | (() => StyleDefinition);
111
+ variants?: TVariants;
112
+ defaultVariants?: Partial<{
113
+ [K in keyof TVariants]: keyof TVariants[K];
114
+ }>;
115
+ compoundVariants?: Array<{
116
+ variants: Partial<{
117
+ [K in keyof TVariants]: keyof TVariants[K];
118
+ }>;
119
+ style: StyleDefinition | (() => StyleDefinition);
120
+ }>;
121
+ }
122
+ export type Recipe<TVariants extends Record<string, Record<string, any>>> = {
123
+ (selection?: Partial<{
124
+ [K in keyof TVariants]: keyof TVariants[K];
125
+ }>): StyleDefinition;
126
+ variants: TVariants;
127
+ defaultVariants: Partial<{
128
+ [K in keyof TVariants]: keyof TVariants[K];
129
+ }>;
130
+ base: StyleDefinition;
131
+ getAllVariants: () => Array<Partial<{
132
+ [K in keyof TVariants]: keyof TVariants[K];
133
+ }>>;
134
+ compileAll: () => string;
135
+ };
136
+ export declare function recipe<TVariants extends Record<string, Record<string, any>>>(options: RecipeOptions<TVariants>): Recipe<TVariants>;
137
+ export { atomicOptimizer, chain as chainObject, setBreakpoints, enableDebug, helpers };
138
+ //# sourceMappingURL=btt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"btt.d.ts","sourceRoot":"","sources":["../../src/compiler/btt.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ export interface CacheData {
2
+ version: string;
3
+ created: string;
4
+ atomic: Record<string, any>;
5
+ usage: Record<string, any>;
6
+ [key: string]: any;
7
+ }
8
+ export declare class CacheManager {
9
+ cachePath: string;
10
+ cacheDir: string;
11
+ cache: CacheData | Record<string, any>;
12
+ constructor(cachePath?: string);
13
+ load(): void;
14
+ get(key: string): any;
15
+ set(key: string, value: any): void;
16
+ save(): void;
17
+ clear(): void;
18
+ }
19
+ export { CacheManager as default };
20
+ //# sourceMappingURL=cache-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache-manager.d.ts","sourceRoot":"","sources":["../../src/compiler/cache-manager.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC5B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC3B,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,qBAAa,YAAY;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;gBAE3B,SAAS,GAAE,MAA4B;IAOnD,IAAI,IAAI,IAAI;IAuBZ,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG;IAIrB,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI;IAIlC,IAAI,IAAI,IAAI;IASZ,KAAK,IAAI,IAAI;CAOd;AAGD,OAAO,EAAE,YAAY,IAAI,OAAO,EAAE,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const COMMON_CSS_PROPERTIES: string[];
2
+ //# sourceMappingURL=commonProps.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commonProps.d.ts","sourceRoot":"","sources":["../../src/compiler/commonProps.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,qBAAqB,EAAE,MAAM,EAgBzC,CAAC"}
@@ -0,0 +1,12 @@
1
+ export { chain, $, run, compile, createTokens, configureAtomic, setAtomicOptimizer, recipe, tokens } from './btt.js';
2
+ export { AtomicOptimizer } from './atomic-optimizer.js';
3
+ export { ChainCSSPrefixer } from './prefixer.js';
4
+ export { DesignTokens, tokens as tokenInstance, createTokens as createTokensUtil, responsive } from './tokens.js';
5
+ export { createThemeContract, validateTheme, createTheme } from './theme-contract.js';
6
+ export { CacheManager } from './cache-manager.js';
7
+ export type { StyleDefinition, AtRule, NestedRule, ThemeBlock } from './btt.js';
8
+ export type { AtomicClass, AtomicOptimizerOptions, AtomicOptimizerStats } from './atomic-optimizer.js';
9
+ export type { PrefixerConfig } from './prefixer.js';
10
+ export type { TokensStructure, DesignTokens as DesignTokensType } from './tokens.js';
11
+ export type { CacheData } from './cache-manager.js';
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/compiler/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AACrH,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,aAAa,EAAE,YAAY,IAAI,gBAAgB,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAClH,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACtF,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGlD,YAAY,EAAE,eAAe,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAChF,YAAY,EAAE,WAAW,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AACvG,YAAY,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACpD,YAAY,EAAE,eAAe,EAAE,YAAY,IAAI,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACrF,YAAY,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC"}