juxscript 1.0.87 → 1.0.89

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.
Files changed (55) hide show
  1. package/lib/componentsv2/base/BaseEngine.d.ts +10 -0
  2. package/lib/componentsv2/base/BaseEngine.d.ts.map +1 -1
  3. package/lib/componentsv2/base/BaseEngine.js +28 -7
  4. package/lib/componentsv2/base/BaseEngine.js.map +1 -1
  5. package/lib/componentsv2/base/BaseEngine.ts +29 -0
  6. package/lib/componentsv2/base/OptionsContract.d.ts +20 -0
  7. package/lib/componentsv2/base/OptionsContract.d.ts.map +1 -0
  8. package/lib/componentsv2/base/OptionsContract.js +107 -0
  9. package/lib/componentsv2/base/OptionsContract.js.map +1 -0
  10. package/lib/componentsv2/base/OptionsContract.ts +139 -0
  11. package/lib/componentsv2/element/component.d.ts +22 -0
  12. package/lib/componentsv2/element/component.d.ts.map +1 -1
  13. package/lib/componentsv2/element/component.js +22 -0
  14. package/lib/componentsv2/element/component.js.map +1 -1
  15. package/lib/componentsv2/element/component.ts +23 -1
  16. package/lib/componentsv2/element/engine.d.ts +31 -14
  17. package/lib/componentsv2/element/engine.d.ts.map +1 -1
  18. package/lib/componentsv2/element/engine.js +74 -23
  19. package/lib/componentsv2/element/engine.js.map +1 -1
  20. package/lib/componentsv2/element/engine.ts +86 -29
  21. package/lib/componentsv2/element/skin.d.ts.map +1 -1
  22. package/lib/componentsv2/element/skin.js +7 -10
  23. package/lib/componentsv2/element/skin.js.map +1 -1
  24. package/lib/componentsv2/element/skin.ts +7 -11
  25. package/lib/componentsv2/grid/engine.d.ts +48 -3
  26. package/lib/componentsv2/grid/engine.d.ts.map +1 -1
  27. package/lib/componentsv2/grid/engine.js +109 -14
  28. package/lib/componentsv2/grid/engine.js.map +1 -1
  29. package/lib/componentsv2/grid/engine.ts +120 -16
  30. package/lib/componentsv2/index.d.ts +7 -0
  31. package/lib/componentsv2/index.d.ts.map +1 -1
  32. package/lib/componentsv2/index.js +2 -0
  33. package/lib/componentsv2/index.js.map +1 -1
  34. package/lib/componentsv2/index.ts +2 -0
  35. package/lib/componentsv2/input/engine.d.ts +48 -5
  36. package/lib/componentsv2/input/engine.d.ts.map +1 -1
  37. package/lib/componentsv2/input/engine.js +108 -15
  38. package/lib/componentsv2/input/engine.js.map +1 -1
  39. package/lib/componentsv2/input/engine.ts +119 -16
  40. package/lib/componentsv2/input/skin.d.ts.map +1 -1
  41. package/lib/componentsv2/input/skin.js +1 -4
  42. package/lib/componentsv2/input/skin.js.map +1 -1
  43. package/lib/componentsv2/input/skin.ts +1 -4
  44. package/lib/componentsv2/list/component.d.ts +28 -6
  45. package/lib/componentsv2/list/component.d.ts.map +1 -1
  46. package/lib/componentsv2/list/component.js +28 -6
  47. package/lib/componentsv2/list/component.js.map +1 -1
  48. package/lib/componentsv2/list/component.ts +28 -6
  49. package/lib/componentsv2/list/engine.d.ts +61 -9
  50. package/lib/componentsv2/list/engine.d.ts.map +1 -1
  51. package/lib/componentsv2/list/engine.js +156 -95
  52. package/lib/componentsv2/list/engine.js.map +1 -1
  53. package/lib/componentsv2/list/engine.ts +175 -108
  54. package/lib/componentsv2/stubs/ComponentSkin.ts.stub +2 -1
  55. package/package.json +1 -1
