gradiente 2.0.1 → 2.1.1

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.
@@ -10,14 +10,14 @@ declare function fromPercent(value: number): number;
10
10
  //#region src/utils/math/angle.d.ts
11
11
  type AngleUnit = 'deg' | 'rad' | 'turn' | 'grad';
12
12
  declare function isAngleUnit(unit: string): unit is AngleUnit;
13
+ declare function isAngle(value: string): boolean;
14
+ declare function angleValueFromString(value: string): number;
13
15
  declare function degToRad(value: number): number;
14
16
  declare function radToDeg(value: number): number;
15
17
  declare function turnToRad(value: number): number;
16
18
  declare function gradToRad(value: number): number;
17
19
  declare function normalizeAngleDeg(value: number, digits?: number): number;
18
- declare function normalizeAngleRad(value: number): number;
19
- declare function toAngleRad(value: number, unit: AngleUnit): number;
20
- declare function normalizeAngle(value: number, unit: AngleUnit, digits?: number): number;
20
+ declare function normalizeAngleRad(value: number, digits?: number): number;
21
21
  //#endregion
22
22
  //#region src/abi.d.ts
23
23
  /***************************************************************************************************/
@@ -84,6 +84,17 @@ declare function matchExpression(classified: GradientAbiInput[], patternTokens:
84
84
  declare function isValid(input: GradientAbiInput[], pattern: string): boolean;
85
85
  declare function validate(classified: GradientAbiInput[], pattern: string): boolean;
86
86
  //#endregion
87
+ //#region src/gradients/helpers.d.ts
88
+ declare const GRADIENT_COLOR_SPACE: readonly ["oklab", "lch", "oklch", "hsl", "hwb", "lab", "srgb", "srgb-linear", "xyz", "display-p3", "a98-rgb", "prophoto-rgb", "rec2020"];
89
+ declare const GRADIENT_HUE_INTERPOLATIONS: readonly ['shorter', 'longer', 'increasing', 'decreasing'];
90
+ declare const GRADIENT_POLAR_COLOR_SPACES: readonly ["hsl", "hwb", "lch", "oklch"];
91
+ type GradientHueInterpolation = (typeof GRADIENT_HUE_INTERPOLATIONS)[number];
92
+ type GradientColorSpace = (typeof GRADIENT_COLOR_SPACE)[number];
93
+ type GradientPolarColorSpace = (typeof GRADIENT_POLAR_COLOR_SPACES)[number];
94
+ declare function isGradientHueInterpolation(value: string): value is GradientHueInterpolation;
95
+ declare function isGradientColorSpace(value: string): value is GradientColorSpace;
96
+ declare function isGradientPolarColorSpace(value: string): value is GradientPolarColorSpace;
97
+ //#endregion
87
98
  //#region src/gradients/types.d.ts
88
99
  /**
89
100
  * Shared scalar units
@@ -131,7 +142,6 @@ type GradientPosition = {
131
142
  */
132
143
  type GradientHueInterpolationMethod = "shorter" | "longer" | "increasing" | "decreasing";
133
144
  type GradientRectangularColorSpace = "srgb" | "srgb-linear" | "display-p3" | "display-p3-linear" | "a98-rgb" | "prophoto-rgb" | "rec2020" | "lab" | "oklab" | "xyz" | "xyz-d50" | "xyz-d65";
134
- type GradientPolarColorSpace = "hsl" | "hwb" | "lch" | "oklch";
135
145
  type GradientColorInterpolation = {
136
146
  kind: "rectangular";
137
147
  space: GradientRectangularColorSpace;
@@ -236,21 +246,28 @@ declare abstract class GradientBase<TConfig = unknown> implements IGradientBase<
236
246
  }
237
247
  //#endregion
238
248
  //#region src/gradients/LinearGradient.d.ts
239
- type LinearGradientConfig = GradientCommonConfig & {
249
+ type GradientInterpolation = {
250
+ colorSpace: GradientColorSpace;
251
+ hue?: GradientHueInterpolation;
252
+ };
253
+ type LinearGradientConfig = {
240
254
  angle: number;
255
+ interpolation?: GradientInterpolation;
241
256
  };
242
257
  declare class LinearGradient extends GradientBase<LinearGradientConfig> {
243
258
  readonly type = "linear-gradient";
244
259
  constructor(config: GradientData<LinearGradientConfig>);
245
- static normalizeConfig(value: {
246
- value: number;
247
- unit: AngleUnit;
248
- } | string): LinearGradientConfig;
260
+ static normalizeConfig(value: string): LinearGradientConfig;
249
261
  static fromString(input: string): LinearGradient;
250
262
  static fromAbi(abi: GradientAbi): LinearGradient;
251
263
  clone(): this;
252
264
  toString(): string;
253
265
  protected _validateConfig(_: LinearGradientConfig): void;
266
+ private static _normalizeConfigInterpolation;
267
+ private _parseConfigToString;
268
+ private _parseAngleToString;
269
+ private _parseInterpolationToString;
270
+ private static _tokenizeConfigInput;
254
271
  }
255
272
  //#endregion
256
273
  //#region src/gradients/RadialGradient.d.ts
@@ -338,19 +355,6 @@ interface ICanvasPaintResult {
338
355
  draw(ctx: CanvasRenderingContext2D, width: number, height: number): void;
339
356
  }
340
357
  //#endregion
341
- //#region src/gradient-transformer/GradientTransformer.d.ts
342
- declare class GradientTransformer {
343
- private static readonly _modules;
344
- private static _initialized;
345
- static add(module: IGradientTransformerModule): void;
346
- static get(target: string, gradientType: string): IGradientTransformerModule | null;
347
- static remove(target: string, gradientType: string): boolean;
348
- static to<TOutput = unknown>(target: string, input: string | GradientBase<any>): TOutput;
349
- static from<TOutput = unknown>(target: string, gradientType: string, input: TOutput): GradientBase<any>;
350
- private static _ensureInitialized;
351
- private static _getKey;
352
- }
353
- //#endregion
354
358
  //#region src/gradient-transformer/modules/css/ModuleTransformerLinearGradientToCss.d.ts
355
359
  declare class ModuleTransformerLinearGradientToCss implements IGradientTransformerModule<string> {
356
360
  readonly target = "css";
@@ -374,14 +378,14 @@ declare class ModuleTransformerConicGradientToCss implements IGradientTransforme
374
378
  //#endregion
375
379
  //#region src/gradient-transformer/modules/canvas/ModuleTransformerLinearGradientToCanvas.d.ts
376
380
  declare class ModuleTransformerLinearGradientToCanvas implements IGradientTransformerModule<ICanvasPaintResult> {
377
- readonly target = "canvas";
381
+ readonly target = "canvas-2d";
378
382
  readonly gradientType = "linear-gradient";
379
383
  to(input: GradientBase<any>): ICanvasPaintResult;
380
384
  }
381
385
  //#endregion
382
386
  //#region src/gradient-transformer/modules/canvas/ModuleTransformerRadialGradientToCanvas.d.ts
383
387
  declare class ModuleTransformerRadialGradientToCanvas implements IGradientTransformerModule<ICanvasPaintResult> {
384
- readonly target = "canvas";
388
+ readonly target = "canvas-2d";
385
389
  readonly gradientType = "radial-gradient";
386
390
  to(input: GradientBase<any>): ICanvasPaintResult;
387
391
  private _resolve;
@@ -389,7 +393,7 @@ declare class ModuleTransformerRadialGradientToCanvas implements IGradientTransf
389
393
  //#endregion
390
394
  //#region src/gradient-transformer/modules/canvas/ModuleTransformerConicGradientToCanvas.d.ts
391
395
  declare class ModuleTransformerConicGradientToCanvas implements IGradientTransformerModule<ICanvasPaintResult> {
392
- readonly target = "canvas";
396
+ readonly target = "canvas-2d";
393
397
  readonly gradientType = "conic-gradient";
394
398
  to(input: GradientBase<any>): ICanvasPaintResult;
395
399
  private _resolvePosition;
@@ -404,4 +408,27 @@ declare class ModuleTransformerConicGradientToCanvas implements IGradientTransfo
404
408
  private _clamp01;
405
409
  }
406
410
  //#endregion
407
- export { AbiInputType, AngleUnit, AnyGradient, ConicGradient, ConicGradientConfig, GradientAbi, GradientAbiInput, GradientAngleUnit, GradientAngleValue, GradientBase, GradientColorHint, GradientColorInterpolation, GradientColorStop, GradientCommonConfig, GradientData, GradientFactory, GradientHueInterpolationMethod, GradientLengthPercentage, GradientLengthUnit, GradientLengthValue, GradientNumberValue, GradientPercentValue, GradientPolarColorSpace, GradientPosition, GradientPositionKeywordX, GradientPositionKeywordY, GradientRectangularColorSpace, GradientStop, GradientTransformer, GradientType, ICanvasPaintResult, IGradientBase, IGradientStatic, IGradientTransformerModule, LinearGradient, LinearGradientConfig, ModuleTransformerConicGradientToCanvas, ModuleTransformerConicGradientToCss, ModuleTransformerLinearGradientToCanvas, ModuleTransformerLinearGradientToCss, ModuleTransformerRadialGradientToCanvas, ModuleTransformerRadialGradientToCss, PatternTokenKind, RadialGradient, RadialGradientConfig, RadialGradientExtent, RadialGradientShape, RadialGradientSize, ceilTo, clamp, degToRad, floorTo, format, fromPercent, gradToRad, isAngleUnit, isColorHint, isColorStop, isConfig, isGradient, isPatternSyntaxValid, isPatternValid, isValid, matchExpression, normalizeAngle, normalizeAngleDeg, normalizeAngleRad, parse, parseStringToAbi, radToDeg, roundTo, splitTopLevelByWhitespace, toAngleRad, toPercent, tokenizePattern, transformFrom, transformTo, truncTo, turnToRad, validate, validatePattern, validatePatternSemantic, validatePatternStructure, validatePatternSyntax };
411
+ //#region src/gradient-transformer/modules/webgl/ModuleTransformerLinearGradientToWebgl.d.ts
412
+ interface IWebGLPaintResult {
413
+ draw(canvas: HTMLCanvasElement, width: number, height: number): void;
414
+ }
415
+ declare class ModuleTransformerLinearGradientToCanvasWebGL implements IGradientTransformerModule<IWebGLPaintResult> {
416
+ readonly target = "canvas-webgl";
417
+ readonly gradientType = "linear-gradient";
418
+ to(input: GradientBase<any>): IWebGLPaintResult;
419
+ }
420
+ //#endregion
421
+ //#region src/gradient-transformer/GradientTransformer.d.ts
422
+ declare class GradientTransformer {
423
+ private static readonly _modules;
424
+ private static _initialized;
425
+ static add(module: IGradientTransformerModule): void;
426
+ static get(target: string, gradientType: string): IGradientTransformerModule | null;
427
+ static remove(target: string, gradientType: string): boolean;
428
+ static to<TOutput = unknown>(target: string, input: string | GradientBase<any>): TOutput;
429
+ static from<TOutput = unknown>(target: string, gradientType: string, input: TOutput): GradientBase<any>;
430
+ private static _ensureInitialized;
431
+ private static _getKey;
432
+ }
433
+ //#endregion
434
+ export { AbiInputType, AngleUnit, AnyGradient, ConicGradient, ConicGradientConfig, GRADIENT_COLOR_SPACE, GRADIENT_HUE_INTERPOLATIONS, GRADIENT_POLAR_COLOR_SPACES, GradientAbi, GradientAbiInput, GradientAngleUnit, GradientAngleValue, GradientBase, GradientColorHint, GradientColorInterpolation, GradientColorSpace, GradientColorStop, GradientCommonConfig, GradientData, GradientFactory, GradientHueInterpolation, GradientHueInterpolationMethod, GradientInterpolation, GradientLengthPercentage, GradientLengthUnit, GradientLengthValue, GradientNumberValue, GradientPercentValue, GradientPolarColorSpace, GradientPosition, GradientPositionKeywordX, GradientPositionKeywordY, GradientRectangularColorSpace, GradientStop, GradientTransformer, GradientType, ICanvasPaintResult, IGradientBase, IGradientStatic, IGradientTransformerModule, IWebGLPaintResult, LinearGradient, LinearGradientConfig, ModuleTransformerConicGradientToCanvas, ModuleTransformerConicGradientToCss, ModuleTransformerLinearGradientToCanvas, ModuleTransformerLinearGradientToCanvasWebGL, ModuleTransformerLinearGradientToCss, ModuleTransformerRadialGradientToCanvas, ModuleTransformerRadialGradientToCss, PatternTokenKind, RadialGradient, RadialGradientConfig, RadialGradientExtent, RadialGradientShape, RadialGradientSize, angleValueFromString, ceilTo, clamp, degToRad, floorTo, format, fromPercent, gradToRad, isAngle, isAngleUnit, isColorHint, isColorStop, isConfig, isGradient, isGradientColorSpace, isGradientHueInterpolation, isGradientPolarColorSpace, isPatternSyntaxValid, isPatternValid, isValid, matchExpression, normalizeAngleDeg, normalizeAngleRad, parse, parseStringToAbi, radToDeg, roundTo, splitTopLevelByWhitespace, toPercent, tokenizePattern, transformFrom, transformTo, truncTo, turnToRad, validate, validatePattern, validatePatternSemantic, validatePatternStructure, validatePatternSyntax };