juxscript 1.1.89 → 1.1.91

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.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "totalComponents": 63,
3
- "generatedAt": "2026-02-12T18:39:00.380Z",
3
+ "generatedAt": "2026-02-12T19:43:12.253Z",
4
4
  "components": [
5
5
  {
6
6
  "file": "alert.js",
@@ -44,6 +44,11 @@ export declare class Button extends BaseComponent<ButtonState> {
44
44
  * Set button content as HTML (overrides label)
45
45
  */
46
46
  content(value: string): this;
47
+ icon(value: string): this;
48
+ iconPosition(value: 'left' | 'right'): this;
49
+ fullWidth(value: boolean): this;
50
+ variant(value: string): this;
51
+ size(value: 'small' | 'medium' | 'large'): this;
47
52
  /**
48
53
  * Alias for content() - more semantic
49
54
  */
@@ -1 +1 @@
1
- {"version":3,"file":"button.d.ts","sourceRoot":"","sources":["button.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAQxD,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IAChG,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;IACpC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAChC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,IAAI,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,KAAK,WAAW,GAAG;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,qBAAa,MAAO,SAAQ,aAAa,CAAC,WAAW,CAAC;IACpD,OAAO,CAAC,cAAc,CAAkC;gBAE5C,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa;IAmB/C,SAAS,CAAC,gBAAgB,IAAI,SAAS,MAAM,EAAE;IAI/C,SAAS,CAAC,iBAAiB,IAAI,SAAS,MAAM,EAAE;IAQhD;;;OAGG;IACH,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAO1B;;OAEG;IACH,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAIzB;;OAEG;IACH,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAM5B;;OAEG;IACH,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAIzB;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAgBzB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI;IAQtC;;OAEG;IACH,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAW7B,MAAM,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,IAAI;CA4DnE;AAED,wBAAgB,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,MAAM,CAElE"}
1
+ {"version":3,"file":"button.d.ts","sourceRoot":"","sources":["button.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAQxD,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IAChG,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;IACpC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAChC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,IAAI,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,KAAK,WAAW,GAAG;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,qBAAa,MAAO,SAAQ,aAAa,CAAC,WAAW,CAAC;IACpD,OAAO,CAAC,cAAc,CAAkC;gBAE5C,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa;IAmB/C,SAAS,CAAC,gBAAgB,IAAI,SAAS,MAAM,EAAE;IAI/C,SAAS,CAAC,iBAAiB,IAAI,SAAS,MAAM,EAAE;IAQhD;;;OAGG;IACH,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAO1B;;OAEG;IACH,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAIzB;;OAEG;IACH,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAM5B,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAIzB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI;IAI3C,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAK/B,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK5B,IAAI,CAAC,KAAK,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,IAAI;IAO/C;;OAEG;IACH,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAIzB;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAgBzB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI;IAQtC;;OAEG;IACH,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAW7B,MAAM,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,IAAI;CA4DnE;AAED,wBAAgB,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,MAAM,CAElE"}
@@ -56,6 +56,26 @@ export class Button extends BaseComponent {
56
56
  this._updateButtonText();
57
57
  return this;
58
58
  }
59
+ icon(value) {
60
+ this.state.icon = value;
61
+ return this;
62
+ }
63
+ iconPosition(value) {
64
+ this.state.iconPosition = value;
65
+ return this;
66
+ }
67
+ fullWidth(value) {
68
+ this.state.fullWidth = value;
69
+ return this;
70
+ }
71
+ variant(value) {
72
+ this.state.variant = value;
73
+ return this;
74
+ }
75
+ size(value) {
76
+ this.state.size = value;
77
+ return this;
78
+ }
59
79
  /**
60
80
  * Alias for content() - more semantic
61
81
  */
@@ -96,6 +96,31 @@ export class Button extends BaseComponent<ButtonState> {
96
96
  return this;
97
97
  }
98
98
 
99
+ icon(value: string): this {
100
+ this.state.icon = value;
101
+ return this;
102
+ }
103
+ iconPosition(value: 'left' | 'right'): this {
104
+ this.state.iconPosition = value;
105
+ return this;
106
+ }
107
+ fullWidth(value: boolean): this {
108
+ this.state.fullWidth = value;
109
+ return this;
110
+ }
111
+
112
+ variant(value: string): this {
113
+ this.state.variant = value;
114
+ return this;
115
+ }
116
+
117
+ size(value: 'small' | 'medium' | 'large'): this {
118
+ this.state.size = value;
119
+ return this;
120
+ }
121
+
122
+
123
+
99
124
  /**
100
125
  * Alias for content() - more semantic
101
126
  */
@@ -22,7 +22,6 @@ interface StackState extends BaseState {
22
22
  }
23
23
  /**
24
24
  * BaseStack - Foundation for all stack layout components
25
- * Provides common styling, child management, and progressive effects
26
25
  */
27
26
  export declare abstract class BaseStack extends BaseComponent<StackState> {
28
27
  protected abstract baseClassName: string;
@@ -35,13 +34,7 @@ export declare abstract class BaseStack extends BaseComponent<StackState> {
35
34
  justify(value: 'start' | 'center' | 'end' | 'between' | 'around' | 'evenly'): this;
36
35
  divider(value?: boolean): this;
37
36
  responsive(value?: boolean): this;
38
- /**
39
- * Internal helper to add individual CSS properties
40
- */
41
37
  private _addStyle;
42
- /**
43
- * Build and apply the complete style attribute
44
- */
45
38
  private _updateStyleAttribute;
46
39
  padding(value: string): this;
47
40
  margin(value: string): this;
@@ -57,53 +50,30 @@ export declare abstract class BaseStack extends BaseComponent<StackState> {
57
50
  backgroundColor(value: string): this;
58
51
  boxShadow(value: string): this;
59
52
  opacity(value: string | number): this;
60
- position(value: 'static' | 'relative' | 'absolute' | 'fixed' | 'sticky'): this;
53
+ position(value: string): this;
61
54
  top(value: string): this;
62
55
  right(value: string): this;
63
56
  bottom(value: string): this;
64
57
  left(value: string): this;
65
58
  zIndex(value: string | number): this;
66
- overflow(value: 'visible' | 'hidden' | 'scroll' | 'auto'): this;
67
- overflowX(value: 'visible' | 'hidden' | 'scroll' | 'auto'): this;
68
- overflowY(value: 'visible' | 'hidden' | 'scroll' | 'auto'): this;
59
+ overflow(value: string): this;
60
+ overflowX(value: string): this;
61
+ overflowY(value: string): this;
69
62
  display(value: string): this;
70
63
  cursor(value: string): this;
71
64
  transform(value: string): this;
72
65
  transformOrigin(value: string): this;
73
66
  transition(value: string): this;
74
67
  animation(value: string): this;
75
- /**
76
- * Apply custom styles to each child progressively
77
- */
78
68
  childStyle(stylesOrFunction: string[] | ChildStyleFunction): this;
79
- /**
80
- * Cascade effect - offset children progressively
81
- */
82
69
  cascade(baseOffset?: number, axis?: 'x' | 'y' | 'both' | 'horizontal' | 'vertical' | 'xy'): this;
83
- /**
84
- * Fan effect - rotate children progressively
85
- */
86
70
  fan(angle?: number, origin?: string): this;
87
- /**
88
- * Scale progression - shrink/grow children
89
- */
90
71
  scaleProgressive(startScale?: number, step?: number, origin?: string): this;
91
- /**
92
- * Fade effect - progressive opacity
93
- */
94
72
  fade(startOpacity?: number, step?: number): this;
95
- /**
96
- * Blur effect - progressive blur
97
- */
98
73
  blur(startBlur?: number, step?: number): this;
99
- /**
100
- * Stagger animation delays
101
- */
102
74
  stagger(baseDelay?: number): this;
103
75
  protected buildClasses(): string;
104
- protected renderChild(child: any, index: number): string;
105
- private wrapChildWithStyle;
106
- private injectChildStyle;
76
+ protected renderChild(child: any, index: number): HTMLElement;
107
77
  private getChildStyle;
108
78
  render(targetId?: string | HTMLElement | BaseComponent<any>): this;
109
79
  update(prop: string, value: any): void;
@@ -1 +1 @@
1
- {"version":3,"file":"BaseStack.d.ts","sourceRoot":"","sources":["BaseStack.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAMpE,MAAM,WAAW,YAAY;IACzB,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,OAAO,CAAC;IACjD,KAAK,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,GAAG,SAAS,CAAC;IAC/C,OAAO,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACvE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,kBAAkB;IAC/B,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;CAC3B;AAED,UAAU,UAAW,SAAQ,SAAS;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IACrB,WAAW,CAAC,EAAE,kBAAkB,GAAG,MAAM,EAAE,CAAC;CAC/C;AAED;;;GAGG;AACH,8BAAsB,SAAU,SAAQ,aAAa,CAAC,UAAU,CAAC;IAC7D,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IACzC,OAAO,CAAC,aAAa,CAAkC;gBAE3C,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,EAAE,OAAO,GAAE,YAAiB;IAuBzF,SAAS,CAAC,gBAAgB,IAAI,SAAS,MAAM,EAAE;IAI/C,SAAS,CAAC,iBAAiB,IAAI,SAAS,MAAM,EAAE;IAQhD,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,OAAO,GAAG,IAAI;IAK5D,KAAK,CAAC,KAAK,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,GAAG,SAAS,GAAG,IAAI;IAK1D,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,IAAI;IAKlF,OAAO,CAAC,KAAK,GAAE,OAAc,GAAG,IAAI;IAKpC,UAAU,CAAC,KAAK,GAAE,OAAc,GAAG,IAAI;IASvC;;OAEG;IACH,OAAO,CAAC,SAAS;IAMjB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAS7B,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAI5B,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAI3B,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAI3B,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAKjC,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAI1B,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAI3B,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAI7B,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAI7B,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAI9B,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK9B,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAI/B,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAIpC,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAI9B,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAKrC,QAAQ,CAAC,KAAK,EAAE,QAAQ,GAAG,UAAU,GAAG,UAAU,GAAG,OAAO,GAAG,QAAQ,GAAG,IAAI;IAI9E,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAIxB,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAI1B,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAI3B,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAIzB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAKpC,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,IAAI;IAI/D,SAAS,CAAC,KAAK,EAAE,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,IAAI;IAIhE,SAAS,CAAC,KAAK,EAAE,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,IAAI;IAKhE,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK5B,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK3B,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAI9B,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAKpC,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAI/B,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAQ9B;;OAEG;IACH,UAAU,CAAC,gBAAgB,EAAE,MAAM,EAAE,GAAG,kBAAkB,GAAG,IAAI;IAKjE;;OAEG;IACH,OAAO,CAAC,UAAU,GAAE,MAAW,EAAE,IAAI,GAAE,GAAG,GAAG,GAAG,GAAG,MAAM,GAAG,YAAY,GAAG,UAAU,GAAG,IAAa,GAAG,IAAI;IAe5G;;OAEG;IACH,GAAG,CAAC,KAAK,GAAE,MAAU,EAAE,MAAM,GAAE,MAAwB,GAAG,IAAI;IAQ9D;;OAEG;IACH,gBAAgB,CAAC,UAAU,GAAE,MAAU,EAAE,IAAI,GAAE,MAAa,EAAE,MAAM,GAAE,MAAiB,GAAG,IAAI;IAQ9F;;OAEG;IACH,IAAI,CAAC,YAAY,GAAE,MAAU,EAAE,IAAI,GAAE,MAAa,GAAG,IAAI;IAQzD;;OAEG;IACH,IAAI,CAAC,SAAS,GAAE,MAAU,EAAE,IAAI,GAAE,MAAU,GAAG,IAAI;IAQnD;;OAEG;IACH,OAAO,CAAC,SAAS,GAAE,MAAY,GAAG,IAAI;IAYtC,SAAS,CAAC,YAAY,IAAI,MAAM;IAsChC,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;IAyCxD,OAAO,CAAC,kBAAkB;IAQ1B,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,aAAa;IAoBrB,MAAM,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,IAAI;IA6BlE,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI;CAGzC"}
1
+ {"version":3,"file":"BaseStack.d.ts","sourceRoot":"","sources":["BaseStack.ts"],"names":[],"mappings":"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"}
@@ -4,11 +4,9 @@ const TRIGGER_EVENTS = [];
4
4
  const CALLBACK_EVENTS = [];
5
5
  /**
6
6
  * BaseStack - Foundation for all stack layout components
7
- * Provides common styling, child management, and progressive effects
8
7
  */
9
8
  export class BaseStack extends BaseComponent {
10
9
  constructor(id, children, options = {}) {
11
- // Convert children object to array, preserving order
12
10
  const childArray = Array.isArray(children)
13
11
  ? children
14
12
  : Object.values(children);
@@ -27,7 +25,7 @@ export class BaseStack extends BaseComponent {
27
25
  children: childArray,
28
26
  childStyles: undefined
29
27
  });
30
- this._inlineStyles = new Map(); // ✅ Stores individual CSS properties
28
+ this._inlineStyles = new Map();
31
29
  }
32
30
  getTriggerEvents() {
33
31
  return TRIGGER_EVENTS;
@@ -59,134 +57,55 @@ export class BaseStack extends BaseComponent {
59
57
  return this;
60
58
  }
61
59
  /* ═════════════════════════════════════════════════════════════════
62
- * FLUENT STYLE API - Comprehensive CSS properties
60
+ * FLUENT STYLE API
63
61
  * ═════════════════════════════════════════════════════════════════ */
64
- /**
65
- * Internal helper to add individual CSS properties
66
- */
67
62
  _addStyle(property, value) {
68
- this._inlineStyles.set(property, value); // ✅ Store in Map
69
- this._updateStyleAttribute(); // ✅ Rebuild style string
63
+ this._inlineStyles.set(property, value);
64
+ this._updateStyleAttribute();
70
65
  return this;
71
66
  }
72
- /**
73
- * Build and apply the complete style attribute
74
- */
75
67
  _updateStyleAttribute() {
76
- const styleString = Array.from(this._inlineStyles.entries()) // ✅ Convert Map to array
77
- .map(([prop, val]) => `${prop}: ${val}`) // ✅ Format each entry
78
- .join('; '); // ✅ Join with semicolons
68
+ const styleString = Array.from(this._inlineStyles.entries())
69
+ .map(([prop, val]) => `${prop}: ${val}`)
70
+ .join('; ');
79
71
  this.state.style = styleString;
80
72
  }
81
- // Box Model
82
- padding(value) {
83
- return this._addStyle('padding', value);
84
- }
85
- margin(value) {
86
- return this._addStyle('margin', value);
87
- }
88
- border(value) {
89
- return this._addStyle('border', value);
90
- }
91
- borderRadius(value) {
92
- return this._addStyle('border-radius', value);
93
- }
94
- // Sizing
95
- width(value) {
96
- return this._addStyle('width', value);
97
- }
98
- height(value) {
99
- return this._addStyle('height', value);
100
- }
101
- minWidth(value) {
102
- return this._addStyle('min-width', value);
103
- }
104
- maxWidth(value) {
105
- return this._addStyle('max-width', value);
106
- }
107
- minHeight(value) {
108
- return this._addStyle('min-height', value);
109
- }
110
- maxHeight(value) {
111
- return this._addStyle('max-height', value);
112
- }
113
- // Visual
114
- background(value) {
115
- return this._addStyle('background', value);
116
- }
117
- backgroundColor(value) {
118
- return this._addStyle('background-color', value);
119
- }
120
- boxShadow(value) {
121
- return this._addStyle('box-shadow', value);
122
- }
123
- opacity(value) {
124
- return this._addStyle('opacity', String(value));
125
- }
126
- // Positioning
127
- position(value) {
128
- return this._addStyle('position', value);
129
- }
130
- top(value) {
131
- return this._addStyle('top', value);
132
- }
133
- right(value) {
134
- return this._addStyle('right', value);
135
- }
136
- bottom(value) {
137
- return this._addStyle('bottom', value);
138
- }
139
- left(value) {
140
- return this._addStyle('left', value);
141
- }
142
- zIndex(value) {
143
- return this._addStyle('z-index', String(value));
144
- }
145
- // Overflow
146
- overflow(value) {
147
- return this._addStyle('overflow', value);
148
- }
149
- overflowX(value) {
150
- return this._addStyle('overflow-x', value);
151
- }
152
- overflowY(value) {
153
- return this._addStyle('overflow-y', value);
154
- }
155
- // Display
156
- display(value) {
157
- return this._addStyle('display', value);
158
- }
159
- // Cursor
160
- cursor(value) {
161
- return this._addStyle('cursor', value);
162
- }
163
- // Transform
164
- transform(value) {
165
- return this._addStyle('transform', value);
166
- }
167
- transformOrigin(value) {
168
- return this._addStyle('transform-origin', value);
169
- }
170
- // Transition & Animation
171
- transition(value) {
172
- return this._addStyle('transition', value);
173
- }
174
- animation(value) {
175
- return this._addStyle('animation', value);
176
- }
73
+ padding(value) { return this._addStyle('padding', value); }
74
+ margin(value) { return this._addStyle('margin', value); }
75
+ border(value) { return this._addStyle('border', value); }
76
+ borderRadius(value) { return this._addStyle('border-radius', value); }
77
+ width(value) { return this._addStyle('width', value); }
78
+ height(value) { return this._addStyle('height', value); }
79
+ minWidth(value) { return this._addStyle('min-width', value); }
80
+ maxWidth(value) { return this._addStyle('max-width', value); }
81
+ minHeight(value) { return this._addStyle('min-height', value); }
82
+ maxHeight(value) { return this._addStyle('max-height', value); }
83
+ background(value) { return this._addStyle('background', value); }
84
+ backgroundColor(value) { return this._addStyle('background-color', value); }
85
+ boxShadow(value) { return this._addStyle('box-shadow', value); }
86
+ opacity(value) { return this._addStyle('opacity', String(value)); }
87
+ position(value) { return this._addStyle('position', value); }
88
+ top(value) { return this._addStyle('top', value); }
89
+ right(value) { return this._addStyle('right', value); }
90
+ bottom(value) { return this._addStyle('bottom', value); }
91
+ left(value) { return this._addStyle('left', value); }
92
+ zIndex(value) { return this._addStyle('z-index', String(value)); }
93
+ overflow(value) { return this._addStyle('overflow', value); }
94
+ overflowX(value) { return this._addStyle('overflow-x', value); }
95
+ overflowY(value) { return this._addStyle('overflow-y', value); }
96
+ display(value) { return this._addStyle('display', value); }
97
+ cursor(value) { return this._addStyle('cursor', value); }
98
+ transform(value) { return this._addStyle('transform', value); }
99
+ transformOrigin(value) { return this._addStyle('transform-origin', value); }
100
+ transition(value) { return this._addStyle('transition', value); }
101
+ animation(value) { return this._addStyle('animation', value); }
177
102
  /* ═════════════════════════════════════════════════════════════════
178
103
  * PROGRESSIVE CHILD STYLING
179
104
  * ═════════════════════════════════════════════════════════════════ */
180
- /**
181
- * Apply custom styles to each child progressively
182
- */
183
105
  childStyle(stylesOrFunction) {
184
106
  this.state.childStyles = stylesOrFunction;
185
107
  return this;
186
108
  }
187
- /**
188
- * Cascade effect - offset children progressively
189
- */
190
109
  cascade(baseOffset = 20, axis = 'both') {
191
110
  this.state.childStyles = (index) => {
192
111
  const offset = baseOffset * index;
@@ -202,9 +121,6 @@ export class BaseStack extends BaseComponent {
202
121
  };
203
122
  return this;
204
123
  }
205
- /**
206
- * Fan effect - rotate children progressively
207
- */
208
124
  fan(angle = 5, origin = 'bottom center') {
209
125
  this.state.childStyles = (index) => {
210
126
  const rotation = angle * index;
@@ -212,9 +128,6 @@ export class BaseStack extends BaseComponent {
212
128
  };
213
129
  return this;
214
130
  }
215
- /**
216
- * Scale progression - shrink/grow children
217
- */
218
131
  scaleProgressive(startScale = 1, step = 0.05, origin = 'center') {
219
132
  this.state.childStyles = (index) => {
220
133
  const scale = startScale - (step * index);
@@ -222,9 +135,6 @@ export class BaseStack extends BaseComponent {
222
135
  };
223
136
  return this;
224
137
  }
225
- /**
226
- * Fade effect - progressive opacity
227
- */
228
138
  fade(startOpacity = 1, step = 0.15) {
229
139
  this.state.childStyles = (index) => {
230
140
  const opacity = Math.max(0.1, startOpacity - (step * index));
@@ -232,9 +142,6 @@ export class BaseStack extends BaseComponent {
232
142
  };
233
143
  return this;
234
144
  }
235
- /**
236
- * Blur effect - progressive blur
237
- */
238
145
  blur(startBlur = 0, step = 2) {
239
146
  this.state.childStyles = (index) => {
240
147
  const blur = startBlur + (step * index);
@@ -242,9 +149,6 @@ export class BaseStack extends BaseComponent {
242
149
  };
243
150
  return this;
244
151
  }
245
- /**
246
- * Stagger animation delays
247
- */
248
152
  stagger(baseDelay = 100) {
249
153
  this.state.childStyles = (index) => {
250
154
  const delay = baseDelay * index;
@@ -258,78 +162,55 @@ export class BaseStack extends BaseComponent {
258
162
  buildClasses() {
259
163
  const { spacing, align, justify, divider, responsive } = this.state;
260
164
  const classes = [this.baseClassName];
261
- // Spacing modifier
262
165
  if (spacing !== 'default') {
263
166
  classes.push(`${this.baseClassName}-${spacing}`);
264
167
  }
265
- // Alignment
266
168
  if (align) {
267
169
  classes.push(`jux-stack-${align}`);
268
170
  }
269
- // Justification
270
171
  if (justify) {
271
172
  classes.push(`jux-stack-justify-${justify}`);
272
173
  }
273
- // Divider
274
174
  if (divider) {
275
175
  classes.push(`${this.baseClassName}-divider`);
276
176
  }
277
- // Responsive
278
177
  if (responsive) {
279
178
  classes.push(`${this.baseClassName}-responsive`);
280
179
  }
281
- // Custom classes
282
180
  if (this.state.class) {
283
181
  classes.push(this.state.class);
284
182
  }
285
183
  return classes.join(' ');
286
184
  }
287
185
  renderChild(child, index) {
288
- // Already a string
186
+ let childElement;
187
+ // String - wrap in div
289
188
  if (typeof child === 'string') {
290
- return this.wrapChildWithStyle(child, index);
189
+ childElement = document.createElement('div');
190
+ childElement.textContent = child;
291
191
  }
292
- // JUX component with render method
293
- if (child && typeof child.render === 'function') {
294
- // Create temporary container
295
- const temp = document.createElement('div');
296
- child.render(temp);
297
- if (child.container) {
298
- let html = child.container.outerHTML;
299
- child.container = null; // Reset for reuse
300
- return this.injectChildStyle(html, index);
301
- }
192
+ // JUX Component - render it
193
+ else if (child && typeof child.render === 'function' && 'container' in child) {
194
+ const tempContainer = document.createElement('div');
195
+ child.render(tempContainer);
196
+ childElement = child.container || tempContainer.firstElementChild;
302
197
  }
303
- // DOM element
304
- if (child && child.outerHTML) {
305
- return this.injectChildStyle(child.outerHTML, index);
198
+ // DOM Element - use directly
199
+ else if (child instanceof HTMLElement) {
200
+ childElement = child;
306
201
  }
307
- // Object with render method that returns string/element
308
- if (child && typeof child.render === 'function') {
309
- const rendered = child.render();
310
- if (typeof rendered === 'string') {
311
- return this.wrapChildWithStyle(rendered, index);
312
- }
313
- if (rendered && rendered.outerHTML) {
314
- return this.injectChildStyle(rendered.outerHTML, index);
315
- }
202
+ // Fallback
203
+ else {
204
+ childElement = document.createElement('div');
205
+ childElement.textContent = String(child);
316
206
  }
317
- // Fallback to string
318
- return this.wrapChildWithStyle(String(child), index);
319
- }
320
- wrapChildWithStyle(html, index) {
321
- const style = this.getChildStyle(index);
322
- if (style) {
323
- return `<div style="${style}">${html}</div>`;
324
- }
325
- return html;
326
- }
327
- injectChildStyle(html, index) {
328
- const style = this.getChildStyle(index);
329
- if (style) {
330
- return html.replace(/^<(\w+)/, `<$1 style="${style}"`);
207
+ // Apply child styles
208
+ const styleStr = this.getChildStyle(index);
209
+ if (styleStr) {
210
+ const existingStyle = childElement.getAttribute('style') || '';
211
+ childElement.setAttribute('style', existingStyle + '; ' + styleStr);
331
212
  }
332
- return html;
213
+ return childElement;
333
214
  }
334
215
  getChildStyle(index) {
335
216
  const { childStyles } = this.state;
@@ -351,18 +232,13 @@ export class BaseStack extends BaseComponent {
351
232
  const wrapper = document.createElement('div');
352
233
  wrapper.className = this.buildClasses();
353
234
  wrapper.id = this._id;
354
- // ✅ Apply the built style string
355
235
  if (this.state.style) {
356
236
  wrapper.setAttribute('style', this.state.style);
357
237
  }
358
238
  // Render all children
359
239
  this.state.children.forEach((child, index) => {
360
- const childHtml = this.renderChild(child, index);
361
- const tempDiv = document.createElement('div');
362
- tempDiv.innerHTML = childHtml;
363
- if (tempDiv.firstChild) {
364
- wrapper.appendChild(tempDiv.firstChild);
365
- }
240
+ const childEl = this.renderChild(child, index);
241
+ wrapper.appendChild(childEl);
366
242
  });
367
243
  this._wireStandardEvents(wrapper);
368
244
  container.appendChild(wrapper);
@@ -30,16 +30,14 @@ interface StackState extends BaseState {
30
30
 
31
31
  /**
32
32
  * BaseStack - Foundation for all stack layout components
33
- * Provides common styling, child management, and progressive effects
34
33
  */
35
34
  export abstract class BaseStack extends BaseComponent<StackState> {
36
35
  protected abstract baseClassName: string;
37
- private _inlineStyles: Map<string, string> = new Map(); // ✅ Stores individual CSS properties
36
+ private _inlineStyles: Map<string, string> = new Map();
38
37
 
39
38
  constructor(id: string, children: Record<string, any> | any[], options: StackOptions = {}) {
40
- // Convert children object to array, preserving order
41
- const childArray = Array.isArray(children)
42
- ? children
39
+ const childArray = Array.isArray(children)
40
+ ? children
43
41
  : Object.values(children);
44
42
 
45
43
  super(id, {
@@ -97,173 +95,65 @@ export abstract class BaseStack extends BaseComponent<StackState> {
97
95
  }
98
96
 
99
97
  /* ═════════════════════════════════════════════════════════════════
100
- * FLUENT STYLE API - Comprehensive CSS properties
98
+ * FLUENT STYLE API
101
99
  * ═════════════════════════════════════════════════════════════════ */
102
100
 
103
- /**
104
- * Internal helper to add individual CSS properties
105
- */
106
101
  private _addStyle(property: string, value: string): this {
107
- this._inlineStyles.set(property, value); // ✅ Store in Map
108
- this._updateStyleAttribute(); // ✅ Rebuild style string
102
+ this._inlineStyles.set(property, value);
103
+ this._updateStyleAttribute();
109
104
  return this;
110
105
  }
111
106
 
112
- /**
113
- * Build and apply the complete style attribute
114
- */
115
107
  private _updateStyleAttribute(): void {
116
- const styleString = Array.from(this._inlineStyles.entries()) // ✅ Convert Map to array
117
- .map(([prop, val]) => `${prop}: ${val}`) // ✅ Format each entry
118
- .join('; '); // ✅ Join with semicolons
119
-
108
+ const styleString = Array.from(this._inlineStyles.entries())
109
+ .map(([prop, val]) => `${prop}: ${val}`)
110
+ .join('; ');
111
+
120
112
  this.state.style = styleString;
121
113
  }
122
114
 
123
- // Box Model
124
- padding(value: string): this {
125
- return this._addStyle('padding', value);
126
- }
127
-
128
- margin(value: string): this {
129
- return this._addStyle('margin', value);
130
- }
131
-
132
- border(value: string): this {
133
- return this._addStyle('border', value);
134
- }
135
-
136
- borderRadius(value: string): this {
137
- return this._addStyle('border-radius', value);
138
- }
139
-
140
- // Sizing
141
- width(value: string): this {
142
- return this._addStyle('width', value);
143
- }
144
-
145
- height(value: string): this {
146
- return this._addStyle('height', value);
147
- }
148
-
149
- minWidth(value: string): this {
150
- return this._addStyle('min-width', value);
151
- }
152
-
153
- maxWidth(value: string): this {
154
- return this._addStyle('max-width', value);
155
- }
156
-
157
- minHeight(value: string): this {
158
- return this._addStyle('min-height', value);
159
- }
160
-
161
- maxHeight(value: string): this {
162
- return this._addStyle('max-height', value);
163
- }
164
-
165
- // Visual
166
- background(value: string): this {
167
- return this._addStyle('background', value);
168
- }
169
-
170
- backgroundColor(value: string): this {
171
- return this._addStyle('background-color', value);
172
- }
173
-
174
- boxShadow(value: string): this {
175
- return this._addStyle('box-shadow', value);
176
- }
177
-
178
- opacity(value: string | number): this {
179
- return this._addStyle('opacity', String(value));
180
- }
181
-
182
- // Positioning
183
- position(value: 'static' | 'relative' | 'absolute' | 'fixed' | 'sticky'): this {
184
- return this._addStyle('position', value);
185
- }
186
-
187
- top(value: string): this {
188
- return this._addStyle('top', value);
189
- }
190
-
191
- right(value: string): this {
192
- return this._addStyle('right', value);
193
- }
194
-
195
- bottom(value: string): this {
196
- return this._addStyle('bottom', value);
197
- }
198
-
199
- left(value: string): this {
200
- return this._addStyle('left', value);
201
- }
202
-
203
- zIndex(value: string | number): this {
204
- return this._addStyle('z-index', String(value));
205
- }
206
-
207
- // Overflow
208
- overflow(value: 'visible' | 'hidden' | 'scroll' | 'auto'): this {
209
- return this._addStyle('overflow', value);
210
- }
211
-
212
- overflowX(value: 'visible' | 'hidden' | 'scroll' | 'auto'): this {
213
- return this._addStyle('overflow-x', value);
214
- }
215
-
216
- overflowY(value: 'visible' | 'hidden' | 'scroll' | 'auto'): this {
217
- return this._addStyle('overflow-y', value);
218
- }
219
-
220
- // Display
221
- display(value: string): this {
222
- return this._addStyle('display', value);
223
- }
224
-
225
- // Cursor
226
- cursor(value: string): this {
227
- return this._addStyle('cursor', value);
228
- }
229
-
230
- // Transform
231
- transform(value: string): this {
232
- return this._addStyle('transform', value);
233
- }
234
-
235
- transformOrigin(value: string): this {
236
- return this._addStyle('transform-origin', value);
237
- }
238
-
239
- // Transition & Animation
240
- transition(value: string): this {
241
- return this._addStyle('transition', value);
242
- }
243
-
244
- animation(value: string): this {
245
- return this._addStyle('animation', value);
246
- }
115
+ padding(value: string): this { return this._addStyle('padding', value); }
116
+ margin(value: string): this { return this._addStyle('margin', value); }
117
+ border(value: string): this { return this._addStyle('border', value); }
118
+ borderRadius(value: string): this { return this._addStyle('border-radius', value); }
119
+ width(value: string): this { return this._addStyle('width', value); }
120
+ height(value: string): this { return this._addStyle('height', value); }
121
+ minWidth(value: string): this { return this._addStyle('min-width', value); }
122
+ maxWidth(value: string): this { return this._addStyle('max-width', value); }
123
+ minHeight(value: string): this { return this._addStyle('min-height', value); }
124
+ maxHeight(value: string): this { return this._addStyle('max-height', value); }
125
+ background(value: string): this { return this._addStyle('background', value); }
126
+ backgroundColor(value: string): this { return this._addStyle('background-color', value); }
127
+ boxShadow(value: string): this { return this._addStyle('box-shadow', value); }
128
+ opacity(value: string | number): this { return this._addStyle('opacity', String(value)); }
129
+ position(value: string): this { return this._addStyle('position', value); }
130
+ top(value: string): this { return this._addStyle('top', value); }
131
+ right(value: string): this { return this._addStyle('right', value); }
132
+ bottom(value: string): this { return this._addStyle('bottom', value); }
133
+ left(value: string): this { return this._addStyle('left', value); }
134
+ zIndex(value: string | number): this { return this._addStyle('z-index', String(value)); }
135
+ overflow(value: string): this { return this._addStyle('overflow', value); }
136
+ overflowX(value: string): this { return this._addStyle('overflow-x', value); }
137
+ overflowY(value: string): this { return this._addStyle('overflow-y', value); }
138
+ display(value: string): this { return this._addStyle('display', value); }
139
+ cursor(value: string): this { return this._addStyle('cursor', value); }
140
+ transform(value: string): this { return this._addStyle('transform', value); }
141
+ transformOrigin(value: string): this { return this._addStyle('transform-origin', value); }
142
+ transition(value: string): this { return this._addStyle('transition', value); }
143
+ animation(value: string): this { return this._addStyle('animation', value); }
247
144
 
248
145
  /* ═════════════════════════════════════════════════════════════════
249
146
  * PROGRESSIVE CHILD STYLING
250
147
  * ═════════════════════════════════════════════════════════════════ */
251
148
 
252
- /**
253
- * Apply custom styles to each child progressively
254
- */
255
149
  childStyle(stylesOrFunction: string[] | ChildStyleFunction): this {
256
150
  this.state.childStyles = stylesOrFunction;
257
151
  return this;
258
152
  }
259
153
 
260
- /**
261
- * Cascade effect - offset children progressively
262
- */
263
154
  cascade(baseOffset: number = 20, axis: 'x' | 'y' | 'both' | 'horizontal' | 'vertical' | 'xy' = 'both'): this {
264
155
  this.state.childStyles = (index: number) => {
265
156
  const offset = baseOffset * index;
266
-
267
157
  if (axis === 'horizontal' || axis === 'x') {
268
158
  return `margin-left: ${offset}px;`;
269
159
  } else if (axis === 'vertical' || axis === 'y') {
@@ -275,9 +165,6 @@ export abstract class BaseStack extends BaseComponent<StackState> {
275
165
  return this;
276
166
  }
277
167
 
278
- /**
279
- * Fan effect - rotate children progressively
280
- */
281
168
  fan(angle: number = 5, origin: string = 'bottom center'): this {
282
169
  this.state.childStyles = (index: number) => {
283
170
  const rotation = angle * index;
@@ -286,9 +173,6 @@ export abstract class BaseStack extends BaseComponent<StackState> {
286
173
  return this;
287
174
  }
288
175
 
289
- /**
290
- * Scale progression - shrink/grow children
291
- */
292
176
  scaleProgressive(startScale: number = 1, step: number = 0.05, origin: string = 'center'): this {
293
177
  this.state.childStyles = (index: number) => {
294
178
  const scale = startScale - (step * index);
@@ -297,9 +181,6 @@ export abstract class BaseStack extends BaseComponent<StackState> {
297
181
  return this;
298
182
  }
299
183
 
300
- /**
301
- * Fade effect - progressive opacity
302
- */
303
184
  fade(startOpacity: number = 1, step: number = 0.15): this {
304
185
  this.state.childStyles = (index: number) => {
305
186
  const opacity = Math.max(0.1, startOpacity - (step * index));
@@ -308,9 +189,6 @@ export abstract class BaseStack extends BaseComponent<StackState> {
308
189
  return this;
309
190
  }
310
191
 
311
- /**
312
- * Blur effect - progressive blur
313
- */
314
192
  blur(startBlur: number = 0, step: number = 2): this {
315
193
  this.state.childStyles = (index: number) => {
316
194
  const blur = startBlur + (step * index);
@@ -319,9 +197,6 @@ export abstract class BaseStack extends BaseComponent<StackState> {
319
197
  return this;
320
198
  }
321
199
 
322
- /**
323
- * Stagger animation delays
324
- */
325
200
  stagger(baseDelay: number = 100): this {
326
201
  this.state.childStyles = (index: number) => {
327
202
  const delay = baseDelay * index;
@@ -336,112 +211,83 @@ export abstract class BaseStack extends BaseComponent<StackState> {
336
211
 
337
212
  protected buildClasses(): string {
338
213
  const { spacing, align, justify, divider, responsive } = this.state;
339
-
214
+
340
215
  const classes = [this.baseClassName];
341
-
342
- // Spacing modifier
216
+
343
217
  if (spacing !== 'default') {
344
218
  classes.push(`${this.baseClassName}-${spacing}`);
345
219
  }
346
-
347
- // Alignment
220
+
348
221
  if (align) {
349
222
  classes.push(`jux-stack-${align}`);
350
223
  }
351
-
352
- // Justification
224
+
353
225
  if (justify) {
354
226
  classes.push(`jux-stack-justify-${justify}`);
355
227
  }
356
-
357
- // Divider
228
+
358
229
  if (divider) {
359
230
  classes.push(`${this.baseClassName}-divider`);
360
231
  }
361
-
362
- // Responsive
232
+
363
233
  if (responsive) {
364
234
  classes.push(`${this.baseClassName}-responsive`);
365
235
  }
366
-
367
- // Custom classes
236
+
368
237
  if (this.state.class) {
369
238
  classes.push(this.state.class);
370
239
  }
371
-
240
+
372
241
  return classes.join(' ');
373
242
  }
374
243
 
375
- protected renderChild(child: any, index: number): string {
376
- // Already a string
244
+ protected renderChild(child: any, index: number): HTMLElement {
245
+ let childElement: HTMLElement;
246
+
247
+ // String - wrap in div
377
248
  if (typeof child === 'string') {
378
- return this.wrapChildWithStyle(child, index);
249
+ childElement = document.createElement('div');
250
+ childElement.textContent = child;
379
251
  }
380
-
381
- // JUX component with render method
382
- if (child && typeof child.render === 'function') {
383
- // Create temporary container
384
- const temp = document.createElement('div');
385
- child.render(temp);
386
-
387
- if (child.container) {
388
- let html = child.container.outerHTML;
389
- child.container = null; // Reset for reuse
390
- return this.injectChildStyle(html, index);
391
- }
252
+ // JUX Component - render it
253
+ else if (child && typeof child.render === 'function' && 'container' in child) {
254
+ const tempContainer = document.createElement('div');
255
+ child.render(tempContainer);
256
+ childElement = child.container || tempContainer.firstElementChild as HTMLElement;
392
257
  }
393
-
394
- // DOM element
395
- if (child && child.outerHTML) {
396
- return this.injectChildStyle(child.outerHTML, index);
258
+ // DOM Element - use directly
259
+ else if (child instanceof HTMLElement) {
260
+ childElement = child;
397
261
  }
398
-
399
- // Object with render method that returns string/element
400
- if (child && typeof child.render === 'function') {
401
- const rendered = child.render();
402
-
403
- if (typeof rendered === 'string') {
404
- return this.wrapChildWithStyle(rendered, index);
405
- }
406
-
407
- if (rendered && rendered.outerHTML) {
408
- return this.injectChildStyle(rendered.outerHTML, index);
409
- }
262
+ // Fallback
263
+ else {
264
+ childElement = document.createElement('div');
265
+ childElement.textContent = String(child);
410
266
  }
411
267
 
412
- // Fallback to string
413
- return this.wrapChildWithStyle(String(child), index);
414
- }
415
-
416
- private wrapChildWithStyle(html: string, index: number): string {
417
- const style = this.getChildStyle(index);
418
- if (style) {
419
- return `<div style="${style}">${html}</div>`;
268
+ // Apply child styles
269
+ const styleStr = this.getChildStyle(index);
270
+ if (styleStr) {
271
+ const existingStyle = childElement.getAttribute('style') || '';
272
+ childElement.setAttribute('style', existingStyle + '; ' + styleStr);
420
273
  }
421
- return html;
422
- }
423
274
 
424
- private injectChildStyle(html: string, index: number): string {
425
- const style = this.getChildStyle(index);
426
- if (style) {
427
- return html.replace(/^<(\w+)/, `<$1 style="${style}"`);
428
- }
429
- return html;
275
+ return childElement;
430
276
  }
431
277
 
432
278
  private getChildStyle(index: number): string {
433
279
  const { childStyles } = this.state;
434
-
280
+
435
281
  if (!childStyles) return '';
436
-
282
+
437
283
  if (typeof childStyles === 'function') {
438
284
  return childStyles(index);
439
285
  }
440
-
286
+
441
287
  if (Array.isArray(childStyles)) {
442
288
  return childStyles[index] || '';
443
289
  }
444
-
290
+
445
291
  return '';
446
292
  }
447
293
 
@@ -455,21 +301,15 @@ export abstract class BaseStack extends BaseComponent<StackState> {
455
301
  const wrapper = document.createElement('div');
456
302
  wrapper.className = this.buildClasses();
457
303
  wrapper.id = this._id;
458
-
459
- // ✅ Apply the built style string
304
+
460
305
  if (this.state.style) {
461
306
  wrapper.setAttribute('style', this.state.style);
462
307
  }
463
308
 
464
309
  // Render all children
465
310
  this.state.children.forEach((child, index) => {
466
- const childHtml = this.renderChild(child, index);
467
- const tempDiv = document.createElement('div');
468
- tempDiv.innerHTML = childHtml;
469
-
470
- if (tempDiv.firstChild) {
471
- wrapper.appendChild(tempDiv.firstChild);
472
- }
311
+ const childEl = this.renderChild(child, index);
312
+ wrapper.appendChild(childEl);
473
313
  });
474
314
 
475
315
  this._wireStandardEvents(wrapper);
@@ -1,15 +1,7 @@
1
1
  import { BaseStack, StackOptions } from './BaseStack.js';
2
- /**
3
- * HStack - Horizontal Stack Component
4
- * Arranges children in a horizontal row
5
- */
6
2
  export declare class HStack extends BaseStack {
7
3
  protected baseClassName: string;
8
4
  constructor(id: string, children: Record<string, any> | any[], options?: StackOptions);
9
- /**
10
- * ✅ Static create method with auto-render
11
- * Allows: hstack.create({ children }, options).padding('20px').render()
12
- */
13
5
  static create(children: Record<string, any> | any[], options?: StackOptions): HStack;
14
6
  }
15
7
  export declare function hstack(id: string, children: Record<string, any> | any[], options?: StackOptions): HStack;
@@ -1 +1 @@
1
- {"version":3,"file":"HStack.d.ts","sourceRoot":"","sources":["HStack.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEzD;;;GAGG;AACH,qBAAa,MAAO,SAAQ,SAAS;IACjC,SAAS,CAAC,aAAa,SAAgB;gBAE3B,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,EAAE,OAAO,GAAE,YAAiB;IAIzF;;;OAGG;IACH,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,EAAE,OAAO,GAAE,YAAiB,GAAG,MAAM;CAY3F;AAED,wBAAgB,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,EAAE,OAAO,GAAE,YAAiB,GAAG,MAAM,CAE5G"}
1
+ {"version":3,"file":"HStack.d.ts","sourceRoot":"","sources":["HStack.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEzD,qBAAa,MAAO,SAAQ,SAAS;IACjC,SAAS,CAAC,aAAa,SAAgB;gBAE3B,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,EAAE,OAAO,GAAE,YAAiB;IAIzF,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,EAAE,OAAO,GAAE,YAAiB,GAAG,MAAM;CAY3F;AAED,wBAAgB,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,EAAE,OAAO,GAAE,YAAiB,GAAG,MAAM,CAE5G"}
@@ -1,17 +1,9 @@
1
1
  import { BaseStack } from './BaseStack.js';
2
- /**
3
- * HStack - Horizontal Stack Component
4
- * Arranges children in a horizontal row
5
- */
6
2
  export class HStack extends BaseStack {
7
3
  constructor(id, children, options = {}) {
8
4
  super(id, children, options);
9
5
  this.baseClassName = 'jux-hstack';
10
6
  }
11
- /**
12
- * ✅ Static create method with auto-render
13
- * Allows: hstack.create({ children }, options).padding('20px').render()
14
- */
15
7
  static create(children, options = {}) {
16
8
  const id = `hstack-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`;
17
9
  const instance = new HStack(id, children, options);
@@ -1,9 +1,5 @@
1
1
  import { BaseStack, StackOptions } from './BaseStack.js';
2
2
 
3
- /**
4
- * HStack - Horizontal Stack Component
5
- * Arranges children in a horizontal row
6
- */
7
3
  export class HStack extends BaseStack {
8
4
  protected baseClassName = 'jux-hstack';
9
5
 
@@ -11,10 +7,6 @@ export class HStack extends BaseStack {
11
7
  super(id, children, options);
12
8
  }
13
9
 
14
- /**
15
- * ✅ Static create method with auto-render
16
- * Allows: hstack.create({ children }, options).padding('20px').render()
17
- */
18
10
  static create(children: Record<string, any> | any[], options: StackOptions = {}): HStack {
19
11
  const id = `hstack-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`;
20
12
  const instance = new HStack(id, children, options);
@@ -1,14 +1,9 @@
1
1
  import { BaseStack, StackOptions } from './BaseStack.js';
2
- /**
3
- * VStack - Vertical Stack Component
4
- * Arranges children in a vertical column
5
- */
6
2
  export declare class VStack extends BaseStack {
7
3
  protected baseClassName: string;
8
4
  constructor(id: string, children: Record<string, any> | any[], options?: StackOptions);
9
5
  /**
10
6
  * ✅ Static create method with auto-render
11
- * Allows: vstack.create({ children }, options).padding('20px').render()
12
7
  */
13
8
  static create(children: Record<string, any> | any[], options?: StackOptions): VStack;
14
9
  }
@@ -1 +1 @@
1
- {"version":3,"file":"VStack.d.ts","sourceRoot":"","sources":["VStack.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEzD;;;GAGG;AACH,qBAAa,MAAO,SAAQ,SAAS;IACjC,SAAS,CAAC,aAAa,SAAgB;gBAE3B,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,EAAE,OAAO,GAAE,YAAiB;IAIzF;;;OAGG;IACH,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,EAAE,OAAO,GAAE,YAAiB,GAAG,MAAM;CAc3F;AAED,wBAAgB,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,EAAE,OAAO,GAAE,YAAiB,GAAG,MAAM,CAE5G"}
1
+ {"version":3,"file":"VStack.d.ts","sourceRoot":"","sources":["VStack.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEzD,qBAAa,MAAO,SAAQ,SAAS;IACjC,SAAS,CAAC,aAAa,SAAgB;gBAE3B,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,EAAE,OAAO,GAAE,YAAiB;IAIzF;;OAEG;IACH,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,EAAE,OAAO,GAAE,YAAiB,GAAG,MAAM;CAa3F;AAED,wBAAgB,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,EAAE,OAAO,GAAE,YAAiB,GAAG,MAAM,CAE5G"}
@@ -1,8 +1,4 @@
1
1
  import { BaseStack } from './BaseStack.js';
2
- /**
3
- * VStack - Vertical Stack Component
4
- * Arranges children in a vertical column
5
- */
6
2
  export class VStack extends BaseStack {
7
3
  constructor(id, children, options = {}) {
8
4
  super(id, children, options);
@@ -10,13 +6,11 @@ export class VStack extends BaseStack {
10
6
  }
11
7
  /**
12
8
  * ✅ Static create method with auto-render
13
- * Allows: vstack.create({ children }, options).padding('20px').render()
14
9
  */
15
10
  static create(children, options = {}) {
16
- // Generate unique ID for anonymous stacks
17
11
  const id = `vstack-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`;
18
12
  const instance = new VStack(id, children, options);
19
- // Auto-render after microtask to allow chaining
13
+ // Auto-render after microtask
20
14
  queueMicrotask(() => {
21
15
  if (!instance.container) {
22
16
  instance.render('app');
@@ -1,9 +1,5 @@
1
1
  import { BaseStack, StackOptions } from './BaseStack.js';
2
2
 
3
- /**
4
- * VStack - Vertical Stack Component
5
- * Arranges children in a vertical column
6
- */
7
3
  export class VStack extends BaseStack {
8
4
  protected baseClassName = 'jux-vstack';
9
5
 
@@ -13,14 +9,12 @@ export class VStack extends BaseStack {
13
9
 
14
10
  /**
15
11
  * ✅ Static create method with auto-render
16
- * Allows: vstack.create({ children }, options).padding('20px').render()
17
12
  */
18
13
  static create(children: Record<string, any> | any[], options: StackOptions = {}): VStack {
19
- // Generate unique ID for anonymous stacks
20
14
  const id = `vstack-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`;
21
15
  const instance = new VStack(id, children, options);
22
16
 
23
- // Auto-render after microtask to allow chaining
17
+ // Auto-render after microtask
24
18
  queueMicrotask(() => {
25
19
  if (!instance.container) {
26
20
  instance.render('app');
@@ -1,15 +1,7 @@
1
1
  import { BaseStack, StackOptions } from './BaseStack.js';
2
- /**
3
- * ZStack - Layered/Overlapping Stack Component
4
- * Stacks children on top of each other (z-axis)
5
- */
6
2
  export declare class ZStack extends BaseStack {
7
3
  protected baseClassName: string;
8
4
  constructor(id: string, children: Record<string, any> | any[], options?: StackOptions);
9
- /**
10
- * ✅ Static create method with auto-render
11
- * Allows: zstack.create({ children }, options).cascade(30).render()
12
- */
13
5
  static create(children: Record<string, any> | any[], options?: StackOptions): ZStack;
14
6
  }
15
7
  export declare function zstack(id: string, children: Record<string, any> | any[], options?: StackOptions): ZStack;
@@ -1 +1 @@
1
- {"version":3,"file":"ZStack.d.ts","sourceRoot":"","sources":["ZStack.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEzD;;;GAGG;AACH,qBAAa,MAAO,SAAQ,SAAS;IACjC,SAAS,CAAC,aAAa,SAAgB;gBAE3B,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,EAAE,OAAO,GAAE,YAAiB;IAIzF;;;OAGG;IACH,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,EAAE,OAAO,GAAE,YAAiB,GAAG,MAAM;CAY3F;AAED,wBAAgB,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,EAAE,OAAO,GAAE,YAAiB,GAAG,MAAM,CAE5G"}
1
+ {"version":3,"file":"ZStack.d.ts","sourceRoot":"","sources":["ZStack.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEzD,qBAAa,MAAO,SAAQ,SAAS;IACjC,SAAS,CAAC,aAAa,SAAgB;gBAE3B,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,EAAE,OAAO,GAAE,YAAiB;IAIzF,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,EAAE,OAAO,GAAE,YAAiB,GAAG,MAAM;CAY3F;AAED,wBAAgB,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,EAAE,OAAO,GAAE,YAAiB,GAAG,MAAM,CAE5G"}
@@ -1,17 +1,9 @@
1
1
  import { BaseStack } from './BaseStack.js';
2
- /**
3
- * ZStack - Layered/Overlapping Stack Component
4
- * Stacks children on top of each other (z-axis)
5
- */
6
2
  export class ZStack extends BaseStack {
7
3
  constructor(id, children, options = {}) {
8
4
  super(id, children, options);
9
5
  this.baseClassName = 'jux-zstack';
10
6
  }
11
- /**
12
- * ✅ Static create method with auto-render
13
- * Allows: zstack.create({ children }, options).cascade(30).render()
14
- */
15
7
  static create(children, options = {}) {
16
8
  const id = `zstack-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`;
17
9
  const instance = new ZStack(id, children, options);
@@ -1,9 +1,5 @@
1
1
  import { BaseStack, StackOptions } from './BaseStack.js';
2
2
 
3
- /**
4
- * ZStack - Layered/Overlapping Stack Component
5
- * Stacks children on top of each other (z-axis)
6
- */
7
3
  export class ZStack extends BaseStack {
8
4
  protected baseClassName = 'jux-zstack';
9
5
 
@@ -11,10 +7,6 @@ export class ZStack extends BaseStack {
11
7
  super(id, children, options);
12
8
  }
13
9
 
14
- /**
15
- * ✅ Static create method with auto-render
16
- * Allows: zstack.create({ children }, options).cascade(30).render()
17
- */
18
10
  static create(children: Record<string, any> | any[], options: StackOptions = {}): ZStack {
19
11
  const id = `zstack-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`;
20
12
  const instance = new ZStack(id, children, options);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "juxscript",
3
- "version": "1.1.89",
3
+ "version": "1.1.91",
4
4
  "type": "module",
5
5
  "description": "A JavaScript UX authorship platform",
6
6
  "main": "index.js",