@@ -3,6 +3,50 @@ export class GridEngine extends BaseEngine {
3
3
  constructor(id, options = {}) {
4
4
  super(id, options);
5
5
  }
6
+ /**
7
+ * OPTIONS CONTRACT
8
+ * Defines valid options with types, defaults, and aliases for common mistakes.
9
+ */
10
+ get optionsSchema() {
11
+ return {
12
+ rows: {
13
+ type: 'array',
14
+ default: [{ size: '1fr' }],
15
+ description: 'Row definitions (number or array of GridTrackConfig)',
16
+ aliases: ['row', 'rowCount', 'numRows']
17
+ },
18
+ columns: {
19
+ type: 'array',
20
+ default: [{ size: '1fr' }],
21
+ description: 'Column definitions (number or array of GridTrackConfig)',
22
+ aliases: ['cols', 'column', 'colCount', 'numCols', 'numColumns']
23
+ },
24
+ gap: {
25
+ type: 'string',
26
+ default: '0',
27
+ description: 'Gap between grid cells (CSS value)',
28
+ aliases: ['gridGap', 'spacing', 'gutter']
29
+ },
30
+ boundaryWidth: {
31
+ type: 'string',
32
+ default: '100%',
33
+ description: 'Grid container width (CSS value)',
34
+ aliases: ['width', 'w']
35
+ },
36
+ boundaryHeight: {
37
+ type: 'string',
38
+ default: '100%',
39
+ description: 'Grid container height (CSS value)',
40
+ aliases: ['height', 'h']
41
+ },
42
+ gridder: {
43
+ type: 'boolean',
44
+ default: false,
45
+ description: 'Enable debug/blueprint mode',
46
+ aliases: ['debug', 'blueprint', 'showGrid']
47
+ }
48
+ };
49
+ }
6
50
  prepareState(id, options) {
7
51
  return {
8
52
  id,
@@ -11,12 +55,11 @@ export class GridEngine extends BaseEngine {
11
55
  disabled: false,
12
56
  loading: false,
13
57
  attributes: {},
14
- // FIX: Use standard private method instead of JS private '#' to allow access during super() call
15
58
  rows: this.normalizeTracks(options.rows || 1),
16
59
  columns: this.normalizeTracks(options.columns || 1),
17
60
  gap: options.gap || '0',
18
- boundaryWidth: options.width || '100%',
19
- boundaryHeight: options.height || '100%',
61
+ boundaryWidth: options.boundaryWidth || '100%',
62
+ boundaryHeight: options.boundaryHeight || '100%',
20
63
  gridder: options.gridder || false
21
64
  };
22
65
  }
@@ -37,37 +80,89 @@ export class GridEngine extends BaseEngine {
37
80
  class: t.class
38
81
  }));
39
82
  }
