@number10/jsx-core 5.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.
- package/LICENSE +667 -0
- package/README.md +38 -0
- package/dist/animation/animated-signal.cjs +19 -0
- package/dist/animation/animated-signal.cjs.map +1 -0
- package/dist/animation/animated-signal.d.ts +35 -0
- package/dist/animation/animated-signal.d.ts.map +1 -0
- package/dist/animation/animated-signal.js +19 -0
- package/dist/animation/animated-signal.js.map +1 -0
- package/dist/animation/create-spring.cjs +80 -0
- package/dist/animation/create-spring.cjs.map +1 -0
- package/dist/animation/create-spring.d.ts +56 -0
- package/dist/animation/create-spring.d.ts.map +1 -0
- package/dist/animation/create-spring.js +80 -0
- package/dist/animation/create-spring.js.map +1 -0
- package/dist/animation/easing.cjs +76 -0
- package/dist/animation/easing.cjs.map +1 -0
- package/dist/animation/easing.d.ts +45 -0
- package/dist/animation/easing.d.ts.map +1 -0
- package/dist/animation/easing.js +76 -0
- package/dist/animation/easing.js.map +1 -0
- package/dist/animation/effect-definitions.cjs +441 -0
- package/dist/animation/effect-definitions.cjs.map +1 -0
- package/dist/animation/effect-definitions.d.ts +60 -0
- package/dist/animation/effect-definitions.d.ts.map +1 -0
- package/dist/animation/effect-definitions.js +441 -0
- package/dist/animation/effect-definitions.js.map +1 -0
- package/dist/animation/effect-engine.cjs +189 -0
- package/dist/animation/effect-engine.cjs.map +1 -0
- package/dist/animation/effect-engine.d.ts +70 -0
- package/dist/animation/effect-engine.d.ts.map +1 -0
- package/dist/animation/effect-engine.js +189 -0
- package/dist/animation/effect-engine.js.map +1 -0
- package/dist/animation/index.d.ts +24 -0
- package/dist/animation/index.d.ts.map +1 -0
- package/dist/animation/spring-physics.cjs +94 -0
- package/dist/animation/spring-physics.cjs.map +1 -0
- package/dist/animation/spring-physics.d.ts +145 -0
- package/dist/animation/spring-physics.d.ts.map +1 -0
- package/dist/animation/spring-physics.js +94 -0
- package/dist/animation/spring-physics.js.map +1 -0
- package/dist/animation/tween.cjs +67 -0
- package/dist/animation/tween.cjs.map +1 -0
- package/dist/animation/tween.d.ts +60 -0
- package/dist/animation/tween.d.ts.map +1 -0
- package/dist/animation/tween.js +67 -0
- package/dist/animation/tween.js.map +1 -0
- package/dist/animation/types.d.ts +31 -0
- package/dist/animation/types.d.ts.map +1 -0
- package/dist/animation/useSpring.cjs +152 -0
- package/dist/animation/useSpring.cjs.map +1 -0
- package/dist/animation/useSpring.d.ts +55 -0
- package/dist/animation/useSpring.d.ts.map +1 -0
- package/dist/animation/useSpring.js +149 -0
- package/dist/animation/useSpring.js.map +1 -0
- package/dist/animation/useTween.cjs +208 -0
- package/dist/animation/useTween.cjs.map +1 -0
- package/dist/animation/useTween.d.ts +116 -0
- package/dist/animation/useTween.d.ts.map +1 -0
- package/dist/animation/useTween.js +208 -0
- package/dist/animation/useTween.js.map +1 -0
- package/dist/border-geometry.cjs +447 -0
- package/dist/border-geometry.cjs.map +1 -0
- package/dist/border-geometry.d.ts +114 -0
- package/dist/border-geometry.d.ts.map +1 -0
- package/dist/border-geometry.js +447 -0
- package/dist/border-geometry.js.map +1 -0
- package/dist/colors/color-presets.cjs +236 -0
- package/dist/colors/color-presets.cjs.map +1 -0
- package/dist/colors/color-presets.d.ts +89 -0
- package/dist/colors/color-presets.d.ts.map +1 -0
- package/dist/colors/color-presets.js +236 -0
- package/dist/colors/color-presets.js.map +1 -0
- package/dist/colors/color-theme-helpers.cjs +32 -0
- package/dist/colors/color-theme-helpers.cjs.map +1 -0
- package/dist/colors/color-theme-helpers.d.ts +65 -0
- package/dist/colors/color-theme-helpers.d.ts.map +1 -0
- package/dist/colors/color-theme-helpers.js +32 -0
- package/dist/colors/color-theme-helpers.js.map +1 -0
- package/dist/colors/color-types.cjs +38 -0
- package/dist/colors/color-types.cjs.map +1 -0
- package/dist/colors/color-types.d.ts +112 -0
- package/dist/colors/color-types.d.ts.map +1 -0
- package/dist/colors/color-types.js +38 -0
- package/dist/colors/color-types.js.map +1 -0
- package/dist/colors/color-utils.cjs +197 -0
- package/dist/colors/color-utils.cjs.map +1 -0
- package/dist/colors/color-utils.d.ts +216 -0
- package/dist/colors/color-utils.d.ts.map +1 -0
- package/dist/colors/color-utils.js +197 -0
- package/dist/colors/color-utils.js.map +1 -0
- package/dist/colors/contrast-contracts.cjs +265 -0
- package/dist/colors/contrast-contracts.cjs.map +1 -0
- package/dist/colors/contrast-contracts.d.ts +289 -0
- package/dist/colors/contrast-contracts.d.ts.map +1 -0
- package/dist/colors/contrast-contracts.js +265 -0
- package/dist/colors/contrast-contracts.js.map +1 -0
- package/dist/colors/index.cjs +55 -0
- package/dist/colors/index.cjs.map +1 -0
- package/dist/colors/index.d.ts +16 -0
- package/dist/colors/index.d.ts.map +1 -0
- package/dist/colors/index.js +55 -0
- package/dist/colors/index.js.map +1 -0
- package/dist/core-props.cjs +66 -0
- package/dist/core-props.cjs.map +1 -0
- package/dist/core-props.d.ts +395 -0
- package/dist/core-props.d.ts.map +1 -0
- package/dist/core-props.js +66 -0
- package/dist/core-props.js.map +1 -0
- package/dist/design-tokens/design-token-presets.cjs +91 -0
- package/dist/design-tokens/design-token-presets.cjs.map +1 -0
- package/dist/design-tokens/design-token-presets.d.ts +34 -0
- package/dist/design-tokens/design-token-presets.d.ts.map +1 -0
- package/dist/design-tokens/design-token-presets.js +91 -0
- package/dist/design-tokens/design-token-presets.js.map +1 -0
- package/dist/design-tokens/design-token-types.d.ts +97 -0
- package/dist/design-tokens/design-token-types.d.ts.map +1 -0
- package/dist/design-tokens/index.cjs +10 -0
- package/dist/design-tokens/index.cjs.map +1 -0
- package/dist/design-tokens/index.d.ts +9 -0
- package/dist/design-tokens/index.d.ts.map +1 -0
- package/dist/design-tokens/index.js +10 -0
- package/dist/design-tokens/index.js.map +1 -0
- package/dist/dev-config.cjs +296 -0
- package/dist/dev-config.cjs.map +1 -0
- package/dist/dev-config.d.ts +238 -0
- package/dist/dev-config.d.ts.map +1 -0
- package/dist/dev-config.js +296 -0
- package/dist/dev-config.js.map +1 -0
- package/dist/effects.cjs +69 -0
- package/dist/effects.cjs.map +1 -0
- package/dist/effects.d.ts +152 -0
- package/dist/effects.d.ts.map +1 -0
- package/dist/effects.js +69 -0
- package/dist/effects.js.map +1 -0
- package/dist/global-registry.cjs +25 -0
- package/dist/global-registry.cjs.map +1 -0
- package/dist/global-registry.d.ts +19 -0
- package/dist/global-registry.d.ts.map +1 -0
- package/dist/global-registry.js +25 -0
- package/dist/global-registry.js.map +1 -0
- package/dist/hooks.cjs +378 -0
- package/dist/hooks.cjs.map +1 -0
- package/dist/hooks.d.ts +322 -0
- package/dist/hooks.d.ts.map +1 -0
- package/dist/hooks.js +378 -0
- package/dist/hooks.js.map +1 -0
- package/dist/host-adapter.d.ts +414 -0
- package/dist/host-adapter.d.ts.map +1 -0
- package/dist/index.cjs +229 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +32 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +226 -0
- package/dist/index.js.map +1 -0
- package/dist/jsx-dev-runtime.cjs +10 -0
- package/dist/jsx-dev-runtime.cjs.map +1 -0
- package/dist/jsx-dev-runtime.d.ts +5 -0
- package/dist/jsx-dev-runtime.d.ts.map +1 -0
- package/dist/jsx-dev-runtime.js +11 -0
- package/dist/jsx-dev-runtime.js.map +1 -0
- package/dist/jsx-runtime.cjs +44 -0
- package/dist/jsx-runtime.cjs.map +1 -0
- package/dist/jsx-runtime.d.ts +24 -0
- package/dist/jsx-runtime.d.ts.map +1 -0
- package/dist/jsx-runtime.js +44 -0
- package/dist/jsx-runtime.js.map +1 -0
- package/dist/jsx-types.d.ts +25 -0
- package/dist/jsx-types.d.ts.map +1 -0
- package/dist/layout/appliers/container-applier.cjs +20 -0
- package/dist/layout/appliers/container-applier.cjs.map +1 -0
- package/dist/layout/appliers/container-applier.d.ts +9 -0
- package/dist/layout/appliers/container-applier.d.ts.map +1 -0
- package/dist/layout/appliers/container-applier.js +20 -0
- package/dist/layout/appliers/container-applier.js.map +1 -0
- package/dist/layout/appliers/position-applier.cjs +31 -0
- package/dist/layout/appliers/position-applier.cjs.map +1 -0
- package/dist/layout/appliers/position-applier.d.ts +8 -0
- package/dist/layout/appliers/position-applier.d.ts.map +1 -0
- package/dist/layout/appliers/position-applier.js +31 -0
- package/dist/layout/appliers/position-applier.js.map +1 -0
- package/dist/layout/layout-engine-test-utils.d.ts +26 -0
- package/dist/layout/layout-engine-test-utils.d.ts.map +1 -0
- package/dist/layout/layout-engine.cjs +628 -0
- package/dist/layout/layout-engine.cjs.map +1 -0
- package/dist/layout/layout-engine.d.ts +140 -0
- package/dist/layout/layout-engine.d.ts.map +1 -0
- package/dist/layout/layout-engine.js +628 -0
- package/dist/layout/layout-engine.js.map +1 -0
- package/dist/layout/strategies/base-strategy.cjs +31 -0
- package/dist/layout/strategies/base-strategy.cjs.map +1 -0
- package/dist/layout/strategies/base-strategy.d.ts +59 -0
- package/dist/layout/strategies/base-strategy.d.ts.map +1 -0
- package/dist/layout/strategies/base-strategy.js +31 -0
- package/dist/layout/strategies/base-strategy.js.map +1 -0
- package/dist/layout/strategies/column-layout.cjs +145 -0
- package/dist/layout/strategies/column-layout.cjs.map +1 -0
- package/dist/layout/strategies/column-layout.d.ts +38 -0
- package/dist/layout/strategies/column-layout.d.ts.map +1 -0
- package/dist/layout/strategies/column-layout.js +145 -0
- package/dist/layout/strategies/column-layout.js.map +1 -0
- package/dist/layout/strategies/row-layout.cjs +145 -0
- package/dist/layout/strategies/row-layout.cjs.map +1 -0
- package/dist/layout/strategies/row-layout.d.ts +38 -0
- package/dist/layout/strategies/row-layout.d.ts.map +1 -0
- package/dist/layout/strategies/row-layout.js +145 -0
- package/dist/layout/strategies/row-layout.js.map +1 -0
- package/dist/layout/strategies/stack-layout.cjs +94 -0
- package/dist/layout/strategies/stack-layout.cjs.map +1 -0
- package/dist/layout/strategies/stack-layout.d.ts +30 -0
- package/dist/layout/strategies/stack-layout.d.ts.map +1 -0
- package/dist/layout/strategies/stack-layout.js +94 -0
- package/dist/layout/strategies/stack-layout.js.map +1 -0
- package/dist/layout/types.d.ts +134 -0
- package/dist/layout/types.d.ts.map +1 -0
- package/dist/layout/utils/child-utils.cjs +129 -0
- package/dist/layout/utils/child-utils.cjs.map +1 -0
- package/dist/layout/utils/child-utils.d.ts +54 -0
- package/dist/layout/utils/child-utils.d.ts.map +1 -0
- package/dist/layout/utils/child-utils.js +129 -0
- package/dist/layout/utils/child-utils.js.map +1 -0
- package/dist/layout/utils/dimension-calculator.cjs +109 -0
- package/dist/layout/utils/dimension-calculator.cjs.map +1 -0
- package/dist/layout/utils/dimension-calculator.d.ts +59 -0
- package/dist/layout/utils/dimension-calculator.d.ts.map +1 -0
- package/dist/layout/utils/dimension-calculator.js +109 -0
- package/dist/layout/utils/dimension-calculator.js.map +1 -0
- package/dist/layout/utils/flex-distributor.cjs +173 -0
- package/dist/layout/utils/flex-distributor.cjs.map +1 -0
- package/dist/layout/utils/flex-distributor.d.ts +18 -0
- package/dist/layout/utils/flex-distributor.d.ts.map +1 -0
- package/dist/layout/utils/flex-distributor.js +173 -0
- package/dist/layout/utils/flex-distributor.js.map +1 -0
- package/dist/layout/utils/size-resolver.cjs +280 -0
- package/dist/layout/utils/size-resolver.cjs.map +1 -0
- package/dist/layout/utils/size-resolver.d.ts +84 -0
- package/dist/layout/utils/size-resolver.d.ts.map +1 -0
- package/dist/layout/utils/size-resolver.js +280 -0
- package/dist/layout/utils/size-resolver.js.map +1 -0
- package/dist/layout/utils/spacing-calculator.cjs +50 -0
- package/dist/layout/utils/spacing-calculator.cjs.map +1 -0
- package/dist/layout/utils/spacing-calculator.d.ts +27 -0
- package/dist/layout/utils/spacing-calculator.d.ts.map +1 -0
- package/dist/layout/utils/spacing-calculator.js +50 -0
- package/dist/layout/utils/spacing-calculator.js.map +1 -0
- package/dist/memo.cjs +18 -0
- package/dist/memo.cjs.map +1 -0
- package/dist/memo.d.ts +29 -0
- package/dist/memo.d.ts.map +1 -0
- package/dist/memo.js +18 -0
- package/dist/memo.js.map +1 -0
- package/dist/nineslice-contract.cjs +60 -0
- package/dist/nineslice-contract.cjs.map +1 -0
- package/dist/nineslice-contract.d.ts +107 -0
- package/dist/nineslice-contract.d.ts.map +1 -0
- package/dist/nineslice-contract.js +60 -0
- package/dist/nineslice-contract.js.map +1 -0
- package/dist/placeholder.cjs +12 -0
- package/dist/placeholder.cjs.map +1 -0
- package/dist/placeholder.d.ts +44 -0
- package/dist/placeholder.d.ts.map +1 -0
- package/dist/placeholder.js +12 -0
- package/dist/placeholder.js.map +1 -0
- package/dist/portal.cjs +89 -0
- package/dist/portal.cjs.map +1 -0
- package/dist/portal.d.ts +62 -0
- package/dist/portal.d.ts.map +1 -0
- package/dist/portal.js +89 -0
- package/dist/portal.js.map +1 -0
- package/dist/primitive-contracts.cjs +12 -0
- package/dist/primitive-contracts.cjs.map +1 -0
- package/dist/primitive-contracts.d.ts +186 -0
- package/dist/primitive-contracts.d.ts.map +1 -0
- package/dist/primitive-contracts.js +12 -0
- package/dist/primitive-contracts.js.map +1 -0
- package/dist/theme.cjs +332 -0
- package/dist/theme.cjs.map +1 -0
- package/dist/theme.d.ts +204 -0
- package/dist/theme.d.ts.map +1 -0
- package/dist/theme.js +332 -0
- package/dist/theme.js.map +1 -0
- package/dist/types.d.ts +86 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/vdom/create-runtime.cjs +79 -0
- package/dist/vdom/create-runtime.cjs.map +1 -0
- package/dist/vdom/create-runtime.d.ts +7 -0
- package/dist/vdom/create-runtime.d.ts.map +1 -0
- package/dist/vdom/create-runtime.js +79 -0
- package/dist/vdom/create-runtime.js.map +1 -0
- package/dist/vdom/index.cjs +8 -0
- package/dist/vdom/index.cjs.map +1 -0
- package/dist/vdom/index.d.ts +4 -0
- package/dist/vdom/index.d.ts.map +1 -0
- package/dist/vdom/index.js +8 -0
- package/dist/vdom/index.js.map +1 -0
- package/dist/vdom/mount.cjs +161 -0
- package/dist/vdom/mount.cjs.map +1 -0
- package/dist/vdom/mount.d.ts +6 -0
- package/dist/vdom/mount.d.ts.map +1 -0
- package/dist/vdom/mount.js +161 -0
- package/dist/vdom/mount.js.map +1 -0
- package/dist/vdom/patch.cjs +163 -0
- package/dist/vdom/patch.cjs.map +1 -0
- package/dist/vdom/patch.d.ts +3 -0
- package/dist/vdom/patch.d.ts.map +1 -0
- package/dist/vdom/patch.js +163 -0
- package/dist/vdom/patch.js.map +1 -0
- package/dist/vdom/registry.cjs +85 -0
- package/dist/vdom/registry.cjs.map +1 -0
- package/dist/vdom/registry.d.ts +28 -0
- package/dist/vdom/registry.d.ts.map +1 -0
- package/dist/vdom/registry.js +85 -0
- package/dist/vdom/registry.js.map +1 -0
- package/dist/vdom/runtime-helpers.cjs +23 -0
- package/dist/vdom/runtime-helpers.cjs.map +1 -0
- package/dist/vdom/runtime-helpers.d.ts +8 -0
- package/dist/vdom/runtime-helpers.d.ts.map +1 -0
- package/dist/vdom/runtime-helpers.js +23 -0
- package/dist/vdom/runtime-helpers.js.map +1 -0
- package/dist/vdom/surface.cjs +107 -0
- package/dist/vdom/surface.cjs.map +1 -0
- package/dist/vdom/surface.d.ts +9 -0
- package/dist/vdom/surface.d.ts.map +1 -0
- package/dist/vdom/surface.js +107 -0
- package/dist/vdom/surface.js.map +1 -0
- package/dist/vdom/types.d.ts +104 -0
- package/dist/vdom/types.d.ts.map +1 -0
- package/dist/vdom/utils.cjs +146 -0
- package/dist/vdom/utils.cjs.map +1 -0
- package/dist/vdom/utils.d.ts +24 -0
- package/dist/vdom/utils.d.ts.map +1 -0
- package/dist/vdom/utils.js +146 -0
- package/dist/vdom/utils.js.map +1 -0
- package/dist/vdom.d.ts +4 -0
- package/dist/vdom.d.ts.map +1 -0
- package/dist/vector-draw-context.d.ts +63 -0
- package/dist/vector-draw-context.d.ts.map +1 -0
- package/package.json +161 -0
- package/vdom/index.cjs +1 -0
- package/vdom/index.d.ts +1 -0
- package/vdom/index.js +1 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"design-token-presets.d.ts","sourceRoot":"","sources":["../../src/design-tokens/design-token-presets.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,KAAK,EACV,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,aAAa,EACb,eAAe,EAChB,MAAM,sBAAsB,CAAA;AAE7B;;;GAGG;AACH,eAAO,MAAM,oBAAoB,EAAE,aAOlC,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,iBAAiB,EAAE,UAO/B,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,YAOjC,CAAA;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,eAAe,CA+CxE;AAED;;GAEG;AACH,eAAO,MAAM,sBAAsB,EAAE,eAAkD,CAAA;AAEvF;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,WAAW,GAAG,YAAY,CAQpE"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
const defaultSpacingTokens = {
|
|
2
|
+
xs: 4,
|
|
3
|
+
sm: 8,
|
|
4
|
+
md: 16,
|
|
5
|
+
lg: 24,
|
|
6
|
+
xl: 32,
|
|
7
|
+
xxl: 48
|
|
8
|
+
};
|
|
9
|
+
const defaultSizeTokens = {
|
|
10
|
+
xs: 16,
|
|
11
|
+
sm: 24,
|
|
12
|
+
md: 32,
|
|
13
|
+
lg: 48,
|
|
14
|
+
xl: 64,
|
|
15
|
+
xxl: 96
|
|
16
|
+
};
|
|
17
|
+
const defaultRadiusTokens = {
|
|
18
|
+
none: 0,
|
|
19
|
+
sm: 4,
|
|
20
|
+
md: 8,
|
|
21
|
+
lg: 16,
|
|
22
|
+
xl: 24,
|
|
23
|
+
xxl: 48
|
|
24
|
+
};
|
|
25
|
+
function createTextStyleTokens(textColor) {
|
|
26
|
+
return {
|
|
27
|
+
DEFAULT: {
|
|
28
|
+
fontSize: "16px",
|
|
29
|
+
color: textColor,
|
|
30
|
+
fontFamily: "Arial",
|
|
31
|
+
align: "left"
|
|
32
|
+
},
|
|
33
|
+
small: {
|
|
34
|
+
fontSize: "12px",
|
|
35
|
+
color: textColor,
|
|
36
|
+
fontFamily: "Arial",
|
|
37
|
+
align: "left"
|
|
38
|
+
},
|
|
39
|
+
medium: {
|
|
40
|
+
fontSize: "16px",
|
|
41
|
+
color: textColor,
|
|
42
|
+
fontFamily: "Arial",
|
|
43
|
+
align: "left"
|
|
44
|
+
},
|
|
45
|
+
large: {
|
|
46
|
+
fontSize: "20px",
|
|
47
|
+
color: textColor,
|
|
48
|
+
fontFamily: "Arial",
|
|
49
|
+
align: "left"
|
|
50
|
+
},
|
|
51
|
+
title: {
|
|
52
|
+
fontSize: "28px",
|
|
53
|
+
color: textColor,
|
|
54
|
+
fontFamily: "Arial",
|
|
55
|
+
fontStyle: "bold",
|
|
56
|
+
align: "left"
|
|
57
|
+
},
|
|
58
|
+
heading: {
|
|
59
|
+
fontSize: "36px",
|
|
60
|
+
color: textColor,
|
|
61
|
+
fontFamily: "Arial",
|
|
62
|
+
fontStyle: "bold",
|
|
63
|
+
align: "left"
|
|
64
|
+
},
|
|
65
|
+
caption: {
|
|
66
|
+
fontSize: "10px",
|
|
67
|
+
color: textColor,
|
|
68
|
+
fontFamily: "Arial",
|
|
69
|
+
align: "left"
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
const defaultTextStyleTokens = createTextStyleTokens("#ffffff");
|
|
74
|
+
function createDesignTokens(preset) {
|
|
75
|
+
return {
|
|
76
|
+
colors: preset.colors,
|
|
77
|
+
textStyles: createTextStyleTokens(preset.colors.text.DEFAULT.toString()),
|
|
78
|
+
spacing: defaultSpacingTokens,
|
|
79
|
+
sizes: defaultSizeTokens,
|
|
80
|
+
radius: defaultRadiusTokens
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
export {
|
|
84
|
+
createDesignTokens,
|
|
85
|
+
createTextStyleTokens,
|
|
86
|
+
defaultRadiusTokens,
|
|
87
|
+
defaultSizeTokens,
|
|
88
|
+
defaultSpacingTokens,
|
|
89
|
+
defaultTextStyleTokens
|
|
90
|
+
};
|
|
91
|
+
//# sourceMappingURL=design-token-presets.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"design-token-presets.js","sources":["../../src/design-tokens/design-token-presets.ts"],"sourcesContent":["/**\n * Default design token presets\n * Provides sensible defaults for text styles, spacing, sizes, and radius,\n * plus factory functions to create complete DesignTokens from color presets.\n */\nimport type { ColorPreset } from '../colors/color-presets'\nimport type {\n DesignTokens,\n RadiusTokens,\n SizeTokens,\n SpacingTokens,\n TextStyleTokens,\n} from './design-token-types'\n\n/**\n * Default spacing scale\n * Based on 4px base unit\n */\nexport const defaultSpacingTokens: SpacingTokens = {\n xs: 4,\n sm: 8,\n md: 16,\n lg: 24,\n xl: 32,\n xxl: 48,\n}\n\n/**\n * Default size scale\n * For width, height, icon sizes, etc.\n */\nexport const defaultSizeTokens: SizeTokens = {\n xs: 16,\n sm: 24,\n md: 32,\n lg: 48,\n xl: 64,\n xxl: 96,\n}\n\n/**\n * Default border radius scale\n */\nexport const defaultRadiusTokens: RadiusTokens = {\n none: 0,\n sm: 4,\n md: 8,\n lg: 16,\n xl: 24,\n xxl: 48,\n}\n\n/**\n * Create text style tokens with the given base text color\n * @param textColor - Base text color (hex string)\n * @returns TextStyleTokens with color applied\n */\nexport function createTextStyleTokens(textColor: string): TextStyleTokens {\n return {\n DEFAULT: {\n fontSize: '16px',\n color: textColor,\n fontFamily: 'Arial',\n align: 'left',\n },\n small: {\n fontSize: '12px',\n color: textColor,\n fontFamily: 'Arial',\n align: 'left',\n },\n medium: {\n fontSize: '16px',\n color: textColor,\n fontFamily: 'Arial',\n align: 'left',\n },\n large: {\n fontSize: '20px',\n color: textColor,\n fontFamily: 'Arial',\n align: 'left',\n },\n title: {\n fontSize: '28px',\n color: textColor,\n fontFamily: 'Arial',\n fontStyle: 'bold',\n align: 'left',\n },\n heading: {\n fontSize: '36px',\n color: textColor,\n fontFamily: 'Arial',\n fontStyle: 'bold',\n align: 'left',\n },\n caption: {\n fontSize: '10px',\n color: textColor,\n fontFamily: 'Arial',\n align: 'left',\n },\n }\n}\n\n/**\n * Default text style tokens (white text)\n */\nexport const defaultTextStyleTokens: TextStyleTokens = createTextStyleTokens('#ffffff')\n\n/**\n * Create complete design tokens from a color preset.\n * Combines colors with default text styles, spacing, sizes, and radius tokens.\n * @param preset - Color preset (e.g., oceanBluePreset)\n * @returns Complete DesignTokens object\n */\nexport function createDesignTokens(preset: ColorPreset): DesignTokens {\n return {\n colors: preset.colors,\n textStyles: createTextStyleTokens(preset.colors.text.DEFAULT.toString()),\n spacing: defaultSpacingTokens,\n sizes: defaultSizeTokens,\n radius: defaultRadiusTokens,\n }\n}\n"],"names":[],"mappings":"AAkBO,MAAM,uBAAsC;AAAA,EACjD,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,KAAK;AACP;AAMO,MAAM,oBAAgC;AAAA,EAC3C,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,KAAK;AACP;AAKO,MAAM,sBAAoC;AAAA,EAC/C,MAAM;AAAA,EACN,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,KAAK;AACP;AAOO,SAAS,sBAAsB,WAAoC;AACxE,SAAO;AAAA,IACL,SAAS;AAAA,MACP,UAAU;AAAA,MACV,OAAO;AAAA,MACP,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAET,OAAO;AAAA,MACL,UAAU;AAAA,MACV,OAAO;AAAA,MACP,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAET,QAAQ;AAAA,MACN,UAAU;AAAA,MACV,OAAO;AAAA,MACP,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAET,OAAO;AAAA,MACL,UAAU;AAAA,MACV,OAAO;AAAA,MACP,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAET,OAAO;AAAA,MACL,UAAU;AAAA,MACV,OAAO;AAAA,MACP,YAAY;AAAA,MACZ,WAAW;AAAA,MACX,OAAO;AAAA,IAAA;AAAA,IAET,SAAS;AAAA,MACP,UAAU;AAAA,MACV,OAAO;AAAA,MACP,YAAY;AAAA,MACZ,WAAW;AAAA,MACX,OAAO;AAAA,IAAA;AAAA,IAET,SAAS;AAAA,MACP,UAAU;AAAA,MACV,OAAO;AAAA,MACP,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,EACT;AAEJ;AAKO,MAAM,yBAA0C,sBAAsB,SAAS;AAQ/E,SAAS,mBAAmB,QAAmC;AACpE,SAAO;AAAA,IACL,QAAQ,OAAO;AAAA,IACf,YAAY,sBAAsB,OAAO,OAAO,KAAK,QAAQ,UAAU;AAAA,IACvE,SAAS;AAAA,IACT,OAAO;AAAA,IACP,QAAQ;AAAA,EAAA;AAEZ;"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { ColorTokens } from '../colors/color-types';
|
|
2
|
+
import { PortableTextStyle } from '../primitive-contracts';
|
|
3
|
+
/**
|
|
4
|
+
* Text style preset token — compatible with PortableTextStyle.
|
|
5
|
+
*/
|
|
6
|
+
export type TextStyleToken = PortableTextStyle;
|
|
7
|
+
/**
|
|
8
|
+
* Text style tokens for different use cases
|
|
9
|
+
* Provides semantic presets for common text styles
|
|
10
|
+
*/
|
|
11
|
+
export interface TextStyleTokens {
|
|
12
|
+
/** Default text style - base body text (16px) */
|
|
13
|
+
DEFAULT: TextStyleToken;
|
|
14
|
+
/** Small text - captions, labels (12px) */
|
|
15
|
+
small: TextStyleToken;
|
|
16
|
+
/** Medium text - body, paragraphs (16px) */
|
|
17
|
+
medium: TextStyleToken;
|
|
18
|
+
/** Large text - subheadings, emphasis (20px) */
|
|
19
|
+
large: TextStyleToken;
|
|
20
|
+
/** Title text - section titles (28px) */
|
|
21
|
+
title: TextStyleToken;
|
|
22
|
+
/** Heading text - page headings (36px) */
|
|
23
|
+
heading: TextStyleToken;
|
|
24
|
+
/** Caption text - footnotes, metadata (10px, reduced opacity) */
|
|
25
|
+
caption: TextStyleToken;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Spacing scale tokens
|
|
29
|
+
* Consistent spacing values for padding, margin, gaps
|
|
30
|
+
*/
|
|
31
|
+
export interface SpacingTokens {
|
|
32
|
+
/** Extra small - 4px */
|
|
33
|
+
xs: number;
|
|
34
|
+
/** Small - 8px */
|
|
35
|
+
sm: number;
|
|
36
|
+
/** Medium - 16px */
|
|
37
|
+
md: number;
|
|
38
|
+
/** Large - 24px */
|
|
39
|
+
lg: number;
|
|
40
|
+
/** Extra large - 32px */
|
|
41
|
+
xl: number;
|
|
42
|
+
/** Extra extra large - 48px */
|
|
43
|
+
xxl: number;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Size scale tokens
|
|
47
|
+
* For width, height, icon sizes, etc.
|
|
48
|
+
*/
|
|
49
|
+
export interface SizeTokens {
|
|
50
|
+
/** Extra small - 16px */
|
|
51
|
+
xs: number;
|
|
52
|
+
/** Small - 24px */
|
|
53
|
+
sm: number;
|
|
54
|
+
/** Medium - 32px */
|
|
55
|
+
md: number;
|
|
56
|
+
/** Large - 48px */
|
|
57
|
+
lg: number;
|
|
58
|
+
/** Extra large - 64px */
|
|
59
|
+
xl: number;
|
|
60
|
+
/** Extra extra large - 96px */
|
|
61
|
+
xxl: number;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Border radius tokens
|
|
65
|
+
* Consistent corner radius values
|
|
66
|
+
*/
|
|
67
|
+
export interface RadiusTokens {
|
|
68
|
+
/** None - 0px */
|
|
69
|
+
none: number;
|
|
70
|
+
/** Small - 4px */
|
|
71
|
+
sm: number;
|
|
72
|
+
/** Medium - 8px */
|
|
73
|
+
md: number;
|
|
74
|
+
/** Large - 16px */
|
|
75
|
+
lg: number;
|
|
76
|
+
/** Extra large - 24px */
|
|
77
|
+
xl: number;
|
|
78
|
+
/** Full - 9999px (pill shape) */
|
|
79
|
+
xxl: number;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Complete design token system
|
|
83
|
+
* Combines colors with semantic style tokens
|
|
84
|
+
*/
|
|
85
|
+
export interface DesignTokens {
|
|
86
|
+
/** Color tokens - semantic color scales */
|
|
87
|
+
colors: ColorTokens;
|
|
88
|
+
/** Text style presets - ready-to-use text styles */
|
|
89
|
+
textStyles: TextStyleTokens;
|
|
90
|
+
/** Spacing scale - padding, margin, gaps */
|
|
91
|
+
spacing: SpacingTokens;
|
|
92
|
+
/** Size scale - width, height, icon sizes */
|
|
93
|
+
sizes: SizeTokens;
|
|
94
|
+
/** Border radius scale - corner radius values */
|
|
95
|
+
radius: RadiusTokens;
|
|
96
|
+
}
|
|
97
|
+
//# sourceMappingURL=design-token-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"design-token-types.d.ts","sourceRoot":"","sources":["../../src/design-tokens/design-token-types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAE/D;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,iBAAiB,CAAA;AAE9C;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,iDAAiD;IACjD,OAAO,EAAE,cAAc,CAAA;IACvB,2CAA2C;IAC3C,KAAK,EAAE,cAAc,CAAA;IACrB,4CAA4C;IAC5C,MAAM,EAAE,cAAc,CAAA;IACtB,gDAAgD;IAChD,KAAK,EAAE,cAAc,CAAA;IACrB,yCAAyC;IACzC,KAAK,EAAE,cAAc,CAAA;IACrB,0CAA0C;IAC1C,OAAO,EAAE,cAAc,CAAA;IACvB,iEAAiE;IACjE,OAAO,EAAE,cAAc,CAAA;CACxB;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,wBAAwB;IACxB,EAAE,EAAE,MAAM,CAAA;IACV,kBAAkB;IAClB,EAAE,EAAE,MAAM,CAAA;IACV,oBAAoB;IACpB,EAAE,EAAE,MAAM,CAAA;IACV,mBAAmB;IACnB,EAAE,EAAE,MAAM,CAAA;IACV,yBAAyB;IACzB,EAAE,EAAE,MAAM,CAAA;IACV,+BAA+B;IAC/B,GAAG,EAAE,MAAM,CAAA;CACZ;AAED;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,yBAAyB;IACzB,EAAE,EAAE,MAAM,CAAA;IACV,mBAAmB;IACnB,EAAE,EAAE,MAAM,CAAA;IACV,oBAAoB;IACpB,EAAE,EAAE,MAAM,CAAA;IACV,mBAAmB;IACnB,EAAE,EAAE,MAAM,CAAA;IACV,yBAAyB;IACzB,EAAE,EAAE,MAAM,CAAA;IACV,+BAA+B;IAC/B,GAAG,EAAE,MAAM,CAAA;CACZ;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,iBAAiB;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,kBAAkB;IAClB,EAAE,EAAE,MAAM,CAAA;IACV,mBAAmB;IACnB,EAAE,EAAE,MAAM,CAAA;IACV,mBAAmB;IACnB,EAAE,EAAE,MAAM,CAAA;IACV,yBAAyB;IACzB,EAAE,EAAE,MAAM,CAAA;IACV,iCAAiC;IACjC,GAAG,EAAE,MAAM,CAAA;CACZ;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,2CAA2C;IAC3C,MAAM,EAAE,WAAW,CAAA;IACnB,oDAAoD;IACpD,UAAU,EAAE,eAAe,CAAA;IAC3B,4CAA4C;IAC5C,OAAO,EAAE,aAAa,CAAA;IACtB,6CAA6C;IAC7C,KAAK,EAAE,UAAU,CAAA;IACjB,iDAAiD;IACjD,MAAM,EAAE,YAAY,CAAA;CACrB"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const designTokenPresets = require("./design-token-presets.cjs");
|
|
4
|
+
exports.createDesignTokens = designTokenPresets.createDesignTokens;
|
|
5
|
+
exports.createTextStyleTokens = designTokenPresets.createTextStyleTokens;
|
|
6
|
+
exports.defaultRadiusTokens = designTokenPresets.defaultRadiusTokens;
|
|
7
|
+
exports.defaultSizeTokens = designTokenPresets.defaultSizeTokens;
|
|
8
|
+
exports.defaultSpacingTokens = designTokenPresets.defaultSpacingTokens;
|
|
9
|
+
exports.defaultTextStyleTokens = designTokenPresets.defaultTextStyleTokens;
|
|
10
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Design token system — renderer-neutral semantic tokens.
|
|
3
|
+
*
|
|
4
|
+
* @migration(audit:scene-portal-mount) Phase 3C — extracted from packages/ui/src/design-tokens.
|
|
5
|
+
* Pure token types and presets. Theme-dependent hooks + component size presets stay in Phaser package.
|
|
6
|
+
*/
|
|
7
|
+
export { createDesignTokens, createTextStyleTokens, defaultRadiusTokens, defaultSizeTokens, defaultSpacingTokens, defaultTextStyleTokens, } from './design-token-presets';
|
|
8
|
+
export type { DesignTokens, RadiusTokens, SizeTokens, SpacingTokens, TextStyleToken, TextStyleTokens, } from './design-token-types';
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/design-tokens/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,wBAAwB,CAAA;AAE/B,YAAY,EACV,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,aAAa,EACb,cAAc,EACd,eAAe,GAChB,MAAM,sBAAsB,CAAA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { createDesignTokens, createTextStyleTokens, defaultRadiusTokens, defaultSizeTokens, defaultSpacingTokens, defaultTextStyleTokens } from "./design-token-presets.js";
|
|
2
|
+
export {
|
|
3
|
+
createDesignTokens,
|
|
4
|
+
createTextStyleTokens,
|
|
5
|
+
defaultRadiusTokens,
|
|
6
|
+
defaultSizeTokens,
|
|
7
|
+
defaultSpacingTokens,
|
|
8
|
+
defaultTextStyleTokens
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
|
@@ -0,0 +1,296 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
function debounce(fn, delay) {
|
|
4
|
+
let timeoutId;
|
|
5
|
+
return (...args) => {
|
|
6
|
+
if (timeoutId !== void 0) clearTimeout(timeoutId);
|
|
7
|
+
timeoutId = setTimeout(() => {
|
|
8
|
+
timeoutId = void 0;
|
|
9
|
+
fn(...args);
|
|
10
|
+
}, delay);
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
const DevConfig = {
|
|
14
|
+
/**
|
|
15
|
+
* Debug logging configuration
|
|
16
|
+
* Controls console output for different subsystems
|
|
17
|
+
*/
|
|
18
|
+
debug: {
|
|
19
|
+
/**
|
|
20
|
+
* Master switch - disables all debug output when false
|
|
21
|
+
* @default false
|
|
22
|
+
*/
|
|
23
|
+
enabled: false,
|
|
24
|
+
/**
|
|
25
|
+
* Detailed layout calculation logs
|
|
26
|
+
* Shows container sizing, positioning, and flex distribution
|
|
27
|
+
* @default false
|
|
28
|
+
*/
|
|
29
|
+
layout: false,
|
|
30
|
+
/**
|
|
31
|
+
* Overflow mask positioning logs
|
|
32
|
+
* Shows world coordinate calculations and mask updates
|
|
33
|
+
* @default false
|
|
34
|
+
*/
|
|
35
|
+
overflowMask: false,
|
|
36
|
+
/**
|
|
37
|
+
* Flex distribution calculations
|
|
38
|
+
* Shows flex space allocation across children
|
|
39
|
+
* @default false
|
|
40
|
+
*/
|
|
41
|
+
flex: false,
|
|
42
|
+
/**
|
|
43
|
+
* Child sizing and positioning
|
|
44
|
+
* Shows individual child dimension calculations
|
|
45
|
+
* @default false
|
|
46
|
+
*/
|
|
47
|
+
positioning: false,
|
|
48
|
+
/**
|
|
49
|
+
* VDOM mount/patch/unmount operations
|
|
50
|
+
* Shows virtual DOM updates and reconciliation
|
|
51
|
+
* @default false
|
|
52
|
+
*/
|
|
53
|
+
vdom: false,
|
|
54
|
+
/**
|
|
55
|
+
* Performance timing measurements
|
|
56
|
+
* Shows execution time for layout operations
|
|
57
|
+
* @default false
|
|
58
|
+
*/
|
|
59
|
+
performance: false,
|
|
60
|
+
/**
|
|
61
|
+
* Theme system logs
|
|
62
|
+
* Shows theme registry updates and prop merging
|
|
63
|
+
* @default false
|
|
64
|
+
*/
|
|
65
|
+
theme: false
|
|
66
|
+
},
|
|
67
|
+
/**
|
|
68
|
+
* VDOM warnings and development checks
|
|
69
|
+
* These help catch common mistakes that lead to performance issues
|
|
70
|
+
*/
|
|
71
|
+
warnings: {
|
|
72
|
+
/**
|
|
73
|
+
* Warn when list items (siblings) don't have key props
|
|
74
|
+
* Similar to React's "Each child in a list should have a unique key prop" warning
|
|
75
|
+
* @default true (in development)
|
|
76
|
+
*/
|
|
77
|
+
missingKeys: false,
|
|
78
|
+
// temp disable because of detection issues, will re-enable later
|
|
79
|
+
/**
|
|
80
|
+
* Warn when props change causes full remount instead of update
|
|
81
|
+
* Detects JSX/callback recreation that prevents VDOM optimization
|
|
82
|
+
* @default true (in development)
|
|
83
|
+
*/
|
|
84
|
+
unnecessaryRemounts: false,
|
|
85
|
+
/**
|
|
86
|
+
* Warn when VNodes are frozen/sealed and need copying
|
|
87
|
+
* Happens in production builds or with certain bundler optimizations
|
|
88
|
+
* @default false (usually only relevant in production)
|
|
89
|
+
*/
|
|
90
|
+
frozenVNodes: false
|
|
91
|
+
},
|
|
92
|
+
/**
|
|
93
|
+
* Visual debugging aids
|
|
94
|
+
* Runtime-configurable visual settings
|
|
95
|
+
*/
|
|
96
|
+
visual: {
|
|
97
|
+
/**
|
|
98
|
+
* Show overflow mask areas
|
|
99
|
+
* When true, masks are visible (alpha > 0) for debugging
|
|
100
|
+
* @default false
|
|
101
|
+
*/
|
|
102
|
+
showOverflowMasks: false,
|
|
103
|
+
/**
|
|
104
|
+
* Mask fill color
|
|
105
|
+
* @default 0xffffff (white, invisible with alpha=0)
|
|
106
|
+
* @example 0xff00ff (pink for debugging)
|
|
107
|
+
*/
|
|
108
|
+
maskFillColor: 16777215,
|
|
109
|
+
/**
|
|
110
|
+
* Mask alpha transparency
|
|
111
|
+
* @default 0.0 (invisible)
|
|
112
|
+
* @example 0.3 (semi-transparent for debugging)
|
|
113
|
+
*/
|
|
114
|
+
maskAlpha: 0
|
|
115
|
+
},
|
|
116
|
+
/**
|
|
117
|
+
* Performance tuning
|
|
118
|
+
*/
|
|
119
|
+
performance: {
|
|
120
|
+
/**
|
|
121
|
+
* Enable deferred layout queue batching
|
|
122
|
+
* When false, deferred updates execute immediately (not batched)
|
|
123
|
+
* @default true
|
|
124
|
+
*/
|
|
125
|
+
useDeferredQueue: true,
|
|
126
|
+
/**
|
|
127
|
+
* Log deferred queue statistics
|
|
128
|
+
* Shows number of batched callbacks per frame
|
|
129
|
+
* @default false
|
|
130
|
+
*/
|
|
131
|
+
logQueueStats: false
|
|
132
|
+
}
|
|
133
|
+
};
|
|
134
|
+
class DebugLogger {
|
|
135
|
+
/**
|
|
136
|
+
* Debounced console.log instances per category-message combination
|
|
137
|
+
*/
|
|
138
|
+
static debouncedLoggers = /* @__PURE__ */ new Map();
|
|
139
|
+
/**
|
|
140
|
+
* Log a message with category filtering and debouncing
|
|
141
|
+
* @param category - Debug category to check
|
|
142
|
+
* @param message - Message to log
|
|
143
|
+
* @param args - Additional arguments to log (only first element is used)
|
|
144
|
+
*/
|
|
145
|
+
static log(category, message, ...args) {
|
|
146
|
+
if (!DevConfig.debug.enabled) return;
|
|
147
|
+
if (category !== "enabled" && !DevConfig.debug[category]) return;
|
|
148
|
+
const key = `${String(category)}:${message}`;
|
|
149
|
+
let debouncedLog = this.debouncedLoggers.get(key);
|
|
150
|
+
if (!debouncedLog) {
|
|
151
|
+
debouncedLog = debounce(() => {
|
|
152
|
+
console.log(`[${category}] ${message}`, args[0]);
|
|
153
|
+
}, 300);
|
|
154
|
+
this.debouncedLoggers.set(key, debouncedLog);
|
|
155
|
+
}
|
|
156
|
+
debouncedLog();
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Log a warning message (always shown, even if debug disabled)
|
|
160
|
+
* @param category - Category for context
|
|
161
|
+
* @param message - Warning message
|
|
162
|
+
* @param args - Additional arguments
|
|
163
|
+
*/
|
|
164
|
+
static warn(category, message, ...args) {
|
|
165
|
+
console.warn(`[${category}] ${message}`, ...args);
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Log an error message (always shown, even if debug disabled)
|
|
169
|
+
* @param category - Category for context
|
|
170
|
+
* @param message - Error message
|
|
171
|
+
* @param args - Additional arguments
|
|
172
|
+
*/
|
|
173
|
+
static error(category, message, ...args) {
|
|
174
|
+
console.error(`[${category}] ${message}`, ...args);
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* Start a performance timer
|
|
178
|
+
* @param category - Debug category to check
|
|
179
|
+
* @param label - Timer label
|
|
180
|
+
*/
|
|
181
|
+
static time(category, label) {
|
|
182
|
+
if (!DevConfig.debug.enabled) return;
|
|
183
|
+
if (category !== "enabled" && !DevConfig.debug[category]) return;
|
|
184
|
+
console.time(`[${category}] ${label}`);
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* End a performance timer
|
|
188
|
+
* @param category - Debug category to check
|
|
189
|
+
* @param label - Timer label
|
|
190
|
+
*/
|
|
191
|
+
static timeEnd(category, label) {
|
|
192
|
+
if (!DevConfig.debug.enabled) return;
|
|
193
|
+
if (category !== "enabled" && !DevConfig.debug[category]) return;
|
|
194
|
+
console.timeEnd(`[${category}] ${label}`);
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
const DevPresets = {
|
|
198
|
+
/**
|
|
199
|
+
* Production configuration
|
|
200
|
+
* All debugging disabled, optimal performance
|
|
201
|
+
*/
|
|
202
|
+
production: () => {
|
|
203
|
+
DevConfig.debug.enabled = false;
|
|
204
|
+
DevConfig.visual.showOverflowMasks = false;
|
|
205
|
+
DevConfig.visual.maskAlpha = 0;
|
|
206
|
+
DevConfig.visual.maskFillColor = 16777215;
|
|
207
|
+
DevConfig.performance.logQueueStats = false;
|
|
208
|
+
},
|
|
209
|
+
/**
|
|
210
|
+
* Debug layout issues
|
|
211
|
+
* Enables layout, positioning, and flex logs
|
|
212
|
+
*/
|
|
213
|
+
debugLayout: () => {
|
|
214
|
+
DevConfig.debug.enabled = true;
|
|
215
|
+
DevConfig.debug.layout = true;
|
|
216
|
+
DevConfig.debug.positioning = true;
|
|
217
|
+
DevConfig.debug.flex = true;
|
|
218
|
+
DevConfig.debug.overflowMask = false;
|
|
219
|
+
DevConfig.debug.vdom = false;
|
|
220
|
+
DevConfig.debug.performance = false;
|
|
221
|
+
},
|
|
222
|
+
/**
|
|
223
|
+
* Debug overflow masking
|
|
224
|
+
* Enables overflow logs and makes masks visible
|
|
225
|
+
*/
|
|
226
|
+
debugOverflow: () => {
|
|
227
|
+
DevConfig.debug.enabled = true;
|
|
228
|
+
DevConfig.debug.overflowMask = true;
|
|
229
|
+
DevConfig.visual.showOverflowMasks = true;
|
|
230
|
+
DevConfig.visual.maskFillColor = 16711935;
|
|
231
|
+
DevConfig.visual.maskAlpha = 0.3;
|
|
232
|
+
DevConfig.debug.layout = false;
|
|
233
|
+
DevConfig.debug.positioning = false;
|
|
234
|
+
DevConfig.debug.flex = false;
|
|
235
|
+
DevConfig.debug.vdom = false;
|
|
236
|
+
DevConfig.debug.performance = false;
|
|
237
|
+
},
|
|
238
|
+
/**
|
|
239
|
+
* Performance profiling
|
|
240
|
+
* Enables performance timing and queue statistics
|
|
241
|
+
*/
|
|
242
|
+
profilePerformance: () => {
|
|
243
|
+
DevConfig.debug.enabled = true;
|
|
244
|
+
DevConfig.debug.performance = true;
|
|
245
|
+
DevConfig.performance.logQueueStats = true;
|
|
246
|
+
DevConfig.debug.layout = false;
|
|
247
|
+
DevConfig.debug.overflowMask = false;
|
|
248
|
+
DevConfig.debug.positioning = false;
|
|
249
|
+
DevConfig.debug.flex = false;
|
|
250
|
+
DevConfig.debug.vdom = false;
|
|
251
|
+
},
|
|
252
|
+
/**
|
|
253
|
+
* Debug VDOM operations
|
|
254
|
+
* Enables virtual DOM mount/patch/unmount logs
|
|
255
|
+
*/
|
|
256
|
+
debugVDOM: () => {
|
|
257
|
+
DevConfig.debug.enabled = true;
|
|
258
|
+
DevConfig.debug.vdom = true;
|
|
259
|
+
DevConfig.debug.layout = false;
|
|
260
|
+
DevConfig.debug.overflowMask = false;
|
|
261
|
+
DevConfig.debug.positioning = false;
|
|
262
|
+
DevConfig.debug.flex = false;
|
|
263
|
+
DevConfig.debug.performance = false;
|
|
264
|
+
},
|
|
265
|
+
debugTheme: () => {
|
|
266
|
+
DevConfig.debug.enabled = true;
|
|
267
|
+
DevConfig.debug.theme = true;
|
|
268
|
+
DevConfig.debug.layout = false;
|
|
269
|
+
DevConfig.debug.overflowMask = false;
|
|
270
|
+
DevConfig.debug.positioning = false;
|
|
271
|
+
DevConfig.debug.flex = false;
|
|
272
|
+
DevConfig.debug.performance = false;
|
|
273
|
+
DevConfig.debug.vdom = false;
|
|
274
|
+
},
|
|
275
|
+
/**
|
|
276
|
+
* Enable all debug categories (verbose!)
|
|
277
|
+
* Use with caution - produces lots of console output
|
|
278
|
+
*/
|
|
279
|
+
debugAll: () => {
|
|
280
|
+
DevConfig.debug.enabled = true;
|
|
281
|
+
DevConfig.debug.layout = true;
|
|
282
|
+
DevConfig.debug.overflowMask = true;
|
|
283
|
+
DevConfig.debug.flex = true;
|
|
284
|
+
DevConfig.debug.positioning = true;
|
|
285
|
+
DevConfig.debug.vdom = true;
|
|
286
|
+
DevConfig.debug.performance = true;
|
|
287
|
+
DevConfig.visual.showOverflowMasks = true;
|
|
288
|
+
DevConfig.visual.maskFillColor = 16711935;
|
|
289
|
+
DevConfig.visual.maskAlpha = 0.3;
|
|
290
|
+
DevConfig.performance.logQueueStats = true;
|
|
291
|
+
}
|
|
292
|
+
};
|
|
293
|
+
exports.DebugLogger = DebugLogger;
|
|
294
|
+
exports.DevConfig = DevConfig;
|
|
295
|
+
exports.DevPresets = DevPresets;
|
|
296
|
+
//# sourceMappingURL=dev-config.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dev-config.cjs","sources":["../src/dev-config.ts"],"sourcesContent":["/**\n * Development and debugging configuration\n * Runtime-configurable settings for debugging and development\n */\n\n/**\n * Simple debounce implementation — avoids pulling in ~1.1 MB of lodash\n * @internal\n */\nfunction debounce<T extends (...args: unknown[]) => void>(\n fn: T,\n delay: number\n): (...args: unknown[]) => void {\n let timeoutId: ReturnType<typeof setTimeout> | undefined\n return (...args: unknown[]) => {\n if (timeoutId !== undefined) clearTimeout(timeoutId)\n timeoutId = setTimeout(() => {\n timeoutId = undefined\n fn(...args)\n }, delay)\n }\n}\n\n/**\n * Development configuration object\n * Can be modified at runtime from user code for debugging\n *\n * @example\n * ```typescript\n * import { DevConfig } from '@number10/phaserjsx'\n *\n * // Enable specific debug categories\n * DevConfig.debug.enabled = true\n * DevConfig.debug.layout = true\n *\n * // Customize visual debugging\n * DevConfig.visual.maskFillColor = 0xff00ff // Pink\n * DevConfig.visual.maskAlpha = 0.3 // Semi-transparent\n * ```\n */\nexport const DevConfig = {\n /**\n * Debug logging configuration\n * Controls console output for different subsystems\n */\n debug: {\n /**\n * Master switch - disables all debug output when false\n * @default false\n */\n enabled: false,\n\n /**\n * Detailed layout calculation logs\n * Shows container sizing, positioning, and flex distribution\n * @default false\n */\n layout: false,\n\n /**\n * Overflow mask positioning logs\n * Shows world coordinate calculations and mask updates\n * @default false\n */\n overflowMask: false,\n\n /**\n * Flex distribution calculations\n * Shows flex space allocation across children\n * @default false\n */\n flex: false,\n\n /**\n * Child sizing and positioning\n * Shows individual child dimension calculations\n * @default false\n */\n positioning: false,\n\n /**\n * VDOM mount/patch/unmount operations\n * Shows virtual DOM updates and reconciliation\n * @default false\n */\n vdom: false,\n\n /**\n * Performance timing measurements\n * Shows execution time for layout operations\n * @default false\n */\n performance: false,\n\n /**\n * Theme system logs\n * Shows theme registry updates and prop merging\n * @default false\n */\n theme: false,\n },\n\n /**\n * VDOM warnings and development checks\n * These help catch common mistakes that lead to performance issues\n */\n warnings: {\n /**\n * Warn when list items (siblings) don't have key props\n * Similar to React's \"Each child in a list should have a unique key prop\" warning\n * @default true (in development)\n */\n missingKeys: false, // temp disable because of detection issues, will re-enable later\n\n /**\n * Warn when props change causes full remount instead of update\n * Detects JSX/callback recreation that prevents VDOM optimization\n * @default true (in development)\n */\n unnecessaryRemounts: false,\n\n /**\n * Warn when VNodes are frozen/sealed and need copying\n * Happens in production builds or with certain bundler optimizations\n * @default false (usually only relevant in production)\n */\n frozenVNodes: false,\n },\n\n /**\n * Visual debugging aids\n * Runtime-configurable visual settings\n */\n visual: {\n /**\n * Show overflow mask areas\n * When true, masks are visible (alpha > 0) for debugging\n * @default false\n */\n showOverflowMasks: false,\n\n /**\n * Mask fill color\n * @default 0xffffff (white, invisible with alpha=0)\n * @example 0xff00ff (pink for debugging)\n */\n maskFillColor: 0xffffff,\n\n /**\n * Mask alpha transparency\n * @default 0.0 (invisible)\n * @example 0.3 (semi-transparent for debugging)\n */\n maskAlpha: 0.0,\n },\n\n /**\n * Performance tuning\n */\n performance: {\n /**\n * Enable deferred layout queue batching\n * When false, deferred updates execute immediately (not batched)\n * @default true\n */\n useDeferredQueue: true,\n\n /**\n * Log deferred queue statistics\n * Shows number of batched callbacks per frame\n * @default false\n */\n logQueueStats: false,\n },\n}\n\n/**\n * Debug logger with category support\n * Only logs when global debug is enabled AND category is enabled\n *\n * @example\n * ```typescript\n * DebugLogger.log('layout', 'Container size:', { width: 100, height: 200 })\n * // Only logs if DevConfig.debug.enabled && DevConfig.debug.layout\n * ```\n */\nexport class DebugLogger {\n /**\n * Debounced console.log instances per category-message combination\n */\n private static debouncedLoggers = new Map<string, (...args: unknown[]) => void>()\n\n /**\n * Log a message with category filtering and debouncing\n * @param category - Debug category to check\n * @param message - Message to log\n * @param args - Additional arguments to log (only first element is used)\n */\n static log(category: keyof typeof DevConfig.debug, message: string, ...args: unknown[]): void {\n if (!DevConfig.debug.enabled) return\n if (category !== 'enabled' && !DevConfig.debug[category]) return\n\n const key = `${String(category)}:${message}`\n let debouncedLog = this.debouncedLoggers.get(key)\n\n // console.log(`[${category}] ${message}`, args[0])\n\n if (!debouncedLog) {\n debouncedLog = debounce(() => {\n console.log(`[${category}] ${message}`, args[0])\n }, 300)\n this.debouncedLoggers.set(key, debouncedLog)\n }\n\n debouncedLog()\n }\n\n /**\n * Log a warning message (always shown, even if debug disabled)\n * @param category - Category for context\n * @param message - Warning message\n * @param args - Additional arguments\n */\n static warn(category: string, message: string, ...args: unknown[]): void {\n console.warn(`[${category}] ${message}`, ...args)\n }\n\n /**\n * Log an error message (always shown, even if debug disabled)\n * @param category - Category for context\n * @param message - Error message\n * @param args - Additional arguments\n */\n static error(category: string, message: string, ...args: unknown[]): void {\n console.error(`[${category}] ${message}`, ...args)\n }\n\n /**\n * Start a performance timer\n * @param category - Debug category to check\n * @param label - Timer label\n */\n static time(category: keyof typeof DevConfig.debug, label: string): void {\n if (!DevConfig.debug.enabled) return\n if (category !== 'enabled' && !DevConfig.debug[category]) return\n\n console.time(`[${category}] ${label}`)\n }\n\n /**\n * End a performance timer\n * @param category - Debug category to check\n * @param label - Timer label\n */\n static timeEnd(category: keyof typeof DevConfig.debug, label: string): void {\n if (!DevConfig.debug.enabled) return\n if (category !== 'enabled' && !DevConfig.debug[category]) return\n\n console.timeEnd(`[${category}] ${label}`)\n }\n}\n\n/**\n * Predefined configuration presets for common debugging scenarios\n *\n * @example\n * ```typescript\n * import { DevPresets } from '@number10/phaserjsx'\n *\n * // Quick activation of overflow debugging\n * DevPresets.debugOverflow()\n *\n * // Revert to production settings\n * DevPresets.production()\n * ```\n */\nexport const DevPresets = {\n /**\n * Production configuration\n * All debugging disabled, optimal performance\n */\n production: (): void => {\n DevConfig.debug.enabled = false\n DevConfig.visual.showOverflowMasks = false\n DevConfig.visual.maskAlpha = 0.0\n DevConfig.visual.maskFillColor = 0xffffff\n DevConfig.performance.logQueueStats = false\n },\n\n /**\n * Debug layout issues\n * Enables layout, positioning, and flex logs\n */\n debugLayout: (): void => {\n DevConfig.debug.enabled = true\n DevConfig.debug.layout = true\n DevConfig.debug.positioning = true\n DevConfig.debug.flex = true\n // Keep other categories off\n DevConfig.debug.overflowMask = false\n DevConfig.debug.vdom = false\n DevConfig.debug.performance = false\n },\n\n /**\n * Debug overflow masking\n * Enables overflow logs and makes masks visible\n */\n debugOverflow: (): void => {\n DevConfig.debug.enabled = true\n DevConfig.debug.overflowMask = true\n DevConfig.visual.showOverflowMasks = true\n DevConfig.visual.maskFillColor = 0xff00ff // Pink\n DevConfig.visual.maskAlpha = 0.3 // Semi-transparent\n // Keep other categories off\n DevConfig.debug.layout = false\n DevConfig.debug.positioning = false\n DevConfig.debug.flex = false\n DevConfig.debug.vdom = false\n DevConfig.debug.performance = false\n },\n\n /**\n * Performance profiling\n * Enables performance timing and queue statistics\n */\n profilePerformance: (): void => {\n DevConfig.debug.enabled = true\n DevConfig.debug.performance = true\n DevConfig.performance.logQueueStats = true\n // Keep other categories off\n DevConfig.debug.layout = false\n DevConfig.debug.overflowMask = false\n DevConfig.debug.positioning = false\n DevConfig.debug.flex = false\n DevConfig.debug.vdom = false\n },\n\n /**\n * Debug VDOM operations\n * Enables virtual DOM mount/patch/unmount logs\n */\n debugVDOM: (): void => {\n DevConfig.debug.enabled = true\n DevConfig.debug.vdom = true\n // Keep other categories off\n DevConfig.debug.layout = false\n DevConfig.debug.overflowMask = false\n DevConfig.debug.positioning = false\n DevConfig.debug.flex = false\n DevConfig.debug.performance = false\n },\n\n debugTheme: (): void => {\n DevConfig.debug.enabled = true\n DevConfig.debug.theme = true\n // Keep other categories off\n DevConfig.debug.layout = false\n DevConfig.debug.overflowMask = false\n DevConfig.debug.positioning = false\n DevConfig.debug.flex = false\n DevConfig.debug.performance = false\n DevConfig.debug.vdom = false\n },\n\n /**\n * Enable all debug categories (verbose!)\n * Use with caution - produces lots of console output\n */\n debugAll: (): void => {\n DevConfig.debug.enabled = true\n DevConfig.debug.layout = true\n DevConfig.debug.overflowMask = true\n DevConfig.debug.flex = true\n DevConfig.debug.positioning = true\n DevConfig.debug.vdom = true\n DevConfig.debug.performance = true\n DevConfig.visual.showOverflowMasks = true\n DevConfig.visual.maskFillColor = 0xff00ff\n DevConfig.visual.maskAlpha = 0.3\n DevConfig.performance.logQueueStats = true\n },\n}\n"],"names":[],"mappings":"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"}
|