juxscript 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. package/README.md +292 -0
  2. package/bin/cli.js +149 -0
  3. package/lib/adapters/base-adapter.js +35 -0
  4. package/lib/adapters/index.js +33 -0
  5. package/lib/adapters/mysql-adapter.js +65 -0
  6. package/lib/adapters/postgres-adapter.js +70 -0
  7. package/lib/adapters/sqlite-adapter.js +56 -0
  8. package/lib/components/app.ts +124 -0
  9. package/lib/components/button.ts +136 -0
  10. package/lib/components/card.ts +205 -0
  11. package/lib/components/chart.ts +125 -0
  12. package/lib/components/code.ts +242 -0
  13. package/lib/components/container.ts +282 -0
  14. package/lib/components/data.ts +105 -0
  15. package/lib/components/docs-data.json +1211 -0
  16. package/lib/components/error-handler.ts +285 -0
  17. package/lib/components/footer.ts +146 -0
  18. package/lib/components/header.ts +167 -0
  19. package/lib/components/hero.ts +170 -0
  20. package/lib/components/import.ts +430 -0
  21. package/lib/components/input.ts +175 -0
  22. package/lib/components/layout.ts +113 -0
  23. package/lib/components/list.ts +392 -0
  24. package/lib/components/main.ts +111 -0
  25. package/lib/components/menu.ts +170 -0
  26. package/lib/components/modal.ts +216 -0
  27. package/lib/components/nav.ts +136 -0
  28. package/lib/components/node.ts +200 -0
  29. package/lib/components/reactivity.js +104 -0
  30. package/lib/components/script.ts +152 -0
  31. package/lib/components/sidebar.ts +168 -0
  32. package/lib/components/style.ts +129 -0
  33. package/lib/components/table.ts +279 -0
  34. package/lib/components/tabs.ts +191 -0
  35. package/lib/components/theme.ts +97 -0
  36. package/lib/components/view.ts +174 -0
  37. package/lib/jux.ts +203 -0
  38. package/lib/layouts/default.css +260 -0
  39. package/lib/layouts/default.jux +8 -0
  40. package/lib/layouts/figma.css +334 -0
  41. package/lib/layouts/figma.jux +0 -0
  42. package/lib/layouts/notion.css +258 -0
  43. package/lib/styles/base-theme.css +186 -0
  44. package/lib/styles/dark-theme.css +144 -0
  45. package/lib/styles/global.css +1131 -0
  46. package/lib/styles/light-theme.css +144 -0
  47. package/lib/styles/tokens/dark.css +86 -0
  48. package/lib/styles/tokens/light.css +86 -0
  49. package/lib/themes/dark.css +86 -0
  50. package/lib/themes/light.css +86 -0
  51. package/lib/utils/path-resolver.js +23 -0
  52. package/machinery/compiler.js +262 -0
  53. package/machinery/doc-generator.js +160 -0
  54. package/machinery/generators/css.js +128 -0
  55. package/machinery/generators/html.js +108 -0
  56. package/machinery/imports.js +155 -0
  57. package/machinery/server.js +185 -0
  58. package/machinery/validators/file-validator.js +123 -0
  59. package/machinery/watcher.js +148 -0
  60. package/package.json +58 -0
  61. package/types/globals.d.ts +16 -0