40
- // --- Mutators ---
41
- setRows(input) {
83
+ // --- State-Aligned Methods ---
84
+ /**
85
+ * Set rows configuration
86
+ * Method name matches state property: rows
87
+ */
88
+ rows(input) {
42
89
  this.updateState({ rows: this.normalizeTracks(input) });
43
90
  this.emit('layout:rows', { rows: this.state.rows });
44
91
  return this;
45
92
  }
46
- setColumns(input) {
93
+ /**
94
+ * Set columns configuration
95
+ * Method name matches state property: columns
96
+ */
97
+ columns(input) {
47
98
  this.updateState({ columns: this.normalizeTracks(input) });
48
99
  this.emit('layout:columns', { columns: this.state.columns });
49
100
  return this;
50
101
  }
51
- setGap(gap) {
52
- this.updateState({ gap });
53
- this.emit('layout:gap', { gap });
102
+ /**
103
+ * Set gap between cells
104
+ * Method name matches state property: gap
105
+ */
106
+ gap(value) {
107
+ this.updateState({ gap: value });
108
+ this.emit('layout:gap', { gap: value });
54
109
  return this;
55
110
  }
56
- setWidth(width) {
111
+ /**
112
+ * Set container width
113
+ * Method name matches state property: boundaryWidth
114
+ */
115
+ boundaryWidth(width) {
57
116
  this.updateState({ boundaryWidth: width });
58
117
  this.emit('layout:resize', { width });
59
118
  return this;
60
119
  }
61
- setHeight(height) {
120
+ /**
121
+ * Set container height
122
+ * Method name matches state property: boundaryHeight
123
+ */
124
+ boundaryHeight(height) {
62
125
  this.updateState({ boundaryHeight: height });
63
126
  this.emit('layout:resize', { height });
64
127
  return this;
65
128
  }
129
+ /**
130
+ * Set gridder (debug) mode
131
+ * Method name matches state property: gridder
132
+ */
133
+ gridder(active) {
134
+ this.updateState({ gridder: active });
135
+ this.emit('debug:gridder', { active });
136
+ return this;
137
+ }
138
+ // --- Convenience Aliases ---
139
+ /** @alias for rows() */
140
+ setRows(input) {
141
+ return this.rows(input);
142
+ }
143
+ /** @alias for columns() */
144
+ setColumns(input) {
145
+ return this.columns(input);
146
+ }
147
+ /** @alias for gap() */
148
+ setGap(value) {
149
+ return this.gap(value);
150
+ }
151
+ /** @alias for boundaryWidth() */
152
+ setWidth(width) {
153
+ return this.boundaryWidth(width);
154
+ }
155
+ /** @alias for boundaryHeight() */
156
+ setHeight(height) {
157
+ return this.boundaryHeight(height);
158
+ }
159
+ /**
160
+ * Toggle gridder mode
161
+ * @alias Convenience method that toggles gridder state
162
+ */
66
163
  toggleGridder(active) {
67
164
  const next = active !== undefined ? active : !this.state.gridder;
68
- this.updateState({ gridder: next });
69
- this.emit('debug:gridder', { active: next });
70
- return this;
165
+ return this.gridder(next);
71
166
  }
72
167
  }
73
168
  //# sourceMappingURL=engine.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"engine.js","sourceRoot":"","sources":["engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["engine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAa,MAAM,uBAAuB,CAAC;AA8B9D,MAAM,OAAO,UAAW,SAAQ,UAAkC;IAC9D,YAAY,EAAU,EAAE,UAAuB,EAAE;QAC7C,KAAK,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IACvB,CAAC;IAED;;;OAGG;IACH,IAAc,aAAa;QACvB,OAAO;YACH,IAAI,EAAE;gBACF,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;gBAC1B,WAAW,EAAE,sDAAsD;gBACnE,OAAO,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,SAAS,CAAC;aAC1C;YACD,OAAO,EAAE;gBACL,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;gBAC1B,WAAW,EAAE,yDAAyD;gBACtE,OAAO,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,CAAC;aACnE;YACD,GAAG,EAAE;gBACD,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,GAAG;gBACZ,WAAW,EAAE,oCAAoC;gBACjD,OAAO,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC;aAC5C;YACD,aAAa,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,MAAM;gBACf,WAAW,EAAE,kCAAkC;gBAC/C,OAAO,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC;aAC1B;YACD,cAAc,EAAE;gBACZ,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,MAAM;gBACf,WAAW,EAAE,mCAAmC;gBAChD,OAAO,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC;aAC3B;YACD,OAAO,EAAE;gBACL,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,KAAK;gBACd,WAAW,EAAE,6BAA6B;gBAC1C,OAAO,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,UAAU,CAAC;aAC9C;SACJ,CAAC;IACN,CAAC;IAES,YAAY,CAAC,EAAU,EAAE,OAAoB;QACnD,OAAO;YACH,EAAE;YACF,OAAO,EAAE,CAAC,UAAU,CAAC;YACrB,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,KAAK;YACd,UAAU,EAAE,EAAE;YACd,IAAI,EAAE,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC;YAC7C,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,OAAO,IAAI,CAAC,CAAC;YACnD,GAAG,EAAE,OAAO,CAAC,GAAG,IAAI,GAAG;YACvB,aAAa,EAAE,OAAO,CAAC,aAAa,IAAI,MAAM;YAC9C,cAAc,EAAE,OAAO,CAAC,cAAc,IAAI,MAAM;YAChD,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,KAAK;SACpC,CAAC;IACN,CAAC;IAED,kBAAkB;IAElB;;;;OAIG;IACK,eAAe,CAAC,KAAgB;QACpC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC5B,0CAA0C;YAC1C,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAC9C,CAAC;QACD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACnB,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,KAAK;YACrB,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,KAAK,EAAE,CAAC,CAAC,KAAK;SACjB,CAAC,CAAC,CAAC;IACR,CAAC;IAED,gCAAgC;IAEhC;;;OAGG;IACH,IAAI,CAAC,KAAgB;QACjB,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACxD,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QACpD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;OAGG;IACH,OAAO,CAAC,KAAgB;QACpB,IAAI,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC3D,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAC7D,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;OAGG;IACH,GAAG,CAAC,KAAa;QACb,IAAI,CAAC,WAAW,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;QACjC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;QACxC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;OAGG;IACH,aAAa,CAAC,KAAa;QACvB,IAAI,CAAC,WAAW,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;QAC3C,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;OAGG;IACH,cAAc,CAAC,MAAc;QACzB,IAAI,CAAC,WAAW,CAAC,EAAE,cAAc,EAAE,MAAM,EAAE,CAAC,CAAC;QAC7C,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;QACvC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;OAGG;IACH,OAAO,CAAC,MAAe;QACnB,IAAI,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QACtC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;QACvC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,8BAA8B;IAE9B,wBAAwB;IACxB,OAAO,CAAC,KAAgB;QACpB,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IAED,2BAA2B;IAC3B,UAAU,CAAC,KAAgB;QACvB,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAED,uBAAuB;IACvB,MAAM,CAAC,KAAa;QAChB,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;IAED,iCAAiC;IACjC,QAAQ,CAAC,KAAa;QAClB,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IAED,kCAAkC;IAClC,SAAS,CAAC,MAAc;QACpB,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IACvC,CAAC;IAED;;;OAGG;IACH,aAAa,CAAC,MAAgB;QAC1B,MAAM,IAAI,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;QACjE,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;CACJ"}
@@ -1,4 +1,5 @@
1
1
  import { BaseEngine, BaseState } from '../base/BaseEngine.js';
2
+ import { OptionsContractSchema } from '../base/OptionsContract.js';
2
3
 
3
4
  export interface GridTrackConfig {
4
5
  size?: string; // CSS size (e.g. "20%", "1fr", "100px")
@@ -22,8 +23,8 @@ export interface GridOptions {
22
23
  rows?: GridInput;
23
24
  columns?: GridInput;
24
25
  gap?: string;
25
- width?: string;
26
- height?: string;
26
+ boundaryWidth?: string;
27
+ boundaryHeight?: string;
27
28
  gridder?: boolean;
28
29
  }
29
30
 
@@ -32,6 +33,51 @@ export class GridEngine extends BaseEngine<GridState, GridOptions> {
32
33
  super(id, options);
33
34
  }
34
35
 
36
+ /**
37
+ * OPTIONS CONTRACT
38
+ * Defines valid options with types, defaults, and aliases for common mistakes.
39
+ */
40
+ protected get optionsSchema(): OptionsContractSchema {
41
+ return {
42
+ rows: {
43
+ type: 'array',
44
+ default: [{ size: '1fr' }],
45
+ description: 'Row definitions (number or array of GridTrackConfig)',
46
+ aliases: ['row', 'rowCount', 'numRows']
47
+ },
48
+ columns: {
49
+ type: 'array',
50
+ default: [{ size: '1fr' }],
51
+ description: 'Column definitions (number or array of GridTrackConfig)',
52
+ aliases: ['cols', 'column', 'colCount', 'numCols', 'numColumns']
53
+ },
54
+ gap: {
55
+ type: 'string',
56
+ default: '0',
57
+ description: 'Gap between grid cells (CSS value)',
58
+ aliases: ['gridGap', 'spacing', 'gutter']
59
+ },
60
+ boundaryWidth: {
61
+ type: 'string',
62
+ default: '100%',
63
+ description: 'Grid container width (CSS value)',
64
+ aliases: ['width', 'w']
65
+ },
66
+ boundaryHeight: {
67
+ type: 'string',
68
+ default: '100%',
69
+ description: 'Grid container height (CSS value)',
70
+ aliases: ['height', 'h']
71
+ },
72
+ gridder: {
73
+ type: 'boolean',
74
+ default: false,
75
+ description: 'Enable debug/blueprint mode',
76
+ aliases: ['debug', 'blueprint', 'showGrid']
77
+ }
78
+ };
79
+ }
80
+
35
81
  protected prepareState(id: string, options: GridOptions): GridState {
36
82
  return {
37
83
  id,
@@ -40,12 +86,11 @@ export class GridEngine extends BaseEngine<GridState, GridOptions> {
40
86
  disabled: false,
41
87
  loading: false,
42
88
  attributes: {},
43
- // FIX: Use standard private method instead of JS private '#' to allow access during super() call
44
89
  rows: this.normalizeTracks(options.rows || 1),
45
90
  columns: this.normalizeTracks(options.columns || 1),
46
91
  gap: options.gap || '0',
47
- boundaryWidth: options.width || '100%',
48
- boundaryHeight: options.height || '100%',
92
+ boundaryWidth: options.boundaryWidth || '100%',
93
+ boundaryHeight: options.boundaryHeight || '100%',
49
94
  gridder: options.gridder || false
50
95
  };
51
96
  }
@@ -69,42 +114,101 @@ export class GridEngine extends BaseEngine<GridState, GridOptions> {
69
114
  }));
70
115
  }
71
116
 
72
- // --- Mutators ---
117
+ // --- State-Aligned Methods ---
73
118
 
74
- setRows(input: GridInput): this {
119
+ /**
120
+ * Set rows configuration
121
+ * Method name matches state property: rows
122
+ */
123
+ rows(input: GridInput): this {
75
124
  this.updateState({ rows: this.normalizeTracks(input) });
76
125
  this.emit('layout:rows', { rows: this.state.rows });
77
126
  return this;
78
127
  }
79
128
 
80
- setColumns(input: GridInput): this {
129
+ /**
130
+ * Set columns configuration
131
+ * Method name matches state property: columns
132
+ */
133
+ columns(input: GridInput): this {
81
134
  this.updateState({ columns: this.normalizeTracks(input) });
82
135
  this.emit('layout:columns', { columns: this.state.columns });
83
136
  return this;
84
137
  }
85
138
 
86
- setGap(gap: string): this {
87
- this.updateState({ gap });
88
- this.emit('layout:gap', { gap });
139
+ /**
140
+ * Set gap between cells
141
+ * Method name matches state property: gap
142
+ */
143
+ gap(value: string): this {
144
+ this.updateState({ gap: value });
145
+ this.emit('layout:gap', { gap: value });
89
146
  return this;
90
147
  }
91
148
 
92
- setWidth(width: string): this {
149
+ /**
150
+ * Set container width
151
+ * Method name matches state property: boundaryWidth
152
+ */
153
+ boundaryWidth(width: string): this {
93
154
  this.updateState({ boundaryWidth: width });
94
155
  this.emit('layout:resize', { width });
95
156
  return this;
96
157
  }
97
158
 
98
- setHeight(height: string): this {
159
+ /**
160
+ * Set container height
161
+ * Method name matches state property: boundaryHeight
162
+ */
163
+ boundaryHeight(height: string): this {
99
164
  this.updateState({ boundaryHeight: height });
100
165
  this.emit('layout:resize', { height });
101
166
  return this;
102
167
  }
103
168
 
169
+ /**
170
+ * Set gridder (debug) mode
171
+ * Method name matches state property: gridder
172
+ */
173
+ gridder(active: boolean): this {
174
+ this.updateState({ gridder: active });
175
+ this.emit('debug:gridder', { active });
176
+ return this;
177
+ }
178
+
179
+ // --- Convenience Aliases ---
180
+
181
+ /** @alias for rows() */
182
+ setRows(input: GridInput): this {
183
+ return this.rows(input);
184
+ }
185
+
186
+ /** @alias for columns() */
187
+ setColumns(input: GridInput): this {
188
+ return this.columns(input);
189
+ }
190
+
191
+ /** @alias for gap() */
192
+ setGap(value: string): this {
193
+ return this.gap(value);
194
+ }
195
+
196
+ /** @alias for boundaryWidth() */
197
+ setWidth(width: string): this {
198
+ return this.boundaryWidth(width);
199
+ }
200
+
201
+ /** @alias for boundaryHeight() */
202
+ setHeight(height: string): this {
203
+ return this.boundaryHeight(height);
204
+ }
205
+
206
+ /**
207
+ * Toggle gridder mode
208
+ * @alias Convenience method that toggles gridder state
209
+ */
104
210
  toggleGridder(active?: boolean): this {
105
211
  const next = active !== undefined ? active : !this.state.gridder;
106
- this.updateState({ gridder: next });
107
- this.emit('debug:gridder', { active: next });
108
- return this;
212
+ return this.gridder(next);
109
213
  }
110
214
  }
@@ -21,6 +21,13 @@ export declare const juxV2: {
21
21
  List: typeof List;
22
22
  Grid: typeof Grid;
23
23
  Input: typeof Input;
24
+ Element: typeof Element;
25
+ reflection: {
26
+ tree: () => Record<string, any>;
27
+ use: (query: string) => any;
28
+ engines: () => string[];
29
+ log: () => void;
30
+ };
24
31
  events: import("./base/GlobalBus.js").JuxGlobalBus;
25
32
  plugins: {
26
33
  ServerSQLitePlugin: (config: import("./plugins/ServerSQLitePlugin.js").ServerSQLiteConfig) => import("./base/BaseEngine.js").JuxServiceContract<import("./base/BaseEngine.js").BaseEngine<any>>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAE7C,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAGjD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;AAwCtC,eAAO,MAAM,IAAI,2BAmGhB,CAAC;AAEF,eAAO,MAAM,GAAG,GAAI,OAAO,MAAM,QA8BhC,CAAC;AAEF,eAAO,MAAM,OAAO,gBAOnB,CAAC;AAEF,eAAO,MAAM,GAAG,YAsBf,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,MAAM;;iBArEQ,MAAM;;;CA0EhC,CAAC;AASF,eAAO,MAAM,KAAK;;;;;;;;;;;CAWjB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAE7C,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAGjD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;AAwCtC,eAAO,MAAM,IAAI,2BAmGhB,CAAC;AAEF,eAAO,MAAM,GAAG,GAAI,OAAO,MAAM,QA8BhC,CAAC;AAEF,eAAO,MAAM,OAAO,gBAOnB,CAAC;AAEF,eAAO,MAAM,GAAG,YAsBf,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,MAAM;;iBArEQ,MAAM;;;CA0EhC,CAAC;AASF,eAAO,MAAM,KAAK;;;;;;;qBAnFS,MAAM;;;;;;;;;;;CAgGhC,CAAC"}
@@ -208,6 +208,8 @@ export const juxV2 = {
208
208
  List,
209
209
  Grid,
210
210
  Input,
211
+ Element,
212
+ reflection: juxDef,
211
213
  events: GlobalBus,
212
214
  plugins: {
213
215
  ServerSQLitePlugin,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"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"}
@@ -241,6 +241,8 @@ export const juxV2 = {
241
241
  List,
242
242
  Grid,
243
243
  Input,
244
+ Element,
245
+ reflection: juxDef,
244
246
  events: GlobalBus,
245
247
  plugins: {
246
248
  ServerSQLitePlugin,
@@ -1,4 +1,5 @@
1
1
  import { BaseEngine, BaseState } from '../base/BaseEngine.js';
2
+ import { OptionsContractSchema } from '../base/OptionsContract.js';
2
3
  export interface InputState extends BaseState {
3
4
  value: string;
4
5
  label: string | null;
@@ -9,19 +10,61 @@ export interface InputState extends BaseState {
9
10
  }
10
11
  export interface InputOptions {
11
12
  value?: string | number;
12
- label?: string;
13
+ label?: string | null;
13
14
  placeholder?: string;
14
15
  type?: 'text' | 'number' | 'password' | 'email';
16
+ error?: string | null;
15
17
  readonly?: boolean;
16
18
  }
17
19
  export declare class InputEngine extends BaseEngine<InputState, InputOptions> {
18
20
  constructor(id: string, options?: InputOptions);
21
+ /**
22
+ * OPTIONS CONTRACT
23
+ * Defines valid options with types, defaults, and aliases for common mistakes.
24
+ */
25
+ protected get optionsSchema(): OptionsContractSchema;
19
26
  protected prepareState(id: string, options: InputOptions): InputState;
20
- setValue(value: string | number): this;
21
- setLabel(label: string): this;
27
+ /**
28
+ * Set input value
29
+ * Method name matches state property: value
30
+ */
31
+ value(val: string | number): this;
32
+ /**
33
+ * Set label text
34
+ * Method name matches state property: label
35
+ */
36
+ label(text: string | null): this;
37
+ /**
38
+ * Set placeholder text
39
+ * Method name matches state property: placeholder
40
+ */
41
+ placeholder(text: string): this;
42
+ /**
43
+ * Set input type
44
+ * Method name matches state property: type
45
+ */
46
+ type(inputType: 'text' | 'number' | 'password' | 'email'): this;
47
+ /**
48
+ * Set error message
49
+ * Method name matches state property: error
50
+ */
51
+ error(message: string | null): this;
52
+ /**
53
+ * Set readonly state
54
+ * Method name matches state property: readonly
55
+ */
56
+ readonly(isReadonly: boolean): this;
57
+ /** @alias for value() */
58
+ setValue(val: string | number): this;
59
+ /** @alias for label() */
60
+ setLabel(text: string): this;
61
+ /** @alias for placeholder() */
22
62
  setPlaceholder(text: string): this;
63
+ /** @alias for error() */
23
64
  setError(message: string | null): this;
24
- setType(type: 'text' | 'number' | 'password' | 'email'): this;
25
- setReadonly(readonly: boolean): this;
65
+ /** @alias for type() */
66
+ setType(inputType: 'text' | 'number' | 'password' | 'email'): this;
67
+ /** @alias for readonly() */
68
+ setReadonly(isReadonly: boolean): this;
26
69
  }
27
70
  //# sourceMappingURL=engine.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["engine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAE9D,MAAM,WAAW,UAAW,SAAQ,SAAS;IACzC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,UAAU,GAAG,OAAO,CAAC;IAC/C,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,QAAQ,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,YAAY;IACzB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,UAAU,GAAG,OAAO,CAAC;IAChD,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,qBAAa,WAAY,SAAQ,UAAU,CAAC,UAAU,EAAE,YAAY,CAAC;gBAErD,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,YAAiB;IAIlD,SAAS,CAAC,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG,UAAU;IAmBrE,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAMtC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK7B,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAKlC,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAMtC,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,UAAU,GAAG,OAAO,GAAG,IAAI;IAK7D,WAAW,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI;CAIvC"}
1
+ {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["engine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAEnE,MAAM,WAAW,UAAW,SAAQ,SAAS;IACzC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,UAAU,GAAG,OAAO,CAAC;IAC/C,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,QAAQ,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,YAAY;IACzB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,UAAU,GAAG,OAAO,CAAC;IAChD,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,qBAAa,WAAY,SAAQ,UAAU,CAAC,UAAU,EAAE,YAAY,CAAC;gBAErD,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,YAAiB;IAIlD;;;OAGG;IACH,SAAS,KAAK,aAAa,IAAI,qBAAqB,CAuCnD;IAED,SAAS,CAAC,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG,UAAU;IAmBrE;;;OAGG;IACH,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAMjC;;;OAGG;IACH,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAKhC;;;OAGG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAK/B;;;OAGG;IACH,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,QAAQ,GAAG,UAAU,GAAG,OAAO,GAAG,IAAI;IAK/D;;;OAGG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAMnC;;;OAGG;IACH,QAAQ,CAAC,UAAU,EAAE,OAAO,GAAG,IAAI;IAOnC,yBAAyB;IACzB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAIpC,yBAAyB;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAI5B,+BAA+B;IAC/B,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIlC,yBAAyB;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAItC,wBAAwB;IACxB,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,QAAQ,GAAG,UAAU,GAAG,OAAO,GAAG,IAAI;IAIlE,4BAA4B;IAC5B,WAAW,CAAC,UAAU,EAAE,OAAO,GAAG,IAAI;CAGzC"}