juxscript 1.1.413 → 1.1.414

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 (115) hide show
  1. package/dist/components/charts/index.d.ts +7 -0
  2. package/dist/components/charts/index.d.ts.map +1 -0
  3. package/dist/components/charts/index.js +4 -0
  4. package/dist/components/charts/index.js.map +1 -0
  5. package/dist/components/columns.d.ts +86 -0
  6. package/dist/components/columns.d.ts.map +1 -0
  7. package/dist/components/columns.js +176 -0
  8. package/dist/components/columns.js.map +1 -0
  9. package/dist/components/layout/cols.d.ts +34 -0
  10. package/dist/components/layout/cols.d.ts.map +1 -0
  11. package/dist/components/layout/cols.js +65 -0
  12. package/dist/components/layout/cols.js.map +1 -0
  13. package/dist/components/layout/container.d.ts +49 -0
  14. package/dist/components/layout/container.d.ts.map +1 -0
  15. package/dist/components/layout/container.js +87 -0
  16. package/dist/components/layout/container.js.map +1 -0
  17. package/dist/components/layout/group.d.ts +31 -0
  18. package/dist/components/layout/group.d.ts.map +1 -0
  19. package/dist/components/layout/group.js +64 -0
  20. package/dist/components/layout/group.js.map +1 -0
  21. package/dist/components/layout/hero.d.ts +41 -0
  22. package/dist/components/layout/hero.d.ts.map +1 -0
  23. package/dist/components/layout/hero.js +117 -0
  24. package/dist/components/layout/hero.js.map +1 -0
  25. package/dist/components/layout/index.d.ts +11 -0
  26. package/dist/components/layout/index.d.ts.map +1 -0
  27. package/dist/components/layout/index.js +11 -0
  28. package/dist/components/layout/index.js.map +1 -0
  29. package/dist/components/layout/nav.d.ts +43 -0
  30. package/dist/components/layout/nav.d.ts.map +1 -0
  31. package/dist/components/layout/nav.js +94 -0
  32. package/dist/components/layout/nav.js.map +1 -0
  33. package/dist/components/layout/rows.d.ts +33 -0
  34. package/dist/components/layout/rows.d.ts.map +1 -0
  35. package/dist/components/layout/rows.js +64 -0
  36. package/dist/components/layout/rows.js.map +1 -0
  37. package/dist/components/layout/section.d.ts +35 -0
  38. package/dist/components/layout/section.d.ts.map +1 -0
  39. package/dist/components/layout/section.js +66 -0
  40. package/dist/components/layout/section.js.map +1 -0
  41. package/dist/components/layout/split.d.ts +33 -0
  42. package/dist/components/layout/split.d.ts.map +1 -0
  43. package/dist/components/layout/split.js +74 -0
  44. package/dist/components/layout/split.js.map +1 -0
  45. package/dist/components/layout/stack.d.ts +37 -0
  46. package/dist/components/layout/stack.d.ts.map +1 -0
  47. package/dist/components/layout/stack.js +69 -0
  48. package/dist/components/layout/stack.js.map +1 -0
  49. package/dist/components/media/avatar.d.ts +53 -0
  50. package/dist/components/media/avatar.d.ts.map +1 -0
  51. package/dist/components/media/avatar.js +122 -0
  52. package/dist/components/media/avatar.js.map +1 -0
  53. package/dist/components/media/embed.d.ts +47 -0
  54. package/dist/components/media/embed.d.ts.map +1 -0
  55. package/dist/components/media/embed.js +74 -0
  56. package/dist/components/media/embed.js.map +1 -0
  57. package/dist/components/media/gallery.d.ts +50 -0
  58. package/dist/components/media/gallery.d.ts.map +1 -0
  59. package/dist/components/media/gallery.js +96 -0
  60. package/dist/components/media/gallery.js.map +1 -0
  61. package/dist/components/media/icon.d.ts +43 -0
  62. package/dist/components/media/icon.d.ts.map +1 -0
  63. package/dist/components/media/icon.js +78 -0
  64. package/dist/components/media/icon.js.map +1 -0
  65. package/dist/components/media/image.d.ts +46 -0
  66. package/dist/components/media/image.d.ts.map +1 -0
  67. package/dist/components/media/image.js +73 -0
  68. package/dist/components/media/image.js.map +1 -0
  69. package/dist/components/media/index.d.ts +9 -0
  70. package/dist/components/media/index.d.ts.map +1 -0
  71. package/dist/components/media/index.js +9 -0
  72. package/dist/components/media/index.js.map +1 -0
  73. package/dist/components/media/logo.d.ts +51 -0
  74. package/dist/components/media/logo.d.ts.map +1 -0
  75. package/dist/components/media/logo.js +93 -0
  76. package/dist/components/media/logo.js.map +1 -0
  77. package/dist/components/media/video.d.ts +62 -0
  78. package/dist/components/media/video.d.ts.map +1 -0
  79. package/dist/components/media/video.js +92 -0
  80. package/dist/components/media/video.js.map +1 -0
  81. package/dist/components/widgets/canvas-ai.d.ts.map +1 -1
  82. package/dist/components/widgets/canvas-ai.js +34 -1
  83. package/dist/components/widgets/canvas-ai.js.map +1 -1
  84. package/dist/components/widgets/canvas-compile.d.ts.map +1 -1
  85. package/dist/components/widgets/canvas-compile.js +41 -3
  86. package/dist/components/widgets/canvas-compile.js.map +1 -1
  87. package/dist/components/widgets/canvas-registry.d.ts +6 -0
  88. package/dist/components/widgets/canvas-registry.d.ts.map +1 -1
  89. package/dist/components/widgets/canvas-registry.js +63 -0
  90. package/dist/components/widgets/canvas-registry.js.map +1 -1
  91. package/dist/components/widgets/canvas-styles.d.ts.map +1 -1
  92. package/dist/components/widgets/canvas-styles.js +3 -1
  93. package/dist/components/widgets/canvas-styles.js.map +1 -1
  94. package/dist/components/widgets/canvas.d.ts +1 -0
  95. package/dist/components/widgets/canvas.d.ts.map +1 -1
  96. package/dist/components/widgets/canvas.js +63 -10
  97. package/dist/components/widgets/canvas.js.map +1 -1
  98. package/dist/components/widgets/chatAi.d.ts +83 -0
  99. package/dist/components/widgets/chatAi.d.ts.map +1 -0
  100. package/dist/components/widgets/chatAi.js +228 -0
  101. package/dist/components/widgets/chatAi.js.map +1 -0
  102. package/dist/connect/claudeService.d.ts +85 -0
  103. package/dist/connect/claudeService.d.ts.map +1 -0
  104. package/dist/connect/claudeService.js +132 -0
  105. package/dist/connect/claudeService.js.map +1 -0
  106. package/dist/connect/openaiService.d.ts +96 -0
  107. package/dist/connect/openaiService.d.ts.map +1 -0
  108. package/dist/connect/openaiService.js +156 -0
  109. package/dist/connect/openaiService.js.map +1 -0
  110. package/dist/index.d.ts +7 -0
  111. package/dist/index.d.ts.map +1 -1
  112. package/dist/index.js +7 -0
  113. package/dist/index.js.map +1 -1
  114. package/machinery/compiler4.js +0 -10
  115. package/package.json +1 -3