@@ -0,0 +1,1211 @@
1
+ {
2
+ "components": [
3
+ {
4
+ "name": "App",
5
+ "category": "Core",
6
+ "description": "App - Configure application-level settings",
7
+ "constructor": "new App()",
8
+ "fluentMethods": [
9
+ {
10
+ "name": "title",
11
+ "params": "(title)",
12
+ "returns": "this",
13
+ "description": "Set title"
14
+ },
15
+ {
16
+ "name": "theme",
17
+ "params": "(theme)",
18
+ "returns": "this",
19
+ "description": "Set theme"
20
+ },
21
+ {
22
+ "name": "favicon",
23
+ "params": "(url)",
24
+ "returns": "this",
25
+ "description": "Set favicon"
26
+ },
27
+ {
28
+ "name": "meta",
29
+ "params": "(name, content)",
30
+ "returns": "this",
31
+ "description": "Set meta"
32
+ }
33
+ ],
34
+ "example": "jux.app('id').render()"
35
+ },
36
+ {
37
+ "name": "Import",
38
+ "category": "Core",
39
+ "description": "Import - Import external resources (CSS, JS, images, fonts, etc.)",
40
+ "constructor": "jux.import(url: string, options?: ImportOptions)",
41
+ "fluentMethods": [
42
+ {
43
+ "name": "type",
44
+ "params": "(type)",
45
+ "returns": "this",
46
+ "description": "Set type"
47
+ },
48
+ {
49
+ "name": "href",
50
+ "params": "(url)",
51
+ "returns": "this",
52
+ "description": "Set href"
53
+ },
54
+ {
55
+ "name": "src",
56
+ "params": "(url)",
57
+ "returns": "this",
58
+ "description": "Set src"
59
+ },
60
+ {
61
+ "name": "as",
62
+ "params": "(value)",
63
+ "returns": "this",
64
+ "description": "Set as"
65
+ },
66
+ {
67
+ "name": "crossOrigin",
68
+ "params": "(value)",
69
+ "returns": "this",
70
+ "description": "Set crossOrigin"
71
+ },
72
+ {
73
+ "name": "integrity",
74
+ "params": "(hash)",
75
+ "returns": "this",
76
+ "description": "Set integrity"
77
+ },
78
+ {
79
+ "name": "async",
80
+ "params": "(value)",
81
+ "returns": "this",
82
+ "description": "Set async"
83
+ },
84
+ {
85
+ "name": "defer",
86
+ "params": "(value)",
87
+ "returns": "this",
88
+ "description": "Set defer"
89
+ },
90
+ {
91
+ "name": "module",
92
+ "params": "(value)",
93
+ "returns": "this",
94
+ "description": "Set module"
95
+ },
96
+ {
97
+ "name": "location",
98
+ "params": "(loc)",
99
+ "returns": "this",
100
+ "description": "Set location"
101
+ },
102
+ {
103
+ "name": "render",
104
+ "params": "()",
105
+ "returns": "this",
106
+ "description": "Set render"
107
+ },
108
+ {
109
+ "name": "remove",
110
+ "params": "()",
111
+ "returns": "this",
112
+ "description": "Set remove"
113
+ }
114
+ ],
115
+ "example": "jux.import('id').render()"
116
+ },
117
+ {
118
+ "name": "Layout",
119
+ "category": "Core",
120
+ "description": "Layout - Load a JUX layout file",
121
+ "constructor": "new Layout()",
122
+ "fluentMethods": [
123
+ {
124
+ "name": "file",
125
+ "params": "(juxFile)",
126
+ "returns": "this",
127
+ "description": "Set file"
128
+ }
129
+ ],
130
+ "example": "jux.layout('id').render()"
131
+ },
132
+ {
133
+ "name": "Script",
134
+ "category": "Core",
135
+ "description": "Script - Inject JavaScript into the document",
136
+ "constructor": "new Script()",
137
+ "fluentMethods": [
138
+ {
139
+ "name": "content",
140
+ "params": "(js)",
141
+ "returns": "this",
142
+ "description": "Set content"
143
+ },
144
+ {
145
+ "name": "src",
146
+ "params": "(url)",
147
+ "returns": "this",
148
+ "description": "Set src"
149
+ },
150
+ {
151
+ "name": "async",
152
+ "params": "(value)",
153
+ "returns": "this",
154
+ "description": "Set async"
155
+ },
156
+ {
157
+ "name": "defer",
158
+ "params": "(value)",
159
+ "returns": "this",
160
+ "description": "Set defer"
161
+ },
162
+ {
163
+ "name": "type",
164
+ "params": "(value)",
165
+ "returns": "this",
166
+ "description": "Set type"
167
+ },
168
+ {
169
+ "name": "render",
170
+ "params": "()",
171
+ "returns": "this",
172
+ "description": "Set render"
173
+ },
174
+ {
175
+ "name": "remove",
176
+ "params": "()",
177
+ "returns": "this",
178
+ "description": "Set remove"
179
+ }
180
+ ],
181
+ "example": "jux.script('id').render()"
182
+ },
183
+ {
184
+ "name": "Style",
185
+ "category": "Core",
186
+ "description": "Style component",
187
+ "constructor": "new Style()",
188
+ "fluentMethods": [
189
+ {
190
+ "name": "content",
191
+ "params": "(css)",
192
+ "returns": "this",
193
+ "description": "Set content"
194
+ },
195
+ {
196
+ "name": "url",
197
+ "params": "(href)",
198
+ "returns": "this",
199
+ "description": "Set url"
200
+ },
201
+ {
202
+ "name": "append",
203
+ "params": "(css)",
204
+ "returns": "this",
205
+ "description": "Set append"
206
+ },
207
+ {
208
+ "name": "prepend",
209
+ "params": "(css)",
210
+ "returns": "this",
211
+ "description": "Set prepend"
212
+ },
213
+ {
214
+ "name": "render",
215
+ "params": "()",
216
+ "returns": "this",
217
+ "description": "Set render"
218
+ },
219
+ {
220
+ "name": "remove",
221
+ "params": "()",
222
+ "returns": "this",
223
+ "description": "Set remove"
224
+ }
225
+ ],
226
+ "example": "jux.style('id').render()"
227
+ },
228
+ {
229
+ "name": "Theme",
230
+ "category": "Core",
231
+ "description": "Theme - Load and apply CSS themes",
232
+ "constructor": "jux.theme(name: string)",
233
+ "fluentMethods": [
234
+ {
235
+ "name": "load",
236
+ "params": "(name)",
237
+ "returns": "this",
238
+ "description": "Set load"
239
+ }
240
+ ],
241
+ "example": "jux.theme('dark'); // Load vendor theme from lib/themes/"
242
+ },
243
+ {
244
+ "name": "Chart",
245
+ "category": "Data Components",
246
+ "description": "Chart component options",
247
+ "constructor": "jux.chart(componentId: string, options: ChartOptions = {})",
248
+ "fluentMethods": [
249
+ {
250
+ "name": "type",
251
+ "params": "(value)",
252
+ "returns": "this",
253
+ "description": "Set type"
254
+ },
255
+ {
256
+ "name": "data",
257
+ "params": "(value)",
258
+ "returns": "this",
259
+ "description": "Set data"
260
+ },
261
+ {
262
+ "name": "options",
263
+ "params": "(value)",
264
+ "returns": "this",
265
+ "description": "Set options"
266
+ },
267
+ {
268
+ "name": "render",
269
+ "params": "(targetId?)",
270
+ "returns": "this",
271
+ "description": "Set render"
272
+ },
273
+ {
274
+ "name": "renderTo",
275
+ "params": "(juxComponent)",
276
+ "returns": "this",
277
+ "description": "Set renderTo"
278
+ }
279
+ ],
280
+ "example": "const chart = jux.chart('myChart', {"
281
+ },
282
+ {
283
+ "name": "Data",
284
+ "category": "Data Components",
285
+ "description": "Data component - SQL query execution",
286
+ "constructor": "jux.data(sql: string, params: any[] = [], apiUrl: string = '/api/query')",
287
+ "fluentMethods": [],
288
+ "example": "const posts = jux.data('SELECT * FROM posts WHERE id = ?', [1]);"
289
+ },
290
+ {
291
+ "name": "List",
292
+ "category": "Data Components",
293
+ "description": "List item interface",
294
+ "constructor": "jux.list(componentId: string, options: ListOptions = {})",
295
+ "fluentMethods": [
296
+ {
297
+ "name": "items",
298
+ "params": "(value)",
299
+ "returns": "this",
300
+ "description": "Set items"
301
+ },
302
+ {
303
+ "name": "header",
304
+ "params": "(value)",
305
+ "returns": "this",
306
+ "description": "Set header"
307
+ },
308
+ {
309
+ "name": "gap",
310
+ "params": "(value)",
311
+ "returns": "this",
312
+ "description": "Set gap"
313
+ },
314
+ {
315
+ "name": "direction",
316
+ "params": "(value)",
317
+ "returns": "this",
318
+ "description": "Set direction"
319
+ },
320
+ {
321
+ "name": "selectable",
322
+ "params": "(value)",
323
+ "returns": "this",
324
+ "description": "Set selectable"
325
+ },
326
+ {
327
+ "name": "add",
328
+ "params": "(item, index?)",
329
+ "returns": "this",
330
+ "description": "Set add"
331
+ },
332
+ {
333
+ "name": "remove",
334
+ "params": "(index)",
335
+ "returns": "this",
336
+ "description": "Set remove"
337
+ },
338
+ {
339
+ "name": "move",
340
+ "params": "(fromIndex, toIndex)",
341
+ "returns": "this",
342
+ "description": "Set move"
343
+ },
344
+ {
345
+ "name": "select",
346
+ "params": "(index)",
347
+ "returns": "this",
348
+ "description": "Set select"
349
+ },
350
+ {
351
+ "name": "deselect",
352
+ "params": "()",
353
+ "returns": "this",
354
+ "description": "Set deselect"
355
+ },
356
+ {
357
+ "name": "render",
358
+ "params": "(targetId?)",
359
+ "returns": "this",
360
+ "description": "Set render"
361
+ },
362
+ {
363
+ "name": "renderTo",
364
+ "params": "(juxComponent)",
365
+ "returns": "this",
366
+ "description": "Set renderTo"
367
+ }
368
+ ],
369
+ "example": "const myList = jux.list('myList', {"
370
+ },
371
+ {
372
+ "name": "Table",
373
+ "category": "Data Components",
374
+ "description": "Table column configuration",
375
+ "constructor": "jux.table(componentId: string, options: TableOptions = {})",
376
+ "fluentMethods": [
377
+ {
378
+ "name": "columns",
379
+ "params": "(value)",
380
+ "returns": "this",
381
+ "description": "Set columns"
382
+ },
383
+ {
384
+ "name": "data",
385
+ "params": "(value)",
386
+ "returns": "this",
387
+ "description": "Set data"
388
+ },
389
+ {
390
+ "name": "striped",
391
+ "params": "(value)",
392
+ "returns": "this",
393
+ "description": "Set striped"
394
+ },
395
+ {
396
+ "name": "hoverable",
397
+ "params": "(value)",
398
+ "returns": "this",
399
+ "description": "Set hoverable"
400
+ },
401
+ {
402
+ "name": "bordered",
403
+ "params": "(value)",
404
+ "returns": "this",
405
+ "description": "Set bordered"
406
+ },
407
+ {
408
+ "name": "allowHtml",
409
+ "params": "(value)",
410
+ "returns": "this",
411
+ "description": "Set allowHtml"
412
+ },
413
+ {
414
+ "name": "render",
415
+ "params": "(targetId?)",
416
+ "returns": "this",
417
+ "description": "Set render"
418
+ },
419
+ {
420
+ "name": "renderTo",
421
+ "params": "(juxComponent)",
422
+ "returns": "this",
423
+ "description": "Set renderTo"
424
+ }
425
+ ],
426
+ "example": "// Auto-generate columns from data"
427
+ },
428
+ {
429
+ "name": "Button",
430
+ "category": "UI Components",
431
+ "description": "Button component options",
432
+ "constructor": "jux.button(componentId: string, options: ButtonOptions = {})",
433
+ "fluentMethods": [
434
+ {
435
+ "name": "label",
436
+ "params": "(value)",
437
+ "returns": "this",
438
+ "description": "Set label"
439
+ },
440
+ {
441
+ "name": "variant",
442
+ "params": "(value)",
443
+ "returns": "this",
444
+ "description": "Set variant"
445
+ },
446
+ {
447
+ "name": "disabled",
448
+ "params": "(value)",
449
+ "returns": "this",
450
+ "description": "Set disabled"
451
+ },
452
+ {
453
+ "name": "render",
454
+ "params": "(targetId?)",
455
+ "returns": "this",
456
+ "description": "Set render"
457
+ },
458
+ {
459
+ "name": "renderTo",
460
+ "params": "(juxComponent)",
461
+ "returns": "this",
462
+ "description": "Set renderTo"
463
+ }
464
+ ],
465
+ "example": "const btn = jux.button('myButton', { label: 'Click Me', onClick: () => console.log('clicked') });"
466
+ },
467
+ {
468
+ "name": "Card",
469
+ "category": "UI Components",
470
+ "description": "Action configuration for card actions",
471
+ "constructor": "jux.card(componentId: string, options: CardOptions = {})",
472
+ "fluentMethods": [
473
+ {
474
+ "name": "title",
475
+ "params": "(value)",
476
+ "returns": "this",
477
+ "description": "Set title"
478
+ },
479
+ {
480
+ "name": "subtitle",
481
+ "params": "(value)",
482
+ "returns": "this",
483
+ "description": "Set subtitle"
484
+ },
485
+ {
486
+ "name": "content",
487
+ "params": "(value)",
488
+ "returns": "this",
489
+ "description": "Set content"
490
+ },
491
+ {
492
+ "name": "image",
493
+ "params": "(value)",
494
+ "returns": "this",
495
+ "description": "Set image"
496
+ },
497
+ {
498
+ "name": "actions",
499
+ "params": "(value)",
500
+ "returns": "this",
501
+ "description": "Set actions"
502
+ },
503
+ {
504
+ "name": "variant",
505
+ "params": "(value)",
506
+ "returns": "this",
507
+ "description": "Set variant"
508
+ },
509
+ {
510
+ "name": "render",
511
+ "params": "(targetId?)",
512
+ "returns": "this",
513
+ "description": "Set render"
514
+ },
515
+ {
516
+ "name": "renderTo",
517
+ "params": "(juxComponent)",
518
+ "returns": "this",
519
+ "description": "Set renderTo"
520
+ }
521
+ ],
522
+ "example": "const card = jux.card('myCard', {"
523
+ },
524
+ {
525
+ "name": "Code",
526
+ "category": "UI Components",
527
+ "description": "Code component options",
528
+ "constructor": "jux.code(componentId: string, options: CodeOptions = {})",
529
+ "fluentMethods": [
530
+ {
531
+ "name": "code",
532
+ "params": "(value)",
533
+ "returns": "this",
534
+ "description": "Set code"
535
+ },
536
+ {
537
+ "name": "language",
538
+ "params": "(value)",
539
+ "returns": "this",
540
+ "description": "Set language"
541
+ },
542
+ {
543
+ "name": "title",
544
+ "params": "(value)",
545
+ "returns": "this",
546
+ "description": "Set title"
547
+ },
548
+ {
549
+ "name": "showLineNumbers",
550
+ "params": "(value)",
551
+ "returns": "this",
552
+ "description": "Set showLineNumbers"
553
+ },
554
+ {
555
+ "name": "highlightLines",
556
+ "params": "(value)",
557
+ "returns": "this",
558
+ "description": "Set highlightLines"
559
+ },
560
+ {
561
+ "name": "maxHeight",
562
+ "params": "(value)",
563
+ "returns": "this",
564
+ "description": "Set maxHeight"
565
+ },
566
+ {
567
+ "name": "wrap",
568
+ "params": "(value)",
569
+ "returns": "this",
570
+ "description": "Set wrap"
571
+ },
572
+ {
573
+ "name": "render",
574
+ "params": "(targetId?)",
575
+ "returns": "this",
576
+ "description": "Set render"
577
+ },
578
+ {
579
+ "name": "renderTo",
580
+ "params": "(juxComponent)",
581
+ "returns": "this",
582
+ "description": "Set renderTo"
583
+ }
584
+ ],
585
+ "example": "const codeBlock = jux.code('myCode', {"
586
+ },
587
+ {
588
+ "name": "Container",
589
+ "category": "UI Components",
590
+ "description": "Container options",
591
+ "constructor": "jux.container(componentId: string, options: ContainerOptions = {})",
592
+ "fluentMethods": [
593
+ {
594
+ "name": "direction",
595
+ "params": "(value)",
596
+ "returns": "this",
597
+ "description": "Set direction"
598
+ },
599
+ {
600
+ "name": "layout",
601
+ "params": "(value)",
602
+ "returns": "this",
603
+ "description": "Set layout"
604
+ },
605
+ {
606
+ "name": "minWidth",
607
+ "params": "(value)",
608
+ "returns": "this",
609
+ "description": "Set minWidth"
610
+ },
611
+ {
612
+ "name": "gap",
613
+ "params": "(value)",
614
+ "returns": "this",
615
+ "description": "Set gap"
616
+ },
617
+ {
618
+ "name": "justify",
619
+ "params": "(value)",
620
+ "returns": "this",
621
+ "description": "Set justify"
622
+ },
623
+ {
624
+ "name": "align",
625
+ "params": "(value)",
626
+ "returns": "this",
627
+ "description": "Set align"
628
+ },
629
+ {
630
+ "name": "wrap",
631
+ "params": "(value)",
632
+ "returns": "this",
633
+ "description": "Set wrap"
634
+ },
635
+ {
636
+ "name": "add",
637
+ "params": "(component)",
638
+ "returns": "this",
639
+ "description": "Set add"
640
+ }
641
+ ],
642
+ "example": "const container = jux.container('myContainer', {"
643
+ },
644
+ {
645
+ "name": "Footer",
646
+ "category": "UI Components",
647
+ "description": "Footer component options",
648
+ "constructor": "jux.footer(componentId: string, options: FooterOptions = {})",
649
+ "fluentMethods": [
650
+ {
651
+ "name": "content",
652
+ "params": "(value)",
653
+ "returns": "this",
654
+ "description": "Set content"
655
+ },
656
+ {
657
+ "name": "copyright",
658
+ "params": "(value)",
659
+ "returns": "this",
660
+ "description": "Set copyright"
661
+ },
662
+ {
663
+ "name": "links",
664
+ "params": "(value)",
665
+ "returns": "this",
666
+ "description": "Set links"
667
+ },
668
+ {
669
+ "name": "render",
670
+ "params": "(targetId?)",
671
+ "returns": "this",
672
+ "description": "Set render"
673
+ },
674
+ {
675
+ "name": "renderTo",
676
+ "params": "(juxComponent)",
677
+ "returns": "this",
678
+ "description": "Set renderTo"
679
+ }
680
+ ],
681
+ "example": "const footer = jux.footer('myFooter', {"
682
+ },
683
+ {
684
+ "name": "Header",
685
+ "category": "UI Components",
686
+ "description": "Header component options",
687
+ "constructor": "jux.header(componentId: string, options: HeaderOptions = {})",
688
+ "fluentMethods": [
689
+ {
690
+ "name": "title",
691
+ "params": "(value)",
692
+ "returns": "this",
693
+ "description": "Set title"
694
+ },
695
+ {
696
+ "name": "logo",
697
+ "params": "(value)",
698
+ "returns": "this",
699
+ "description": "Set logo"
700
+ },
701
+ {
702
+ "name": "navigation",
703
+ "params": "(value)",
704
+ "returns": "this",
705
+ "description": "Set navigation"
706
+ },
707
+ {
708
+ "name": "sticky",
709
+ "params": "(value)",
710
+ "returns": "this",
711
+ "description": "Set sticky"
712
+ },
713
+ {
714
+ "name": "render",
715
+ "params": "(targetId?)",
716
+ "returns": "this",
717
+ "description": "Set render"
718
+ },
719
+ {
720
+ "name": "renderTo",
721
+ "params": "(juxComponent)",
722
+ "returns": "this",
723
+ "description": "Set renderTo"
724
+ }
725
+ ],
726
+ "example": "const header = jux.header('myHeader', {"
727
+ },
728
+ {
729
+ "name": "Hero",
730
+ "category": "UI Components",
731
+ "description": "Hero component options",
732
+ "constructor": "jux.hero(componentId: string, options: HeroOptions = {})",
733
+ "fluentMethods": [
734
+ {
735
+ "name": "title",
736
+ "params": "(value)",
737
+ "returns": "this",
738
+ "description": "Set title"
739
+ },
740
+ {
741
+ "name": "subtitle",
742
+ "params": "(value)",
743
+ "returns": "this",
744
+ "description": "Set subtitle"
745
+ },
746
+ {
747
+ "name": "cta",
748
+ "params": "(value)",
749
+ "returns": "this",
750
+ "description": "Set cta"
751
+ },
752
+ {
753
+ "name": "ctaLink",
754
+ "params": "(value)",
755
+ "returns": "this",
756
+ "description": "Set ctaLink"
757
+ },
758
+ {
759
+ "name": "backgroundImage",
760
+ "params": "(value)",
761
+ "returns": "this",
762
+ "description": "Set backgroundImage"
763
+ },
764
+ {
765
+ "name": "variant",
766
+ "params": "(value)",
767
+ "returns": "this",
768
+ "description": "Set variant"
769
+ },
770
+ {
771
+ "name": "render",
772
+ "params": "(targetId?)",
773
+ "returns": "this",
774
+ "description": "Set render"
775
+ },
776
+ {
777
+ "name": "renderTo",
778
+ "params": "(juxComponent)",
779
+ "returns": "this",
780
+ "description": "Set renderTo"
781
+ }
782
+ ],
783
+ "example": "const hero = jux.hero('myHero', {"
784
+ },
785
+ {
786
+ "name": "Input",
787
+ "category": "UI Components",
788
+ "description": "Input component options",
789
+ "constructor": "jux.input(componentId: string, options: InputOptions = {})",
790
+ "fluentMethods": [
791
+ {
792
+ "name": "type",
793
+ "params": "(value)",
794
+ "returns": "this",
795
+ "description": "Set type"
796
+ },
797
+ {
798
+ "name": "label",
799
+ "params": "(value)",
800
+ "returns": "this",
801
+ "description": "Set label"
802
+ },
803
+ {
804
+ "name": "placeholder",
805
+ "params": "(value)",
806
+ "returns": "this",
807
+ "description": "Set placeholder"
808
+ },
809
+ {
810
+ "name": "value",
811
+ "params": "(value)",
812
+ "returns": "this",
813
+ "description": "Set value"
814
+ },
815
+ {
816
+ "name": "required",
817
+ "params": "(value)",
818
+ "returns": "this",
819
+ "description": "Set required"
820
+ },
821
+ {
822
+ "name": "disabled",
823
+ "params": "(value)",
824
+ "returns": "this",
825
+ "description": "Set disabled"
826
+ },
827
+ {
828
+ "name": "render",
829
+ "params": "(targetId?)",
830
+ "returns": "this",
831
+ "description": "Set render"
832
+ },
833
+ {
834
+ "name": "renderTo",
835
+ "params": "(juxComponent)",
836
+ "returns": "this",
837
+ "description": "Set renderTo"
838
+ }
839
+ ],
840
+ "example": "const input = jux.input('myInput', {"
841
+ },
842
+ {
843
+ "name": "Main",
844
+ "category": "UI Components",
845
+ "description": "Main component options",
846
+ "constructor": "jux.main(componentId: string, options: MainOptions = {})",
847
+ "fluentMethods": [
848
+ {
849
+ "name": "content",
850
+ "params": "(value)",
851
+ "returns": "this",
852
+ "description": "Set content"
853
+ },
854
+ {
855
+ "name": "padding",
856
+ "params": "(value)",
857
+ "returns": "this",
858
+ "description": "Set padding"
859
+ },
860
+ {
861
+ "name": "render",
862
+ "params": "(targetId?)",
863
+ "returns": "this",
864
+ "description": "Set render"
865
+ },
866
+ {
867
+ "name": "renderTo",
868
+ "params": "(juxComponent)",
869
+ "returns": "this",
870
+ "description": "Set renderTo"
871
+ }
872
+ ],
873
+ "example": "const main = jux.main('myMain', {"
874
+ },
875
+ {
876
+ "name": "Menu",
877
+ "category": "UI Components",
878
+ "description": "Menu item configuration",
879
+ "constructor": "jux.menu(componentId: string, options: MenuOptions = {})",
880
+ "fluentMethods": [
881
+ {
882
+ "name": "items",
883
+ "params": "(value)",
884
+ "returns": "this",
885
+ "description": "Set items"
886
+ },
887
+ {
888
+ "name": "addItem",
889
+ "params": "(item)",
890
+ "returns": "this",
891
+ "description": "Set addItem"
892
+ },
893
+ {
894
+ "name": "orientation",
895
+ "params": "(value)",
896
+ "returns": "this",
897
+ "description": "Set orientation"
898
+ },
899
+ {
900
+ "name": "render",
901
+ "params": "(targetId?)",
902
+ "returns": "this",
903
+ "description": "Set render"
904
+ },
905
+ {
906
+ "name": "renderTo",
907
+ "params": "(juxComponent)",
908
+ "returns": "this",
909
+ "description": "Set renderTo"
910
+ }
911
+ ],
912
+ "example": "const menu = jux.menu('myMenu', {"
913
+ },
914
+ {
915
+ "name": "Modal",
916
+ "category": "UI Components",
917
+ "description": "Modal component options",
918
+ "constructor": "jux.modal(componentId: string, options: ModalOptions = {})",
919
+ "fluentMethods": [
920
+ {
921
+ "name": "title",
922
+ "params": "(value)",
923
+ "returns": "this",
924
+ "description": "Set title"
925
+ },
926
+ {
927
+ "name": "content",
928
+ "params": "(value)",
929
+ "returns": "this",
930
+ "description": "Set content"
931
+ },
932
+ {
933
+ "name": "showCloseButton",
934
+ "params": "(value)",
935
+ "returns": "this",
936
+ "description": "Set showCloseButton"
937
+ },
938
+ {
939
+ "name": "closeOnBackdropClick",
940
+ "params": "(value)",
941
+ "returns": "this",
942
+ "description": "Set closeOnBackdropClick"
943
+ },
944
+ {
945
+ "name": "size",
946
+ "params": "(value)",
947
+ "returns": "this",
948
+ "description": "Set size"
949
+ },
950
+ {
951
+ "name": "open",
952
+ "params": "()",
953
+ "returns": "this",
954
+ "description": "Set open"
955
+ },
956
+ {
957
+ "name": "close",
958
+ "params": "()",
959
+ "returns": "this",
960
+ "description": "Set close"
961
+ },
962
+ {
963
+ "name": "render",
964
+ "params": "(targetId?)",
965
+ "returns": "this",
966
+ "description": "Set render"
967
+ },
968
+ {
969
+ "name": "renderTo",
970
+ "params": "(juxComponent)",
971
+ "returns": "this",
972
+ "description": "Set renderTo"
973
+ }
974
+ ],
975
+ "example": "const modal = jux.modal('myModal', {"
976
+ },
977
+ {
978
+ "name": "Nav",
979
+ "category": "UI Components",
980
+ "description": "Nav item configuration",
981
+ "constructor": "jux.nav(componentId: string, options: NavOptions = {})",
982
+ "fluentMethods": [
983
+ {
984
+ "name": "items",
985
+ "params": "(value)",
986
+ "returns": "this",
987
+ "description": "Set items"
988
+ },
989
+ {
990
+ "name": "addItem",
991
+ "params": "(item)",
992
+ "returns": "this",
993
+ "description": "Set addItem"
994
+ },
995
+ {
996
+ "name": "variant",
997
+ "params": "(value)",
998
+ "returns": "this",
999
+ "description": "Set variant"
1000
+ },
1001
+ {
1002
+ "name": "render",
1003
+ "params": "(targetId?)",
1004
+ "returns": "this",
1005
+ "description": "Set render"
1006
+ },
1007
+ {
1008
+ "name": "renderTo",
1009
+ "params": "(juxComponent)",
1010
+ "returns": "this",
1011
+ "description": "Set renderTo"
1012
+ }
1013
+ ],
1014
+ "example": "const nav = jux.nav('myNav', {"
1015
+ },
1016
+ {
1017
+ "name": "Node",
1018
+ "category": "UI Components",
1019
+ "description": "Node component options",
1020
+ "constructor": "jux.node(componentId: string, options: NodeOptions = {})",
1021
+ "fluentMethods": [
1022
+ {
1023
+ "name": "tagType",
1024
+ "params": "(value)",
1025
+ "returns": "this",
1026
+ "description": "Set tagType"
1027
+ },
1028
+ {
1029
+ "name": "className",
1030
+ "params": "(value)",
1031
+ "returns": "this",
1032
+ "description": "Set className"
1033
+ },
1034
+ {
1035
+ "name": "addClass",
1036
+ "params": "(value)",
1037
+ "returns": "this",
1038
+ "description": "Set addClass"
1039
+ },
1040
+ {
1041
+ "name": "removeClass",
1042
+ "params": "(value)",
1043
+ "returns": "this",
1044
+ "description": "Set removeClass"
1045
+ },
1046
+ {
1047
+ "name": "textContent",
1048
+ "params": "(value)",
1049
+ "returns": "this",
1050
+ "description": "Set textContent"
1051
+ },
1052
+ {
1053
+ "name": "innerHTML",
1054
+ "params": "(value)",
1055
+ "returns": "this",
1056
+ "description": "Set innerHTML"
1057
+ },
1058
+ {
1059
+ "name": "attr",
1060
+ "params": "(name, value)",
1061
+ "returns": "this",
1062
+ "description": "Set attr"
1063
+ },
1064
+ {
1065
+ "name": "attrs",
1066
+ "params": "(attributes, string>)",
1067
+ "returns": "this",
1068
+ "description": "Set attrs"
1069
+ },
1070
+ {
1071
+ "name": "style",
1072
+ "params": "(property, value)",
1073
+ "returns": "this",
1074
+ "description": "Set style"
1075
+ },
1076
+ {
1077
+ "name": "styles",
1078
+ "params": "(styles, string>)",
1079
+ "returns": "this",
1080
+ "description": "Set styles"
1081
+ },
1082
+ {
1083
+ "name": "render",
1084
+ "params": "(targetId?)",
1085
+ "returns": "this",
1086
+ "description": "Set render"
1087
+ },
1088
+ {
1089
+ "name": "renderTo",
1090
+ "params": "(juxComponent)",
1091
+ "returns": "this",
1092
+ "description": "Set renderTo"
1093
+ }
1094
+ ],
1095
+ "example": "const div = jux.node('myDiv', { tagType: 'div', className: 'container' });"
1096
+ },
1097
+ {
1098
+ "name": "Sidebar",
1099
+ "category": "UI Components",
1100
+ "description": "Sidebar component options",
1101
+ "constructor": "jux.sidebar(componentId: string, options: SidebarOptions = {})",
1102
+ "fluentMethods": [
1103
+ {
1104
+ "name": "title",
1105
+ "params": "(value)",
1106
+ "returns": "this",
1107
+ "description": "Set title"
1108
+ },
1109
+ {
1110
+ "name": "width",
1111
+ "params": "(value)",
1112
+ "returns": "this",
1113
+ "description": "Set width"
1114
+ },
1115
+ {
1116
+ "name": "position",
1117
+ "params": "(value)",
1118
+ "returns": "this",
1119
+ "description": "Set position"
1120
+ },
1121
+ {
1122
+ "name": "collapsible",
1123
+ "params": "(value)",
1124
+ "returns": "this",
1125
+ "description": "Set collapsible"
1126
+ },
1127
+ {
1128
+ "name": "collapsed",
1129
+ "params": "(value)",
1130
+ "returns": "this",
1131
+ "description": "Set collapsed"
1132
+ },
1133
+ {
1134
+ "name": "toggle",
1135
+ "params": "()",
1136
+ "returns": "this",
1137
+ "description": "Set toggle"
1138
+ },
1139
+ {
1140
+ "name": "render",
1141
+ "params": "(targetId?)",
1142
+ "returns": "this",
1143
+ "description": "Set render"
1144
+ },
1145
+ {
1146
+ "name": "renderTo",
1147
+ "params": "(juxComponent)",
1148
+ "returns": "this",
1149
+ "description": "Set renderTo"
1150
+ }
1151
+ ],
1152
+ "example": "const sidebar = jux.sidebar('mySidebar', {"
1153
+ },
1154
+ {
1155
+ "name": "Tabs",
1156
+ "category": "UI Components",
1157
+ "description": "Tab configuration",
1158
+ "constructor": "jux.tabs(componentId: string, options: TabsOptions = {})",
1159
+ "fluentMethods": [
1160
+ {
1161
+ "name": "tabs",
1162
+ "params": "(value)",
1163
+ "returns": "this",
1164
+ "description": "Set tabs"
1165
+ },
1166
+ {
1167
+ "name": "addTab",
1168
+ "params": "(tab)",
1169
+ "returns": "this",
1170
+ "description": "Set addTab"
1171
+ },
1172
+ {
1173
+ "name": "activeTab",
1174
+ "params": "(value)",
1175
+ "returns": "this",
1176
+ "description": "Set activeTab"
1177
+ }
1178
+ ],
1179
+ "example": "const tabs = jux.tabs('myTabs', {"
1180
+ },
1181
+ {
1182
+ "name": "View",
1183
+ "category": "UI Components",
1184
+ "description": "View component options",
1185
+ "constructor": "jux.view(componentId: string, options: ViewOptions = {})",
1186
+ "fluentMethods": [
1187
+ {
1188
+ "name": "title",
1189
+ "params": "(value)",
1190
+ "returns": "this",
1191
+ "description": "Set title"
1192
+ },
1193
+ {
1194
+ "name": "description",
1195
+ "params": "(value)",
1196
+ "returns": "this",
1197
+ "description": "Set description"
1198
+ },
1199
+ {
1200
+ "name": "add",
1201
+ "params": "(component)",
1202
+ "returns": "this",
1203
+ "description": "Set add"
1204
+ }
1205
+ ],
1206
+ "example": "const view = jux.view('myView', {"
1207
+ }
1208
+ ],
1209
+ "version": "1.0.0",
1210
+ "lastUpdated": "2026-01-16T19:58:49.958Z"
1211
+ }