juxscript 1.1.400 → 1.1.402

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 (36) hide show
  1. package/dist/components/gateway.d.ts +8 -0
  2. package/dist/components/gateway.d.ts.map +1 -1
  3. package/dist/components/gateway.js +15 -0
  4. package/dist/components/gateway.js.map +1 -1
  5. package/dist/index.d.ts +14 -0
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +14 -4
  8. package/dist/index.js.map +1 -1
  9. package/dist/services/dbService.d.ts +65 -0
  10. package/dist/services/dbService.d.ts.map +1 -0
  11. package/dist/services/dbService.js +131 -0
  12. package/dist/services/dbService.js.map +1 -0
  13. package/dist/services/emailService.d.ts +71 -0
  14. package/dist/services/emailService.d.ts.map +1 -0
  15. package/dist/services/emailService.js +118 -0
  16. package/dist/services/emailService.js.map +1 -0
  17. package/dist/services/rdsService.d.ts +64 -0
  18. package/dist/services/rdsService.d.ts.map +1 -0
  19. package/dist/services/rdsService.js +130 -0
  20. package/dist/services/rdsService.js.map +1 -0
  21. package/dist/services/storageService.d.ts +84 -0
  22. package/dist/services/storageService.d.ts.map +1 -0
  23. package/dist/services/storageService.js +188 -0
  24. package/dist/services/storageService.js.map +1 -0
  25. package/dist/widgets/canvas.d.ts +94 -0
  26. package/dist/widgets/canvas.d.ts.map +1 -0
  27. package/dist/widgets/canvas.js +641 -0
  28. package/dist/widgets/canvas.js.map +1 -0
  29. package/dist/widgets/stepper.d.ts +83 -0
  30. package/dist/widgets/stepper.d.ts.map +1 -0
  31. package/dist/widgets/stepper.js +387 -0
  32. package/dist/widgets/stepper.js.map +1 -0
  33. package/machinery/build3.js +2 -0
  34. package/machinery/compiler4.js +7 -1
  35. package/machinery/ensure-pagestate-import.js +32 -0
  36. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canvas.js","sourceRoot":"","sources":["../../lib/widgets/canvas.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,83 @@