@@ -0,0 +1,64 @@
1
+ import generateId from '../../utils/idgen.js';
2
+ import { pageState } from '../../state/pageState.js';
3
+ class Group {
4
+ constructor(id, children = [], options = {}) {
5
+ this.id = id || generateId('group');
6
+ this._opts = { ...options };
7
+ this._element = document.createElement('div');
8
+ this._element.id = this.id;
9
+ this._element.style.boxSizing = 'border-box';
10
+ if (this._opts.class)
11
+ this._element.className = this._opts.class;
12
+ if (this._opts.style) {
13
+ const existing = this._element.getAttribute('style') || '';
14
+ this._element.setAttribute('style', existing + ';' + this._opts.style);
15
+ }
16
+ for (const child of children) {
17
+ const node = child instanceof HTMLElement ? child : child.element;
18
+ this._element.appendChild(node);
19
+ }
20
+ if (this._opts.target)
21
+ this.render(this._opts.target);
22
+ }
23
+ get element() { return this._element; }
24
+ getElement() { return this._element; }
25
+ get state() { return pageState[this.id]; }
26
+ class(val) { this._opts.class = val; this._element.className = val; return this; }
27
+ style(css) {
28
+ this._opts.style = css;
29
+ const existing = this._element.getAttribute('style') || '';
30
+ this._element.setAttribute('style', existing + ';' + css);
31
+ return this;
32
+ }
33
+ append(...children) {
34
+ for (const child of children) {
35
+ const node = child instanceof HTMLElement ? child : child.element;
36
+ this._element.appendChild(node);
37
+ }
38
+ return this;
39
+ }
40
+ render(target) {
41
+ let parent = null;
42
+ if (typeof target === 'string')
43
+ parent = document.getElementById(target) || document.querySelector(target);
44
+ else if (target instanceof HTMLElement)
45
+ parent = target;
46
+ else if (target && 'element' in target)
47
+ parent = target.element;
48
+ else
49
+ parent = document.getElementById('app');
50
+ parent?.appendChild(this._element);
51
+ return this;
52
+ }
53
+ into(target) {
54
+ return this.render(target);
55
+ }
56
+ }
57
+ export function group(id, children = [], options = {}) {
58
+ const inst = new Group(id || generateId('group'), children, options);
59
+ pageState.__register(inst);
60
+ return inst;
61
+ }
62
+ export { Group };
63
+ export default group;
64
+ //# sourceMappingURL=group.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"group.js","sourceRoot":"","sources":["../../../lib/components/layout/group.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ type AnyChild = {
2
+ element: HTMLElement;
3
+ } | HTMLElement;
4
+ interface HeroOptions {
5
+ bg?: string;
6
+ image?: string;
7
+ height?: string;
8
+ center?: boolean;
9
+ padding?: string;
10
+ class?: string;
11
+ style?: string;
12
+ target?: string;
13
+ [key: string]: any;
14
+ }
15
+ declare class Hero {
16
+ id: string;
17
+ private _opts;
18
+ private _element;
19
+ constructor(id: string, options?: HeroOptions);
20
+ get element(): HTMLElement;
21
+ getElement(): HTMLElement;
22
+ get state(): any;
23
+ bg(val: string): this;
24
+ image(url: string): this;
25
+ height(val: string): this;
26
+ center(val?: boolean): this;
27
+ padding(val: string): this;
28
+ class(val: string): this;
29
+ style(css: string): this;
30
+ append(...children: AnyChild[]): this;
31
+ render(target?: string | HTMLElement | {
32
+ element: HTMLElement;
33
+ }): this;
34
+ into(target?: string | HTMLElement | {
35
+ element: HTMLElement;
36
+ }): this;
37
+ }
38
+ export declare function hero(id?: string, options?: HeroOptions): Hero;
39
+ export { Hero, HeroOptions };
40
+ export default hero;
41
+ //# sourceMappingURL=hero.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hero.d.ts","sourceRoot":"","sources":["../../../lib/components/layout/hero.ts"],"names":[],"mappings":"AAGA,KAAK,QAAQ,GAAG;IAAE,OAAO,EAAE,WAAW,CAAA;CAAE,GAAG,WAAW,CAAC;AAEvD,UAAU,WAAW;IACjB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,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;AAED,cAAM,IAAI;IACN,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,CAAC,KAAK,CAAc;IAC3B,OAAO,CAAC,QAAQ,CAAc;gBAElB,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB;IA+BjD,IAAI,OAAO,IAAI,WAAW,CAA0B;IACpD,UAAU,IAAI,WAAW;IACzB,IAAI,KAAK,IAAI,GAAG,CAAyC;IAEzD,EAAE,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAKrB,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAOxB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAKzB,MAAM,CAAC,GAAG,GAAE,OAAc,GAAG,IAAI;IAajC,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAK1B,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAKxB,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAOxB,MAAM,CAAC,GAAG,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAI;IAQrC,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG;QAAE,OAAO,EAAE,WAAW,CAAA;KAAE,GAAG,IAAI;IAUtE,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG;QAAE,OAAO,EAAE,WAAW,CAAA;KAAE,GAAG,IAAI;CAGvE;AAED,wBAAgB,IAAI,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB,GAAG,IAAI,CAIjE;AAED,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;AAC7B,eAAe,IAAI,CAAC"}
@@ -0,0 +1,117 @@
1
+ import generateId from '../../utils/idgen.js';
2
+ import { pageState } from '../../state/pageState.js';
3
+ class Hero {
4
+ constructor(id, options = {}) {
5
+ this.id = id || generateId('hero');
6
+ this._opts = { ...options };
7
+ this._element = document.createElement('div');
8
+ this._element.id = this.id;
9
+ this._element.style.boxSizing = 'border-box';
10
+ this._element.style.width = '100%';
11
+ if (this._opts.bg)
12
+ this._element.style.background = this._opts.bg;
13
+ if (this._opts.image) {
14
+ this._element.style.backgroundImage = `url(${CSS.escape(this._opts.image)})`;
15
+ this._element.style.backgroundSize = 'cover';
16
+ this._element.style.backgroundPosition = 'center';
17
+ }
18
+ if (this._opts.height)
19
+ this._element.style.height = this._opts.height;
20
+ if (this._opts.padding)
21
+ this._element.style.padding = this._opts.padding;
22
+ if (this._opts.center) {
23
+ this._element.style.display = 'flex';
24
+ this._element.style.alignItems = 'center';
25
+ this._element.style.justifyContent = 'center';
26
+ }
27
+ if (this._opts.class)
28
+ this._element.className = this._opts.class;
29
+ if (this._opts.style) {
30
+ const existing = this._element.getAttribute('style') || '';
31
+ this._element.setAttribute('style', existing + ';' + this._opts.style);
32
+ }
33
+ if (this._opts.target)
34
+ this.render(this._opts.target);
35
+ }
36
+ get element() { return this._element; }
37
+ getElement() { return this._element; }
38
+ get state() { return pageState[this.id]; }
39
+ bg(val) {
40
+ this._opts.bg = val;
41
+ this._element.style.background = val;
42
+ return this;
43
+ }
44
+ image(url) {
45
+ this._opts.image = url;
46
+ this._element.style.backgroundImage = `url(${CSS.escape(url)})`;
47
+ this._element.style.backgroundSize = 'cover';
48
+ this._element.style.backgroundPosition = 'center';
49
+ return this;
50
+ }
51
+ height(val) {
52
+ this._opts.height = val;
53
+ this._element.style.height = val;
54
+ return this;
55
+ }
56
+ center(val = true) {
57
+ this._opts.center = val;
58
+ if (val) {
59
+ this._element.style.display = 'flex';
60
+ this._element.style.alignItems = 'center';
61
+ this._element.style.justifyContent = 'center';
62
+ }
63
+ else {
64
+ this._element.style.display = '';
65
+ this._element.style.alignItems = '';
66
+ this._element.style.justifyContent = '';
67
+ }
68
+ return this;
69
+ }
70
+ padding(val) {
71
+ this._opts.padding = val;
72
+ this._element.style.padding = val;
73
+ return this;
74
+ }
75
+ class(val) {
76
+ this._opts.class = val;
77
+ this._element.className = val;
78
+ return this;
79
+ }
80
+ style(css) {
81
+ this._opts.style = css;
82
+ const existing = this._element.getAttribute('style') || '';
83
+ this._element.setAttribute('style', existing + ';' + css);
84
+ return this;
85
+ }
86
+ append(...children) {
87
+ for (const child of children) {
88
+ const node = child instanceof HTMLElement ? child : child.element;
89
+ this._element.appendChild(node);
90
+ }
91
+ return this;
92
+ }
93
+ render(target) {
94
+ let parent = null;
95
+ if (typeof target === 'string')
96
+ parent = document.getElementById(target) || document.querySelector(target);
97
+ else if (target instanceof HTMLElement)
98
+ parent = target;
99
+ else if (target && 'element' in target)
100
+ parent = target.element;
101
+ else
102
+ parent = document.getElementById('app');
103
+ parent?.appendChild(this._element);
104
+ return this;
105
+ }
106
+ into(target) {
107
+ return this.render(target);
108
+ }
109
+ }
110
+ export function hero(id, options = {}) {
111
+ const inst = new Hero(id || generateId('hero'), options);
112
+ pageState.__register(inst);
113
+ return inst;
114
+ }
115
+ export { Hero };
116
+ export default hero;
117
+ //# sourceMappingURL=hero.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hero.js","sourceRoot":"","sources":["../../../lib/components/layout/hero.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAgBrD,MAAM,IAAI;IAKN,YAAY,EAAU,EAAE,UAAuB,EAAE;QAC7C,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;QACnC,IAAI,CAAC,KAAK,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC;QAE5B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC9C,IAAI,CAAC,QAAQ,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;QAC3B,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,GAAG,YAAY,CAAC;QAC7C,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC;QAEnC,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE;YAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACvE,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACnB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,eAAe,GAAG,OAAO,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;YAC7E,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,GAAG,OAAO,CAAC;YAC7C,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,kBAAkB,GAAG,QAAQ,CAAC;QACtD,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM;YAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;QACvE,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO;YAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;QACzE,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YACpB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;YACrC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC;YAC1C,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,GAAG,QAAQ,CAAC;QAClD,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK;YAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QAClE,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACnB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YAC3D,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,OAAO,EAAE,QAAQ,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC3E,CAAC;QAED,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM;YAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC1D,CAAC;IAED,IAAI,OAAO,KAAkB,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IACpD,UAAU,KAAmB,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IACpD,IAAI,KAAK,KAAoB,OAAO,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAEzD,EAAE,CAAC,GAAW;QACV,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,GAAG,CAAC;QACpB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,GAAG,GAAG,CAAC;QACrC,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,KAAK,CAAC,GAAW;QACb,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC;QACvB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,eAAe,GAAG,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;QAChE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,GAAG,OAAO,CAAC;QAC7C,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,kBAAkB,GAAG,QAAQ,CAAC;QAClD,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,MAAM,CAAC,GAAW;QACd,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC;QACxB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC;QACjC,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,MAAM,CAAC,MAAe,IAAI;QACtB,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC;QACxB,IAAI,GAAG,EAAE,CAAC;YACN,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;YACrC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC;YAC1C,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,GAAG,QAAQ,CAAC;QAClD,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC;YACjC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,GAAG,EAAE,CAAC;YACpC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,GAAG,EAAE,CAAC;QAC5C,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,OAAO,CAAC,GAAW;QACf,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC;QACzB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC;QAClC,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,KAAK,CAAC,GAAW;QACb,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC;QACvB,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,GAAG,CAAC;QAC9B,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,KAAK,CAAC,GAAW;QACb,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QAC3D,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,OAAO,EAAE,QAAQ,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;QAC1D,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,GAAG,QAAoB;QAC1B,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;YAC3B,MAAM,IAAI,GAAG,KAAK,YAAY,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;YAClE,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACpC,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,MAAwD;QAC3D,IAAI,MAAM,GAAuB,IAAI,CAAC;QACtC,IAAI,OAAO,MAAM,KAAK,QAAQ;YAAE,MAAM,GAAG,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAgB,CAAC;aACrH,IAAI,MAAM,YAAY,WAAW;YAAE,MAAM,GAAG,MAAM,CAAC;aACnD,IAAI,MAAM,IAAI,SAAS,IAAI,MAAM;YAAE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC;;YAC3D,MAAM,GAAG,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAC7C,MAAM,EAAE,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACnC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,IAAI,CAAC,MAAwD;QACzD,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC;CACJ;AAED,MAAM,UAAU,IAAI,CAAC,EAAW,EAAE,UAAuB,EAAE;IACvD,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,EAAE,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;IACzD,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAC3B,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,OAAO,EAAE,IAAI,EAAe,CAAC;AAC7B,eAAe,IAAI,CAAC"}
@@ -0,0 +1,11 @@
1
+ export { Container, ContainerOptions, container } from './container.js';
2
+ export { Group, GroupOptions, group } from './group.js';
3
+ export { Hero, HeroOptions, hero } from './hero.js';
4
+ export { Split, SplitOptions, split } from './split.js';
5
+ export { Stack, StackOptions, stack } from './stack.js';
6
+ export { Cols, ColsOptions, cols } from './cols.js';
7
+ export { Rows, RowsOptions, rows } from './rows.js';
8
+ export { Section, SectionOptions, section } from './section.js';
9
+ export { Nav, NavOptions, nav } from './nav.js';
10
+ export { container as default } from './container.js';
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../lib/components/layout/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AACxE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAEhD,OAAO,EAAE,SAAS,IAAI,OAAO,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,11 @@
1
+ export { Container, container } from './container.js';
2
+ export { Group, group } from './group.js';
3
+ export { Hero, hero } from './hero.js';
4
+ export { Split, split } from './split.js';
5
+ export { Stack, stack } from './stack.js';
6
+ export { Cols, cols } from './cols.js';
7
+ export { Rows, rows } from './rows.js';
8
+ export { Section, section } from './section.js';
9
+ export { Nav, nav } from './nav.js';
10
+ export { container as default } from './container.js';
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../lib/components/layout/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAoB,SAAS,EAAE,MAAM,gBAAgB,CAAC;AACxE,OAAO,EAAE,KAAK,EAAgB,KAAK,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,EAAE,IAAI,EAAe,IAAI,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,KAAK,EAAgB,KAAK,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,EAAE,KAAK,EAAgB,KAAK,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,EAAE,IAAI,EAAe,IAAI,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,IAAI,EAAe,IAAI,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,OAAO,EAAkB,OAAO,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,GAAG,EAAc,GAAG,EAAE,MAAM,UAAU,CAAC;AAEhD,OAAO,EAAE,SAAS,IAAI,OAAO,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,43 @@
1
+ type AnyChild = {
2
+ element: HTMLElement;
3
+ } | HTMLElement;
4
+ interface NavOptions {
5
+ left?: AnyChild;
6
+ center?: AnyChild;
7
+ right?: AnyChild;
8
+ height?: string;
9
+ bg?: string;
10
+ class?: string;
11
+ style?: string;
12
+ target?: string;
13
+ [key: string]: any;
14
+ }
15
+ declare class Nav {
16
+ id: string;
17
+ private _opts;
18
+ private _element;
19
+ private _leftZone;
20
+ private _centerZone;
21
+ private _rightZone;
22
+ constructor(id: string, options?: NavOptions);
23
+ get element(): HTMLElement;
24
+ getElement(): HTMLElement;
25
+ get state(): any;
26
+ left(child: AnyChild): this;
27
+ center(child: AnyChild): this;
28
+ right(child: AnyChild): this;
29
+ height(val: string): this;
30
+ bg(val: string): this;
31
+ class(val: string): this;
32
+ style(css: string): this;
33
+ render(target?: string | HTMLElement | {
34
+ element: HTMLElement;
35
+ }): this;
36
+ into(target?: string | HTMLElement | {
37
+ element: HTMLElement;
38
+ }): this;
39
+ }
40
+ export declare function nav(id?: string, options?: NavOptions): Nav;
41
+ export { Nav, NavOptions };
42
+ export default nav;
43
+ //# sourceMappingURL=nav.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nav.d.ts","sourceRoot":"","sources":["../../../lib/components/layout/nav.ts"],"names":[],"mappings":"AAGA,KAAK,QAAQ,GAAG;IAAE,OAAO,EAAE,WAAW,CAAA;CAAE,GAAG,WAAW,CAAC;AAEvD,UAAU,UAAU;IAChB,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,MAAM,CAAC,EAAE,QAAQ,CAAC;IAClB,KAAK,CAAC,EAAE,QAAQ,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,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;AAED,cAAM,GAAG;IACL,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,CAAC,KAAK,CAAa;IAC1B,OAAO,CAAC,QAAQ,CAAc;IAC9B,OAAO,CAAC,SAAS,CAAc;IAC/B,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,UAAU,CAAc;gBAEpB,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,UAAe;IA4ChD,IAAI,OAAO,IAAI,WAAW,CAA0B;IACpD,UAAU,IAAI,WAAW;IACzB,IAAI,KAAK,IAAI,GAAG,CAAyC;IAEzD,IAAI,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI;IAI3B,MAAM,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI;IAI7B,KAAK,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI;IAI5B,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IACzB,EAAE,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IACrB,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IACxB,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAOxB,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG;QAAE,OAAO,EAAE,WAAW,CAAA;KAAE,GAAG,IAAI;IAUtE,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG;QAAE,OAAO,EAAE,WAAW,CAAA;KAAE,GAAG,IAAI;CAGvE;AAED,wBAAgB,GAAG,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,GAAE,UAAe,GAAG,GAAG,CAI9D;AAED,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC;AAC3B,eAAe,GAAG,CAAC"}
@@ -0,0 +1,94 @@
1
+ import generateId from '../../utils/idgen.js';
2
+ import { pageState } from '../../state/pageState.js';
3
+ class Nav {
4
+ constructor(id, options = {}) {
5
+ this.id = id || generateId('nav');
6
+ this._opts = { ...options };
7
+ this._element = document.createElement('nav');
8
+ this._element.id = this.id;
9
+ this._element.style.display = 'flex';
10
+ this._element.style.flexDirection = 'row';
11
+ this._element.style.alignItems = 'center';
12
+ this._element.style.justifyContent = 'space-between';
13
+ this._element.style.boxSizing = 'border-box';
14
+ this._element.style.width = '100%';
15
+ if (this._opts.height)
16
+ this._element.style.height = this._opts.height;
17
+ if (this._opts.bg)
18
+ this._element.style.background = this._opts.bg;
19
+ if (this._opts.class)
20
+ this._element.className = this._opts.class;
21
+ if (this._opts.style) {
22
+ const existing = this._element.getAttribute('style') || '';
23
+ this._element.setAttribute('style', existing + ';' + this._opts.style);
24
+ }
25
+ this._leftZone = document.createElement('div');
26
+ this._leftZone.style.display = 'flex';
27
+ this._leftZone.style.alignItems = 'center';
28
+ this._centerZone = document.createElement('div');
29
+ this._centerZone.style.display = 'flex';
30
+ this._centerZone.style.alignItems = 'center';
31
+ this._rightZone = document.createElement('div');
32
+ this._rightZone.style.display = 'flex';
33
+ this._rightZone.style.alignItems = 'center';
34
+ if (this._opts.left)
35
+ this._leftZone.appendChild(this._opts.left instanceof HTMLElement ? this._opts.left : this._opts.left.element);
36
+ if (this._opts.center)
37
+ this._centerZone.appendChild(this._opts.center instanceof HTMLElement ? this._opts.center : this._opts.center.element);
38
+ if (this._opts.right)
39
+ this._rightZone.appendChild(this._opts.right instanceof HTMLElement ? this._opts.right : this._opts.right.element);
40
+ this._element.appendChild(this._leftZone);
41
+ this._element.appendChild(this._centerZone);
42
+ this._element.appendChild(this._rightZone);
43
+ if (this._opts.target)
44
+ this.render(this._opts.target);
45
+ }
46
+ get element() { return this._element; }
47
+ getElement() { return this._element; }
48
+ get state() { return pageState[this.id]; }
49
+ left(child) {
50
+ this._leftZone.replaceChildren(child instanceof HTMLElement ? child : child.element);
51
+ return this;
52
+ }
53
+ center(child) {
54
+ this._centerZone.replaceChildren(child instanceof HTMLElement ? child : child.element);
55
+ return this;
56
+ }
57
+ right(child) {
58
+ this._rightZone.replaceChildren(child instanceof HTMLElement ? child : child.element);
59
+ return this;
60
+ }
61
+ height(val) { this._opts.height = val; this._element.style.height = val; return this; }
62
+ bg(val) { this._opts.bg = val; this._element.style.background = val; return this; }
63
+ class(val) { this._opts.class = val; this._element.className = val; return this; }
64
+ style(css) {
65
+ this._opts.style = css;
66
+ const existing = this._element.getAttribute('style') || '';
67
+ this._element.setAttribute('style', existing + ';' + css);
68
+ return this;
69
+ }
70
+ render(target) {
71
+ let parent = null;
72
+ if (typeof target === 'string')
73
+ parent = document.getElementById(target) || document.querySelector(target);
74
+ else if (target instanceof HTMLElement)
75
+ parent = target;
76
+ else if (target && 'element' in target)
77
+ parent = target.element;
78
+ else
79
+ parent = document.getElementById('app');
80
+ parent?.appendChild(this._element);
81
+ return this;
82
+ }
83
+ into(target) {
84
+ return this.render(target);
85
+ }
86
+ }
87
+ export function nav(id, options = {}) {
88
+ const inst = new Nav(id || generateId('nav'), options);
89
+ pageState.__register(inst);
90
+ return inst;
91
+ }
92
+ export { Nav };
93
+ export default nav;
94
+ //# sourceMappingURL=nav.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nav.js","sourceRoot":"","sources":["../../../lib/components/layout/nav.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ type AnyChild = {
2
+ element: HTMLElement;
3
+ } | HTMLElement;
4
+ interface RowsOptions {
5
+ gap?: string;
6
+ class?: string;
7
+ style?: string;
8
+ target?: string;
9
+ [key: string]: any;
10
+ }
11
+ declare class Rows {
12
+ id: string;
13
+ private _opts;
14
+ private _element;
15
+ constructor(id: string, sizes: string[], gap?: string, options?: RowsOptions);
16
+ get element(): HTMLElement;
17
+ getElement(): HTMLElement;
18
+ get state(): any;
19
+ gap(val: string): this;
20
+ class(val: string): this;
21
+ style(css: string): this;
22
+ append(...children: AnyChild[]): this;
23
+ render(target?: string | HTMLElement | {
24
+ element: HTMLElement;
25
+ }): this;
26
+ into(target?: string | HTMLElement | {
27
+ element: HTMLElement;
28
+ }): this;
29
+ }
30
+ export declare function rows(id?: string, sizes?: string[], gap?: string, options?: RowsOptions): Rows;
31
+ export { Rows, RowsOptions };
32
+ export default rows;
33
+ //# sourceMappingURL=rows.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rows.d.ts","sourceRoot":"","sources":["../../../lib/components/layout/rows.ts"],"names":[],"mappings":"AAGA,KAAK,QAAQ,GAAG;IAAE,OAAO,EAAE,WAAW,CAAA;CAAE,GAAG,WAAW,CAAC;AAEvD,UAAU,WAAW;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,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;AAED,cAAM,IAAI;IACN,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,CAAC,KAAK,CAAc;IAC3B,OAAO,CAAC,QAAQ,CAAc;gBAElB,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,GAAG,GAAE,MAAY,EAAE,OAAO,GAAE,WAAgB;IAoBrF,IAAI,OAAO,IAAI,WAAW,CAA0B;IACpD,UAAU,IAAI,WAAW;IACzB,IAAI,KAAK,IAAI,GAAG,CAAyC;IAEzD,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IACtB,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IACxB,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAOxB,MAAM,CAAC,GAAG,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAI;IAQrC,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG;QAAE,OAAO,EAAE,WAAW,CAAA;KAAE,GAAG,IAAI;IAUtE,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG;QAAE,OAAO,EAAE,WAAW,CAAA;KAAE,GAAG,IAAI;CAGvE;AAED,wBAAgB,IAAI,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,GAAE,MAAM,EAAY,EAAE,GAAG,GAAE,MAAY,EAAE,OAAO,GAAE,WAAgB,GAAG,IAAI,CAI/G;AAED,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;AAC7B,eAAe,IAAI,CAAC"}
@@ -0,0 +1,64 @@
1
+ import generateId from '../../utils/idgen.js';
2
+ import { pageState } from '../../state/pageState.js';
3
+ class Rows {
4
+ constructor(id, sizes, gap = '0', options = {}) {
5
+ this.id = id || generateId('rows');
6
+ this._opts = { gap, ...options };
7
+ this._element = document.createElement('div');
8
+ this._element.id = this.id;
9
+ this._element.style.display = 'grid';
10
+ this._element.style.gridTemplateRows = sizes.join(' ');
11
+ this._element.style.gap = gap;
12
+ this._element.style.boxSizing = 'border-box';
13
+ if (this._opts.class)
14
+ this._element.className = this._opts.class;
15
+ if (this._opts.style) {
16
+ const existing = this._element.getAttribute('style') || '';
17
+ this._element.setAttribute('style', existing + ';' + this._opts.style);
18
+ }
19
+ if (this._opts.target)
20
+ this.render(this._opts.target);
21
+ }
22
+ get element() { return this._element; }
23
+ getElement() { return this._element; }
24
+ get state() { return pageState[this.id]; }
25
+ gap(val) { this._opts.gap = val; this._element.style.gap = val; return this; }
26
+ class(val) { this._opts.class = val; this._element.className = val; return this; }
27
+ style(css) {
28
+ this._opts.style = css;
29
+ const existing = this._element.getAttribute('style') || '';
30
+ this._element.setAttribute('style', existing + ';' + css);
31
+ return this;
32
+ }
33
+ append(...children) {
34
+ for (const child of children) {
35
+ const node = child instanceof HTMLElement ? child : child.element;
36
+ this._element.appendChild(node);
37
+ }
38
+ return this;
39
+ }
40
+ render(target) {
41
+ let parent = null;
42
+ if (typeof target === 'string')
43
+ parent = document.getElementById(target) || document.querySelector(target);
44
+ else if (target instanceof HTMLElement)
45
+ parent = target;
46
+ else if (target && 'element' in target)
47
+ parent = target.element;
48
+ else
49
+ parent = document.getElementById('app');
50
+ parent?.appendChild(this._element);
51
+ return this;
52
+ }
53
+ into(target) {
54
+ return this.render(target);
55
+ }
56
+ }
57
+ export function rows(id, sizes = ['1fr'], gap = '0', options = {}) {
58
+ const inst = new Rows(id || generateId('rows'), sizes, gap, options);
59
+ pageState.__register(inst);
60
+ return inst;
61
+ }
62
+ export { Rows };
63
+ export default rows;
64
+ //# sourceMappingURL=rows.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rows.js","sourceRoot":"","sources":["../../../lib/components/layout/rows.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ type AnyChild = {
2
+ element: HTMLElement;
3
+ } | HTMLElement;
4
+ interface SectionOptions {
5
+ padding?: string;
6
+ bg?: string;
7
+ class?: string;
8
+ style?: string;
9
+ target?: string;
10
+ [key: string]: any;
11
+ }
12
+ declare class Section {
13
+ id: string;
14
+ private _opts;
15
+ private _element;
16
+ constructor(id: string, options?: SectionOptions);
17
+ get element(): HTMLElement;
18
+ getElement(): HTMLElement;
19
+ get state(): any;
20
+ padding(val: string): this;
21
+ bg(val: string): this;
22
+ class(val: string): this;
23
+ style(css: string): this;
24
+ append(...children: AnyChild[]): this;
25
+ render(target?: string | HTMLElement | {
26
+ element: HTMLElement;
27
+ }): this;
28
+ into(target?: string | HTMLElement | {
29
+ element: HTMLElement;
30
+ }): this;
31
+ }
32
+ export declare function section(id?: string, options?: SectionOptions): Section;
33
+ export { Section, SectionOptions };
34
+ export default section;
35
+ //# sourceMappingURL=section.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"section.d.ts","sourceRoot":"","sources":["../../../lib/components/layout/section.ts"],"names":[],"mappings":"AAGA,KAAK,QAAQ,GAAG;IAAE,OAAO,EAAE,WAAW,CAAA;CAAE,GAAG,WAAW,CAAC;AAEvD,UAAU,cAAc;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,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;AAED,cAAM,OAAO;IACT,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,CAAC,KAAK,CAAiB;IAC9B,OAAO,CAAC,QAAQ,CAAc;gBAElB,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,cAAmB;IAmBpD,IAAI,OAAO,IAAI,WAAW,CAA0B;IACpD,UAAU,IAAI,WAAW;IACzB,IAAI,KAAK,IAAI,GAAG,CAAyC;IAEzD,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAC1B,EAAE,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IACrB,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IACxB,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAOxB,MAAM,CAAC,GAAG,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAI;IAQrC,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG;QAAE,OAAO,EAAE,WAAW,CAAA;KAAE,GAAG,IAAI;IAUtE,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG;QAAE,OAAO,EAAE,WAAW,CAAA;KAAE,GAAG,IAAI;CAGvE;AAED,wBAAgB,OAAO,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAI1E;AAED,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC;AACnC,eAAe,OAAO,CAAC"}
@@ -0,0 +1,66 @@
1
+ import generateId from '../../utils/idgen.js';
2
+ import { pageState } from '../../state/pageState.js';
3
+ class Section {
4
+ constructor(id, options = {}) {
5
+ this.id = id || generateId('section');
6
+ this._opts = { ...options };
7
+ this._element = document.createElement('section');
8
+ this._element.id = this.id;
9
+ this._element.style.boxSizing = 'border-box';
10
+ if (this._opts.padding)
11
+ this._element.style.padding = this._opts.padding;
12
+ if (this._opts.bg)
13
+ this._element.style.background = this._opts.bg;
14
+ if (this._opts.class)
15
+ this._element.className = this._opts.class;
16
+ if (this._opts.style) {
17
+ const existing = this._element.getAttribute('style') || '';
18
+ this._element.setAttribute('style', existing + ';' + this._opts.style);
19
+ }
20
+ if (this._opts.target)
21
+ this.render(this._opts.target);
22
+ }
23
+ get element() { return this._element; }
24
+ getElement() { return this._element; }
25
+ get state() { return pageState[this.id]; }
26
+ padding(val) { this._opts.padding = val; this._element.style.padding = val; return this; }
27
+ bg(val) { this._opts.bg = val; this._element.style.background = val; return this; }
28
+ class(val) { this._opts.class = val; this._element.className = val; return this; }
29
+ style(css) {
30
+ this._opts.style = css;
31
+ const existing = this._element.getAttribute('style') || '';
32
+ this._element.setAttribute('style', existing + ';' + css);
33
+ return this;
34
+ }
35
+ append(...children) {
36
+ for (const child of children) {
37
+ const node = child instanceof HTMLElement ? child : child.element;
38
+ this._element.appendChild(node);
39
+ }
40
+ return this;
41
+ }
42
+ render(target) {
43
+ let parent = null;
44
+ if (typeof target === 'string')
45
+ parent = document.getElementById(target) || document.querySelector(target);
46
+ else if (target instanceof HTMLElement)
47
+ parent = target;
48
+ else if (target && 'element' in target)
49
+ parent = target.element;
50
+ else
51
+ parent = document.getElementById('app');
52
+ parent?.appendChild(this._element);
53
+ return this;
54
+ }
55
+ into(target) {
56
+ return this.render(target);
57
+ }
58
+ }
59
+ export function section(id, options = {}) {
60
+ const inst = new Section(id || generateId('section'), options);
61
+ pageState.__register(inst);
62
+ return inst;
63
+ }
64
+ export { Section };
65
+ export default section;
66
+ //# sourceMappingURL=section.js.map