juxscript 1.1.402 → 1.1.404

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 (133) hide show
  1. package/dist/{components → containers}/c.d.ts.map +1 -1
  2. package/dist/{components → containers}/c.js.map +1 -1
  3. package/dist/containers/flex.d.ts +49 -0
  4. package/dist/containers/flex.d.ts.map +1 -0
  5. package/dist/containers/flex.js +122 -0
  6. package/dist/containers/flex.js.map +1 -0
  7. package/dist/{components → containers}/g.d.ts.map +1 -1
  8. package/dist/{components → containers}/g.js.map +1 -1
  9. package/dist/index.d.ts +6 -4
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +6 -4
  12. package/dist/index.js.map +1 -1
  13. package/dist/widgets/canvas.d.ts +31 -55
  14. package/dist/widgets/canvas.d.ts.map +1 -1
  15. package/dist/widgets/canvas.js +690 -539
  16. package/dist/widgets/canvas.js.map +1 -1
  17. package/package.json +1 -1
  18. package/dist/components/barChart.d.ts +0 -119
  19. package/dist/components/barChart.d.ts.map +0 -1
  20. package/dist/components/barChart.js +0 -555
  21. package/dist/components/barChart.js.map +0 -1
  22. package/dist/components/container.d.ts +0 -58
  23. package/dist/components/container.d.ts.map +0 -1
  24. package/dist/components/container.js +0 -152
  25. package/dist/components/container.js.map +0 -1
  26. package/dist/components/grid.d.ts +0 -58
  27. package/dist/components/grid.d.ts.map +0 -1
  28. package/dist/components/grid.js +0 -128
  29. package/dist/components/grid.js.map +0 -1
  30. package/dist/components/lineChart.d.ts +0 -104
  31. package/dist/components/lineChart.d.ts.map +0 -1
  32. package/dist/components/lineChart.js +0 -466
  33. package/dist/components/lineChart.js.map +0 -1
  34. package/dist/components/pieChart.d.ts +0 -93
  35. package/dist/components/pieChart.d.ts.map +0 -1
  36. package/dist/components/pieChart.js +0 -397
  37. package/dist/components/pieChart.js.map +0 -1
  38. package/dist/components/stack.d.ts +0 -42
  39. package/dist/components/stack.d.ts.map +0 -1
  40. package/dist/components/stack.js +0 -109
  41. package/dist/components/stack.js.map +0 -1
  42. package/dist/devtools/devtools.d.ts +0 -3
  43. package/dist/devtools/devtools.d.ts.map +0 -1
  44. package/dist/devtools/devtools.js +0 -182
  45. package/dist/devtools/devtools.js.map +0 -1
  46. package/dist/primitives/button.d.ts +0 -53
  47. package/dist/primitives/button.d.ts.map +0 -1
  48. package/dist/primitives/button.js +0 -170
  49. package/dist/primitives/button.js.map +0 -1
  50. package/dist/primitives/c.d.ts +0 -53
  51. package/dist/primitives/c.d.ts.map +0 -1
  52. package/dist/primitives/c.js +0 -127
  53. package/dist/primitives/c.js.map +0 -1
  54. package/dist/primitives/checkbox.d.ts +0 -92
  55. package/dist/primitives/checkbox.d.ts.map +0 -1
  56. package/dist/primitives/checkbox.js +0 -217
  57. package/dist/primitives/checkbox.js.map +0 -1
  58. package/dist/primitives/data.d.ts +0 -58
  59. package/dist/primitives/data.d.ts.map +0 -1
  60. package/dist/primitives/data.js +0 -131
  61. package/dist/primitives/data.js.map +0 -1
  62. package/dist/primitives/grid.d.ts +0 -58
  63. package/dist/primitives/grid.d.ts.map +0 -1
  64. package/dist/primitives/grid.js +0 -128
  65. package/dist/primitives/grid.js.map +0 -1
  66. package/dist/primitives/include.d.ts +0 -86
  67. package/dist/primitives/include.d.ts.map +0 -1
  68. package/dist/primitives/include.js +0 -239
  69. package/dist/primitives/include.js.map +0 -1
  70. package/dist/primitives/indexDb.d.ts +0 -80
  71. package/dist/primitives/indexDb.d.ts.map +0 -1
  72. package/dist/primitives/indexDb.js +0 -253
  73. package/dist/primitives/indexDb.js.map +0 -1
  74. package/dist/primitives/input.d.ts +0 -88
  75. package/dist/primitives/input.d.ts.map +0 -1
  76. package/dist/primitives/input.js +0 -216
  77. package/dist/primitives/input.js.map +0 -1
  78. package/dist/primitives/link.d.ts +0 -51
  79. package/dist/primitives/link.d.ts.map +0 -1
  80. package/dist/primitives/link.js +0 -178
  81. package/dist/primitives/link.js.map +0 -1
  82. package/dist/primitives/list.d.ts +0 -66
  83. package/dist/primitives/list.d.ts.map +0 -1
  84. package/dist/primitives/list.js +0 -233
  85. package/dist/primitives/list.js.map +0 -1
  86. package/dist/primitives/nav.d.ts +0 -64
  87. package/dist/primitives/nav.d.ts.map +0 -1
  88. package/dist/primitives/nav.js +0 -236
  89. package/dist/primitives/nav.js.map +0 -1
  90. package/dist/primitives/radio.d.ts +0 -58
  91. package/dist/primitives/radio.d.ts.map +0 -1
  92. package/dist/primitives/radio.js +0 -135
  93. package/dist/primitives/radio.js.map +0 -1
  94. package/dist/primitives/routes.d.ts +0 -15
  95. package/dist/primitives/routes.d.ts.map +0 -1
  96. package/dist/primitives/routes.js +0 -34
  97. package/dist/primitives/routes.js.map +0 -1
  98. package/dist/primitives/select.d.ts +0 -67
  99. package/dist/primitives/select.d.ts.map +0 -1
  100. package/dist/primitives/select.js +0 -160
  101. package/dist/primitives/select.js.map +0 -1
  102. package/dist/primitives/style.d.ts +0 -27
  103. package/dist/primitives/style.d.ts.map +0 -1
  104. package/dist/primitives/style.js +0 -53
  105. package/dist/primitives/style.js.map +0 -1
  106. package/dist/primitives/table.d.ts +0 -83
  107. package/dist/primitives/table.d.ts.map +0 -1
  108. package/dist/primitives/table.js +0 -264
  109. package/dist/primitives/table.js.map +0 -1
  110. package/dist/primitives/tabs.d.ts +0 -75
  111. package/dist/primitives/tabs.d.ts.map +0 -1
  112. package/dist/primitives/tabs.js +0 -263
  113. package/dist/primitives/tabs.js.map +0 -1
  114. package/dist/primitives/tag.d.ts +0 -92
  115. package/dist/primitives/tag.d.ts.map +0 -1
  116. package/dist/primitives/tag.js +0 -151
  117. package/dist/primitives/tag.js.map +0 -1
  118. package/dist/services/db.d.ts +0 -44
  119. package/dist/services/db.d.ts.map +0 -1
  120. package/dist/services/db.js +0 -59
  121. package/dist/services/db.js.map +0 -1
  122. package/dist/services/email.d.ts +0 -50
  123. package/dist/services/email.d.ts.map +0 -1
  124. package/dist/services/email.js +0 -60
  125. package/dist/services/email.js.map +0 -1
  126. package/dist/services/s3.d.ts +0 -61
  127. package/dist/services/s3.d.ts.map +0 -1
  128. package/dist/services/s3.js +0 -79
  129. package/dist/services/s3.js.map +0 -1
  130. /package/dist/{components → containers}/c.d.ts +0 -0
  131. /package/dist/{components → containers}/c.js +0 -0
  132. /package/dist/{components → containers}/g.d.ts +0 -0
  133. /package/dist/{components → containers}/g.js +0 -0
