@tachui/core 0.8.0-alpha → 0.8.5-alpha
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 +58 -2
- package/dist/assets/AssetCollection.d.ts.map +1 -1
- package/dist/assets/ColorAsset.d.ts.map +1 -1
- package/dist/assets/index.d.ts +1 -0
- package/dist/assets/index.d.ts.map +1 -1
- package/dist/assets/index.js +486 -0
- package/dist/assets/types.d.ts +8 -68
- package/dist/assets/types.d.ts.map +1 -1
- package/dist/binding-CYpEQquE.js +308 -0
- package/dist/build-plugins/index.d.ts +3 -0
- package/dist/build-plugins/index.d.ts.map +1 -0
- package/dist/build-plugins/modifier-types.d.ts +12 -0
- package/dist/build-plugins/modifier-types.d.ts.map +1 -0
- package/dist/build-tools/typegen-runner.d.ts +29 -0
- package/dist/build-tools/typegen-runner.d.ts.map +1 -0
- package/dist/bundles/assets.d.ts +19 -0
- package/dist/bundles/assets.d.ts.map +1 -0
- package/dist/bundles/context.d.ts +22 -0
- package/dist/bundles/context.d.ts.map +1 -0
- package/dist/bundles/minimal.d.ts +8 -2
- package/dist/bundles/minimal.d.ts.map +1 -1
- package/dist/common.js +427 -393
- package/dist/compiler/codegen.d.ts.map +1 -1
- package/dist/compiler/index.js +6 -1393
- package/dist/compiler/parser.d.ts +1 -1
- package/dist/compiler/parser.d.ts.map +1 -1
- package/dist/compiler/plugin.d.ts.map +1 -1
- package/dist/compiler/types.d.ts +28 -0
- package/dist/compiler/types.d.ts.map +1 -1
- package/dist/{component-XAzF1xqs.js → component-CECyfUOE.js} +80 -68
- package/dist/{component-base-x2XmHFjy.js → component-base-CJ__jTlr.js} +9 -7
- package/dist/component-context-B6qX_Qsg.js +176 -0
- package/dist/components/factory.d.ts +24 -0
- package/dist/components/factory.d.ts.map +1 -0
- package/dist/components/index.d.ts +3 -2
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +8 -6
- package/dist/components/wrapper.d.ts +70 -30
- package/dist/components/wrapper.d.ts.map +1 -1
- package/dist/concatenated-component-_tF1eMvy.js +2288 -0
- package/dist/concatenation/concatenated-component.d.ts +16 -2
- package/dist/concatenation/concatenated-component.d.ts.map +1 -1
- package/dist/concatenation/text-optimizer.d.ts.map +1 -1
- package/dist/config.d.ts +7 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/constants/layout.d.ts +2 -9
- package/dist/constants/layout.d.ts.map +1 -1
- package/dist/css-classes/index.js +15 -173
- package/dist/{effect-B9Knft0b.js → effect-DGmdACI2.js} +3 -3
- package/dist/enhanced-renderer-Bwqsh8Ku.js +172 -0
- package/dist/essential.js +425 -391
- package/dist/{index-DIvMCJQO.js → factories-Co2Lv2kJ.js} +13 -13
- package/dist/factory-D7jAY5Kn.js +485 -0
- package/dist/gradients/css-generator.js +99 -0
- package/dist/gradients/index.js +56 -0
- package/dist/gradients/reactive.d.ts.map +1 -1
- package/dist/gradients/types.d.ts +3 -91
- package/dist/gradients/types.d.ts.map +1 -1
- package/dist/hooks-DeLasj54.js +446 -0
- package/dist/index-JQ1sW1SK.js +2049 -0
- package/dist/index-X8MVY78C.js +618 -0
- package/dist/index.d.ts +8 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +426 -392
- package/dist/minimal-prod.js +94 -93
- package/dist/minimal.js +126 -106
- package/dist/modifiers/alignment.d.ts +5 -0
- package/dist/modifiers/alignment.d.ts.map +1 -0
- package/dist/modifiers/base.d.ts +6 -7
- package/dist/modifiers/base.d.ts.map +1 -1
- package/dist/modifiers/base.js +24 -16
- package/dist/modifiers/builder.d.ts +28 -165
- package/dist/modifiers/builder.d.ts.map +1 -1
- package/dist/modifiers/builder.js +7 -7
- package/dist/modifiers/core.d.ts +0 -1
- package/dist/modifiers/core.d.ts.map +1 -1
- package/dist/modifiers/corner-radius.d.ts +8 -0
- package/dist/modifiers/corner-radius.d.ts.map +1 -0
- package/dist/modifiers/index.d.ts +9 -6
- package/dist/modifiers/index.d.ts.map +1 -1
- package/dist/modifiers/index.js +36 -30
- package/dist/modifiers/layout-priority.d.ts +8 -0
- package/dist/modifiers/layout-priority.d.ts.map +1 -0
- package/dist/modifiers/opacity.d.ts +8 -0
- package/dist/modifiers/opacity.d.ts.map +1 -0
- package/dist/modifiers/presets.d.ts.map +1 -1
- package/dist/modifiers/proxy.d.ts +4 -0
- package/dist/modifiers/proxy.d.ts.map +1 -0
- package/dist/modifiers/registration-utils.d.ts +7 -0
- package/dist/modifiers/registration-utils.d.ts.map +1 -0
- package/dist/modifiers/registry.d.ts +18 -9
- package/dist/modifiers/registry.d.ts.map +1 -1
- package/dist/modifiers/registry.js +2 -2
- package/dist/modifiers/type-generator.d.ts +82 -0
- package/dist/modifiers/type-generator.d.ts.map +1 -0
- package/dist/modifiers/types.d.ts +2 -479
- package/dist/modifiers/types.d.ts.map +1 -1
- package/dist/modifiers/types.js +1 -4
- package/dist/observed-object-DepiqSgg.js +269 -0
- package/dist/optimization-CbKNA9w4.js +21 -0
- package/dist/plugin-BCAdZXKq.js +1680 -0
- package/dist/plugins/index.js +28 -8
- package/dist/plugins/simplified-lazy-loader.d.ts.map +1 -1
- package/dist/presets-B9x94uRn.js +381 -0
- package/dist/proxy-Cqmbiyx0.js +175 -0
- package/dist/reactive/cleanup.d.ts.map +1 -1
- package/dist/reactive/computed.d.ts +1 -1
- package/dist/reactive/computed.d.ts.map +1 -1
- package/dist/reactive/context.d.ts +4 -3
- package/dist/reactive/context.d.ts.map +1 -1
- package/dist/reactive/index.d.ts +1 -0
- package/dist/reactive/index.d.ts.map +1 -1
- package/dist/reactive/index.js +84 -490
- package/dist/reactive/signal-list.d.ts +100 -0
- package/dist/reactive/signal-list.d.ts.map +1 -0
- package/dist/reactive/signal.d.ts.map +1 -1
- package/dist/reactive/types.d.ts +2 -89
- package/dist/reactive/types.d.ts.map +1 -1
- package/dist/reactive/types.js +1 -4
- package/dist/registration-utils-CNsN4eoU.js +27 -0
- package/dist/runtime/component.d.ts.map +1 -1
- package/dist/runtime/concatenation-aria.d.ts +24 -0
- package/dist/runtime/concatenation-aria.d.ts.map +1 -0
- package/dist/runtime/concatenation-aria.js +58 -0
- package/dist/runtime/concatenation-full.d.ts +30 -0
- package/dist/runtime/concatenation-full.d.ts.map +1 -0
- package/dist/runtime/concatenation-full.js +85 -0
- package/dist/runtime/concatenation-minimal.d.ts +25 -0
- package/dist/runtime/concatenation-minimal.d.ts.map +1 -0
- package/dist/runtime/concatenation-minimal.js +45 -0
- package/dist/runtime/context.d.ts.map +1 -1
- package/dist/runtime/dom-bridge.d.ts +1 -1
- package/dist/runtime/dom-bridge.d.ts.map +1 -1
- package/dist/runtime/dom-bridge.js +239 -12
- package/dist/runtime/event-delegation.d.ts +59 -0
- package/dist/runtime/event-delegation.d.ts.map +1 -0
- package/dist/runtime/index.d.ts +3 -1
- package/dist/runtime/index.d.ts.map +1 -1
- package/dist/runtime/index.js +96 -0
- package/dist/runtime/layout-scheduler.d.ts +89 -0
- package/dist/runtime/layout-scheduler.d.ts.map +1 -0
- package/dist/runtime/props.d.ts.map +1 -1
- package/dist/runtime/renderer.d.ts +54 -2
- package/dist/runtime/renderer.d.ts.map +1 -1
- package/dist/runtime/renderer.js +11 -7
- package/dist/runtime/semantic-role-manager.d.ts.map +1 -1
- package/dist/runtime/types.d.ts +2 -226
- package/dist/runtime/types.d.ts.map +1 -1
- package/dist/runtime/types.js +1 -1
- package/dist/scheduler-DI_8ykMk.js +169 -0
- package/dist/signal-list-BdpxSodS.js +525 -0
- package/dist/state/index.js +319 -0
- package/dist/theme-BFaKUcjZ.js +677 -0
- package/dist/utils/clone-helpers.d.ts +11 -0
- package/dist/utils/clone-helpers.d.ts.map +1 -0
- package/dist/validation/index.js +28 -26
- package/dist/version.d.ts +19 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +6 -0
- package/package.json +69 -9
- package/dist/concatenated-component-ByPl3_FF.js +0 -2933
- package/dist/dom-bridge-CAa1N2zX.js +0 -406
- package/dist/index-DCPJFUm9.js +0 -1407
- package/dist/index-vdsiw6gQ.js +0 -777
- package/dist/modifiers/as-html-validator.d.ts +0 -20
- package/dist/modifiers/as-html-validator.d.ts.map +0 -1
- package/dist/modifiers/as-html.d.ts +0 -65
- package/dist/modifiers/as-html.d.ts.map +0 -1
- package/dist/modifiers/background.d.ts +0 -51
- package/dist/modifiers/background.d.ts.map +0 -1
- package/dist/modifiers/basic-sanitizer.d.ts +0 -54
- package/dist/modifiers/basic-sanitizer.d.ts.map +0 -1
- package/dist/modifiers/css.d.ts +0 -86
- package/dist/modifiers/css.d.ts.map +0 -1
- package/dist/production-minimal-BY_gMc-l.js +0 -2532
- package/dist/scheduler-BKeqwrYE.js +0 -814
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Development-time validator for AsHTML content
|
|
3
|
-
* Provides warnings about potentially dangerous content patterns
|
|
4
|
-
*/
|
|
5
|
-
export declare class AsHTMLValidator {
|
|
6
|
-
private static readonly SUSPICIOUS_PATTERNS;
|
|
7
|
-
/**
|
|
8
|
-
* Validate HTML content in development mode
|
|
9
|
-
*/
|
|
10
|
-
static validate(html: string, options?: ValidationOptions): ValidationResult;
|
|
11
|
-
private static looksLikeUserInput;
|
|
12
|
-
}
|
|
13
|
-
export interface ValidationOptions {
|
|
14
|
-
suppressWarnings?: boolean;
|
|
15
|
-
}
|
|
16
|
-
export interface ValidationResult {
|
|
17
|
-
isValid: boolean;
|
|
18
|
-
warnings: string[];
|
|
19
|
-
}
|
|
20
|
-
//# sourceMappingURL=as-html-validator.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"as-html-validator.d.ts","sourceRoot":"","sources":["../../src/modifiers/as-html-validator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,qBAAa,eAAe;IAC1B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAW1C;IAED;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,iBAAsB,GAAG,gBAAgB;IAwBhF,OAAO,CAAC,MAAM,CAAC,kBAAkB;CAYlC;AAED,MAAM,WAAW,iBAAiB;IAChC,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAA;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAA;CACnB"}
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* AsHTML Modifier - Renders Text component content as HTML
|
|
3
|
-
*
|
|
4
|
-
* Security-first design with:
|
|
5
|
-
* - Text component restriction only
|
|
6
|
-
* - Built-in basic sanitization by default
|
|
7
|
-
* - Non-reactive for performance
|
|
8
|
-
* - Clear error messages for misuse
|
|
9
|
-
*/
|
|
10
|
-
import { BaseModifier } from './base';
|
|
11
|
-
import type { DOMNode, ComponentInstance } from '../runtime/types';
|
|
12
|
-
import type { ModifierContext } from './types';
|
|
13
|
-
import { type BasicSanitizerOptions } from './basic-sanitizer';
|
|
14
|
-
export interface AsHTMLOptions extends BasicSanitizerOptions {
|
|
15
|
-
/** Skip basic sanitization (use with extreme caution) */
|
|
16
|
-
skipSanitizer?: boolean;
|
|
17
|
-
/** Custom sanitization function */
|
|
18
|
-
customSanitizer?: (html: string) => string;
|
|
19
|
-
/** Development-only validation */
|
|
20
|
-
__devModeValidate?: boolean;
|
|
21
|
-
/** Suppress development warnings */
|
|
22
|
-
__suppressWarnings?: boolean;
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* Text component interface for type safety
|
|
26
|
-
*/
|
|
27
|
-
export interface TextComponent extends ComponentInstance {
|
|
28
|
-
readonly __tachui_component_type: 'Text';
|
|
29
|
-
content: string;
|
|
30
|
-
}
|
|
31
|
-
export declare class AsHTMLModifier extends BaseModifier<AsHTMLOptions> {
|
|
32
|
-
readonly type = "asHTML";
|
|
33
|
-
readonly priority = 25;
|
|
34
|
-
constructor(options?: AsHTMLOptions);
|
|
35
|
-
apply(_node: DOMNode, context: ModifierContext): DOMNode | undefined;
|
|
36
|
-
private isTextComponent;
|
|
37
|
-
private getTextComponentContent;
|
|
38
|
-
private sanitizeHTML;
|
|
39
|
-
private validateContent;
|
|
40
|
-
}
|
|
41
|
-
/**
|
|
42
|
-
* Create an asHTML modifier for rendering HTML content
|
|
43
|
-
*
|
|
44
|
-
* By default, applies basic sanitization to remove common XSS vectors.
|
|
45
|
-
* Use { skipSanitizer: true } to bypass sanitization (dangerous).
|
|
46
|
-
*
|
|
47
|
-
* The modifier treats the component's content as HTML instead of plain text.
|
|
48
|
-
* SECURITY: Only works on Text components.
|
|
49
|
-
*
|
|
50
|
-
* @param options - Configuration options
|
|
51
|
-
*
|
|
52
|
-
* @example
|
|
53
|
-
* ```typescript
|
|
54
|
-
* // Safe: Basic sanitization applied
|
|
55
|
-
* Text('<p>Hello <strong>world</strong></p>').modifier.asHTML().build()
|
|
56
|
-
*
|
|
57
|
-
* // Dangerous: Skip sanitization
|
|
58
|
-
* Text(serverTemplate).modifier.asHTML({ skipSanitizer: true }).build()
|
|
59
|
-
*
|
|
60
|
-
* // Custom sanitization
|
|
61
|
-
* Text(content).modifier.asHTML({ customSanitizer: DOMPurify.sanitize }).build()
|
|
62
|
-
* ```
|
|
63
|
-
*/
|
|
64
|
-
export declare function asHTML(options?: AsHTMLOptions): AsHTMLModifier;
|
|
65
|
-
//# sourceMappingURL=as-html.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"as-html.d.ts","sourceRoot":"","sources":["../../src/modifiers/as-html.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AACrC,OAAO,KAAK,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAClE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAC9C,OAAO,EAAkB,KAAK,qBAAqB,EAAE,MAAM,mBAAmB,CAAA;AAG9E,MAAM,WAAW,aAAc,SAAQ,qBAAqB;IAC1D,yDAAyD;IACzD,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,mCAAmC;IACnC,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAA;IAC1C,kCAAkC;IAClC,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,oCAAoC;IACpC,kBAAkB,CAAC,EAAE,OAAO,CAAA;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,aAAc,SAAQ,iBAAiB;IACtD,QAAQ,CAAC,uBAAuB,EAAE,MAAM,CAAA;IACxC,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,qBAAa,cAAe,SAAQ,YAAY,CAAC,aAAa,CAAC;IAC7D,QAAQ,CAAC,IAAI,YAAW;IACxB,QAAQ,CAAC,QAAQ,MAAK;gBAEV,OAAO,GAAE,aAAkB;IAIvC,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,GAAG,SAAS;IA6CpE,OAAO,CAAC,eAAe;IAYvB,OAAO,CAAC,uBAAuB;IA6C/B,OAAO,CAAC,YAAY;IAmBpB,OAAO,CAAC,eAAe;CAwBxB;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,MAAM,CAAC,OAAO,GAAE,aAAkB,GAAG,cAAc,CAElE"}
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Background Modifier - Background styling and rendering
|
|
3
|
-
*
|
|
4
|
-
* Provides comprehensive background support including colors, gradients,
|
|
5
|
-
* images, and complex background compositions.
|
|
6
|
-
*/
|
|
7
|
-
import type { DOMNode } from '../runtime/types';
|
|
8
|
-
import { BaseModifier } from './base';
|
|
9
|
-
import type { ModifierContext, ReactiveModifierProps } from './types';
|
|
10
|
-
import { ModifierPriority } from './types';
|
|
11
|
-
import type { GradientDefinition, StateGradientOptions } from '../gradients/types';
|
|
12
|
-
import type { Asset } from '../assets/Asset';
|
|
13
|
-
export interface BackgroundOptions {
|
|
14
|
-
background?: string | GradientDefinition | Asset | StateGradientOptions;
|
|
15
|
-
}
|
|
16
|
-
export type ReactiveBackgroundOptions = ReactiveModifierProps<BackgroundOptions>;
|
|
17
|
-
export declare class BackgroundModifier extends BaseModifier<BackgroundOptions> {
|
|
18
|
-
readonly type = "background";
|
|
19
|
-
readonly priority = ModifierPriority.APPEARANCE;
|
|
20
|
-
private cleanupFunctions;
|
|
21
|
-
constructor(options: ReactiveBackgroundOptions);
|
|
22
|
-
apply(_node: DOMNode, context: ModifierContext): DOMNode | undefined;
|
|
23
|
-
private isStateGradient;
|
|
24
|
-
private setupStateGradient;
|
|
25
|
-
private addHoverListeners;
|
|
26
|
-
private addActiveListeners;
|
|
27
|
-
private addFocusListeners;
|
|
28
|
-
private addDisabledObserver;
|
|
29
|
-
private getMouseInteractionState;
|
|
30
|
-
private getHighestPriorityState;
|
|
31
|
-
private isDisabled;
|
|
32
|
-
private resolveBackground;
|
|
33
|
-
private computeBackgroundStyles;
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* Create a background modifier
|
|
37
|
-
*
|
|
38
|
-
* @example
|
|
39
|
-
* ```typescript
|
|
40
|
-
* .background('#ff0000')
|
|
41
|
-
* .background('linear-gradient(45deg, red, blue)')
|
|
42
|
-
* .background({
|
|
43
|
-
* default: '#ff0000',
|
|
44
|
-
* hover: '#ff3333',
|
|
45
|
-
* active: '#cc0000',
|
|
46
|
-
* animation: { duration: 200 }
|
|
47
|
-
* })
|
|
48
|
-
* ```
|
|
49
|
-
*/
|
|
50
|
-
export declare function background(value: string | GradientDefinition | Asset | StateGradientOptions): BackgroundModifier;
|
|
51
|
-
//# sourceMappingURL=background.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"background.d.ts","sourceRoot":"","sources":["../../src/modifiers/background.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AACrC,OAAO,KAAK,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAE1C,OAAO,KAAK,EACV,kBAAkB,EAClB,oBAAoB,EACrB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAE5C,MAAM,WAAW,iBAAiB;IAChC,UAAU,CAAC,EAAE,MAAM,GAAG,kBAAkB,GAAG,KAAK,GAAG,oBAAoB,CAAA;CACxE;AAED,MAAM,MAAM,yBAAyB,GAAG,qBAAqB,CAAC,iBAAiB,CAAC,CAAA;AAEhF,qBAAa,kBAAmB,SAAQ,YAAY,CAAC,iBAAiB,CAAC;IACrE,QAAQ,CAAC,IAAI,gBAAe;IAC5B,QAAQ,CAAC,QAAQ,+BAA8B;IAE/C,OAAO,CAAC,gBAAgB,CAAqB;gBAEjC,OAAO,EAAE,yBAAyB;IAI9C,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,GAAG,SAAS;IA6BpE,OAAO,CAAC,eAAe;IAUvB,OAAO,CAAC,kBAAkB;IAoC1B,OAAO,CAAC,iBAAiB;IAyBzB,OAAO,CAAC,kBAAkB;IA0B1B,OAAO,CAAC,iBAAiB;IA0BzB,OAAO,CAAC,mBAAmB;IAyB3B,OAAO,CAAC,wBAAwB;IAyBhC,OAAO,CAAC,uBAAuB;IAwB/B,OAAO,CAAC,UAAU;IAgBlB,OAAO,CAAC,iBAAiB;IA6BzB,OAAO,CAAC,uBAAuB;CAiBhC;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,UAAU,CACxB,KAAK,EAAE,MAAM,GAAG,kBAAkB,GAAG,KAAK,GAAG,oBAAoB,GAChE,kBAAkB,CAEpB"}
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Lightweight HTML sanitizer that removes common XSS vectors
|
|
3
|
-
* This is NOT a comprehensive solution - use DOMPurify for full protection
|
|
4
|
-
*
|
|
5
|
-
* Provides basic sanitization by:
|
|
6
|
-
* - Removing dangerous patterns (script tags, event handlers, etc.)
|
|
7
|
-
* - Validating DOM structure and attributes
|
|
8
|
-
* - Allowing only safe elements and attributes
|
|
9
|
-
*/
|
|
10
|
-
export declare class BasicSanitizer {
|
|
11
|
-
private static readonly DANGEROUS_PATTERNS;
|
|
12
|
-
private static readonly ALLOWED_TAGS;
|
|
13
|
-
private static readonly ALLOWED_ATTRIBUTES;
|
|
14
|
-
/**
|
|
15
|
-
* Apply basic sanitization to HTML content
|
|
16
|
-
* Removes dangerous patterns and restricts to allowed elements/attributes
|
|
17
|
-
*/
|
|
18
|
-
static sanitize(html: string, options?: BasicSanitizerOptions): string;
|
|
19
|
-
/**
|
|
20
|
-
* Validate DOM structure and attributes using DOMParser
|
|
21
|
-
*/
|
|
22
|
-
private static validateDOMStructure;
|
|
23
|
-
/**
|
|
24
|
-
* Recursively clean element and its children
|
|
25
|
-
*/
|
|
26
|
-
private static cleanElement;
|
|
27
|
-
/**
|
|
28
|
-
* Get allowed attributes for a specific tag
|
|
29
|
-
*/
|
|
30
|
-
private static getAllowedAttributesForTag;
|
|
31
|
-
/**
|
|
32
|
-
* Check if attribute value is safe
|
|
33
|
-
*/
|
|
34
|
-
private static isAttributeValueSafe;
|
|
35
|
-
/**
|
|
36
|
-
* Validate URL safety
|
|
37
|
-
*/
|
|
38
|
-
private static isUrlSafe;
|
|
39
|
-
}
|
|
40
|
-
export interface BasicSanitizerOptions {
|
|
41
|
-
/** Custom dangerous patterns to remove */
|
|
42
|
-
customPatterns?: RegExp[];
|
|
43
|
-
/** Override allowed tags */
|
|
44
|
-
allowedTags?: string[];
|
|
45
|
-
/** Override allowed attributes */
|
|
46
|
-
allowedAttributes?: Record<string, string[]>;
|
|
47
|
-
/** Whether to validate DOM structure (default: true) */
|
|
48
|
-
validateDOM?: boolean;
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* Convenience function for basic HTML sanitization
|
|
52
|
-
*/
|
|
53
|
-
export declare function basicSanitize(html: string, options?: BasicSanitizerOptions): string;
|
|
54
|
-
//# sourceMappingURL=basic-sanitizer.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"basic-sanitizer.d.ts","sourceRoot":"","sources":["../../src/modifiers/basic-sanitizer.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CA+BzC;IAED,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAQnC;IAED,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAOzC;IAED;;;OAGG;IACH,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,qBAA0B,GAAG,MAAM;IA2B1E;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,oBAAoB;IAmBnC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,YAAY;IAuC3B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,0BAA0B;IAQzC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,oBAAoB;IAcnC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,SAAS;CAmBzB;AAED,MAAM,WAAW,qBAAqB;IACpC,0CAA0C;IAC1C,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;IACzB,4BAA4B;IAC5B,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;IACtB,kCAAkC;IAClC,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;IAC5C,wDAAwD;IACxD,WAAW,CAAC,EAAE,OAAO,CAAA;CACtB;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,MAAM,CAEnF"}
|
package/dist/modifiers/css.d.ts
DELETED
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* CSS Modifier - raw CSS properties
|
|
3
|
-
*
|
|
4
|
-
* Provides an escape hatch for applying raw CSS properties
|
|
5
|
-
* that may not have dedicated modifiers yet, or for experimental
|
|
6
|
-
* CSS features.
|
|
7
|
-
*/
|
|
8
|
-
import type { DOMNode } from '../runtime/types';
|
|
9
|
-
import { BaseModifier } from './base';
|
|
10
|
-
import type { ModifierContext, ReactiveModifierProps } from './types';
|
|
11
|
-
export interface CSSOptions {
|
|
12
|
-
[property: string]: string | number | undefined;
|
|
13
|
-
}
|
|
14
|
-
export type ReactiveCSSOptions = ReactiveModifierProps<CSSOptions>;
|
|
15
|
-
export declare class CSSModifier extends BaseModifier<CSSOptions> {
|
|
16
|
-
readonly type = "css";
|
|
17
|
-
readonly priority = 5;
|
|
18
|
-
constructor(options: ReactiveCSSOptions);
|
|
19
|
-
apply(_node: DOMNode, context: ModifierContext): DOMNode | undefined;
|
|
20
|
-
private computeCSSStyles;
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* Create a CSS modifier with raw CSS properties
|
|
24
|
-
*
|
|
25
|
-
* @example
|
|
26
|
-
* ```typescript
|
|
27
|
-
* // Apply raw CSS properties
|
|
28
|
-
* .css({
|
|
29
|
-
* backdropFilter: 'blur(10px)',
|
|
30
|
-
* maskImage: 'linear-gradient(to bottom, black, transparent)',
|
|
31
|
-
* scrollBehavior: 'smooth',
|
|
32
|
-
* containerType: 'inline-size'
|
|
33
|
-
* })
|
|
34
|
-
*
|
|
35
|
-
* // Mix camelCase and kebab-case (both work)
|
|
36
|
-
* .css({
|
|
37
|
-
* backgroundColor: 'red', // camelCase (recommended)
|
|
38
|
-
* 'background-color': 'red', // kebab-case (also works)
|
|
39
|
-
* WebkitTransform: 'scale(1.1)', // vendor prefixes
|
|
40
|
-
* '--custom-property': '42px' // CSS custom properties
|
|
41
|
-
* })
|
|
42
|
-
*
|
|
43
|
-
* // Experimental CSS features
|
|
44
|
-
* .css({
|
|
45
|
-
* aspectRatio: '16/9',
|
|
46
|
-
* scrollSnapType: 'y mandatory',
|
|
47
|
-
* containIntrinsicSize: '300px',
|
|
48
|
-
* accentColor: '#007AFF'
|
|
49
|
-
* })
|
|
50
|
-
* ```
|
|
51
|
-
*/
|
|
52
|
-
export declare function css(properties: ReactiveCSSOptions): CSSModifier;
|
|
53
|
-
/**
|
|
54
|
-
* Convenience function for setting a single CSS property
|
|
55
|
-
*
|
|
56
|
-
* @example
|
|
57
|
-
* ```typescript
|
|
58
|
-
* .cssProperty('backdrop-filter', 'blur(10px)')
|
|
59
|
-
* .cssProperty('scrollBehavior', 'smooth')
|
|
60
|
-
* .cssProperty('aspectRatio', '16/9')
|
|
61
|
-
* ```
|
|
62
|
-
*/
|
|
63
|
-
export declare function cssProperty(property: string, value: string | number): CSSModifier;
|
|
64
|
-
/**
|
|
65
|
-
* Convenience function for CSS custom properties (CSS variables)
|
|
66
|
-
*
|
|
67
|
-
* @example
|
|
68
|
-
* ```typescript
|
|
69
|
-
* .cssVariable('primary-color', '#007AFF')
|
|
70
|
-
* .cssVariable('spacing-unit', '8px')
|
|
71
|
-
* .cssVariable('border-radius', '12px')
|
|
72
|
-
* ```
|
|
73
|
-
*/
|
|
74
|
-
export declare function cssVariable(name: string, value: string | number): CSSModifier;
|
|
75
|
-
/**
|
|
76
|
-
* Convenience function for vendor-prefixed properties
|
|
77
|
-
*
|
|
78
|
-
* @example
|
|
79
|
-
* ```typescript
|
|
80
|
-
* .cssVendor('webkit', 'transform', 'scale(1.1)')
|
|
81
|
-
* .cssVendor('moz', 'user-select', 'none')
|
|
82
|
-
* .cssVendor('ms', 'filter', 'blur(5px)')
|
|
83
|
-
* ```
|
|
84
|
-
*/
|
|
85
|
-
export declare function cssVendor(prefix: 'webkit' | 'moz' | 'ms' | 'o', property: string, value: string | number): CSSModifier;
|
|
86
|
-
//# sourceMappingURL=css.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"css.d.ts","sourceRoot":"","sources":["../../src/modifiers/css.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AACrC,OAAO,KAAK,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAErE,MAAM,WAAW,UAAU;IACzB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;CAChD;AAED,MAAM,MAAM,kBAAkB,GAAG,qBAAqB,CAAC,UAAU,CAAC,CAAA;AAElE,qBAAa,WAAY,SAAQ,YAAY,CAAC,UAAU,CAAC;IACvD,QAAQ,CAAC,IAAI,SAAQ;IACrB,QAAQ,CAAC,QAAQ,KAAI;gBAET,OAAO,EAAE,kBAAkB;IAavC,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,GAAG,SAAS;IASpE,OAAO,CAAC,gBAAgB;CAazB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,GAAG,CAAC,UAAU,EAAE,kBAAkB,GAAG,WAAW,CAE/D;AAED;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,WAAW,CAEjF;AAED;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,WAAW,CAI7E;AAED;;;;;;;;;GASG;AACH,wBAAgB,SAAS,CACvB,MAAM,EAAE,QAAQ,GAAG,KAAK,GAAG,IAAI,GAAG,GAAG,EACrC,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,GAAG,MAAM,GACrB,WAAW,CAUb"}
|