@tachui/core 0.8.11 → 0.8.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -44,14 +44,14 @@ const counterApp = VStack({
44
44
  .modifier.fontSize(24)
45
45
  .fontWeight('bold')
46
46
  .foregroundColor('#007AFF')
47
- .build(),
47
+ ,
48
48
 
49
49
  Button('Increment', () => setCount(count() + 1))
50
50
  .modifier.backgroundColor('#007AFF')
51
51
  .foregroundColor('white')
52
52
  .padding({ horizontal: 24, vertical: 12 })
53
53
  .cornerRadius(8)
54
- .build(),
54
+ ,
55
55
  ],
56
56
  spacing: 16,
57
57
  alignment: 'center',
@@ -98,7 +98,7 @@ Text('Hello tachUI')
98
98
  .cornerRadius(12)
99
99
  .shadow({ x: 0, y: 2, radius: 4, color: 'rgba(0,122,255,0.2)' })
100
100
  .onTap(() => console.log('Tapped!'))
101
- .build()
101
+
102
102
  ```
103
103
 
104
104
  > **Modifier registration:** Starting in 0.8.0 the concrete modifier implementations live in `@tachui/modifiers`. Import `@tachui/modifiers/preload/basic` (and optional bundles like `preload/effects`) once during app bootstrap so the builder proxy in `@tachui/core` can resolve the modifier factories from the shared registry.
@@ -153,7 +153,7 @@ interface MyComponentProps extends ComponentProps {
153
153
  const MyComponent = createComponent<MyComponentProps>('MyComponent', props => {
154
154
  return Text(props.title)
155
155
  .modifier.fontSize(props.count > 10 ? 20 : 16)
156
- .build()
156
+
157
157
  })
158
158
  ```
159
159
 
@@ -172,14 +172,14 @@ Revolutionary bundle size reduction for component concatenation patterns:
172
172
 
173
173
  ```typescript
174
174
  // Before: Uses full 87.76KB concatenation runtime
175
- Text('Hello').build().concat(Text('World').build())
175
+ Text('Hello').concat(Text('World'))
176
176
 
177
177
  // After: Smart optimization with 94.9% bundle reduction
178
178
  // • Static patterns: 0KB runtime (compile-time concatenation)
179
179
  // • Dynamic patterns: 1.2-1.9KB selective runtime based on accessibility needs
180
180
  ```
181
181
 
182
- - **Automatic Detection**: TypeScript AST analysis finds `.build().concat()` patterns
182
+ - **Automatic Detection**: TypeScript AST analysis finds `.concat()` patterns
183
183
  - **Smart Runtime Selection**: Minimal (1.18KB), ARIA (1.42KB), or Full (1.93KB) based on component needs
184
184
  - **CLI Integration**: Use `tachui analyze --concatenation` for optimization insights
185
185
  - **Production Ready**: 27 tests passing, handles 250+ files in <500ms
@@ -18,6 +18,12 @@ export declare class ColorAsset extends Asset {
18
18
  readonly default: string;
19
19
  readonly light?: string;
20
20
  readonly dark?: string;
21
+ private static readonly HEX_REGEX;
22
+ private static readonly RGB_REGEX;
23
+ private static readonly RGBA_REGEX;
24
+ private static readonly HSL_REGEX;
25
+ private static readonly HSLA_REGEX;
26
+ private static readonly NAMED_COLOR_RGB;
21
27
  constructor(options: ColorAssetOptions);
22
28
  static init(options: ColorAssetOptions): ColorAsset;
23
29
  /**
@@ -26,6 +32,27 @@ export declare class ColorAsset extends Asset {
26
32
  */
27
33
  static validateColor(color: string): ColorValidationResult;
28
34
  static getCurrentTheme(): string;
35
+ opacity(alpha: number): string;
36
+ saturate(amount: number): string;
37
+ brighten(amount: number): string;
38
+ contrast(amount: number): string;
39
+ rotateHue(degrees: number): string;
29
40
  resolve(): string;
41
+ private isFiniteInput;
42
+ private static clamp;
43
+ private static formatAlpha;
44
+ private static toColorMix;
45
+ private static applyAlpha;
46
+ private static parseHex;
47
+ private static parseHexWithAlpha;
48
+ private static applySaturation;
49
+ private static applyBrightness;
50
+ private static applyContrast;
51
+ private static applyHueRotation;
52
+ private static parseColorToRgba;
53
+ private static parseColorToHsla;
54
+ private static rgbToHsl;
55
+ private static hslToRgb;
56
+ private static rgbToHex;
30
57
  }
31
58
  //# sourceMappingURL=ColorAsset.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ColorAsset.d.ts","sourceRoot":"","sources":["../../src/assets/ColorAsset.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAEpD;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;CACb;AAED,qBAAa,UAAW,SAAQ,KAAK;IACnC,SAAgB,OAAO,EAAE,MAAM,CAAA;IAC/B,SAAgB,KAAK,CAAC,EAAE,MAAM,CAAA;IAC9B,SAAgB,IAAI,CAAC,EAAE,MAAM,CAAA;gBAEjB,OAAO,EAAE,iBAAiB;IAyCtC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,iBAAiB,GAAG,UAAU;IAInD;;;OAGG;IACH,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,qBAAqB;IAmI1D,MAAM,CAAC,eAAe,IAAI,MAAM;IAIhC,OAAO,IAAI,MAAM;CAsBlB"}
1
+ {"version":3,"file":"ColorAsset.d.ts","sourceRoot":"","sources":["../../src/assets/ColorAsset.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAEpD;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;CACb;AAED,qBAAa,UAAW,SAAQ,KAAK;IACnC,SAAgB,OAAO,EAAE,MAAM,CAAA;IAC/B,SAAgB,KAAK,CAAC,EAAE,MAAM,CAAA;IAC9B,SAAgB,IAAI,CAAC,EAAE,MAAM,CAAA;IAC7B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CACoB;IACrD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CACwC;IACzE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CACgE;IAClG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAC0C;IAC3E,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CACkE;IAGpG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAwBtC;gBAEW,OAAO,EAAE,iBAAiB;IAyCtC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,iBAAiB,GAAG,UAAU;IAInD;;;OAGG;IACH,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,qBAAqB;IA0H1D,MAAM,CAAC,eAAe,IAAI,MAAM;IAIhC,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAS9B,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAShC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAYhC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAWhC,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAUlC,OAAO,IAAI,MAAM;IAuBjB,OAAO,CAAC,aAAa;IAYrB,OAAO,CAAC,MAAM,CAAC,KAAK;IAIpB,OAAO,CAAC,MAAM,CAAC,WAAW;IAO1B,OAAO,CAAC,MAAM,CAAC,UAAU;IAOzB,OAAO,CAAC,MAAM,CAAC,UAAU;IAqCzB,OAAO,CAAC,MAAM,CAAC,QAAQ;IAKvB,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAqBhC,OAAO,CAAC,MAAM,CAAC,eAAe;IA0B9B,OAAO,CAAC,MAAM,CAAC,eAAe;IAgC9B,OAAO,CAAC,MAAM,CAAC,aAAa;IA2B5B,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAoB/B,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAiD/B,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAgC/B,OAAO,CAAC,MAAM,CAAC,QAAQ;IAkCvB,OAAO,CAAC,MAAM,CAAC,QAAQ;IAyCvB,OAAO,CAAC,MAAM,CAAC,QAAQ;CAIxB"}
@@ -15,6 +15,7 @@ export { FontWeightPreset as FontWeight, FontWidth, SystemFonts, createSystemFon
15
15
  export declare function registerAsset(name: string, asset: Asset): void;
16
16
  export declare function registerAsset(asset: Asset): void;
17
17
  export declare function registerAsset(asset: Asset, name?: string): void;
18
+ export declare function registerAsset(...assets: [Asset, ...Asset[]]): void;
18
19
  export declare function createColorAsset(light: string, dark: string, name?: string): ColorAsset;
19
20
  export declare function createImageAsset(defaultPath: string, light?: string, dark?: string, name?: string, options?: {
20
21
  alt?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/assets/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAE/B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,SAAS,EAAE,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAC9D,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AASzD,eAAO,MAAM,MAAM,EAAE,eAAgD,CAAA;AAGrE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,CAAA;AACnD,cAAc,SAAS,CAAA;AACvB,OAAO,EACL,gBAAgB,IAAI,UAAU,EAC9B,SAAS,EACT,WAAW,EACX,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,cAAc,EACpB,MAAM,aAAa,CAAA;AAGpB,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI,CAAA;AAC/D,wBAAgB,aAAa,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAA;AACjD,wBAAgB,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;AAiBhE,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,IAAI,GAAE,MAAW,GAChB,UAAU,CAOZ;AAED,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,MAAM,EACnB,KAAK,CAAC,EAAE,MAAM,EACd,IAAI,CAAC,EAAE,MAAM,EACb,IAAI,GAAE,MAAW,EACjB,OAAO,CAAC,EAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,GAC/C,UAAU,CAQZ;AAED,wBAAgB,eAAe,CAC7B,MAAM,EAAE,MAAM,EACd,SAAS,GAAE,MAAM,EAAO,EACxB,IAAI,GAAE,MAAW,EACjB,OAAO,CAAC,EAAE,gBAAgB,GACzB,SAAS,CAEX;AAGD,wBAAgB,YAAY,IAAI,SAAS,EAAE,CAuB1C;AAGD,wBAAgB,cAAc,IAAI,MAAM,EAAE,CAEzC;AAqDD,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/assets/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAE/B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,SAAS,EAAE,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAC9D,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AASzD,eAAO,MAAM,MAAM,EAAE,eAAgD,CAAA;AAGrE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,CAAA;AACnD,cAAc,SAAS,CAAA;AACvB,OAAO,EACL,gBAAgB,IAAI,UAAU,EAC9B,SAAS,EACT,WAAW,EACX,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,cAAc,EACpB,MAAM,aAAa,CAAA;AAGpB,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI,CAAA;AAC/D,wBAAgB,aAAa,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAA;AACjD,wBAAgB,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;AAChE,wBAAgB,aAAa,CAAC,GAAG,MAAM,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,EAAE,CAAC,GAAG,IAAI,CAAA;AA+CnE,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,IAAI,GAAE,MAAW,GAChB,UAAU,CAOZ;AAED,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,MAAM,EACnB,KAAK,CAAC,EAAE,MAAM,EACd,IAAI,CAAC,EAAE,MAAM,EACb,IAAI,GAAE,MAAW,EACjB,OAAO,CAAC,EAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,GAC/C,UAAU,CAQZ;AAED,wBAAgB,eAAe,CAC7B,MAAM,EAAE,MAAM,EACd,SAAS,GAAE,MAAM,EAAO,EACxB,IAAI,GAAE,MAAW,EACjB,OAAO,CAAC,EAAE,gBAAgB,GACzB,SAAS,CAEX;AAGD,wBAAgB,YAAY,IAAI,SAAS,EAAE,CAuB1C;AAGD,wBAAgB,cAAc,IAAI,MAAM,EAAE,CAEzC;AAqDD,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA"}