1
+ interface StepperStep {
2
+ id?: string;
3
+ label: string;
4
+ description?: string;
5
+ icon?: string;
6
+ optional?: boolean;
7
+ disabled?: boolean;
8
+ content?: string;
9
+ }
10
+ interface StepperOptions {
11
+ steps?: StepperStep[];
12
+ activeStep?: number;
13
+ orientation?: 'horizontal' | 'vertical';
14
+ linear?: boolean;
15
+ class?: string;
16
+ style?: string;
17
+ onChange?: (step: number) => void;
18
+ onComplete?: () => void;
19
+ }
20
+ declare class Stepper {
21
+ id: string;
22
+ private _opts;
23
+ private _steps;
24
+ private _completedSteps;
25
+ private _el;
26
+ private _onChange;
27
+ private _onComplete;
28
+ constructor(id: string, options?: StepperOptions);
29
+ activeStep(val: number): this;
30
+ orientation(val: 'horizontal' | 'vertical'): this;
31
+ linear(val?: boolean): this;
32
+ class(val: string): this;
33
+ style(val: string): this;
34
+ onChange(fn: (step: number) => void): this;
35
+ onComplete(fn: () => void): this;
36
+ addStep(step: StepperStep): this;
37
+ addSteps(steps: StepperStep[]): this;
38
+ removeStep(key: number | string): this;
39
+ updateStep(key: number | string, updates: Partial<StepperStep>): this;
40
+ clearSteps(): this;
41
+ getSteps(): StepperStep[];
42
+ getCount(): number;
43
+ next(): this;
44
+ prev(): this;
45
+ goTo(index: number): this;
46
+ complete(): this;
47
+ reset(): this;
48
+ isFirstStep(): boolean;
49
+ isLastStep(): boolean;
50
+ isComplete(): boolean;
51
+ isStepCompleted(index: number): boolean;
52
+ /** Get the panel element for a step so content can be rendered into it */
53
+ getPanel(index: number): HTMLElement | null;
54
+ getValue(): number;
55
+ setValue(val: number): this;
56
+ getActiveStep(): number;
57
+ getOrientation(): string;
58
+ getLinear(): boolean;
59
+ getClass(): string;
60
+ getStyle(): string;
61
+ getElement(): HTMLElement | null;
62
+ setActiveStep(val: number): this;
63
+ setOrientation(val: 'horizontal' | 'vertical'): this;
64
+ setLinear(val: boolean): this;
65
+ setClass(val: string): this;
66
+ setStyle(val: string): this;
67
+ get state(): any;
68
+ render(target?: string | HTMLElement | {
69
+ element: HTMLElement;
70
+ }): this;
71
+ into(target?: string | HTMLElement | {
72
+ element: HTMLElement;
73
+ }): this;
74
+ destroy(): void;
75
+ private _normalizeStep;
76
+ private _rebuild;
77
+ private _buildDOM;
78
+ private _injectStyles;
79
+ }
80
+ export declare function stepper(id: string, options?: StepperOptions): Stepper;
81
+ export { Stepper, StepperOptions, StepperStep };
82
+ export default stepper;
83
+ //# sourceMappingURL=stepper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stepper.d.ts","sourceRoot":"","sources":["../../lib/widgets/stepper.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,387 @@
1
+ import { pageState } from '../state/pageState.js';
2
+ import generateId from '../utils/idgen.js';
3
+ let stepperStylesInjected = false;
4
+ class Stepper {
5
+ constructor(id, options = {}) {
6
+ this._steps = [];
7
+ this._completedSteps = new Set();
8
+ this._el = null;
9
+ this._onChange = null;
10
+ this._onComplete = null;
11
+ this.id = id || generateId('stepper');
12
+ this._opts = {
13
+ activeStep: options.activeStep ?? 0,
14
+ orientation: options.orientation ?? 'horizontal',
15
+ linear: options.linear ?? false,
16
+ ...options,
17
+ };
18
+ if (options.onChange)
19
+ this._onChange = options.onChange;
20
+ if (options.onComplete)
21
+ this._onComplete = options.onComplete;
22
+ if (options.steps)
23
+ this._steps = options.steps.map((s, i) => this._normalizeStep(s, i));
24
+ }
25
+ // ═══════════════════════════════════════════════════════════
26
+ // FLUENT API
27
+ // ═══════════════════════════════════════════════════════════
28
+ activeStep(val) { this._opts.activeStep = val; this._rebuild(); return this; }
29
+ orientation(val) { this._opts.orientation = val; this._rebuild(); return this; }
30
+ linear(val = true) { this._opts.linear = val; return this; }
31
+ class(val) { this._opts.class = val; if (this._el) {
32
+ this._el.className = `jux-stepper jux-stepper--${this._opts.orientation}${val ? ' ' + val : ''}`;
33
+ } return this; }
34
+ style(val) { this._opts.style = val; if (this._el)
35
+ this._el.setAttribute('style', val); return this; }
36
+ onChange(fn) { this._onChange = fn; return this; }
37
+ onComplete(fn) { this._onComplete = fn; return this; }
38
+ // ═══════════════════════════════════════════════════════════
39
+ // STEPS MANAGEMENT
40
+ // ═══════════════════════════════════════════════════════════
41
+ addStep(step) {
42
+ this._steps.push(this._normalizeStep(step, this._steps.length));
43
+ this._rebuild();
44
+ return this;
45
+ }
46
+ addSteps(steps) {
47
+ const offset = this._steps.length;
48
+ this._steps.push(...steps.map((s, i) => this._normalizeStep(s, offset + i)));
49
+ this._rebuild();
50
+ return this;
51
+ }
52
+ removeStep(key) {
53
+ const idx = typeof key === 'number' ? key : this._steps.findIndex(s => s.id === key);
54
+ if (idx > -1) {
55
+ this._steps.splice(idx, 1);
56
+ if (this._opts.activeStep >= this._steps.length) {
57
+ this._opts.activeStep = Math.max(0, this._steps.length - 1);
58
+ }
59
+ this._rebuild();
60
+ }
61
+ return this;
62
+ }
63
+ updateStep(key, updates) {
64
+ const idx = typeof key === 'number' ? key : this._steps.findIndex(s => s.id === key);
65
+ if (idx > -1) {
66
+ this._steps[idx] = { ...this._steps[idx], ...updates };
67
+ this._rebuild();
68
+ }
69
+ return this;
70
+ }
71
+ clearSteps() {
72
+ this._steps = [];
73
+ this._completedSteps.clear();
74
+ this._opts.activeStep = 0;
75
+ this._rebuild();
76
+ return this;
77
+ }
78
+ getSteps() { return [...this._steps]; }
79
+ getCount() { return this._steps.length; }
80
+ // ═══════════════════════════════════════════════════════════
81
+ // NAVIGATION
82
+ // ═══════════════════════════════════════════════════════════
83
+ next() {
84
+ if (this._opts.activeStep < this._steps.length - 1) {
85
+ this._completedSteps.add(this._opts.activeStep);
86
+ this._opts.activeStep++;
87
+ this._rebuild();
88
+ if (this._onChange)
89
+ this._onChange(this._opts.activeStep);
90
+ this._el?.dispatchEvent(new Event('change', { bubbles: false }));
91
+ }
92
+ return this;
93
+ }
94
+ prev() {
95
+ if (this._opts.activeStep > 0) {
96
+ this._opts.activeStep--;
97
+ this._rebuild();
98
+ if (this._onChange)
99
+ this._onChange(this._opts.activeStep);
100
+ this._el?.dispatchEvent(new Event('change', { bubbles: false }));
101
+ }
102
+ return this;
103
+ }
104
+ goTo(index) {
105
+ if (index < 0 || index >= this._steps.length)
106
+ return this;
107
+ const step = this._steps[index];
108
+ if (step?.disabled)
109
+ return this;
110
+ if (this._opts.linear && index > this._opts.activeStep) {
111
+ // In linear mode, only allow going to a step if all previous steps are completed
112
+ for (let i = this._opts.activeStep; i < index; i++) {
113
+ if (!this._completedSteps.has(i))
114
+ return this;
115
+ }
116
+ }
117
+ this._opts.activeStep = index;
118
+ this._rebuild();
119
+ if (this._onChange)
120
+ this._onChange(this._opts.activeStep);
121
+ this._el?.dispatchEvent(new Event('change', { bubbles: false }));
122
+ return this;
123
+ }
124
+ complete() {
125
+ this._completedSteps.add(this._opts.activeStep);
126
+ this._rebuild();
127
+ if (this._onComplete)
128
+ this._onComplete();
129
+ this._el?.dispatchEvent(new Event('complete', { bubbles: false }));
130
+ return this;
131
+ }
132
+ reset() {
133
+ this._opts.activeStep = 0;
134
+ this._completedSteps.clear();
135
+ this._rebuild();
136
+ if (this._onChange)
137
+ this._onChange(0);
138
+ this._el?.dispatchEvent(new Event('change', { bubbles: false }));
139
+ return this;
140
+ }
141
+ isFirstStep() { return this._opts.activeStep === 0; }
142
+ isLastStep() { return this._opts.activeStep === this._steps.length - 1; }
143
+ isComplete() { return this._completedSteps.has(this._opts.activeStep); }
144
+ isStepCompleted(index) { return this._completedSteps.has(index); }
145
+ /** Get the panel element for a step so content can be rendered into it */
146
+ getPanel(index) {
147
+ if (!this._el)
148
+ return null;
149
+ return this._el.querySelector(`[data-stepper-panel="${index}"]`);
150
+ }
151
+ // ═══════════════════════════════════════════════════════════
152
+ // PAGESTATE
153
+ // ═══════════════════════════════════════════════════════════
154
+ getValue() { return this._opts.activeStep; }
155
+ setValue(val) { return this.activeStep(val); }
156
+ getActiveStep() { return this._opts.activeStep; }
157
+ getOrientation() { return this._opts.orientation; }
158
+ getLinear() { return this._opts.linear; }
159
+ getClass() { return this._opts.class || ''; }
160
+ getStyle() { return this._opts.style || ''; }
161
+ getElement() { return this._el; }
162
+ setActiveStep(val) { return this.activeStep(val); }
163
+ setOrientation(val) { return this.orientation(val); }
164
+ setLinear(val) { return this.linear(val); }
165
+ setClass(val) { return this.class(val); }
166
+ setStyle(val) { return this.style(val); }
167
+ get state() { return pageState[this.id]; }
168
+ // ═══════════════════════════════════════════════════════════
169
+ // RENDER
170
+ // ═══════════════════════════════════════════════════════════
171
+ render(target) {
172
+ this._injectStyles();
173
+ this._el = this._buildDOM();
174
+ let container = null;
175
+ if (target && typeof target === 'object' && 'element' in target)
176
+ container = target.element;
177
+ else if (target instanceof HTMLElement)
178
+ container = target;
179
+ else if (typeof target === 'string')
180
+ container = document.getElementById(target) || document.querySelector(target);
181
+ else
182
+ container = document.getElementById('app');
183
+ container?.appendChild(this._el);
184
+ return this;
185
+ }
186
+ into(target) { return this.render(target); }
187
+ destroy() {
188
+ pageState.__unregister(this.id);
189
+ this._el?.remove();
190
+ }
191
+ // ═══════════════════════════════════════════════════════════
192
+ // INTERNAL
193
+ // ═══════════════════════════════════════════════════════════
194
+ _normalizeStep(step, index) {
195
+ return {
196
+ id: step.id || `${this.id}-step-${index}`,
197
+ label: step.label,
198
+ description: step.description,
199
+ icon: step.icon,
200
+ optional: step.optional ?? false,
201
+ disabled: step.disabled ?? false,
202
+ content: step.content,
203
+ };
204
+ }
205
+ _rebuild() {
206
+ if (!this._el)
207
+ return;
208
+ const parent = this._el.parentElement;
209
+ if (!parent)
210
+ return;
211
+ const newEl = this._buildDOM();
212
+ parent.replaceChild(newEl, this._el);
213
+ this._el = newEl;
214
+ }
215
+ _buildDOM() {
216
+ const { orientation } = this._opts;
217
+ const active = this._opts.activeStep;
218
+ const id = this.id;
219
+ const wrapper = document.createElement('div');
220
+ wrapper.id = id;
221
+ wrapper.className = `jux-stepper jux-stepper--${orientation}${this._opts.class ? ' ' + this._opts.class : ''}`;
222
+ if (this._opts.style)
223
+ wrapper.setAttribute('style', this._opts.style);
224
+ wrapper.setAttribute('data-jux-stepper', '');
225
+ // Step indicators track
226
+ const track = document.createElement('div');
227
+ track.className = 'jux-stepper-track';
228
+ this._steps.forEach((step, i) => {
229
+ const isActive = i === active;
230
+ const isCompleted = this._completedSteps.has(i);
231
+ const isDisabled = step.disabled ?? false;
232
+ // Connector between steps (not before first step)
233
+ if (i > 0) {
234
+ const connector = document.createElement('div');
235
+ connector.className = `jux-stepper-connector${isCompleted || i <= active ? ' jux-stepper-connector--done' : ''}`;
236
+ track.appendChild(connector);
237
+ }
238
+ // Step item
239
+ const item = document.createElement('div');
240
+ item.className = `jux-stepper-item${isActive ? ' jux-stepper-item--active' : ''}${isCompleted ? ' jux-stepper-item--completed' : ''}${isDisabled ? ' jux-stepper-item--disabled' : ''}`;
241
+ item.setAttribute('data-step', String(i));
242
+ // Circle / indicator
243
+ const circle = document.createElement('button');
244
+ circle.className = 'jux-stepper-circle';
245
+ circle.type = 'button';
246
+ circle.setAttribute('aria-label', `Step ${i + 1}: ${step.label}`);
247
+ if (isDisabled)
248
+ circle.disabled = true;
249
+ if (isCompleted) {
250
+ circle.innerHTML = CHECK_ICON;
251
+ circle.classList.add('jux-stepper-circle--completed');
252
+ }
253
+ else if (step.icon) {
254
+ circle.textContent = step.icon;
255
+ }
256
+ else {
257
+ circle.textContent = String(i + 1);
258
+ }
259
+ if (isActive)
260
+ circle.classList.add('jux-stepper-circle--active');
261
+ circle.addEventListener('click', () => {
262
+ if (!isDisabled)
263
+ this.goTo(i);
264
+ });
265
+ item.appendChild(circle);
266
+ // Label block
267
+ const labelBlock = document.createElement('div');
268
+ labelBlock.className = 'jux-stepper-label-block';
269
+ const labelEl = document.createElement('span');
270
+ labelEl.className = 'jux-stepper-label';
271
+ labelEl.textContent = step.label;
272
+ labelBlock.appendChild(labelEl);
273
+ if (step.optional) {
274
+ const optEl = document.createElement('span');
275
+ optEl.className = 'jux-stepper-optional';
276
+ optEl.textContent = 'Optional';
277
+ labelBlock.appendChild(optEl);
278
+ }
279
+ if (step.description) {
280
+ const descEl = document.createElement('span');
281
+ descEl.className = 'jux-stepper-description';
282
+ descEl.textContent = step.description;
283
+ labelBlock.appendChild(descEl);
284
+ }
285
+ item.appendChild(labelBlock);
286
+ track.appendChild(item);
287
+ });
288
+ wrapper.appendChild(track);
289
+ // Panels (content areas)
290
+ const panelArea = document.createElement('div');
291
+ panelArea.className = 'jux-stepper-panels';
292
+ this._steps.forEach((step, i) => {
293
+ const panel = document.createElement('div');
294
+ panel.className = 'jux-stepper-panel';
295
+ panel.setAttribute('data-stepper-panel', String(i));
296
+ panel.setAttribute('role', 'tabpanel');
297
+ panel.style.display = i === active ? '' : 'none';
298
+ if (step.content)
299
+ panel.innerHTML = step.content;
300
+ panelArea.appendChild(panel);
301
+ });
302
+ wrapper.appendChild(panelArea);
303
+ // Navigation buttons
304
+ const navBar = document.createElement('div');
305
+ navBar.className = 'jux-stepper-nav';
306
+ const prevBtn = document.createElement('button');
307
+ prevBtn.id = `${id}-prev`;
308
+ prevBtn.className = 'jux-stepper-btn jux-stepper-btn--secondary';
309
+ prevBtn.type = 'button';
310
+ prevBtn.textContent = 'Back';
311
+ prevBtn.disabled = active === 0;
312
+ prevBtn.addEventListener('click', () => this.prev());
313
+ navBar.appendChild(prevBtn);
314
+ const nextBtn = document.createElement('button');
315
+ nextBtn.id = `${id}-next`;
316
+ nextBtn.className = 'jux-stepper-btn jux-stepper-btn--primary';
317
+ nextBtn.type = 'button';
318
+ const isLast = active === this._steps.length - 1;
319
+ nextBtn.textContent = isLast ? 'Finish' : 'Next';
320
+ nextBtn.addEventListener('click', () => {
321
+ if (isLast) {
322
+ this.complete();
323
+ }
324
+ else {
325
+ this.next();
326
+ }
327
+ });
328
+ navBar.appendChild(nextBtn);
329
+ wrapper.appendChild(navBar);
330
+ return wrapper;
331
+ }
332
+ _injectStyles() {
333
+ if (stepperStylesInjected)
334
+ return;
335
+ stepperStylesInjected = true;
336
+ const s = document.createElement('style');
337
+ s.id = 'jux-stepper-styles';
338
+ s.textContent = `
339
+ .jux-stepper{font-family:var(--font-sans,system-ui,sans-serif);width:100%;box-sizing:border-box}
340
+ .jux-stepper-track{display:flex;align-items:flex-start;gap:0}
341
+ .jux-stepper--horizontal .jux-stepper-track{flex-direction:row;align-items:center;margin-bottom:24px}
342
+ .jux-stepper--vertical .jux-stepper-track{flex-direction:column;align-items:flex-start;margin-right:24px;float:left}
343
+ .jux-stepper--vertical{display:flex;align-items:flex-start}
344
+ .jux-stepper--vertical .jux-stepper-panels{flex:1}
345
+ .jux-stepper-item{display:flex;align-items:center;gap:8px;position:relative;flex-shrink:0}
346
+ .jux-stepper--horizontal .jux-stepper-item{flex-direction:column;align-items:center;gap:4px}
347
+ .jux-stepper--vertical .jux-stepper-item{flex-direction:row;align-items:flex-start;padding:8px 0}
348
+ .jux-stepper-connector{flex:1;height:2px;background:hsl(var(--border,220 13% 91%));min-width:24px;transition:background .2s}
349
+ .jux-stepper--vertical .jux-stepper-connector{width:2px;height:24px;min-width:unset;margin-left:15px}
350
+ .jux-stepper-connector--done{background:hsl(var(--primary,217 91% 60%))}
351
+ .jux-stepper-circle{width:32px;height:32px;min-width:32px;border-radius:50%;border:2px solid hsl(var(--border,220 13% 91%));background:hsl(var(--background,0 0% 100%));color:hsl(var(--muted-foreground,215 16% 47%));font-size:13px;font-weight:600;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s,border-color .15s,color .15s;padding:0;line-height:1;font-family:inherit}
352
+ .jux-stepper-circle:disabled{cursor:not-allowed;opacity:.5}
353
+ .jux-stepper-circle--active{border-color:hsl(var(--primary,217 91% 60%));background:hsl(var(--primary,217 91% 60%));color:hsl(var(--primary-foreground,0 0% 100%))}
354
+ .jux-stepper-circle--completed{border-color:hsl(var(--primary,217 91% 60%));background:hsl(var(--primary,217 91% 60%));color:hsl(var(--primary-foreground,0 0% 100%))}
355
+ .jux-stepper-circle svg{width:16px;height:16px;display:block}
356
+ .jux-stepper-label-block{display:flex;flex-direction:column;gap:1px}
357
+ .jux-stepper--horizontal .jux-stepper-label-block{align-items:center;text-align:center}
358
+ .jux-stepper-label{font-size:13px;font-weight:500;color:hsl(var(--foreground,222 47% 11%));white-space:nowrap}
359
+ .jux-stepper-item--active .jux-stepper-label{color:hsl(var(--primary,217 91% 60%));font-weight:600}
360
+ .jux-stepper-item--disabled .jux-stepper-label{opacity:.5}
361
+ .jux-stepper-optional{font-size:11px;color:hsl(var(--muted-foreground,215 16% 47%))}
362
+ .jux-stepper-description{font-size:11px;color:hsl(var(--muted-foreground,215 16% 47%))}
363
+ .jux-stepper-panels{clear:both}
364
+ .jux-stepper-panel{padding:16px 0;min-height:80px}
365
+ .jux-stepper-nav{display:flex;align-items:center;gap:8px;margin-top:16px;padding-top:16px;border-top:1px solid hsl(var(--border,220 13% 91%))}
366
+ .jux-stepper-btn{padding:8px 20px;border-radius:var(--radius,6px);font-size:13px;font-weight:500;cursor:pointer;border:none;transition:background .15s,opacity .15s;font-family:inherit}
367
+ .jux-stepper-btn:disabled{opacity:.4;cursor:not-allowed}
368
+ .jux-stepper-btn--primary{background:hsl(var(--primary,217 91% 60%));color:hsl(var(--primary-foreground,0 0% 100%))}
369
+ .jux-stepper-btn--primary:hover:not(:disabled){opacity:.9}
370
+ .jux-stepper-btn--secondary{background:transparent;color:hsl(var(--foreground,222 47% 11%));border:1px solid hsl(var(--border,220 13% 91%))}
371
+ .jux-stepper-btn--secondary:hover:not(:disabled){background:hsl(var(--accent,210 40% 96%))}
372
+ `;
373
+ document.head.appendChild(s);
374
+ }
375
+ }
376
+ const CHECK_ICON = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"/></svg>';
377
+ // ═══════════════════════════════════════════════════════════
378
+ // FACTORY
379
+ // ═══════════════════════════════════════════════════════════
380
+ export function stepper(id, options = {}) {
381
+ const s = new Stepper(id, options);
382
+ pageState.__register(s);
383
+ return s;
384
+ }
385
+ export { Stepper };
386
+ export default stepper;
387
+ //# sourceMappingURL=stepper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stepper.js","sourceRoot":"","sources":["../../lib/widgets/stepper.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { JuxCompiler } from './compiler4.js';
2
2
  import path from 'path';
