juxscript 1.1.398 → 1.1.400

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.
@@ -0,0 +1,353 @@
1
+ import { pageState } from '../state/pageState.js';
2
+ import generateId from '../utils/idgen.js';
3
+ const COLLAPSE_OPEN = '<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect width="18" height="18" x="3" y="3" rx="2"/><path d="M9 3v18"/></svg>';
4
+ const COLLAPSE_CLOSED = '<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="transform:scaleX(-1)"><rect width="18" height="18" x="3" y="3" rx="2"/><path d="M9 3v18"/></svg>';
5
+ const DENSITY_TOKENS = {
6
+ dense: { headerPad: '10px', itemPad: '4px 10px', labelPad: '6px 10px 2px', footerPad: '8px 12px', gap: '0px', fontSize: '12px', iconSize: '13px' },
7
+ normal: { headerPad: '16px', itemPad: '8px 12px', labelPad: '8px 12px 4px', footerPad: '12px 16px', gap: '1px', fontSize: '13px', iconSize: '15px' },
8
+ inflated: { headerPad: '20px', itemPad: '12px 16px', labelPad: '12px 16px 6px', footerPad: '16px 20px', gap: '4px', fontSize: '14px', iconSize: '17px' },
9
+ };
10
+ let sidebarStylesInjected = false;
11
+ class Sidebar {
12
+ constructor(id, options = {}) {
13
+ this._sections = [];
14
+ this._el = null;
15
+ this._activeItemId = null;
16
+ this._onChange = null;
17
+ this._onNavigate = null;
18
+ this.id = id || generateId('sidebar');
19
+ this._opts = {
20
+ title: options.title || 'App',
21
+ logo: options.logo,
22
+ footer: options.footer,
23
+ width: options.width || '260px',
24
+ collapsedWidth: options.collapsedWidth || '52px',
25
+ collapsible: options.collapsible ?? false,
26
+ collapsed: options.collapsed ?? false,
27
+ density: options.density || 'normal',
28
+ ...options,
29
+ };
30
+ if (options.onNavigate)
31
+ this._onNavigate = options.onNavigate;
32
+ }
33
+ // ═══════════════════════════════════════════════════════════
34
+ // FLUENT API
35
+ // ═══════════════════════════════════════════════════════════
36
+ title(val) { this._opts.title = val; return this; }
37
+ logo(val) { this._opts.logo = val; return this; }
38
+ footer(val) { this._opts.footer = val; return this; }
39
+ width(val) { this._opts.width = val; return this; }
40
+ collapsedWidth(val) { this._opts.collapsedWidth = val; return this; }
41
+ collapsible(val = true) { this._opts.collapsible = val; return this; }
42
+ collapsed(val = true) { this._opts.collapsed = val; return this; }
43
+ density(val) { this._opts.density = val; return this; }
44
+ style(val) { this._opts.style = val; return this; }
45
+ class(val) { this._opts.class = val; return this; }
46
+ section(label, items) {
47
+ this._sections.push({ label, items: items.map(i => this._normalizeItem(i)) });
48
+ return this;
49
+ }
50
+ items(items) {
51
+ this._sections.push({ items: items.map(i => this._normalizeItem(i)) });
52
+ return this;
53
+ }
54
+ onNavigate(fn) {
55
+ this._onNavigate = fn;
56
+ return this;
57
+ }
58
+ onChange(fn) {
59
+ this._onChange = fn;
60
+ return this;
61
+ }
62
+ // ═══════════════════════════════════════════════════════════
63
+ // PAGESTATE
64
+ // ═══════════════════════════════════════════════════════════
65
+ getValue() { return this._activeItemId; }
66
+ setValue(val) { this._setActive(val); return this; }
67
+ getElement() { return this._el; }
68
+ getTitle() { return this._opts.title; }
69
+ getFooter() { return this._opts.footer || ''; }
70
+ getWidth() { return this._opts.width; }
71
+ getCollapsedWidth() { return this._opts.collapsedWidth; }
72
+ getCollapsible() { return this._opts.collapsible; }
73
+ getCollapsed() { return this._opts.collapsed; }
74
+ getDensity() { return this._opts.density; }
75
+ getClass() { return this._opts.class || ''; }
76
+ getStyle() { return this._opts.style || ''; }
77
+ setTitle(val) { return this.title(val); }
78
+ setFooter(val) { return this.footer(val); }
79
+ setWidth(val) { return this.width(val); }
80
+ setCollapsedWidth(val) { return this.collapsedWidth(val); }
81
+ setCollapsible(val) { return this.collapsible(val); }
82
+ setCollapsed(val) { return this.collapsed(val); }
83
+ setDensity(val) { return this.density(val); }
84
+ setClass(val) { return this.class(val); }
85
+ setStyle(val) { return this.style(val); }
86
+ get state() { return pageState[this.id]; }
87
+ // ═══════════════════════════════════════════════════════════
88
+ // ACTIONS
89
+ // ═══════════════════════════════════════════════════════════
90
+ collapse() { this._opts.collapsed = true; this._applyCollapsed(); return this; }
91
+ expand() { this._opts.collapsed = false; this._applyCollapsed(); return this; }
92
+ toggleCollapse() { this._opts.collapsed = !this._opts.collapsed; this._applyCollapsed(); return this; }
93
+ // ═══════════════════════════════════════════════════════════
94
+ // RENDER
95
+ // ═══════════════════════════════════════════════════════════
96
+ render(target) {
97
+ this._injectStyles();
98
+ this._el = this._buildDOM();
99
+ let container = null;
100
+ if (target && typeof target === 'object' && 'element' in target)
101
+ container = target.element;
102
+ else if (target instanceof HTMLElement)
103
+ container = target;
104
+ else if (typeof target === 'string')
105
+ container = document.getElementById(target) || document.querySelector(target);
106
+ else
107
+ container = document.body;
108
+ if (container && this._el) {
109
+ if (container === document.body) {
110
+ container.insertBefore(this._el, container.firstChild);
111
+ }
112
+ else {
113
+ container.appendChild(this._el);
114
+ }
115
+ }
116
+ if (this._opts.collapsible) {
117
+ const btn = document.getElementById(`${this.id}-collapse-btn`);
118
+ btn?.addEventListener('click', () => this.toggleCollapse());
119
+ }
120
+ // Header link → navigate to /
121
+ const headerLink = document.getElementById(`${this.id}-header-link`);
122
+ headerLink?.addEventListener('click', () => {
123
+ if (window.navigateTo)
124
+ window.navigateTo('/');
125
+ else
126
+ window.location.href = '/';
127
+ });
128
+ return this;
129
+ }
130
+ into(target) { return this.render(target); }
131
+ destroy() {
132
+ pageState.__unregister(this.id);
133
+ this._el?.remove();
134
+ }
135
+ // ═══════════════════════════════════════════════════════════
136
+ // INTERNAL
137
+ // ═══════════════════════════════════════════════════════════
138
+ _normalizeItem(item) {
139
+ if (typeof item === 'string') {
140
+ const path = item.startsWith('/') ? item : '/' + item;
141
+ const seg = path.split('/').filter(Boolean).pop() || 'Home';
142
+ return { id: `${this.id}-${seg.toLowerCase()}`, label: seg.charAt(0).toUpperCase() + seg.slice(1), path };
143
+ }
144
+ const path = item.path || '';
145
+ const slug = path.replace(/^\//, '').replace(/[^a-z0-9]/gi, '-').toLowerCase() || 'home';
146
+ return {
147
+ id: item.id || `${this.id}-${slug}`,
148
+ label: item.label || slug.charAt(0).toUpperCase() + slug.slice(1),
149
+ path,
150
+ icon: item.icon,
151
+ disabled: item.disabled,
152
+ };
153
+ }
154
+ _buildDOM() {
155
+ const { title, logo, footer, width, collapsedWidth, collapsible, collapsed, density } = this._opts;
156
+ const d = DENSITY_TOKENS[density];
157
+ const id = this.id;
158
+ const el = document.createElement('aside');
159
+ el.id = id;
160
+ el.className = `jux-sidebar jux-sidebar--${density}${collapsed ? ' jux-sidebar--collapsed' : ''}`;
161
+ if (this._opts.class)
162
+ el.className += ' ' + this._opts.class;
163
+ el.style.cssText = `width:${collapsed ? collapsedWidth : width};position:fixed;top:0;left:0;z-index:50;${this._opts.style || ''}`;
164
+ // Header
165
+ const header = document.createElement('div');
166
+ header.className = 'jux-sidebar-header';
167
+ header.style.padding = d.headerPad;
168
+ el.appendChild(header);
169
+ const headerLink = document.createElement('div');
170
+ headerLink.id = `${id}-header-link`;
171
+ headerLink.className = 'jux-sidebar-header-link';
172
+ header.appendChild(headerLink);
173
+ // Logo
174
+ const logoEl = document.createElement('div');
175
+ logoEl.className = 'jux-sidebar-logo';
176
+ const logoStr = logo || title.charAt(0).toUpperCase();
177
+ if (logoStr.startsWith('<svg') || logoStr.startsWith('<SVG')) {
178
+ logoEl.innerHTML = logoStr;
179
+ }
180
+ else if (logoStr.startsWith('/') || logoStr.startsWith('http') || logoStr.startsWith('data:')) {
181
+ logoEl.innerHTML = `<img src="${logoStr}" alt="logo" class="jux-sidebar-logo-img" />`;
182
+ }
183
+ else {
184
+ logoEl.textContent = logoStr;
185
+ }
186
+ headerLink.appendChild(logoEl);
187
+ const titleEl = document.createElement('span');
188
+ titleEl.id = `${id}-title`;
189
+ titleEl.className = 'jux-sidebar-title-text';
190
+ titleEl.textContent = title;
191
+ headerLink.appendChild(titleEl);
192
+ if (collapsible) {
193
+ const collapseBtn = document.createElement('div');
194
+ collapseBtn.id = `${id}-collapse-btn`;
195
+ collapseBtn.className = 'jux-sidebar-collapse-btn';
196
+ collapseBtn.innerHTML = collapsed ? COLLAPSE_CLOSED : COLLAPSE_OPEN;
197
+ header.appendChild(collapseBtn);
198
+ }
199
+ // Sections
200
+ this._sections.forEach((section, si) => {
201
+ if (si > 0) {
202
+ const divider = document.createElement('div');
203
+ divider.className = 'jux-sidebar-divider';
204
+ el.appendChild(divider);
205
+ }
206
+ if (section.label) {
207
+ const label = document.createElement('div');
208
+ label.className = 'jux-sidebar-label';
209
+ label.style.padding = d.labelPad;
210
+ label.textContent = section.label;
211
+ el.appendChild(label);
212
+ }
213
+ const nav = document.createElement('nav');
214
+ section.items.forEach(item => {
215
+ const a = document.createElement('a');
216
+ a.id = item.id || '';
217
+ a.className = 'jux-nav-item';
218
+ a.style.cssText = `padding:${d.itemPad};margin:${d.gap} 0;font-size:${d.fontSize};gap:10px;`;
219
+ if (item.path)
220
+ a.setAttribute('data-path', item.path);
221
+ if (item.disabled) {
222
+ a.setAttribute('data-disabled', 'true');
223
+ a.style.opacity = '0.5';
224
+ a.style.pointerEvents = 'none';
225
+ }
226
+ if (item.icon) {
227
+ const iconEl = document.createElement('span');
228
+ iconEl.className = 'jux-nav-item-icon';
229
+ iconEl.style.width = d.iconSize;
230
+ iconEl.textContent = item.icon;
231
+ a.appendChild(iconEl);
232
+ }
233
+ const textEl = document.createElement('span');
234
+ textEl.className = 'jux-nav-item-text';
235
+ textEl.textContent = item.label;
236
+ a.appendChild(textEl);
237
+ a.addEventListener('click', (e) => {
238
+ e.preventDefault();
239
+ if (item.disabled)
240
+ return;
241
+ this._setActive(item.id || '');
242
+ if (item.path) {
243
+ if (this._onNavigate)
244
+ this._onNavigate(item.path, item);
245
+ else if (window.navigateTo)
246
+ window.navigateTo(item.path);
247
+ else
248
+ window.location.href = item.path;
249
+ }
250
+ if (this._onChange)
251
+ this._onChange(item);
252
+ });
253
+ nav.appendChild(a);
254
+ });
255
+ el.appendChild(nav);
256
+ });
257
+ // Footer
258
+ if (footer) {
259
+ const footerEl = document.createElement('div');
260
+ footerEl.id = `${id}-footer`;
261
+ footerEl.className = 'jux-sidebar-footer';
262
+ footerEl.style.padding = d.footerPad;
263
+ footerEl.textContent = footer;
264
+ el.appendChild(footerEl);
265
+ }
266
+ return el;
267
+ }
268
+ _setActive(itemId) {
269
+ this._activeItemId = itemId;
270
+ if (!this._el)
271
+ return;
272
+ this._el.querySelectorAll('.jux-nav-item').forEach(el => {
273
+ el.classList.toggle('jux-nav-item--active', el.id === itemId);
274
+ });
275
+ }
276
+ _applyCollapsed() {
277
+ if (!this._el)
278
+ return;
279
+ const { collapsed, width, collapsedWidth } = this._opts;
280
+ if (collapsed) {
281
+ this._el.classList.add('jux-sidebar--collapsed');
282
+ this._el.style.width = collapsedWidth;
283
+ }
284
+ else {
285
+ this._el.classList.remove('jux-sidebar--collapsed');
286
+ this._el.style.width = width;
287
+ }
288
+ const btn = document.getElementById(`${this.id}-collapse-btn`);
289
+ if (btn)
290
+ btn.innerHTML = collapsed ? COLLAPSE_CLOSED : COLLAPSE_OPEN;
291
+ // Update #app offset
292
+ const app = document.getElementById('app');
293
+ if (app) {
294
+ const w = collapsed ? collapsedWidth : width;
295
+ app.style.left = w;
296
+ app.style.width = `calc(100% - ${w})`;
297
+ }
298
+ }
299
+ _injectStyles() {
300
+ if (sidebarStylesInjected)
301
+ return;
302
+ sidebarStylesInjected = true;
303
+ const { width, collapsedWidth, density } = this._opts;
304
+ const appPad = { dense: '10px', normal: '16px', inflated: '24px' };
305
+ const s = document.createElement('style');
306
+ s.id = 'jux-sidebar-styles';
307
+ s.textContent = `
308
+ body{margin:0}
309
+ #app{left:${width};position:fixed;top:0;width:calc(100% - ${width});height:100vh;padding:${appPad[density]};box-sizing:border-box;transition:left .2s ease,width .2s ease;overflow-y:auto}
310
+ .jux-sidebar{display:flex;flex-direction:column;min-height:100vh;background:hsl(var(--card));color:hsl(var(--card-foreground));border-right:1px solid hsl(var(--border));font-family:var(--font-sans,system-ui,sans-serif);transition:width .2s ease;overflow:hidden}
311
+ .jux-sidebar-header{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;border-bottom:1px solid hsl(var(--border));min-height:20px;position:relative}
312
+ .jux-sidebar-header-link{display:flex;align-items:center;gap:8px;cursor:pointer;flex:1;min-width:0;text-decoration:none;color:inherit}
313
+ .jux-sidebar-header-link:hover{opacity:.8}
314
+ .jux-sidebar-logo{width:20px;height:20px;min-width:20px;border-radius:6px;background:hsl(var(--primary));display:flex;align-items:center;justify-content:center;color:hsl(var(--primary-foreground));font-size:11px;font-weight:700;flex-shrink:0;overflow:hidden}
315
+ .jux-sidebar-logo-img{width:100%;height:100%;object-fit:cover;border-radius:inherit}
316
+ .jux-sidebar-logo svg{width:14px;height:14px}
317
+ .jux-sidebar-title-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:opacity .2s ease,max-width .2s ease;max-width:200px;flex:1}
318
+ .jux-sidebar-label{font-size:11px;font-weight:500;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;overflow:hidden;transition:opacity .2s,max-height .2s;max-height:30px}
319
+ .jux-sidebar-footer{margin-top:auto;border-top:1px solid hsl(var(--border));font-size:11px;color:hsl(var(--muted-foreground));white-space:nowrap;overflow:hidden;transition:opacity .2s}
320
+ .jux-sidebar-divider{height:1px;background:hsl(var(--border));margin:4px 8px}
321
+ .jux-nav-item{display:flex;align-items:center;border-radius:var(--radius,6px);font-weight:500;color:hsl(var(--foreground));cursor:pointer;transition:background .15s;user-select:none;text-decoration:none;white-space:nowrap;overflow:hidden}
322
+ .jux-nav-item:hover{background:hsl(var(--accent));color:hsl(var(--accent-foreground))}
323
+ .jux-nav-item--active{background:hsl(var(--accent));color:hsl(var(--accent-foreground));font-weight:600}
324
+ .jux-nav-item-icon{text-align:center;flex-shrink:0}
325
+ .jux-nav-item-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:opacity .2s}
326
+ .jux-sidebar-collapse-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:6px;color:hsl(var(--muted-foreground));flex-shrink:0;transition:background .15s,color .15s;margin-left:auto}
327
+ .jux-sidebar-collapse-btn:hover{background:hsl(var(--accent));color:hsl(var(--accent-foreground))}
328
+ .jux-sidebar-collapse-btn svg{display:block}
329
+ .jux-sidebar--collapsed .jux-sidebar-header{flex-direction:column;align-items:center;gap:4px;padding-left:4px!important;padding-right:4px!important}
330
+ .jux-sidebar--collapsed .jux-sidebar-title-text{opacity:0;max-width:0;height:0;overflow:hidden;margin:0}
331
+ .jux-sidebar--collapsed .jux-sidebar-label{opacity:0;max-height:0;padding-top:0!important;padding-bottom:0!important;margin:0}
332
+ .jux-sidebar--collapsed .jux-sidebar-footer{opacity:0;height:0;padding:0!important;border:none}
333
+ .jux-sidebar--collapsed .jux-nav-item-text{opacity:0;width:0;overflow:hidden}
334
+ .jux-sidebar--collapsed .jux-nav-item{justify-content:center;gap:0!important}
335
+ .jux-sidebar--collapsed .jux-sidebar-collapse-btn{margin-left:0;width:24px;height:24px}
336
+ .jux-sidebar--collapsed .jux-sidebar-collapse-btn svg{width:14px;height:14px}
337
+ .jux-sidebar--collapsed .jux-sidebar-logo{margin:0}
338
+ .jux-sidebar--collapsed~#app,.jux-sidebar--collapsed+#app{left:${collapsedWidth};width:calc(100% - ${collapsedWidth})}
339
+ `;
340
+ document.head.appendChild(s);
341
+ }
342
+ }
343
+ // ═══════════════════════════════════════════════════════════
344
+ // FACTORY
345
+ // ═══════════════════════════════════════════════════════════
346
+ export function sidebar(id, options = {}) {
347
+ const s = new Sidebar(id, options);
348
+ pageState.__register(s);
349
+ return s;
350
+ }
351
+ export { Sidebar };
352
+ export default sidebar;
353
+ //# sourceMappingURL=sidebar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sidebar.js","sourceRoot":"","sources":["../../lib/widgets/sidebar.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "juxscript",
3
- "version": "1.1.398",
3
+ "version": "1.1.400",
4
4
  "type": "module",
5
5
  "description": "A JavaScript UX authorship platform",
6
6
  "main": "./dist/index.js",
@@ -31,7 +31,8 @@
31
31
  "LICENSE"
32
32
  ],
33
33
  "bin": {
34
- "jux": "./bin/cli.js"
34
+ "jux": "./bin/cli.js",
35
+ "juxscript": "./bin/cli.js"
35
36
  },
36
37
  "keywords": [
37
38
  "ui",
File without changes
File without changes