juxscript 1.1.402 → 1.1.404
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{components → containers}/c.d.ts.map +1 -1
- package/dist/{components → containers}/c.js.map +1 -1
- package/dist/containers/flex.d.ts +49 -0
- package/dist/containers/flex.d.ts.map +1 -0
- package/dist/containers/flex.js +122 -0
- package/dist/containers/flex.js.map +1 -0
- package/dist/{components → containers}/g.d.ts.map +1 -1
- package/dist/{components → containers}/g.js.map +1 -1
- package/dist/index.d.ts +6 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -4
- package/dist/index.js.map +1 -1
- package/dist/widgets/canvas.d.ts +31 -55
- package/dist/widgets/canvas.d.ts.map +1 -1
- package/dist/widgets/canvas.js +690 -539
- package/dist/widgets/canvas.js.map +1 -1
- package/package.json +1 -1
- package/dist/components/barChart.d.ts +0 -119
- package/dist/components/barChart.d.ts.map +0 -1
- package/dist/components/barChart.js +0 -555
- package/dist/components/barChart.js.map +0 -1
- package/dist/components/container.d.ts +0 -58
- package/dist/components/container.d.ts.map +0 -1
- package/dist/components/container.js +0 -152
- package/dist/components/container.js.map +0 -1
- package/dist/components/grid.d.ts +0 -58
- package/dist/components/grid.d.ts.map +0 -1
- package/dist/components/grid.js +0 -128
- package/dist/components/grid.js.map +0 -1
- package/dist/components/lineChart.d.ts +0 -104
- package/dist/components/lineChart.d.ts.map +0 -1
- package/dist/components/lineChart.js +0 -466
- package/dist/components/lineChart.js.map +0 -1
- package/dist/components/pieChart.d.ts +0 -93
- package/dist/components/pieChart.d.ts.map +0 -1
- package/dist/components/pieChart.js +0 -397
- package/dist/components/pieChart.js.map +0 -1
- package/dist/components/stack.d.ts +0 -42
- package/dist/components/stack.d.ts.map +0 -1
- package/dist/components/stack.js +0 -109
- package/dist/components/stack.js.map +0 -1
- package/dist/devtools/devtools.d.ts +0 -3
- package/dist/devtools/devtools.d.ts.map +0 -1
- package/dist/devtools/devtools.js +0 -182
- package/dist/devtools/devtools.js.map +0 -1
- package/dist/primitives/button.d.ts +0 -53
- package/dist/primitives/button.d.ts.map +0 -1
- package/dist/primitives/button.js +0 -170
- package/dist/primitives/button.js.map +0 -1
- package/dist/primitives/c.d.ts +0 -53
- package/dist/primitives/c.d.ts.map +0 -1
- package/dist/primitives/c.js +0 -127
- package/dist/primitives/c.js.map +0 -1
- package/dist/primitives/checkbox.d.ts +0 -92
- package/dist/primitives/checkbox.d.ts.map +0 -1
- package/dist/primitives/checkbox.js +0 -217
- package/dist/primitives/checkbox.js.map +0 -1
- package/dist/primitives/data.d.ts +0 -58
- package/dist/primitives/data.d.ts.map +0 -1
- package/dist/primitives/data.js +0 -131
- package/dist/primitives/data.js.map +0 -1
- package/dist/primitives/grid.d.ts +0 -58
- package/dist/primitives/grid.d.ts.map +0 -1
- package/dist/primitives/grid.js +0 -128
- package/dist/primitives/grid.js.map +0 -1
- package/dist/primitives/include.d.ts +0 -86
- package/dist/primitives/include.d.ts.map +0 -1
- package/dist/primitives/include.js +0 -239
- package/dist/primitives/include.js.map +0 -1
- package/dist/primitives/indexDb.d.ts +0 -80
- package/dist/primitives/indexDb.d.ts.map +0 -1
- package/dist/primitives/indexDb.js +0 -253
- package/dist/primitives/indexDb.js.map +0 -1
- package/dist/primitives/input.d.ts +0 -88
- package/dist/primitives/input.d.ts.map +0 -1
- package/dist/primitives/input.js +0 -216
- package/dist/primitives/input.js.map +0 -1
- package/dist/primitives/link.d.ts +0 -51
- package/dist/primitives/link.d.ts.map +0 -1
- package/dist/primitives/link.js +0 -178
- package/dist/primitives/link.js.map +0 -1
- package/dist/primitives/list.d.ts +0 -66
- package/dist/primitives/list.d.ts.map +0 -1
- package/dist/primitives/list.js +0 -233
- package/dist/primitives/list.js.map +0 -1
- package/dist/primitives/nav.d.ts +0 -64
- package/dist/primitives/nav.d.ts.map +0 -1
- package/dist/primitives/nav.js +0 -236
- package/dist/primitives/nav.js.map +0 -1
- package/dist/primitives/radio.d.ts +0 -58
- package/dist/primitives/radio.d.ts.map +0 -1
- package/dist/primitives/radio.js +0 -135
- package/dist/primitives/radio.js.map +0 -1
- package/dist/primitives/routes.d.ts +0 -15
- package/dist/primitives/routes.d.ts.map +0 -1
- package/dist/primitives/routes.js +0 -34
- package/dist/primitives/routes.js.map +0 -1
- package/dist/primitives/select.d.ts +0 -67
- package/dist/primitives/select.d.ts.map +0 -1
- package/dist/primitives/select.js +0 -160
- package/dist/primitives/select.js.map +0 -1
- package/dist/primitives/style.d.ts +0 -27
- package/dist/primitives/style.d.ts.map +0 -1
- package/dist/primitives/style.js +0 -53
- package/dist/primitives/style.js.map +0 -1
- package/dist/primitives/table.d.ts +0 -83
- package/dist/primitives/table.d.ts.map +0 -1
- package/dist/primitives/table.js +0 -264
- package/dist/primitives/table.js.map +0 -1
- package/dist/primitives/tabs.d.ts +0 -75
- package/dist/primitives/tabs.d.ts.map +0 -1
- package/dist/primitives/tabs.js +0 -263
- package/dist/primitives/tabs.js.map +0 -1
- package/dist/primitives/tag.d.ts +0 -92
- package/dist/primitives/tag.d.ts.map +0 -1
- package/dist/primitives/tag.js +0 -151
- package/dist/primitives/tag.js.map +0 -1
- package/dist/services/db.d.ts +0 -44
- package/dist/services/db.d.ts.map +0 -1
- package/dist/services/db.js +0 -59
- package/dist/services/db.js.map +0 -1
- package/dist/services/email.d.ts +0 -50
- package/dist/services/email.d.ts.map +0 -1
- package/dist/services/email.js +0 -60
- package/dist/services/email.js.map +0 -1
- package/dist/services/s3.d.ts +0 -61
- package/dist/services/s3.d.ts.map +0 -1
- package/dist/services/s3.js +0 -79
- package/dist/services/s3.js.map +0 -1
- /package/dist/{components → containers}/c.d.ts +0 -0
- /package/dist/{components → containers}/c.js +0 -0
- /package/dist/{components → containers}/g.d.ts +0 -0
- /package/dist/{components → containers}/g.js +0 -0
|
@@ -1,182 +0,0 @@
|
|
|
1
|
-
import { pageState } from '../state/pageState.js';
|
|
2
|
-
let panel = null;
|
|
3
|
-
let interval = null;
|
|
4
|
-
const STYLES = `
|
|
5
|
-
position: fixed;
|
|
6
|
-
bottom: 0;
|
|
7
|
-
right: 0;
|
|
8
|
-
width: 420px;
|
|
9
|
-
max-height: 60vh;
|
|
10
|
-
overflow-y: auto;
|
|
11
|
-
background: #1e1e2e;
|
|
12
|
-
color: #cdd6f4;
|
|
13
|
-
font-family: 'SF Mono', 'Fira Code', monospace;
|
|
14
|
-
font-size: 11px;
|
|
15
|
-
line-height: 1.4;
|
|
16
|
-
padding: 0;
|
|
17
|
-
border-top-left-radius: 8px;
|
|
18
|
-
box-shadow: -2px -2px 12px rgba(0,0,0,0.4);
|
|
19
|
-
z-index: 99999;
|
|
20
|
-
border: 1px solid #45475a;
|
|
21
|
-
`;
|
|
22
|
-
const HEADER_STYLES = `
|
|
23
|
-
position: sticky;
|
|
24
|
-
top: 0;
|
|
25
|
-
background: #313244;
|
|
26
|
-
padding: 6px 10px;
|
|
27
|
-
display: flex;
|
|
28
|
-
justify-content: space-between;
|
|
29
|
-
align-items: center;
|
|
30
|
-
border-bottom: 1px solid #45475a;
|
|
31
|
-
cursor: move;
|
|
32
|
-
`;
|
|
33
|
-
function escapeHtml(str) {
|
|
34
|
-
return String(str)
|
|
35
|
-
.replace(/&/g, '&')
|
|
36
|
-
.replace(/</g, '<')
|
|
37
|
-
.replace(/>/g, '>')
|
|
38
|
-
.replace(/"/g, '"');
|
|
39
|
-
}
|
|
40
|
-
function formatValue(val) {
|
|
41
|
-
if (val === undefined)
|
|
42
|
-
return '<span style="color:#6c7086">undefined</span>';
|
|
43
|
-
if (val === null)
|
|
44
|
-
return '<span style="color:#6c7086">null</span>';
|
|
45
|
-
if (typeof val === 'boolean')
|
|
46
|
-
return `<span style="color:#fab387">${val}</span>`;
|
|
47
|
-
if (typeof val === 'number')
|
|
48
|
-
return `<span style="color:#fab387">${val}</span>`;
|
|
49
|
-
if (typeof val === 'string') {
|
|
50
|
-
const truncated = val.length > 40 ? escapeHtml(val.slice(0, 40)) + '…' : escapeHtml(val);
|
|
51
|
-
return `<span style="color:#a6e3a1">"${truncated}"</span>`;
|
|
52
|
-
}
|
|
53
|
-
if (Array.isArray(val))
|
|
54
|
-
return `<span style="color:#89b4fa">Array[${val.length}]</span>`;
|
|
55
|
-
if (typeof val === 'object') {
|
|
56
|
-
try {
|
|
57
|
-
const keys = Object.keys(val);
|
|
58
|
-
return `<span style="color:#89b4fa">{${keys.slice(0, 3).join(', ')}${keys.length > 3 ? '…' : ''}}</span>`;
|
|
59
|
-
}
|
|
60
|
-
catch {
|
|
61
|
-
return '<span style="color:#89b4fa">{…}</span>';
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
if (typeof val === 'function')
|
|
65
|
-
return '<span style="color:#cba6f7">ƒ()</span>';
|
|
66
|
-
return escapeHtml(String(val));
|
|
67
|
-
}
|
|
68
|
-
function buildContent() {
|
|
69
|
-
const keys = pageState.__keys?.() ?? [];
|
|
70
|
-
if (keys.length === 0) {
|
|
71
|
-
return '<div style="padding:10px;color:#6c7086">No components registered</div>';
|
|
72
|
-
}
|
|
73
|
-
let html = '';
|
|
74
|
-
for (const key of keys) {
|
|
75
|
-
const proxy = pageState[key];
|
|
76
|
-
if (!proxy)
|
|
77
|
-
continue;
|
|
78
|
-
// Read known props
|
|
79
|
-
const value = proxy.value;
|
|
80
|
-
const content = proxy.content;
|
|
81
|
-
const checked = proxy.checked;
|
|
82
|
-
// Read event flags
|
|
83
|
-
const events = [];
|
|
84
|
-
for (const evt of ['blur', 'focus', 'click', 'change', 'input', 'hover', 'active', 'focused']) {
|
|
85
|
-
try {
|
|
86
|
-
if (proxy[evt] === true)
|
|
87
|
-
events.push(evt);
|
|
88
|
-
}
|
|
89
|
-
catch { /* skip */ }
|
|
90
|
-
}
|
|
91
|
-
// Component type detection
|
|
92
|
-
const el = proxy.getElement?.();
|
|
93
|
-
let typeLabel = 'unknown';
|
|
94
|
-
let typeColor = '#6c7086';
|
|
95
|
-
if (el instanceof HTMLElement) {
|
|
96
|
-
const tag = el.tagName.toLowerCase();
|
|
97
|
-
const isStore = el.getAttribute('data-jux-store');
|
|
98
|
-
if (isStore) {
|
|
99
|
-
typeLabel = `store:${isStore}`;
|
|
100
|
-
typeColor = '#f38ba8';
|
|
101
|
-
}
|
|
102
|
-
else if (el instanceof HTMLInputElement) {
|
|
103
|
-
typeLabel = `input[${el.type}]`;
|
|
104
|
-
typeColor = '#89dceb';
|
|
105
|
-
}
|
|
106
|
-
else if (el instanceof HTMLSelectElement) {
|
|
107
|
-
typeLabel = 'select';
|
|
108
|
-
typeColor = '#89dceb';
|
|
109
|
-
}
|
|
110
|
-
else {
|
|
111
|
-
typeLabel = tag;
|
|
112
|
-
typeColor = '#94e2d5';
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
html += `
|
|
116
|
-
<div style="border-bottom:1px solid #313244;padding:6px 10px;">
|
|
117
|
-
<div style="display:flex;justify-content:space-between;margin-bottom:2px;">
|
|
118
|
-
<span style="color:#cba6f7;font-weight:bold;">${escapeHtml(key)}</span>
|
|
119
|
-
<span style="color:${typeColor};font-size:10px;">${escapeHtml(typeLabel)}</span>
|
|
120
|
-
</div>
|
|
121
|
-
<div style="padding-left:8px;">`;
|
|
122
|
-
if (value !== undefined) {
|
|
123
|
-
html += `<div><span style="color:#74c7ec">value:</span> ${formatValue(value)}</div>`;
|
|
124
|
-
}
|
|
125
|
-
if (content !== undefined && content !== value) {
|
|
126
|
-
html += `<div><span style="color:#74c7ec">content:</span> ${formatValue(content)}</div>`;
|
|
127
|
-
}
|
|
128
|
-
if (checked !== undefined) {
|
|
129
|
-
html += `<div><span style="color:#74c7ec">checked:</span> ${formatValue(checked)}</div>`;
|
|
130
|
-
}
|
|
131
|
-
if (events.length > 0) {
|
|
132
|
-
html += `<div><span style="color:#f9e2af">events:</span> <span style="color:#fab387">${events.join(', ')}</span></div>`;
|
|
133
|
-
}
|
|
134
|
-
html += `</div></div>`;
|
|
135
|
-
}
|
|
136
|
-
return html;
|
|
137
|
-
}
|
|
138
|
-
function refresh() {
|
|
139
|
-
if (!panel)
|
|
140
|
-
return;
|
|
141
|
-
const body = panel.querySelector('[data-devtools-body]');
|
|
142
|
-
if (body)
|
|
143
|
-
body.innerHTML = buildContent();
|
|
144
|
-
}
|
|
145
|
-
export function devtools(show = true) {
|
|
146
|
-
if (!show) {
|
|
147
|
-
if (panel) {
|
|
148
|
-
panel.remove();
|
|
149
|
-
panel = null;
|
|
150
|
-
}
|
|
151
|
-
if (interval) {
|
|
152
|
-
clearInterval(interval);
|
|
153
|
-
interval = null;
|
|
154
|
-
}
|
|
155
|
-
return;
|
|
156
|
-
}
|
|
157
|
-
if (panel) {
|
|
158
|
-
refresh();
|
|
159
|
-
return;
|
|
160
|
-
}
|
|
161
|
-
panel = document.createElement('div');
|
|
162
|
-
panel.id = '__jux-devtools';
|
|
163
|
-
panel.setAttribute('style', STYLES);
|
|
164
|
-
panel.innerHTML = `
|
|
165
|
-
<div style="${HEADER_STYLES}">
|
|
166
|
-
<span style="color:#f9e2af;font-weight:bold;">🔧 JUX DevTools</span>
|
|
167
|
-
<div>
|
|
168
|
-
<button data-devtools-refresh style="background:none;border:1px solid #45475a;color:#cdd6f4;cursor:pointer;padding:2px 6px;border-radius:3px;margin-right:4px;font-size:10px;">↻</button>
|
|
169
|
-
<button data-devtools-close style="background:none;border:1px solid #45475a;color:#cdd6f4;cursor:pointer;padding:2px 6px;border-radius:3px;font-size:10px;">✕</button>
|
|
170
|
-
</div>
|
|
171
|
-
</div>
|
|
172
|
-
<div data-devtools-body></div>
|
|
173
|
-
`;
|
|
174
|
-
document.body.appendChild(panel);
|
|
175
|
-
panel.querySelector('[data-devtools-close]')?.addEventListener('click', () => devtools(false));
|
|
176
|
-
panel.querySelector('[data-devtools-refresh]')?.addEventListener('click', () => refresh());
|
|
177
|
-
refresh();
|
|
178
|
-
// Auto-refresh every 500ms to catch async changes
|
|
179
|
-
interval = setInterval(refresh, 500);
|
|
180
|
-
}
|
|
181
|
-
export default devtools;
|
|
182
|
-
//# sourceMappingURL=devtools.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"devtools.js","sourceRoot":"","sources":["../../lib/devtools/devtools.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
interface ButtonOptions {
|
|
2
|
-
content?: string;
|
|
3
|
-
variant?: 'default' | 'destructive' | 'outline' | 'secondary' | 'ghost' | 'link';
|
|
4
|
-
size?: 'default' | 'sm' | 'lg' | 'icon';
|
|
5
|
-
disabled?: boolean;
|
|
6
|
-
type?: 'button' | 'submit' | 'reset';
|
|
7
|
-
class?: string;
|
|
8
|
-
style?: string;
|
|
9
|
-
target?: string;
|
|
10
|
-
icon?: string;
|
|
11
|
-
onClick?: (event: MouseEvent) => void;
|
|
12
|
-
[key: string]: any;
|
|
13
|
-
}
|
|
14
|
-
declare class Button {
|
|
15
|
-
id: string;
|
|
16
|
-
opts: ButtonOptions;
|
|
17
|
-
private _element;
|
|
18
|
-
private _onChange;
|
|
19
|
-
constructor(id: string, options?: ButtonOptions);
|
|
20
|
-
content(value: string): this;
|
|
21
|
-
variant(value: 'default' | 'destructive' | 'outline' | 'secondary' | 'ghost' | 'link'): this;
|
|
22
|
-
size(value: 'default' | 'sm' | 'lg' | 'icon'): this;
|
|
23
|
-
disabled(value?: boolean): this;
|
|
24
|
-
icon(value: string): this;
|
|
25
|
-
style(value: string): this;
|
|
26
|
-
class(value: string): this;
|
|
27
|
-
getValue(): string;
|
|
28
|
-
getContent(): string;
|
|
29
|
-
getVariant(): string;
|
|
30
|
-
getSize(): string;
|
|
31
|
-
getIcon(): string;
|
|
32
|
-
getDisabled(): boolean;
|
|
33
|
-
getClass(): string;
|
|
34
|
-
getStyle(): string;
|
|
35
|
-
setValue(val: string): this;
|
|
36
|
-
setContent(val: string): this;
|
|
37
|
-
setVariant(val: 'default' | 'destructive' | 'outline' | 'secondary' | 'ghost' | 'link'): this;
|
|
38
|
-
setSize(val: 'default' | 'sm' | 'lg' | 'icon'): this;
|
|
39
|
-
setIcon(val: string): this;
|
|
40
|
-
setDisabled(val: boolean): this;
|
|
41
|
-
setClass(val: string): this;
|
|
42
|
-
setStyle(val: string): this;
|
|
43
|
-
getElement(): HTMLButtonElement;
|
|
44
|
-
onChange(fn: (value: string) => void): this;
|
|
45
|
-
onClick(fn: (event: MouseEvent) => void): this;
|
|
46
|
-
/** Returns the reactive pageState proxy for this component */
|
|
47
|
-
get state(): any;
|
|
48
|
-
}
|
|
49
|
-
export declare function button(id: string, options?: ButtonOptions): Button;
|
|
50
|
-
export declare function btn(id: string, options?: ButtonOptions): Button;
|
|
51
|
-
export { Button, ButtonOptions };
|
|
52
|
-
export default button;
|
|
53
|
-
//# sourceMappingURL=button.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"button.d.ts","sourceRoot":"","sources":["../../lib/primitives/button.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,170 +0,0 @@
|
|
|
1
|
-
import generateId from '../utils/idgen.js';
|
|
2
|
-
import niceName from '../utils/niceName.js';
|
|
3
|
-
import { pageState } from '../state/pageState.js';
|
|
4
|
-
class Button {
|
|
5
|
-
constructor(id, options = {}) {
|
|
6
|
-
this._onChange = null;
|
|
7
|
-
this.id = id || generateId();
|
|
8
|
-
this.opts = {
|
|
9
|
-
variant: 'default',
|
|
10
|
-
size: 'default',
|
|
11
|
-
type: 'button',
|
|
12
|
-
disabled: false,
|
|
13
|
-
...options
|
|
14
|
-
};
|
|
15
|
-
// Auto-generate content from ID if not provided
|
|
16
|
-
if (!this.opts.content && this.id) {
|
|
17
|
-
this.opts.content = niceName(this.id);
|
|
18
|
-
}
|
|
19
|
-
this._element = document.createElement('button');
|
|
20
|
-
this._element.id = this.id;
|
|
21
|
-
this._element.type = this.opts.type;
|
|
22
|
-
if (this.opts.disabled)
|
|
23
|
-
this._element.disabled = true;
|
|
24
|
-
// Build class list
|
|
25
|
-
const classes = ['jux-button'];
|
|
26
|
-
if (this.opts.variant)
|
|
27
|
-
classes.push(`jux-button--${this.opts.variant}`);
|
|
28
|
-
if (this.opts.size && this.opts.size !== 'default')
|
|
29
|
-
classes.push(`jux-button--${this.opts.size}`);
|
|
30
|
-
if (this.opts.class)
|
|
31
|
-
classes.push(this.opts.class);
|
|
32
|
-
this._element.className = classes.join(' ');
|
|
33
|
-
if (this.opts.style)
|
|
34
|
-
this._element.setAttribute('style', this.opts.style);
|
|
35
|
-
// Content
|
|
36
|
-
if (this.opts.icon) {
|
|
37
|
-
const iconSpan = document.createElement('span');
|
|
38
|
-
iconSpan.className = 'jux-button-icon';
|
|
39
|
-
iconSpan.textContent = this.opts.icon;
|
|
40
|
-
this._element.appendChild(iconSpan);
|
|
41
|
-
}
|
|
42
|
-
if (this.opts.content) {
|
|
43
|
-
const textSpan = document.createElement('span');
|
|
44
|
-
textSpan.className = 'jux-button-text';
|
|
45
|
-
textSpan.textContent = this.opts.content;
|
|
46
|
-
this._element.appendChild(textSpan);
|
|
47
|
-
}
|
|
48
|
-
// Extra attributes
|
|
49
|
-
for (const [key, value] of Object.entries(this.opts)) {
|
|
50
|
-
if (['content', 'class', 'style', 'target', 'variant', 'size', 'type', 'disabled', 'icon', 'onClick'].includes(key))
|
|
51
|
-
continue;
|
|
52
|
-
this._element.setAttribute(`data-${key}`, String(value));
|
|
53
|
-
}
|
|
54
|
-
// Click handler
|
|
55
|
-
if (this.opts.onClick) {
|
|
56
|
-
this._element.addEventListener('click', this.opts.onClick);
|
|
57
|
-
}
|
|
58
|
-
const resolvedTarget = this.opts.target;
|
|
59
|
-
const container = resolvedTarget
|
|
60
|
-
? document.getElementById(resolvedTarget) || document.querySelector(resolvedTarget)
|
|
61
|
-
: document.getElementById('app');
|
|
62
|
-
container?.appendChild(this._element);
|
|
63
|
-
}
|
|
64
|
-
// ═══════════════════════════════════════════════════════════
|
|
65
|
-
// FLUENT BUILDER API
|
|
66
|
-
// ═══════════════════════════════════════════════════════════
|
|
67
|
-
content(value) {
|
|
68
|
-
this.opts.content = value;
|
|
69
|
-
const textEl = this._element.querySelector('.jux-button-text');
|
|
70
|
-
if (textEl) {
|
|
71
|
-
textEl.textContent = value;
|
|
72
|
-
}
|
|
73
|
-
else {
|
|
74
|
-
const textSpan = document.createElement('span');
|
|
75
|
-
textSpan.className = 'jux-button-text';
|
|
76
|
-
textSpan.textContent = value;
|
|
77
|
-
this._element.appendChild(textSpan);
|
|
78
|
-
}
|
|
79
|
-
return this;
|
|
80
|
-
}
|
|
81
|
-
variant(value) {
|
|
82
|
-
if (this.opts.variant)
|
|
83
|
-
this._element.classList.remove(`jux-button--${this.opts.variant}`);
|
|
84
|
-
this.opts.variant = value;
|
|
85
|
-
this._element.classList.add(`jux-button--${value}`);
|
|
86
|
-
return this;
|
|
87
|
-
}
|
|
88
|
-
size(value) {
|
|
89
|
-
if (this.opts.size && this.opts.size !== 'default')
|
|
90
|
-
this._element.classList.remove(`jux-button--${this.opts.size}`);
|
|
91
|
-
this.opts.size = value;
|
|
92
|
-
if (value !== 'default')
|
|
93
|
-
this._element.classList.add(`jux-button--${value}`);
|
|
94
|
-
return this;
|
|
95
|
-
}
|
|
96
|
-
disabled(value = true) {
|
|
97
|
-
this.opts.disabled = value;
|
|
98
|
-
this._element.disabled = value;
|
|
99
|
-
return this;
|
|
100
|
-
}
|
|
101
|
-
icon(value) {
|
|
102
|
-
this.opts.icon = value;
|
|
103
|
-
let iconEl = this._element.querySelector('.jux-button-icon');
|
|
104
|
-
if (iconEl) {
|
|
105
|
-
iconEl.textContent = value;
|
|
106
|
-
}
|
|
107
|
-
else {
|
|
108
|
-
const iconSpan = document.createElement('span');
|
|
109
|
-
iconSpan.className = 'jux-button-icon';
|
|
110
|
-
iconSpan.textContent = value;
|
|
111
|
-
this._element.prepend(iconSpan);
|
|
112
|
-
}
|
|
113
|
-
return this;
|
|
114
|
-
}
|
|
115
|
-
style(value) {
|
|
116
|
-
this.opts.style = value;
|
|
117
|
-
this._element.setAttribute('style', value);
|
|
118
|
-
return this;
|
|
119
|
-
}
|
|
120
|
-
class(value) {
|
|
121
|
-
this.opts.class = value;
|
|
122
|
-
this._element.className = value;
|
|
123
|
-
return this;
|
|
124
|
-
}
|
|
125
|
-
// ═══════════════════════════════════════════════════════════
|
|
126
|
-
// PAGESTATE INTEGRATION (delegates to fluent API)
|
|
127
|
-
// ═══════════════════════════════════════════════════════════
|
|
128
|
-
getValue() { return this.opts.content ?? ''; }
|
|
129
|
-
getContent() { return this.opts.content ?? ''; }
|
|
130
|
-
getVariant() { return this.opts.variant ?? 'default'; }
|
|
131
|
-
getSize() { return this.opts.size ?? 'default'; }
|
|
132
|
-
getIcon() { return this.opts.icon ?? ''; }
|
|
133
|
-
getDisabled() { return this.opts.disabled ?? false; }
|
|
134
|
-
getClass() { return this.opts.class ?? ''; }
|
|
135
|
-
getStyle() { return this.opts.style ?? ''; }
|
|
136
|
-
setValue(val) { return this.content(val); }
|
|
137
|
-
setContent(val) { return this.content(val); }
|
|
138
|
-
setVariant(val) { return this.variant(val); }
|
|
139
|
-
setSize(val) { return this.size(val); }
|
|
140
|
-
setIcon(val) { return this.icon(val); }
|
|
141
|
-
setDisabled(val) { return this.disabled(val); }
|
|
142
|
-
setClass(val) { return this.class(val); }
|
|
143
|
-
setStyle(val) { return this.style(val); }
|
|
144
|
-
getElement() { return this._element; }
|
|
145
|
-
onChange(fn) {
|
|
146
|
-
this._onChange = fn;
|
|
147
|
-
return this;
|
|
148
|
-
}
|
|
149
|
-
onClick(fn) {
|
|
150
|
-
this._element.addEventListener('click', fn);
|
|
151
|
-
return this;
|
|
152
|
-
}
|
|
153
|
-
/** Returns the reactive pageState proxy for this component */
|
|
154
|
-
get state() {
|
|
155
|
-
return pageState[this.id];
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
export function button(id, options = {}) {
|
|
159
|
-
const b = new Button(id, options);
|
|
160
|
-
pageState.__register(b);
|
|
161
|
-
return b;
|
|
162
|
-
}
|
|
163
|
-
export function btn(id, options = {}) {
|
|
164
|
-
const b = new Button(id, options);
|
|
165
|
-
pageState.__register(b);
|
|
166
|
-
return b;
|
|
167
|
-
}
|
|
168
|
-
export { Button };
|
|
169
|
-
export default button;
|
|
170
|
-
//# sourceMappingURL=button.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"button.js","sourceRoot":"","sources":["../../lib/primitives/button.ts"],"names":[],"mappings":"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"}
|
package/dist/primitives/c.d.ts
DELETED
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
interface COptions {
|
|
2
|
-
id?: string;
|
|
3
|
-
class?: string;
|
|
4
|
-
style?: string;
|
|
5
|
-
target?: string;
|
|
6
|
-
[key: string]: any;
|
|
7
|
-
}
|
|
8
|
-
declare class C {
|
|
9
|
-
id: string;
|
|
10
|
-
opts: COptions;
|
|
11
|
-
private _element;
|
|
12
|
-
constructor(width: string, height?: string, padding?: string, radius?: string, margin?: string, border?: string, overflow?: string, options?: COptions);
|
|
13
|
-
get element(): HTMLElement;
|
|
14
|
-
getElement(): HTMLElement;
|
|
15
|
-
id_set(value: string): this;
|
|
16
|
-
class(value: string): this;
|
|
17
|
-
style(css: string): this;
|
|
18
|
-
padding(value: string): this;
|
|
19
|
-
radius(value: string): this;
|
|
20
|
-
margin(value: string): this;
|
|
21
|
-
border(value: string): this;
|
|
22
|
-
overflow(value: string): this;
|
|
23
|
-
width(value: string): this;
|
|
24
|
-
height(value: string): this;
|
|
25
|
-
target_set(value: string): this;
|
|
26
|
-
getId(): string;
|
|
27
|
-
getClass(): string;
|
|
28
|
-
getStyle(): string;
|
|
29
|
-
getPadding(): string;
|
|
30
|
-
getRadius(): string;
|
|
31
|
-
getMargin(): string;
|
|
32
|
-
getBorder(): string;
|
|
33
|
-
getOverflow(): string;
|
|
34
|
-
getTarget(): string;
|
|
35
|
-
getValue(): string;
|
|
36
|
-
setId(val: string): this;
|
|
37
|
-
setClass(val: string): this;
|
|
38
|
-
setStyle(val: string): this;
|
|
39
|
-
setPadding(val: string): this;
|
|
40
|
-
setRadius(val: string): this;
|
|
41
|
-
setMargin(val: string): this;
|
|
42
|
-
setBorder(val: string): this;
|
|
43
|
-
setOverflow(val: string): this;
|
|
44
|
-
setTarget(val: string): this;
|
|
45
|
-
setValue(val: string): this;
|
|
46
|
-
setInnerHTML(val: string): this;
|
|
47
|
-
append(child: C | HTMLElement): this;
|
|
48
|
-
render(target?: string | HTMLElement | C): this;
|
|
49
|
-
}
|
|
50
|
-
export declare function c(width: string, height?: string, padding?: string, radius?: string, margin?: string, border?: string, overflow?: string, options?: COptions): C;
|
|
51
|
-
export { C, COptions, c as container };
|
|
52
|
-
export default c;
|
|
53
|
-
//# sourceMappingURL=c.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"c.d.ts","sourceRoot":"","sources":["../../lib/primitives/c.ts"],"names":[],"mappings":"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"}
|
package/dist/primitives/c.js
DELETED
|
@@ -1,127 +0,0 @@
|
|
|
1
|
-
import generateId from "../utils/idgen.js";
|
|
2
|
-
function sanitizeCSSValue(value) {
|
|
3
|
-
// Fix calc('...') or calc("...") → calc(...)
|
|
4
|
-
return value.replace(/calc\(\s*['"]([^'"]*)['"]\s*\)/g, 'calc($1)');
|
|
5
|
-
}
|
|
6
|
-
class C {
|
|
7
|
-
constructor(width, height, padding, radius, margin, border, overflow, options = {}) {
|
|
8
|
-
this.id = options.id || generateId('c');
|
|
9
|
-
this.opts = { ...options };
|
|
10
|
-
this._element = document.createElement('div');
|
|
11
|
-
this._element.id = this.id;
|
|
12
|
-
this._element.style.boxSizing = 'border-box';
|
|
13
|
-
this._element.style.float = 'left';
|
|
14
|
-
if (width)
|
|
15
|
-
this._element.style.width = sanitizeCSSValue(width);
|
|
16
|
-
if (height)
|
|
17
|
-
this._element.style.height = sanitizeCSSValue(height);
|
|
18
|
-
if (padding)
|
|
19
|
-
this._element.style.padding = sanitizeCSSValue(padding);
|
|
20
|
-
if (radius)
|
|
21
|
-
this._element.style.borderRadius = sanitizeCSSValue(radius);
|
|
22
|
-
if (margin)
|
|
23
|
-
this._element.style.margin = sanitizeCSSValue(margin);
|
|
24
|
-
if (border)
|
|
25
|
-
this._element.style.border = sanitizeCSSValue(border);
|
|
26
|
-
if (overflow)
|
|
27
|
-
this._element.style.overflow = overflow;
|
|
28
|
-
if (this.opts.class)
|
|
29
|
-
this._element.className = this.opts.class;
|
|
30
|
-
if (this.opts.style)
|
|
31
|
-
this._element.setAttribute('style', this._element.getAttribute('style') + ';' + this.opts.style);
|
|
32
|
-
// Extra data-* attributes
|
|
33
|
-
const reserved = ['id', 'class', 'style', 'target'];
|
|
34
|
-
for (const [key, value] of Object.entries(this.opts)) {
|
|
35
|
-
if (reserved.includes(key))
|
|
36
|
-
continue;
|
|
37
|
-
this._element.setAttribute(`data-${key}`, String(value));
|
|
38
|
-
}
|
|
39
|
-
// Auto-mount
|
|
40
|
-
if (this.opts.target) {
|
|
41
|
-
this.render(this.opts.target);
|
|
42
|
-
}
|
|
43
|
-
else {
|
|
44
|
-
this.render();
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
// ═══════════════════════════════════════════════════════════
|
|
48
|
-
// ELEMENT ACCESS
|
|
49
|
-
// ═══════════════════════════════════════════════════════════
|
|
50
|
-
get element() { return this._element; }
|
|
51
|
-
getElement() { return this._element; }
|
|
52
|
-
// ═══════════════════════════════════════════════════════════
|
|
53
|
-
// FLUENT BUILDER API
|
|
54
|
-
// ═══════════════════════════════════════════════════════════
|
|
55
|
-
id_set(value) { this.id = value; this._element.id = value; return this; }
|
|
56
|
-
class(value) { this.opts.class = value; this._element.className = value; return this; }
|
|
57
|
-
style(css) {
|
|
58
|
-
this.opts.style = css;
|
|
59
|
-
const existing = this._element.getAttribute('style') || '';
|
|
60
|
-
this._element.setAttribute('style', existing + ';' + css);
|
|
61
|
-
return this;
|
|
62
|
-
}
|
|
63
|
-
padding(value) { this.opts.padding = value; this._element.style.padding = sanitizeCSSValue(value); return this; }
|
|
64
|
-
radius(value) { this.opts.radius = value; this._element.style.borderRadius = sanitizeCSSValue(value); return this; }
|
|
65
|
-
margin(value) { this.opts.margin = value; this._element.style.margin = sanitizeCSSValue(value); return this; }
|
|
66
|
-
border(value) { this.opts.border = value; this._element.style.border = sanitizeCSSValue(value); return this; }
|
|
67
|
-
overflow(value) { this.opts.overflow = value; this._element.style.overflow = value; return this; }
|
|
68
|
-
width(value) { this._element.style.width = sanitizeCSSValue(value); return this; }
|
|
69
|
-
height(value) { this._element.style.height = sanitizeCSSValue(value); return this; }
|
|
70
|
-
target_set(value) { this.opts.target = value; return this; }
|
|
71
|
-
// ═══════════════════════════════════════════════════════════
|
|
72
|
-
// GETTERS / SETTERS (delegators)
|
|
73
|
-
// ═══════════════════════════════════════════════════════════
|
|
74
|
-
getId() { return this.id; }
|
|
75
|
-
getClass() { return this.opts.class ?? ''; }
|
|
76
|
-
getStyle() { return this.opts.style ?? ''; }
|
|
77
|
-
getPadding() { return this.opts.padding ?? ''; }
|
|
78
|
-
getRadius() { return this.opts.radius ?? ''; }
|
|
79
|
-
getMargin() { return this.opts.margin ?? ''; }
|
|
80
|
-
getBorder() { return this.opts.border ?? ''; }
|
|
81
|
-
getOverflow() { return this.opts.overflow ?? ''; }
|
|
82
|
-
getTarget() { return this.opts.target ?? ''; }
|
|
83
|
-
getValue() { return this._element.textContent ?? ''; }
|
|
84
|
-
setId(val) { return this.id_set(val); }
|
|
85
|
-
setClass(val) { return this.class(val); }
|
|
86
|
-
setStyle(val) { return this.style(val); }
|
|
87
|
-
setPadding(val) { return this.padding(val); }
|
|
88
|
-
setRadius(val) { return this.radius(val); }
|
|
89
|
-
setMargin(val) { return this.margin(val); }
|
|
90
|
-
setBorder(val) { return this.border(val); }
|
|
91
|
-
setOverflow(val) { return this.overflow(val); }
|
|
92
|
-
setTarget(val) { return this.target_set(val); }
|
|
93
|
-
setValue(val) { this._element.textContent = val; return this; }
|
|
94
|
-
setInnerHTML(val) { this._element.innerHTML = val; return this; }
|
|
95
|
-
// ═══════════════════════════════════════════════════════════
|
|
96
|
-
// TREE / RENDER
|
|
97
|
-
// ═══════════════════════════════════════════════════════════
|
|
98
|
-
append(child) {
|
|
99
|
-
const node = child instanceof C ? child.element : child;
|
|
100
|
-
this._element.appendChild(node);
|
|
101
|
-
return this;
|
|
102
|
-
}
|
|
103
|
-
render(target) {
|
|
104
|
-
let parent;
|
|
105
|
-
if (target instanceof C) {
|
|
106
|
-
parent = target.element;
|
|
107
|
-
}
|
|
108
|
-
else if (typeof target === 'string') {
|
|
109
|
-
parent = document.getElementById(target) || document.querySelector(target);
|
|
110
|
-
}
|
|
111
|
-
else {
|
|
112
|
-
parent = target || document.getElementById('app');
|
|
113
|
-
}
|
|
114
|
-
parent?.appendChild(this._element);
|
|
115
|
-
return this;
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
// ═══════════════════════════════════════════════════════════
|
|
119
|
-
// FACTORIES
|
|
120
|
-
// ═══════════════════════════════════════════════════════════
|
|
121
|
-
export function c(width, height, padding, radius, margin, border, overflow, options) {
|
|
122
|
-
const inst = new C(width, height, padding, radius, margin, border, overflow, options);
|
|
123
|
-
return inst;
|
|
124
|
-
}
|
|
125
|
-
export { C, c as container };
|
|
126
|
-
export default c;
|
|
127
|
-
//# sourceMappingURL=c.js.map
|
package/dist/primitives/c.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"c.js","sourceRoot":"","sources":["../../lib/primitives/c.ts"],"names":[],"mappings":"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"}
|