@@ -1,92 +0,0 @@
1
- interface CheckboxOption {
2
- label: string;
3
- value: string;
4
- disabled?: boolean;
5
- checked?: boolean;
6
- }
7
- interface CheckboxOptions {
8
- label?: string;
9
- checked?: boolean;
10
- disabled?: boolean;
11
- class?: string;
12
- style?: string;
13
- onChange?: (checked: boolean, event: Event) => void;
14
- }
15
- interface CheckboxGroupOptions {
16
- label?: string;
17
- options?: CheckboxOption[];
18
- values?: string[];
19
- direction?: 'vertical' | 'horizontal';
20
- disabled?: boolean;
21
- class?: string;
22
- style?: string;
23
- onChange?: (values: string[], event: Event) => void;
24
- }
25
- declare class Checkbox {
26
- id: string;
27
- opts: CheckboxOptions;
28
- private _element;
29
- private _wrapper;
30
- private _onChange;
31
- constructor(id: string, options?: CheckboxOptions);
32
- label(value: string): this;
33
- checked(value?: boolean): this;
34
- disabled(value?: boolean): this;
35
- style(value: string): this;
36
- class(value: string): this;
37
- onChange(fn: (checked: boolean, event: Event) => void): this;
38
- /** Returns the reactive pageState proxy for this component */
39
- get state(): any;
40
- getValue(): boolean;
41
- getLabel(): string;
42
- getChecked(): boolean;
43
- getDisabled(): boolean;
44
- getClass(): string;
45
- getStyle(): string;
46
- setValue(val: boolean): this;
47
- setChecked(val: boolean): this;
48
- setLabel(val: string): this;
49
- setDisabled(val: boolean): this;
50
- setClass(val: string): this;
51
- setStyle(val: string): this;
52
- render(target?: string | HTMLElement): this;
53
- }
54
- declare class CheckboxGroup {
55
- id: string;
56
- opts: CheckboxGroupOptions;
57
- private _wrapper;
58
- private _inputs;
59
- private _onChange;
60
- constructor(id: string, options?: CheckboxGroupOptions);
61
- label(value: string): this;
62
- direction(value: 'vertical' | 'horizontal'): this;
63
- disabled(value?: boolean): this;
64
- style(value: string): this;
65
- class(value: string): this;
66
- options(opts: CheckboxOption[]): this;
67
- values(vals: string[]): this;
68
- onChange(fn: (values: string[], event: Event) => void): this;
69
- /** Returns the reactive pageState proxy for this component */
70
- get state(): any;
71
- getValues(): string[];
72
- getLabel(): string;
73
- getDirection(): string;
74
- getDisabled(): boolean;
75
- getClass(): string;
76
- getStyle(): string;
77
- setValues(vals: string[]): this;
78
- setOptions(opts: CheckboxOption[]): this;
79
- setLabel(val: string): this;
80
- setDirection(val: 'vertical' | 'horizontal'): this;
81
- setDisabled(val: boolean): this;
82
- setClass(val: string): this;
83
- setStyle(val: string): this;
84
- getOptions(): CheckboxOption[];
85
- private _rebuild;
86
- private _buildOptions;
87
- render(target?: string | HTMLElement): this;
88
- }
89
- export declare function checkbox(id: string, options?: CheckboxOptions): Checkbox;
90
- export declare function checkboxGroup(id: string, options?: CheckboxGroupOptions): CheckboxGroup;
91
- export { Checkbox, CheckboxGroup, CheckboxOption, CheckboxOptions, CheckboxGroupOptions };
92
- //# sourceMappingURL=checkbox.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"checkbox.d.ts","sourceRoot":"","sources":["../../lib/primitives/checkbox.ts"],"names":[],"mappings":"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"}
@@ -1,217 +0,0 @@
1
- import generateId from '../utils/idgen.js';
2
- import { pageState } from '../state/pageState.js';
3
- // ═══════════════════════════════════════════════════════════
4
- // Standalone Checkbox (boolean toggle)
5
- // ═══════════════════════════════════════════════════════════
6
- class Checkbox {
7
- constructor(id, options = {}) {
8
- this._element = null;
9
- this._wrapper = null;
10
- this._onChange = null;
11
- this.id = id || generateId();
12
- this.opts = options;
13
- }
14
- label(value) { this.opts.label = value; return this; }
15
- checked(value = true) { this.opts.checked = value; if (this._element)
16
- this._element.checked = value; return this; }
17
- disabled(value = true) { this.opts.disabled = value; if (this._element)
18
- this._element.disabled = value; return this; }
19
- style(value) { this.opts.style = value; return this; }
20
- class(value) { this.opts.class = value; return this; }
21
- onChange(fn) {
22
- this._onChange = fn;
23
- return this;
24
- }
25
- /** Returns the reactive pageState proxy for this component */
26
- get state() {
27
- return pageState[this.id];
28
- }
29
- getValue() {
30
- return this._element?.checked ?? this.opts.checked ?? false;
31
- }
32
- getLabel() { return this.opts.label ?? ''; }
33
- getChecked() { return this.getValue(); }
34
- getDisabled() { return this.opts.disabled ?? false; }
35
- getClass() { return this.opts.class ?? ''; }
36
- getStyle() { return this.opts.style ?? ''; }
37
- setValue(val) { return this.checked(val); }
38
- setChecked(val) { return this.checked(val); }
39
- setLabel(val) { return this.label(val); }
40
- setDisabled(val) { return this.disabled(val); }
41
- setClass(val) { return this.class(val); }
42
- setStyle(val) { return this.style(val); }
43
- render(target) {
44
- const wrapper = document.createElement('label');
45
- wrapper.className = 'jux-checkbox';
46
- wrapper.id = `${this.id}-wrapper`;
47
- if (this.opts.class)
48
- wrapper.className += ` ${this.opts.class}`;
49
- if (this.opts.style)
50
- wrapper.setAttribute('style', this.opts.style);
51
- const inp = document.createElement('input');
52
- inp.type = 'checkbox';
53
- inp.id = this.id;
54
- inp.className = 'jux-checkbox-input';
55
- if (this.opts.checked)
56
- inp.checked = true;
57
- if (this.opts.disabled)
58
- inp.disabled = true;
59
- inp.addEventListener('change', (e) => {
60
- if (this._onChange)
61
- this._onChange(inp.checked, e);
62
- });
63
- wrapper.appendChild(inp);
64
- if (this.opts.label) {
65
- const text = document.createElement('span');
66
- text.className = 'jux-checkbox-label';
67
- text.textContent = this.opts.label;
68
- wrapper.appendChild(text);
69
- }
70
- this._element = inp;
71
- this._wrapper = wrapper;
72
- // Wire up option-based handler
73
- if (this.opts.onChange)
74
- this._onChange = this.opts.onChange;
75
- const container = target
76
- ? (typeof target === 'string' ? document.getElementById(target) || document.querySelector(target) : target)
77
- : document.getElementById('app');
78
- container?.appendChild(wrapper);
79
- return this;
80
- }
81
- }
82
- // ═══════════════════════════════════════════════════════════
83
- // CheckboxGroup (multi-select from options)
84
- // ═══════════════════════════════════════════════════════════
85
- class CheckboxGroup {
86
- constructor(id, options = {}) {
87
- this._wrapper = null;
88
- this._inputs = [];
89
- this._onChange = null;
90
- this.id = id || generateId();
91
- this.opts = {
92
- options: [],
93
- values: [],
94
- direction: 'vertical',
95
- ...options
96
- };
97
- }
98
- label(value) { this.opts.label = value; return this; }
99
- direction(value) { this.opts.direction = value; return this; }
100
- disabled(value = true) { this.opts.disabled = value; return this; }
101
- style(value) { this.opts.style = value; return this; }
102
- class(value) { this.opts.class = value; return this; }
103
- options(opts) {
104
- this.opts.options = opts;
105
- if (this._wrapper)
106
- this._rebuild();
107
- return this;
108
- }
109
- values(vals) {
110
- this.opts.values = vals;
111
- this._inputs.forEach(inp => {
112
- inp.checked = vals.includes(inp.value);
113
- });
114
- return this;
115
- }
116
- onChange(fn) {
117
- this._onChange = fn;
118
- return this;
119
- }
120
- /** Returns the reactive pageState proxy for this component */
121
- get state() {
122
- return pageState[this.id];
123
- }
124
- getValues() {
125
- return this._inputs.filter(i => i.checked).map(i => i.value);
126
- }
127
- getLabel() { return this.opts.label ?? ''; }
128
- getDirection() { return this.opts.direction ?? 'vertical'; }
129
- getDisabled() { return this.opts.disabled ?? false; }
130
- getClass() { return this.opts.class ?? ''; }
131
- getStyle() { return this.opts.style ?? ''; }
132
- setValues(vals) { return this.values(vals); }
133
- setOptions(opts) { return this.options(opts); }
134
- setLabel(val) { return this.label(val); }
135
- setDirection(val) { return this.direction(val); }
136
- setDisabled(val) { return this.disabled(val); }
137
- setClass(val) { return this.class(val); }
138
- setStyle(val) { return this.style(val); }
139
- getOptions() { return this.opts.options ?? []; }
140
- _rebuild() {
141
- if (!this._wrapper)
142
- return;
143
- const group = this._wrapper.querySelector('.jux-checkbox-options');
144
- if (!group)
145
- return;
146
- group.innerHTML = '';
147
- this._inputs = [];
148
- this._buildOptions(group);
149
- }
150
- _buildOptions(container) {
151
- for (const opt of this.opts.options || []) {
152
- const item = document.createElement('label');
153
- item.className = 'jux-checkbox-item';
154
- const inp = document.createElement('input');
155
- inp.type = 'checkbox';
156
- inp.value = opt.value;
157
- inp.className = 'jux-checkbox-input';
158
- if (opt.checked || this.opts.values?.includes(opt.value))
159
- inp.checked = true;
160
- if (opt.disabled || this.opts.disabled)
161
- inp.disabled = true;
162
- inp.addEventListener('change', (e) => {
163
- if (this._onChange)
164
- this._onChange(this.getValues(), e);
165
- });
166
- const text = document.createElement('span');
167
- text.className = 'jux-checkbox-label';
168
- text.textContent = opt.label;
169
- item.appendChild(inp);
170
- item.appendChild(text);
171
- container.appendChild(item);
172
- this._inputs.push(inp);
173
- }
174
- }
175
- render(target) {
176
- const wrapper = document.createElement('fieldset');
177
- wrapper.className = 'jux-checkbox-group';
178
- wrapper.id = this.id;
179
- if (this.opts.class)
180
- wrapper.className += ` ${this.opts.class}`;
181
- if (this.opts.style)
182
- wrapper.setAttribute('style', this.opts.style);
183
- if (this.opts.label) {
184
- const legend = document.createElement('legend');
185
- legend.textContent = this.opts.label;
186
- legend.className = 'jux-checkbox-group-label';
187
- wrapper.appendChild(legend);
188
- }
189
- const optionsDiv = document.createElement('div');
190
- optionsDiv.className = `jux-checkbox-options jux-checkbox-${this.opts.direction}`;
191
- this._buildOptions(optionsDiv);
192
- wrapper.appendChild(optionsDiv);
193
- this._wrapper = wrapper;
194
- // Wire up option-based handler
195
- if (this.opts.onChange)
196
- this._onChange = this.opts.onChange;
197
- const container = target
198
- ? (typeof target === 'string' ? document.getElementById(target) || document.querySelector(target) : target)
199
- : document.getElementById('app');
200
- container?.appendChild(wrapper);
201
- return this;
202
- }
203
- }
204
- export function checkbox(id, options = {}) {
205
- const c = new Checkbox(id, options);
206
- c.render();
207
- pageState.__register(c);
208
- return c;
209
- }
210
- export function checkboxGroup(id, options = {}) {
211
- const g = new CheckboxGroup(id, options);
212
- g.render();
213
- pageState.__register(g);
214
- return g;
215
- }
216
- export { Checkbox, CheckboxGroup };
217
- //# sourceMappingURL=checkbox.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"checkbox.js","sourceRoot":"","sources":["../../lib/primitives/checkbox.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AA6BlD,8DAA8D;AAC9D,uCAAuC;AACvC,8DAA8D;AAE9D,MAAM,QAAQ;IAOV,YAAY,EAAU,EAAE,UAA2B,EAAE;QAJ7C,aAAQ,GAA4B,IAAI,CAAC;QACzC,aAAQ,GAAuB,IAAI,CAAC;QACpC,cAAS,GAAsD,IAAI,CAAC;QAGxE,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,UAAU,EAAE,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,KAAa,IAAU,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;IACpE,OAAO,CAAC,QAAiB,IAAI,IAAU,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ;QAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;IAClI,QAAQ,CAAC,QAAiB,IAAI,IAAU,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ;QAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;IACrI,KAAK,CAAC,KAAa,IAAU,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;IACpE,KAAK,CAAC,KAAa,IAAU,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;IAEpE,QAAQ,CAAC,EAA4C;QACjD,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,8DAA8D;IAC9D,IAAI,KAAK;QACL,OAAO,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC9B,CAAC;IAED,QAAQ;QACJ,OAAO,IAAI,CAAC,QAAQ,EAAE,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,KAAK,CAAC;IAChE,CAAC;IAED,QAAQ,KAAa,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC;IACpD,UAAU,KAAc,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IACjD,WAAW,KAAc,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAC,CAAC,CAAC;IAC9D,QAAQ,KAAa,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC;IACpD,QAAQ,KAAa,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC;IAEpD,QAAQ,CAAC,GAAY,IAAU,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC1D,UAAU,CAAC,GAAY,IAAU,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC5D,QAAQ,CAAC,GAAW,IAAU,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACvD,WAAW,CAAC,GAAY,IAAU,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC9D,QAAQ,CAAC,GAAW,IAAU,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACvD,QAAQ,CAAC,GAAW,IAAU,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAEvD,MAAM,CAAC,MAA6B;QAChC,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAChD,OAAO,CAAC,SAAS,GAAG,cAAc,CAAC;QACnC,OAAO,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,EAAE,UAAU,CAAC;QAClC,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,OAAO,CAAC,SAAS,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QAChE,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEpE,MAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAC5C,GAAG,CAAC,IAAI,GAAG,UAAU,CAAC;QACtB,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;QACjB,GAAG,CAAC,SAAS,GAAG,oBAAoB,CAAC;QACrC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC;QAC1C,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC;QAE5C,GAAG,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;YACjC,IAAI,IAAI,CAAC,SAAS;gBAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAEzB,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAClB,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YAC5C,IAAI,CAAC,SAAS,GAAG,oBAAoB,CAAC;YACtC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;YACnC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC;QAED,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;QACpB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QAExB,+BAA+B;QAC/B,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;QAE5D,MAAM,SAAS,GAAG,MAAM;YACpB,CAAC,CAAC,CAAC,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YAC3G,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QACrC,SAAS,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;QAEhC,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAED,8DAA8D;AAC9D,4CAA4C;AAC5C,8DAA8D;AAE9D,MAAM,aAAa;IAOf,YAAY,EAAU,EAAE,UAAgC,EAAE;QAJlD,aAAQ,GAAuB,IAAI,CAAC;QACpC,YAAO,GAAuB,EAAE,CAAC;QACjC,cAAS,GAAsD,IAAI,CAAC;QAGxE,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,UAAU,EAAE,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG;YACR,OAAO,EAAE,EAAE;YACX,MAAM,EAAE,EAAE;YACV,SAAS,EAAE,UAAU;YACrB,GAAG,OAAO;SACb,CAAC;IACN,CAAC;IAED,KAAK,CAAC,KAAa,IAAU,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;IACpE,SAAS,CAAC,KAAgC,IAAU,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;IAC/F,QAAQ,CAAC,QAAiB,IAAI,IAAU,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;IAClF,KAAK,CAAC,KAAa,IAAU,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;IACpE,KAAK,CAAC,KAAa,IAAU,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;IAEpE,OAAO,CAAC,IAAsB;QAC1B,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACzB,IAAI,IAAI,CAAC,QAAQ;YAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;QACnC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,IAAc;QACjB,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YACvB,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,QAAQ,CAAC,EAA4C;QACjD,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,8DAA8D;IAC9D,IAAI,KAAK;QACL,OAAO,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC9B,CAAC;IAED,SAAS;QACL,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACjE,CAAC;IAED,QAAQ,KAAa,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC;IACpD,YAAY,KAAa,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,UAAU,CAAC,CAAC,CAAC;IACpE,WAAW,KAAc,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAC,CAAC,CAAC;IAC9D,QAAQ,KAAa,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC;IACpD,QAAQ,KAAa,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC;IAEpD,SAAS,CAAC,IAAc,IAAU,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC7D,UAAU,CAAC,IAAsB,IAAU,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACvE,QAAQ,CAAC,GAAW,IAAU,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACvD,YAAY,CAAC,GAA8B,IAAU,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAClF,WAAW,CAAC,GAAY,IAAU,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC9D,QAAQ,CAAC,GAAW,IAAU,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACvD,QAAQ,CAAC,GAAW,IAAU,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAEvD,UAAU,KAAuB,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC;IAE1D,QAAQ;QACZ,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,OAAO;QAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,uBAAuB,CAAC,CAAC;QACnE,IAAI,CAAC,KAAK;YAAE,OAAO;QACnB,KAAK,CAAC,SAAS,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC,aAAa,CAAC,KAAoB,CAAC,CAAC;IAC7C,CAAC;IAEO,aAAa,CAAC,SAAsB;QACxC,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;YACxC,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YAC7C,IAAI,CAAC,SAAS,GAAG,mBAAmB,CAAC;YAErC,MAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YAC5C,GAAG,CAAC,IAAI,GAAG,UAAU,CAAC;YACtB,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;YACtB,GAAG,CAAC,SAAS,GAAG,oBAAoB,CAAC;YACrC,IAAI,GAAG,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC;gBAAE,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC;YAC7E,IAAI,GAAG,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ;gBAAE,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC;YAE5D,GAAG,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;gBACjC,IAAI,IAAI,CAAC,SAAS;oBAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC;YAC5D,CAAC,CAAC,CAAC;YAEH,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YAC5C,IAAI,CAAC,SAAS,GAAG,oBAAoB,CAAC;YACtC,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC,KAAK,CAAC;YAE7B,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YACvB,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAC5B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC3B,CAAC;IACL,CAAC;IAED,MAAM,CAAC,MAA6B;QAChC,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QACnD,OAAO,CAAC,SAAS,GAAG,oBAAoB,CAAC;QACzC,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;QACrB,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,OAAO,CAAC,SAAS,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QAChE,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEpE,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAClB,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YAChD,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;YACrC,MAAM,CAAC,SAAS,GAAG,0BAA0B,CAAC;YAC9C,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAChC,CAAC;QAED,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACjD,UAAU,CAAC,SAAS,GAAG,qCAAqC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;QAClF,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QAC/B,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QAEhC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QAExB,+BAA+B;QAC/B,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;QAE5D,MAAM,SAAS,GAAG,MAAM;YACpB,CAAC,CAAC,CAAC,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YAC3G,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QACrC,SAAS,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;QAEhC,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAED,MAAM,UAAU,QAAQ,CAAC,EAAU,EAAE,UAA2B,EAAE;IAC9D,MAAM,CAAC,GAAG,IAAI,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IACpC,CAAC,CAAC,MAAM,EAAE,CAAC;IACX,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IACxB,OAAO,CAAC,CAAC;AACb,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,EAAU,EAAE,UAAgC,EAAE;IACxE,MAAM,CAAC,GAAG,IAAI,aAAa,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IACzC,CAAC,CAAC,MAAM,EAAE,CAAC;IACX,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IACxB,OAAO,CAAC,CAAC;AACb,CAAC;AAED,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAyD,CAAC"}
@@ -1,58 +0,0 @@
1
- interface DataOptions {
2
- url?: string;
3
- method?: 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH';
4
- headers?: Record<string, string>;
5
- body?: any;
6
- transform?: (raw: any) => any;
7
- auto?: boolean;
8
- }
9
- declare class Data {
10
- id: string;
11
- options: DataOptions;
12
- private _value;
13
- private _loading;
14
- private _error;
15
- private _onChange;
16
- constructor(id: string, options?: DataOptions);
17
- url(value: string): this;
18
- method(value: DataOptions['method']): this;
19
- headers(value: Record<string, string>): this;
20
- body(value: any): this;
21
- transform(fn: (raw: any) => any): this;
22
- onChange(fn: (value: any) => void): this;
23
- getValue(): any;
24
- getLoading(): boolean;
25
- getError(): string | null;
26
- setValue(val: any): this;
27
- /**
28
- * Re-fetch the data and notify pageState.
29
- * Triggers all watchers that depend on this data's value.
30
- */
31
- refresh(): Promise<any>;
32
- fetch(urlOverride?: string): Promise<any>;
33
- }
34
- /**
35
- * Create a data source that integrates with pageState.
36
- *
37
- * @example
38
- * // Auto-fetch on creation
39
- * const api = await jux.data('api', { url: '/api/test' });
40
- * // pageState['api'].value → { users: [...], posts: [...] }
41
- *
42
- * // With transform
43
- * const users = await jux.data('users', {
44
- * url: '/api/test',
45
- * transform: raw => raw.users
46
- * });
47
- * // pageState['users'].value → [{ id: 1, name: 'Alice' }, ...]
48
- *
49
- * // Manual fetch
50
- * const manual = jux.data('manual', { url: '/api/test', auto: false });
51
- * await manual.fetch(); // fetch later
52
- *
53
- * // Re-fetch
54
- * await pageState['api'].refresh();
55
- */
56
- export declare function data(id: string, options?: DataOptions): Promise<Data>;
57
- export { Data, DataOptions };
58
- //# sourceMappingURL=data.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../../lib/primitives/data.ts"],"names":[],"mappings":"AAGA,UAAU,WAAW;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,OAAO,CAAC;IACrD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,CAAC;IAC9B,IAAI,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,cAAM,IAAI;IACN,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,WAAW,CAAC;IACrB,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,QAAQ,CAAkB;IAClC,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,SAAS,CAAuC;gBAE5C,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB;IAMjD,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IACxB,MAAM,CAAC,KAAK,EAAE,WAAW,CAAC,QAAQ,CAAC,GAAG,IAAI;IAC1C,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;IAC5C,IAAI,CAAC,KAAK,EAAE,GAAG,GAAG,IAAI;IACtB,SAAS,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,GAAG,IAAI;IAEtC,QAAQ,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,GAAG,IAAI;IAMxC,QAAQ,IAAI,GAAG;IACf,UAAU,IAAI,OAAO;IACrB,QAAQ,IAAI,MAAM,GAAG,IAAI;IAEzB,QAAQ,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI;IAMxB;;;OAGG;IACG,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC;IAQvB,KAAK,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;CA+DlD;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAW/E;AAED,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC"}
@@ -1,131 +0,0 @@
1
- import generateId from '../utils/idgen.js';
2
- import { pageState } from '../state/pageState.js';
3
- class Data {
4
- constructor(id, options = {}) {
5
- this._value = null;
6
- this._loading = false;
7
- this._error = null;
8
- this._onChange = null;
9
- this.id = id || generateId();
10
- this.options = { method: 'GET', auto: true, ...options };
11
- }
12
- // Fluent API
13
- url(value) { this.options.url = value; return this; }
14
- method(value) { this.options.method = value; return this; }
15
- headers(value) { this.options.headers = value; return this; }
16
- body(value) { this.options.body = value; return this; }
17
- transform(fn) { this.options.transform = fn; return this; }
18
- onChange(fn) {
19
- this._onChange = fn;
20
- return this;
21
- }
22
- // Getters for pageState integration
23
- getValue() { return this._value; }
24
- getLoading() { return this._loading; }
25
- getError() { return this._error; }
26
- setValue(val) {
27
- this._value = val;
28
- if (this._onChange)
29
- this._onChange(val);
30
- return this;
31
- }
32
- /**
33
- * Re-fetch the data and notify pageState.
34
- * Triggers all watchers that depend on this data's value.
35
- */
36
- async refresh() {
37
- const result = await this.fetch();
38
- // Notify pageState so watchers re-run
39
- pageState.__notify(`${this.id}.value`);
40
- pageState.__notify(`${this.id}.loading`);
41
- return result;
42
- }
43
- async fetch(urlOverride) {
44
- const fetchUrl = urlOverride || this.options.url;
45
- if (!fetchUrl) {
46
- this._error = 'No URL provided';
47
- return null;
48
- }
49
- this._loading = true;
50
- this._error = null;
51
- // Notify pageState of loading change
52
- if (pageState.__notify) {
53
- pageState.__notify(`${this.id}.loading`);
54
- }
55
- try {
56
- const fetchOptions = {
57
- method: this.options.method,
58
- headers: this.options.headers,
59
- };
60
- if (this.options.body && this.options.method !== 'GET') {
61
- fetchOptions.body = typeof this.options.body === 'string'
62
- ? this.options.body
63
- : JSON.stringify(this.options.body);
64
- if (!this.options.headers?.['Content-Type']) {
65
- fetchOptions.headers = {
66
- 'Content-Type': 'application/json',
67
- ...fetchOptions.headers
68
- };
69
- }
70
- }
71
- const res = await globalThis.fetch(fetchUrl, fetchOptions);
72
- if (!res.ok) {
73
- throw new Error(`HTTP ${res.status}: ${res.statusText}`);
74
- }
75
- const contentType = res.headers.get('content-type') || '';
76
- let raw;
77
- if (contentType.includes('application/json')) {
78
- raw = await res.json();
79
- }
80
- else {
81
- raw = await res.text();
82
- }
83
- this._value = this.options.transform ? this.options.transform(raw) : raw;
84
- this._loading = false;
85
- this._error = null;
86
- if (this._onChange)
87
- this._onChange(this._value);
88
- return this._value;
89
- }
90
- catch (err) {
91
- this._loading = false;
92
- this._error = err.message || 'Fetch failed';
93
- console.error(`❌ jux.data('${this.id}') fetch error:`, err.message);
94
- return null;
95
- }
96
- }
97
- }
98
- /**
99
- * Create a data source that integrates with pageState.
100
- *
101
- * @example
102
- * // Auto-fetch on creation
103
- * const api = await jux.data('api', { url: '/api/test' });
104
- * // pageState['api'].value → { users: [...], posts: [...] }
105
- *
106
- * // With transform
107
- * const users = await jux.data('users', {
108
- * url: '/api/test',
109
- * transform: raw => raw.users
110
- * });
111
- * // pageState['users'].value → [{ id: 1, name: 'Alice' }, ...]
112
- *
113
- * // Manual fetch
114
- * const manual = jux.data('manual', { url: '/api/test', auto: false });
115
- * await manual.fetch(); // fetch later
116
- *
117
- * // Re-fetch
118
- * await pageState['api'].refresh();
119
- */
120
- export async function data(id, options = {}) {
121
- const d = new Data(id, options);
122
- pageState.__register(d);
123
- if (options.auto !== false && options.url) {
124
- await d.fetch();
125
- // Re-register so pageState picks up the fetched value
126
- pageState.__register(d);
127
- }
128
- return d;
129
- }
130
- export { Data };
131
- //# sourceMappingURL=data.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"data.js","sourceRoot":"","sources":["../../lib/primitives/data.ts"],"names":[],"mappings":"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"}
@@ -1,58 +0,0 @@
1
- type GridDensity = 'dense' | 'normal' | 'inflated';
2
- interface GridColumn {
3
- name: string;
4
- width?: string;
5
- }
6
- interface GridOptions {
7
- rows?: number;
8
- cols?: number | GridColumn[];
9
- density?: GridDensity;
10
- class?: string;
11
- style?: string;
12
- target?: string;
13
- [key: string]: any;
14
- }
15
- declare class Grid {
16
- id: string;
17
- opts: GridOptions;
18
- private _element;
19
- private _columns;
20
- constructor(id: string, options?: GridOptions);
21
- getValue(): string;
22
- getContent(): string;
23
- setContent(val: string): this;
24
- setClass(val: string): this;
25
- setStyle(val: string): this;
26
- setInnerHTML(val: string): this;
27
- getElement(): HTMLElement;
28
- /** Get a named column cell element */
29
- getColumn(name: string): HTMLElement | null;
30
- getColumns(): GridColumn[];
31
- }
32
- /**
33
- * Create a CSS grid layout container.
34
- *
35
- * @example
36
- * // Simple: 3 equal columns
37
- * jux.grid('cards', { cols: 3 });
38
- *
39
- * // Named columns with custom widths
40
- * jux.grid('layout', {
41
- * cols: [
42
- * { name: 'sidebar', width: '260px' },
43
- * { name: 'content', width: '3fr' },
44
- * { name: 'aside', width: '1fr' },
45
- * ]
46
- * });
47
- * // Then target into them:
48
- * jux.nav('main-nav', { target: 'sidebar' });
49
- * jux.h1('title', { content: 'Hello', target: 'content' });
50
- *
51
- * // Density options
52
- * jux.grid('tight', { cols: 4, density: 'dense' });
53
- * jux.grid('spacious', { cols: 2, density: 'inflated' });
54
- */
55
- export declare function grid(id: string, options?: GridOptions): Grid;
56
- export { Grid, GridOptions, GridColumn, GridDensity };
57
- export default grid;
58
- //# sourceMappingURL=grid.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"grid.d.ts","sourceRoot":"","sources":["../../lib/primitives/grid.ts"],"names":[],"mappings":"AAGA,KAAK,WAAW,GAAG,OAAO,GAAG,QAAQ,GAAG,UAAU,CAAC;AAEnD,UAAU,UAAU;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,UAAU,WAAW;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,EAAE,CAAC;IAC7B,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACtB;AAQD,cAAM,IAAI;IACN,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,CAAC,QAAQ,CAAc;IAC9B,OAAO,CAAC,QAAQ,CAAoB;gBAExB,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB;IAoEjD,QAAQ,IAAI,MAAM;IAClB,UAAU,IAAI,MAAM;IAEpB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAK7B,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAK3B,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAK3B,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAK/B,UAAU,IAAI,WAAW;IAEzB,sCAAsC;IACtC,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI;IAI3C,UAAU,IAAI,UAAU,EAAE;CAC7B;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB,GAAG,IAAI,CAIhE;AAED,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC;AACtD,eAAe,IAAI,CAAC"}