juxscript 1.1.412 → 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 (116) 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 +83 -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 +20 -6
  93. package/dist/components/widgets/canvas-styles.js.map +1 -1
  94. package/dist/components/widgets/canvas.d.ts +12 -0
  95. package/dist/components/widgets/canvas.d.ts.map +1 -1
  96. package/dist/components/widgets/canvas.js +193 -35
  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/dist/utils/codeparser.js +11 -11
  115. package/machinery/compiler4.js +0 -10
  116. package/package.json +1 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"section.js","sourceRoot":"","sources":["../../../lib/components/layout/section.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ type AnyChild = {
2
+ element: HTMLElement;
3
+ } | HTMLElement;
4
+ interface SplitOptions {
5
+ ratio?: string;
6
+ gap?: string;
7
+ class?: string;
8
+ style?: string;
9
+ target?: string;
10
+ [key: string]: any;
11
+ }
12
+ declare class Split {
13
+ id: string;
14
+ private _opts;
15
+ private _element;
16
+ private _leftEl;
17
+ private _rightEl;
18
+ constructor(id: string, left: AnyChild, right: AnyChild, options?: SplitOptions);
19
+ private _parseRatio;
20
+ get element(): HTMLElement;
21
+ getElement(): HTMLElement;
22
+ get state(): any;
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 split(id?: string, left?: AnyChild, right?: AnyChild, options?: SplitOptions): Split;
31
+ export { Split, SplitOptions };
32
+ export default split;
33
+ //# sourceMappingURL=split.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"split.d.ts","sourceRoot":"","sources":["../../../lib/components/layout/split.ts"],"names":[],"mappings":"AAGA,KAAK,QAAQ,GAAG;IAAE,OAAO,EAAE,WAAW,CAAA;CAAE,GAAG,WAAW,CAAC;AAEvD,UAAU,YAAY;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,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,KAAK;IACP,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,CAAC,KAAK,CAAe;IAC5B,OAAO,CAAC,QAAQ,CAAc;IAC9B,OAAO,CAAC,OAAO,CAAc;IAC7B,OAAO,CAAC,QAAQ,CAAc;gBAElB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,GAAE,YAAiB;IAsCnF,OAAO,CAAC,WAAW;IAOnB,IAAI,OAAO,IAAI,WAAW,CAA0B;IACpD,UAAU,IAAI,WAAW;IACzB,IAAI,KAAK,IAAI,GAAG,CAAyC;IAEzD,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,KAAK,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,QAAQ,EAAE,OAAO,GAAE,YAAiB,GAAG,KAAK,CAMvG;AAED,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC;AAC/B,eAAe,KAAK,CAAC"}
@@ -0,0 +1,74 @@
1
+ import generateId from '../../utils/idgen.js';
2
+ import { pageState } from '../../state/pageState.js';
3
+ class Split {
4
+ constructor(id, left, right, options = {}) {
5
+ this.id = id || generateId('split');
6
+ this._opts = { ...options };
7
+ this._element = document.createElement('div');
8
+ this._element.id = this.id;
9
+ this._element.style.display = 'flex';
10
+ this._element.style.flexDirection = 'row';
11
+ this._element.style.boxSizing = 'border-box';
12
+ this._element.style.width = '100%';
13
+ if (this._opts.gap)
14
+ this._element.style.gap = this._opts.gap;
15
+ if (this._opts.class)
16
+ this._element.className = this._opts.class;
17
+ if (this._opts.style) {
18
+ const existing = this._element.getAttribute('style') || '';
19
+ this._element.setAttribute('style', existing + ';' + this._opts.style);
20
+ }
21
+ const [leftRatio, rightRatio] = this._parseRatio(this._opts.ratio);
22
+ this._leftEl = document.createElement('div');
23
+ this._leftEl.style.flex = leftRatio;
24
+ this._leftEl.style.boxSizing = 'border-box';
25
+ const leftNode = left instanceof HTMLElement ? left : left.element;
26
+ this._leftEl.appendChild(leftNode);
27
+ this._rightEl = document.createElement('div');
28
+ this._rightEl.style.flex = rightRatio;
29
+ this._rightEl.style.boxSizing = 'border-box';
30
+ const rightNode = right instanceof HTMLElement ? right : right.element;
31
+ this._rightEl.appendChild(rightNode);
32
+ this._element.appendChild(this._leftEl);
33
+ this._element.appendChild(this._rightEl);
34
+ if (this._opts.target)
35
+ this.render(this._opts.target);
36
+ }
37
+ _parseRatio(ratio) {
38
+ if (!ratio)
39
+ return ['1', '1'];
40
+ const parts = ratio.split('/');
41
+ if (parts.length === 2)
42
+ return [parts[0].trim(), parts[1].trim()];
43
+ return ['1', '1'];
44
+ }
45
+ get element() { return this._element; }
46
+ getElement() { return this._element; }
47
+ get state() { return pageState[this.id]; }
48
+ render(target) {
49
+ let parent = null;
50
+ if (typeof target === 'string')
51
+ parent = document.getElementById(target) || document.querySelector(target);
52
+ else if (target instanceof HTMLElement)
53
+ parent = target;
54
+ else if (target && 'element' in target)
55
+ parent = target.element;
56
+ else
57
+ parent = document.getElementById('app');
58
+ parent?.appendChild(this._element);
59
+ return this;
60
+ }
61
+ into(target) {
62
+ return this.render(target);
63
+ }
64
+ }
65
+ export function split(id, left, right, options = {}) {
66
+ const leftEl = left || document.createElement('div');
67
+ const rightEl = right || document.createElement('div');
68
+ const inst = new Split(id || generateId('split'), leftEl, rightEl, options);
69
+ pageState.__register(inst);
70
+ return inst;
71
+ }
72
+ export { Split };
73
+ export default split;
74
+ //# sourceMappingURL=split.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"split.js","sourceRoot":"","sources":["../../../lib/components/layout/split.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ type AnyChild = {
2
+ element: HTMLElement;
3
+ } | HTMLElement;
4
+ interface StackOptions {
5
+ gap?: string;
6
+ align?: string;
7
+ padding?: string;
8
+ class?: string;
9
+ style?: string;
10
+ target?: string;
11
+ [key: string]: any;
12
+ }
13
+ declare class Stack {
14
+ id: string;
15
+ private _opts;
16
+ private _element;
17
+ constructor(id: string, gap?: string, align?: string, options?: StackOptions);
18
+ get element(): HTMLElement;
19
+ getElement(): HTMLElement;
20
+ get state(): any;
21
+ gap(val: string): this;
22
+ align(val: string): this;
23
+ padding(val: string): this;
24
+ class(val: string): this;
25
+ style(css: string): this;
26
+ append(...children: AnyChild[]): this;
27
+ render(target?: string | HTMLElement | {
28
+ element: HTMLElement;
29
+ }): this;
30
+ into(target?: string | HTMLElement | {
31
+ element: HTMLElement;
32
+ }): this;
33
+ }
34
+ export declare function stack(id?: string, gap?: string, align?: string, options?: StackOptions): Stack;
35
+ export { Stack, StackOptions };
36
+ export default stack;
37
+ //# sourceMappingURL=stack.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stack.d.ts","sourceRoot":"","sources":["../../../lib/components/layout/stack.ts"],"names":[],"mappings":"AAGA,KAAK,QAAQ,GAAG;IAAE,OAAO,EAAE,WAAW,CAAA;CAAE,GAAG,WAAW,CAAC;AAEvD,UAAU,YAAY;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,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,KAAK;IACP,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,CAAC,KAAK,CAAe;IAC5B,OAAO,CAAC,QAAQ,CAAc;gBAElB,EAAE,EAAE,MAAM,EAAE,GAAG,GAAE,MAAY,EAAE,KAAK,GAAE,MAAkB,EAAE,OAAO,GAAE,YAAiB;IAsBhG,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,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAC1B,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,KAAK,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,GAAE,MAAY,EAAE,KAAK,GAAE,MAAkB,EAAE,OAAO,GAAE,YAAiB,GAAG,KAAK,CAIlH;AAED,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC;AAC/B,eAAe,KAAK,CAAC"}
@@ -0,0 +1,69 @@
1
+ import generateId from '../../utils/idgen.js';
2
+ import { pageState } from '../../state/pageState.js';
3
+ class Stack {
4
+ constructor(id, gap = '0', align = 'stretch', options = {}) {
5
+ this.id = id || generateId('stack');
6
+ this._opts = { gap, align, ...options };
7
+ this._element = document.createElement('div');
8
+ this._element.id = this.id;
9
+ this._element.style.display = 'flex';
10
+ this._element.style.flexDirection = 'column';
11
+ this._element.style.boxSizing = 'border-box';
12
+ this._element.style.gap = gap;
13
+ this._element.style.alignItems = align;
14
+ if (this._opts.padding)
15
+ this._element.style.padding = this._opts.padding;
16
+ if (this._opts.class)
17
+ this._element.className = this._opts.class;
18
+ if (this._opts.style) {
19
+ const existing = this._element.getAttribute('style') || '';
20
+ this._element.setAttribute('style', existing + ';' + this._opts.style);
21
+ }
22
+ if (this._opts.target)
23
+ this.render(this._opts.target);
24
+ }
25
+ get element() { return this._element; }
26
+ getElement() { return this._element; }
27
+ get state() { return pageState[this.id]; }
28
+ gap(val) { this._opts.gap = val; this._element.style.gap = val; return this; }
29
+ align(val) { this._opts.align = val; this._element.style.alignItems = val; return this; }
30
+ padding(val) { this._opts.padding = val; this._element.style.padding = val; return this; }
31
+ class(val) { this._opts.class = val; this._element.className = val; return this; }
32
+ style(css) {
33
+ this._opts.style = css;
34
+ const existing = this._element.getAttribute('style') || '';
35
+ this._element.setAttribute('style', existing + ';' + css);
36
+ return this;
37
+ }
38
+ append(...children) {
39
+ for (const child of children) {
40
+ const node = child instanceof HTMLElement ? child : child.element;
41
+ this._element.appendChild(node);
42
+ }
43
+ return this;
44
+ }
45
+ render(target) {
46
+ let parent = null;
47
+ if (typeof target === 'string')
48
+ parent = document.getElementById(target) || document.querySelector(target);
49
+ else if (target instanceof HTMLElement)
50
+ parent = target;
51
+ else if (target && 'element' in target)
52
+ parent = target.element;
53
+ else
54
+ parent = document.getElementById('app');
55
+ parent?.appendChild(this._element);
56
+ return this;
57
+ }
58
+ into(target) {
59
+ return this.render(target);
60
+ }
61
+ }
62
+ export function stack(id, gap = '0', align = 'stretch', options = {}) {
63
+ const inst = new Stack(id || generateId('stack'), gap, align, options);
64
+ pageState.__register(inst);
65
+ return inst;
66
+ }
67
+ export { Stack };
68
+ export default stack;
69
+ //# sourceMappingURL=stack.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stack.js","sourceRoot":"","sources":["../../../lib/components/layout/stack.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ interface AvatarOptions {
2
+ size?: string;
3
+ alt?: string;
4
+ initials?: string;
5
+ bg?: string;
6
+ class?: string;
7
+ style?: string;
8
+ target?: string;
9
+ [key: string]: any;
10
+ }
11
+ declare class Avatar {
12
+ id: string;
13
+ private _opts;
14
+ private _element;
15
+ private _img;
16
+ private _fallback;
17
+ constructor(id: string, src: string, options?: AvatarOptions);
18
+ private _buildContent;
19
+ get element(): HTMLElement;
20
+ getElement(): HTMLElement;
21
+ get state(): any;
22
+ src(val: string): this;
23
+ size(val: string): this;
24
+ alt(val: string): this;
25
+ initials(val: string): this;
26
+ bg(val: string): this;
27
+ class(val: string): this;
28
+ style(css: string): this;
29
+ getSrc(): string;
30
+ getSize(): string;
31
+ getAlt(): string;
32
+ getInitials(): string;
33
+ getBg(): string;
34
+ getClass(): string;
35
+ getStyle(): string;
36
+ setSrc(val: string): this;
37
+ setSize(val: string): this;
38
+ setAlt(val: string): this;
39
+ setInitials(val: string): this;
40
+ setBg(val: string): this;
41
+ setClass(val: string): this;
42
+ setStyle(val: string): this;
43
+ render(target?: string | HTMLElement | {
44
+ element: HTMLElement;
45
+ }): this;
46
+ into(target?: string | HTMLElement | {
47
+ element: HTMLElement;
48
+ }): this;
49
+ }
50
+ export declare function avatar(id: string, src: string, options?: AvatarOptions): Avatar;
51
+ export { Avatar, AvatarOptions };
52
+ export default avatar;
53
+ //# sourceMappingURL=avatar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"avatar.d.ts","sourceRoot":"","sources":["../../../lib/components/media/avatar.ts"],"names":[],"mappings":"AAGA,UAAU,aAAa;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,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,MAAM;IACR,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,CAAC,KAAK,CAAgB;IAC7B,OAAO,CAAC,QAAQ,CAAiB;IACjC,OAAO,CAAC,IAAI,CAAiC;IAC7C,OAAO,CAAC,SAAS,CAAgC;gBAErC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB;IA0BhE,OAAO,CAAC,aAAa;IAwBrB,IAAI,OAAO,IAAI,WAAW,CAA0B;IACpD,UAAU,IAAI,WAAW;IACzB,IAAI,KAAK,IAAI,GAAG,CAA+B;IAE/C,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAQtB,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAOvB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAC3B,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,IAAI,MAAM;IAChB,OAAO,IAAI,MAAM;IACjB,MAAM,IAAI,MAAM;IAChB,WAAW,IAAI,MAAM;IACrB,KAAK,IAAI,MAAM;IACf,QAAQ,IAAI,MAAM;IAClB,QAAQ,IAAI,MAAM;IAElB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IACzB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAC1B,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IACzB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAC9B,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IACxB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAC3B,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAE3B,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,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB,GAAG,MAAM,CAInF;AAED,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;AACjC,eAAe,MAAM,CAAC"}
@@ -0,0 +1,122 @@
1
+ import generateId from '../../utils/idgen.js';
2
+ import { pageState } from '../../state/pageState.js';
3
+ class Avatar {
4
+ constructor(id, src, options = {}) {
5
+ this._img = null;
6
+ this._fallback = null;
7
+ this.id = id || generateId('avatar');
8
+ this._opts = { size: '40px', ...options };
9
+ this._element = document.createElement('div');
10
+ this._element.id = this.id;
11
+ const size = this._opts.size || '40px';
12
+ this._element.style.display = 'inline-flex';
13
+ this._element.style.alignItems = 'center';
14
+ this._element.style.justifyContent = 'center';
15
+ this._element.style.width = size;
16
+ this._element.style.height = size;
17
+ this._element.style.borderRadius = '50%';
18
+ this._element.style.overflow = 'hidden';
19
+ this._element.style.userSelect = 'none';
20
+ if (this._opts.bg)
21
+ this._element.style.backgroundColor = this._opts.bg;
22
+ if (this._opts.class)
23
+ this._element.className = this._opts.class;
24
+ if (this._opts.style)
25
+ this._element.setAttribute('style', (this._element.getAttribute('style') || '') + ';' + this._opts.style);
26
+ this._buildContent(src);
27
+ if (this._opts.target)
28
+ this.render(this._opts.target);
29
+ }
30
+ _buildContent(src) {
31
+ this._img = document.createElement('img');
32
+ this._img.src = src;
33
+ this._img.alt = this._opts.alt || '';
34
+ this._img.style.width = '100%';
35
+ this._img.style.height = '100%';
36
+ this._img.style.objectFit = 'cover';
37
+ this._fallback = document.createElement('span');
38
+ this._fallback.textContent = this._opts.initials || '';
39
+ this._fallback.style.display = 'none';
40
+ this._fallback.style.fontSize = `calc(${this._opts.size || '40px'} * 0.4)`;
41
+ this._fallback.style.fontWeight = '600';
42
+ this._fallback.style.lineHeight = '1';
43
+ this._img.addEventListener('error', () => {
44
+ if (this._img)
45
+ this._img.style.display = 'none';
46
+ if (this._fallback)
47
+ this._fallback.style.display = '';
48
+ });
49
+ this._element.appendChild(this._img);
50
+ this._element.appendChild(this._fallback);
51
+ }
52
+ get element() { return this._element; }
53
+ getElement() { return this._element; }
54
+ get state() { return pageState[this.id]; }
55
+ src(val) {
56
+ if (this._img) {
57
+ this._img.src = val;
58
+ this._img.style.display = '';
59
+ if (this._fallback)
60
+ this._fallback.style.display = 'none';
61
+ }
62
+ return this;
63
+ }
64
+ size(val) {
65
+ this._opts.size = val;
66
+ this._element.style.width = val;
67
+ this._element.style.height = val;
68
+ if (this._fallback)
69
+ this._fallback.style.fontSize = `calc(${val} * 0.4)`;
70
+ return this;
71
+ }
72
+ alt(val) { this._opts.alt = val; if (this._img)
73
+ this._img.alt = val; return this; }
74
+ initials(val) { this._opts.initials = val; if (this._fallback)
75
+ this._fallback.textContent = val; return this; }
76
+ bg(val) { this._opts.bg = val; this._element.style.backgroundColor = val; return this; }
77
+ class(val) { this._opts.class = val; this._element.className = val; return this; }
78
+ style(css) {
79
+ this._opts.style = css;
80
+ const existing = this._element.getAttribute('style') || '';
81
+ this._element.setAttribute('style', existing + ';' + css);
82
+ return this;
83
+ }
84
+ getSrc() { return this._img?.src || ''; }
85
+ getSize() { return this._opts.size || '40px'; }
86
+ getAlt() { return this._opts.alt || ''; }
87
+ getInitials() { return this._opts.initials || ''; }
88
+ getBg() { return this._opts.bg || ''; }
89
+ getClass() { return this._opts.class || ''; }
90
+ getStyle() { return this._opts.style || ''; }
91
+ setSrc(val) { return this.src(val); }
92
+ setSize(val) { return this.size(val); }
93
+ setAlt(val) { return this.alt(val); }
94
+ setInitials(val) { return this.initials(val); }
95
+ setBg(val) { return this.bg(val); }
96
+ setClass(val) { return this.class(val); }
97
+ setStyle(val) { return this.style(val); }
98
+ render(target) {
99
+ let parent = null;
100
+ if (target instanceof HTMLElement)
101
+ parent = target;
102
+ else if (typeof target === 'string')
103
+ parent = document.getElementById(target) || document.querySelector(target);
104
+ else if (target && typeof target === 'object' && 'element' in target)
105
+ parent = target.element;
106
+ else
107
+ parent = document.getElementById('app');
108
+ parent?.appendChild(this._element);
109
+ return this;
110
+ }
111
+ into(target) {
112
+ return this.render(target);
113
+ }
114
+ }
115
+ export function avatar(id, src, options = {}) {
116
+ const inst = new Avatar(id, src, options);
117
+ pageState.__register(inst);
118
+ return inst;
119
+ }
120
+ export { Avatar };
121
+ export default avatar;
122
+ //# sourceMappingURL=avatar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"avatar.js","sourceRoot":"","sources":["../../../lib/components/media/avatar.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ interface EmbedOptions {
2
+ width?: string;
3
+ height?: string;
4
+ allowfullscreen?: boolean;
5
+ title?: string;
6
+ class?: string;
7
+ style?: string;
8
+ target?: string;
9
+ [key: string]: any;
10
+ }
11
+ declare class Embed {
12
+ id: string;
13
+ private _opts;
14
+ private _element;
15
+ constructor(id: string, url: string, options?: EmbedOptions);
16
+ get element(): HTMLElement;
17
+ getElement(): HTMLElement;
18
+ get state(): any;
19
+ src(val: string): this;
20
+ width(val: string): this;
21
+ height(val: string): this;
22
+ title(val: string): this;
23
+ class(val: string): this;
24
+ style(css: string): this;
25
+ getSrc(): string;
26
+ getWidth(): string;
27
+ getHeight(): string;
28
+ getTitle(): string;
29
+ getClass(): string;
30
+ getStyle(): string;
31
+ setSrc(val: string): this;
32
+ setWidth(val: string): this;
33
+ setHeight(val: string): this;
34
+ setTitle(val: string): this;
35
+ setClass(val: string): this;
36
+ setStyle(val: string): this;
37
+ render(target?: string | HTMLElement | {
38
+ element: HTMLElement;
39
+ }): this;
40
+ into(target?: string | HTMLElement | {
41
+ element: HTMLElement;
42
+ }): this;
43
+ }
44
+ export declare function embed(id: string, url: string, options?: EmbedOptions): Embed;
45
+ export { Embed, EmbedOptions };
46
+ export default embed;
47
+ //# sourceMappingURL=embed.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"embed.d.ts","sourceRoot":"","sources":["../../../lib/components/media/embed.ts"],"names":[],"mappings":"AAGA,UAAU,YAAY;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,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,KAAK;IACP,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,CAAC,KAAK,CAAe;IAC5B,OAAO,CAAC,QAAQ,CAAoB;gBAExB,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,YAAiB;IAmB/D,IAAI,OAAO,IAAI,WAAW,CAA0B;IACpD,UAAU,IAAI,WAAW;IACzB,IAAI,KAAK,IAAI,GAAG,CAA+B;IAE/C,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IACtB,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IACxB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IACzB,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IACxB,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IACxB,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAOxB,MAAM,IAAI,MAAM;IAChB,QAAQ,IAAI,MAAM;IAClB,SAAS,IAAI,MAAM;IACnB,QAAQ,IAAI,MAAM;IAClB,QAAQ,IAAI,MAAM;IAClB,QAAQ,IAAI,MAAM;IAElB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IACzB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAC3B,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAC5B,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAC3B,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAC3B,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAE3B,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,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,YAAiB,GAAG,KAAK,CAIhF;AAED,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC;AAC/B,eAAe,KAAK,CAAC"}
@@ -0,0 +1,74 @@
1
+ import generateId from '../../utils/idgen.js';
2
+ import { pageState } from '../../state/pageState.js';
3
+ class Embed {
4
+ constructor(id, url, options = {}) {
5
+ this.id = id || generateId('embed');
6
+ this._opts = { width: '100%', height: '400px', allowfullscreen: true, ...options };
7
+ this._element = document.createElement('iframe');
8
+ this._element.id = this.id;
9
+ this._element.src = url;
10
+ this._element.style.width = this._opts.width || '100%';
11
+ this._element.style.height = this._opts.height || '400px';
12
+ this._element.style.border = 'none';
13
+ if (this._opts.allowfullscreen !== false)
14
+ this._element.allowFullscreen = true;
15
+ if (this._opts.title)
16
+ this._element.title = this._opts.title;
17
+ if (this._opts.class)
18
+ this._element.className = this._opts.class;
19
+ if (this._opts.style)
20
+ this._element.setAttribute('style', (this._element.getAttribute('style') || '') + ';' + this._opts.style);
21
+ if (this._opts.target)
22
+ this.render(this._opts.target);
23
+ }
24
+ get element() { return this._element; }
25
+ getElement() { return this._element; }
26
+ get state() { return pageState[this.id]; }
27
+ src(val) { this._element.src = val; return this; }
28
+ width(val) { this._opts.width = val; this._element.style.width = val; return this; }
29
+ height(val) { this._opts.height = val; this._element.style.height = val; return this; }
30
+ title(val) { this._opts.title = val; this._element.title = val; return this; }
31
+ class(val) { this._opts.class = val; this._element.className = val; return this; }
32
+ style(css) {
33
+ this._opts.style = css;
34
+ const existing = this._element.getAttribute('style') || '';
35
+ this._element.setAttribute('style', existing + ';' + css);
36
+ return this;
37
+ }
38
+ getSrc() { return this._element.src; }
39
+ getWidth() { return this._opts.width || '100%'; }
40
+ getHeight() { return this._opts.height || '400px'; }
41
+ getTitle() { return this._opts.title || ''; }
42
+ getClass() { return this._opts.class || ''; }
43
+ getStyle() { return this._opts.style || ''; }
44
+ setSrc(val) { return this.src(val); }
45
+ setWidth(val) { return this.width(val); }
46
+ setHeight(val) { return this.height(val); }
47
+ setTitle(val) { return this.title(val); }
48
+ setClass(val) { return this.class(val); }
49
+ setStyle(val) { return this.style(val); }
50
+ render(target) {
51
+ let parent = null;
52
+ if (target instanceof HTMLElement)
53
+ parent = target;
54
+ else if (typeof target === 'string')
55
+ parent = document.getElementById(target) || document.querySelector(target);
56
+ else if (target && typeof target === 'object' && 'element' in target)
57
+ parent = target.element;
58
+ else
59
+ parent = document.getElementById('app');
60
+ parent?.appendChild(this._element);
61
+ return this;
62
+ }
63
+ into(target) {
64
+ return this.render(target);
65
+ }
66
+ }
67
+ export function embed(id, url, options = {}) {
68
+ const inst = new Embed(id, url, options);
69
+ pageState.__register(inst);
70
+ return inst;
71
+ }
72
+ export { Embed };
73
+ export default embed;
74
+ //# sourceMappingURL=embed.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"embed.js","sourceRoot":"","sources":["../../../lib/components/media/embed.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,50 @@
1
+ interface GalleryItem {
2
+ src: string;
3
+ alt?: string;
4
+ caption?: string;
5
+ }
6
+ interface GalleryOptions {
7
+ cols?: number;
8
+ gap?: string;
9
+ class?: string;
10
+ style?: string;
11
+ target?: string;
12
+ [key: string]: any;
13
+ }
14
+ declare class Gallery {
15
+ id: string;
16
+ private _items;
17
+ private _opts;
18
+ private _element;
19
+ constructor(id: string, items: GalleryItem[], options?: GalleryOptions);
20
+ private _applyGrid;
21
+ private _renderItems;
22
+ get element(): HTMLElement;
23
+ getElement(): HTMLElement;
24
+ get state(): any;
25
+ items(val: GalleryItem[]): this;
26
+ cols(val: number): this;
27
+ gap(val: string): this;
28
+ class(val: string): this;
29
+ style(css: string): this;
30
+ getItems(): GalleryItem[];
31
+ getCols(): number;
32
+ getGap(): string;
33
+ getClass(): string;
34
+ getStyle(): string;
35
+ setItems(val: GalleryItem[]): this;
36
+ setCols(val: number): this;
37
+ setGap(val: string): this;
38
+ setClass(val: string): this;
39
+ setStyle(val: string): this;
40
+ render(target?: string | HTMLElement | {
41
+ element: HTMLElement;
42
+ }): this;
43
+ into(target?: string | HTMLElement | {
44
+ element: HTMLElement;
45
+ }): this;
46
+ }
47
+ export declare function gallery(id: string, items: GalleryItem[], options?: GalleryOptions): Gallery;
48
+ export { Gallery, GalleryItem, GalleryOptions };
49
+ export default gallery;
50
+ //# sourceMappingURL=gallery.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gallery.d.ts","sourceRoot":"","sources":["../../../lib/components/media/gallery.ts"],"names":[],"mappings":"AAGA,UAAU,WAAW;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,UAAU,cAAc;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,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,OAAO;IACT,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,KAAK,CAAiB;IAC9B,OAAO,CAAC,QAAQ,CAAiB;gBAErB,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,OAAO,GAAE,cAAmB;IAiB1E,OAAO,CAAC,UAAU;IAQlB,OAAO,CAAC,YAAY;IA2BpB,IAAI,OAAO,IAAI,WAAW,CAA0B;IACpD,UAAU,IAAI,WAAW;IACzB,IAAI,KAAK,IAAI,GAAG,CAA+B;IAE/C,KAAK,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,IAAI;IAC/B,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IACvB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IACtB,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IACxB,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAOxB,QAAQ,IAAI,WAAW,EAAE;IACzB,OAAO,IAAI,MAAM;IACjB,MAAM,IAAI,MAAM;IAChB,QAAQ,IAAI,MAAM;IAClB,QAAQ,IAAI,MAAM;IAElB,QAAQ,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,IAAI;IAClC,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAC1B,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IACzB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAC3B,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAE3B,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,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAI/F;AAED,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,CAAC;AAChD,eAAe,OAAO,CAAC"}