3
3
  import fs from 'fs';
4
+ import { ensurePageStateImport } from './ensure-pagestate-import.js';
4
5
 
5
6
  const PROJECT_ROOT = process.cwd();
6
7
 
@@ -78,6 +79,7 @@ const compiler = new JuxCompiler({
78
79
  paths,
79
80
  precompile,
80
81
  proxy: rawConfig.proxy || {},
82
+ sourceTransform: ensurePageStateImport,
81
83
  });
82
84
 
83
85
  compiler.build()
@@ -107,6 +107,7 @@ export class JuxCompiler {
107
107
 
108
108
  scanFiles() {
109
109
  const views = [], dataModules = [], sharedModules = [];
110
+ const sourceTransform = this.config.sourceTransform || null;
110
111
 
111
112
  const scanDirectory = (currentDir) => {
112
113
  const entries = fs.readdirSync(currentDir, { withFileTypes: true });
@@ -120,10 +121,15 @@ export class JuxCompiler {
120
121
  const file = entry.name;
121
122
 
122
123
  if ((file.endsWith('.jux') || file.endsWith('.js')) && !this.isAssetFile(file)) {
123
- const content = fs.readFileSync(fullPath, 'utf8');
124
+ let content = fs.readFileSync(fullPath, 'utf8');
124
125
  const relativePath = path.relative(this.srcDir, fullPath);
125
126
  const name = relativePath.replace(/\.[^/.]+$/, '');
126
127
 
128
+ // Apply source transform (e.g. ensure pageState import)
129
+ if (sourceTransform && file.endsWith('.jux')) {
130
+ content = sourceTransform(content);
131
+ }
132
+
127
133
  const hasExports = /export\s+(default|const|function|class|{)/.test(content);
128
134
 
129
135
  if (file.includes('data')) {
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Ensures that any .jux file importing from 'juxscript' also imports pageState.
3
+ * pageState is required at runtime by all component factories.
4
+ *
5
+ * Call this on source text before compilation/bundling.
6
+ */
7
+ export function ensurePageStateImport(source) {
8
+ // Match import statements from 'juxscript'
9
+ const juxImportRe = /import\s+\{([^}]+)\}\s+from\s+['"]juxscript['"]/g;
10
+ let match;
11
+ let hasJuxImport = false;
12
+ let hasPageState = false;
13
+
14
+ while ((match = juxImportRe.exec(source)) !== null) {
15
+ hasJuxImport = true;
16
+ const names = match[1].split(',').map(s => s.trim());
17
+ if (names.includes('pageState')) {
18
+ hasPageState = true;
19
+ }
20
+ }
21
+
22
+ if (!hasJuxImport || hasPageState) return source;
23
+
24
+ // Add pageState to the first juxscript import
25
+ return source.replace(
26
+ /import\s+\{([^}]+)\}\s+from\s+(['"]juxscript['"])/,
27
+ (full, names, mod) => {
28
+ const trimmed = names.trim().replace(/,\s*$/, '');
29
+ return `import { ${trimmed}, pageState } from ${mod}`;
30
+ }
31
+ );
32
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "juxscript",
3
- "version": "1.1.400",
3
+ "version": "1.1.402",
4
4
  "type": "module",
5
5
  "description": "A JavaScript UX authorship platform",
6
6
  "main": "./dist/index.js",