juxscript 1.1.13 → 1.1.15
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/index.d.ts +0 -2
- package/index.d.ts.map +1 -1
- package/index.js +0 -2
- package/lib/components/alert.d.ts +4 -0
- package/lib/components/alert.d.ts.map +1 -1
- package/lib/components/alert.js +19 -0
- package/lib/components/alert.ts +19 -0
- package/lib/components/badge.d.ts +3 -4
- package/lib/components/badge.d.ts.map +1 -1
- package/lib/components/badge.js +20 -0
- package/lib/components/badge.ts +20 -4
- package/lib/components/base/BaseComponent.d.ts +35 -6
- package/lib/components/base/BaseComponent.d.ts.map +1 -1
- package/lib/components/base/BaseComponent.js +20 -49
- package/lib/components/base/BaseComponent.ts +59 -48
- package/lib/components/base/FormInput.d.ts +4 -0
- package/lib/components/base/FormInput.d.ts.map +1 -1
- package/lib/components/base/FormInput.js +6 -0
- package/lib/components/base/FormInput.ts +7 -0
- package/lib/components/button.d.ts +1 -0
- package/lib/components/button.d.ts.map +1 -1
- package/lib/components/button.js +3 -0
- package/lib/components/button.ts +4 -0
- package/lib/components/card.d.ts +1 -0
- package/lib/components/card.d.ts.map +1 -1
- package/lib/components/card.js +3 -0
- package/lib/components/card.ts +4 -0
- package/lib/components/chart.d.ts +1 -0
- package/lib/components/chart.d.ts.map +1 -1
- package/lib/components/chart.js +3 -0
- package/lib/components/chart.ts +4 -0
- package/lib/components/code.d.ts +1 -0
- package/lib/components/code.d.ts.map +1 -1
- package/lib/components/code.js +3 -0
- package/lib/components/code.ts +4 -0
- package/lib/components/container.d.ts +1 -0
- package/lib/components/container.d.ts.map +1 -1
- package/lib/components/container.js +3 -0
- package/lib/components/container.ts +4 -0
- package/lib/components/dialog.d.ts +1 -0
- package/lib/components/dialog.d.ts.map +1 -1
- package/lib/components/dialog.js +3 -0
- package/lib/components/dialog.ts +4 -0
- package/lib/components/divider.d.ts +1 -0
- package/lib/components/divider.d.ts.map +1 -1
- package/lib/components/divider.js +3 -0
- package/lib/components/divider.ts +4 -0
- package/lib/components/dropdown.d.ts +1 -0
- package/lib/components/dropdown.d.ts.map +1 -1
- package/lib/components/dropdown.js +3 -0
- package/lib/components/dropdown.ts +4 -0
- package/lib/components/element.d.ts +1 -0
- package/lib/components/element.d.ts.map +1 -1
- package/lib/components/element.js +3 -0
- package/lib/components/element.ts +4 -0
- package/lib/components/grid.d.ts +1 -0
- package/lib/components/grid.d.ts.map +1 -1
- package/lib/components/grid.js +3 -0
- package/lib/components/grid.ts +4 -0
- package/lib/components/heading.d.ts +1 -0
- package/lib/components/heading.d.ts.map +1 -1
- package/lib/components/heading.js +3 -0
- package/lib/components/heading.ts +4 -0
- package/lib/components/hero.d.ts +3 -5
- package/lib/components/hero.d.ts.map +1 -1
- package/lib/components/hero.js +1 -1
- package/lib/components/hero.ts +4 -6
- package/lib/components/icon.d.ts +1 -0
- package/lib/components/icon.d.ts.map +1 -1
- package/lib/components/icon.js +3 -0
- package/lib/components/icon.ts +4 -0
- package/lib/components/list.d.ts +1 -0
- package/lib/components/list.d.ts.map +1 -1
- package/lib/components/list.js +3 -0
- package/lib/components/list.ts +4 -0
- package/lib/components/loading.d.ts +1 -0
- package/lib/components/loading.d.ts.map +1 -1
- package/lib/components/loading.js +3 -0
- package/lib/components/loading.ts +4 -0
- package/lib/components/menu.d.ts +1 -0
- package/lib/components/menu.d.ts.map +1 -1
- package/lib/components/menu.js +3 -0
- package/lib/components/menu.ts +4 -0
- package/lib/components/modal.d.ts +1 -0
- package/lib/components/modal.d.ts.map +1 -1
- package/lib/components/modal.js +3 -0
- package/lib/components/modal.ts +4 -0
- package/lib/components/nav.d.ts +1 -0
- package/lib/components/nav.d.ts.map +1 -1
- package/lib/components/nav.js +3 -0
- package/lib/components/nav.ts +4 -0
- package/lib/components/paragraph.d.ts +1 -0
- package/lib/components/paragraph.d.ts.map +1 -1
- package/lib/components/paragraph.js +3 -0
- package/lib/components/paragraph.ts +4 -0
- package/lib/components/progress.d.ts +1 -0
- package/lib/components/progress.d.ts.map +1 -1
- package/lib/components/progress.js +3 -0
- package/lib/components/progress.ts +4 -0
- package/lib/components/sidebar.d.ts +25 -14
- package/lib/components/sidebar.d.ts.map +1 -1
- package/lib/components/sidebar.js +186 -88
- package/lib/components/sidebar.ts +231 -104
- package/lib/components/table.d.ts +1 -0
- package/lib/components/table.d.ts.map +1 -1
- package/lib/components/table.js +3 -0
- package/lib/components/table.ts +4 -0
- package/lib/components/tabs.d.ts +1 -0
- package/lib/components/tabs.d.ts.map +1 -1
- package/lib/components/tabs.js +3 -0
- package/lib/components/tabs.ts +4 -0
- package/lib/components/theme-toggle.d.ts +1 -0
- package/lib/components/theme-toggle.d.ts.map +1 -1
- package/lib/components/theme-toggle.js +3 -0
- package/lib/components/theme-toggle.ts +4 -0
- package/lib/components/tooltip.d.ts +1 -0
- package/lib/components/tooltip.d.ts.map +1 -1
- package/lib/components/tooltip.js +3 -0
- package/lib/components/tooltip.ts +4 -0
- package/package.json +1 -1
- package/lib/components/guard.d.ts +0 -41
- package/lib/components/guard.d.ts.map +0 -1
- package/lib/components/guard.js +0 -56
- package/lib/components/guard.ts +0 -92
|
@@ -1,11 +1,20 @@
|
|
|
1
|
-
import { BaseComponent } from './base/BaseComponent.js';
|
|
1
|
+
import { BaseComponent, BaseState } from './base/BaseComponent.js';
|
|
2
2
|
import { renderIcon } from './icons.js';
|
|
3
|
-
import {
|
|
4
|
-
|
|
3
|
+
import { req } from './req.js';
|
|
5
4
|
|
|
6
5
|
// Event definitions
|
|
7
6
|
const TRIGGER_EVENTS = [] as const;
|
|
8
|
-
const CALLBACK_EVENTS = ['toggle'] as const;
|
|
7
|
+
const CALLBACK_EVENTS = ['toggle', 'itemClick'] as const;
|
|
8
|
+
|
|
9
|
+
export interface SidebarItem {
|
|
10
|
+
label: string;
|
|
11
|
+
href?: string;
|
|
12
|
+
click?: () => void;
|
|
13
|
+
icon?: string;
|
|
14
|
+
items?: SidebarItem[];
|
|
15
|
+
active?: boolean;
|
|
16
|
+
itemClass?: string;
|
|
17
|
+
}
|
|
9
18
|
|
|
10
19
|
export interface SidebarOptions {
|
|
11
20
|
position?: 'left' | 'right';
|
|
@@ -14,26 +23,27 @@ export interface SidebarOptions {
|
|
|
14
23
|
showToggle?: boolean;
|
|
15
24
|
expandOnHover?: boolean;
|
|
16
25
|
collapsed?: boolean;
|
|
17
|
-
|
|
26
|
+
items?: SidebarItem[];
|
|
27
|
+
header?: string;
|
|
28
|
+
footer?: string;
|
|
18
29
|
style?: string;
|
|
19
30
|
class?: string;
|
|
20
31
|
}
|
|
21
32
|
|
|
22
|
-
type SidebarState = {
|
|
33
|
+
type SidebarState = BaseState & {
|
|
23
34
|
position: 'left' | 'right';
|
|
24
35
|
width: string;
|
|
25
36
|
collapsible: boolean;
|
|
26
37
|
showToggle: boolean;
|
|
27
38
|
expandOnHover: boolean;
|
|
28
39
|
collapsed: boolean;
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
40
|
+
items: SidebarItem[];
|
|
41
|
+
header: string;
|
|
42
|
+
footer: string;
|
|
32
43
|
};
|
|
33
44
|
|
|
34
45
|
export class Sidebar extends BaseComponent<SidebarState> {
|
|
35
46
|
private _sidebar: HTMLElement | null = null;
|
|
36
|
-
private _menu: Menu | null = null;
|
|
37
47
|
|
|
38
48
|
constructor(id: string, options: SidebarOptions = {}) {
|
|
39
49
|
// Restore collapsed state from localStorage if available
|
|
@@ -48,14 +58,18 @@ export class Sidebar extends BaseComponent<SidebarState> {
|
|
|
48
58
|
showToggle: options.showToggle ?? false,
|
|
49
59
|
expandOnHover: options.expandOnHover ?? false,
|
|
50
60
|
collapsed: initialCollapsed,
|
|
51
|
-
|
|
61
|
+
items: options.items ?? [],
|
|
62
|
+
header: options.header ?? '',
|
|
63
|
+
footer: options.footer ?? '',
|
|
52
64
|
style: options.style ?? '',
|
|
53
65
|
class: options.class ?? ''
|
|
54
66
|
});
|
|
55
67
|
|
|
56
|
-
|
|
68
|
+
this._setActiveStates();
|
|
69
|
+
|
|
70
|
+
// Listen for URL changes to update active states
|
|
57
71
|
if (typeof window !== 'undefined') {
|
|
58
|
-
window.addEventListener('popstate', () => this.
|
|
72
|
+
window.addEventListener('popstate', () => this.refreshActiveStates());
|
|
59
73
|
}
|
|
60
74
|
}
|
|
61
75
|
|
|
@@ -68,20 +82,160 @@ export class Sidebar extends BaseComponent<SidebarState> {
|
|
|
68
82
|
}
|
|
69
83
|
|
|
70
84
|
/* ═════════════════════════════════════════════════════════════════
|
|
71
|
-
*
|
|
85
|
+
* PRIVATE HELPERS
|
|
72
86
|
* ═════════════════════════════════════════════════════════════════ */
|
|
73
87
|
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
88
|
+
private _setActiveStates(): void {
|
|
89
|
+
this.state.items = this.state.items.map(item => ({
|
|
90
|
+
...item,
|
|
91
|
+
active: item.href ? req.isActiveNavItem(item.href) : false,
|
|
92
|
+
items: item.items?.map(subItem => ({
|
|
93
|
+
...subItem,
|
|
94
|
+
active: subItem.href ? req.isActiveNavItem(subItem.href) : false
|
|
95
|
+
}))
|
|
96
|
+
}));
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
private _renderItem(item: SidebarItem): HTMLElement {
|
|
100
|
+
const itemEl = document.createElement('div');
|
|
101
|
+
itemEl.className = 'jux-sidebar-item';
|
|
102
|
+
|
|
103
|
+
if (item.itemClass) {
|
|
104
|
+
itemEl.className += ` ${item.itemClass}`;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
if (item.active) {
|
|
108
|
+
itemEl.classList.add('jux-sidebar-item-active');
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
if (item.href) {
|
|
112
|
+
const link = document.createElement('a');
|
|
113
|
+
link.className = 'jux-sidebar-link';
|
|
114
|
+
link.href = item.href;
|
|
115
|
+
|
|
116
|
+
if (item.active) {
|
|
117
|
+
link.classList.add('jux-sidebar-link-active');
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
if (item.icon) {
|
|
121
|
+
const icon = document.createElement('span');
|
|
122
|
+
icon.className = 'jux-sidebar-icon';
|
|
123
|
+
icon.appendChild(renderIcon(item.icon));
|
|
124
|
+
link.appendChild(icon);
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
const label = document.createElement('span');
|
|
128
|
+
label.className = 'jux-sidebar-label';
|
|
129
|
+
label.textContent = item.label;
|
|
130
|
+
link.appendChild(label);
|
|
131
|
+
|
|
132
|
+
link.addEventListener('click', (e) => {
|
|
133
|
+
this._triggerCallback('itemClick', { item, event: e });
|
|
134
|
+
});
|
|
135
|
+
|
|
136
|
+
itemEl.appendChild(link);
|
|
137
|
+
} else {
|
|
138
|
+
const button = document.createElement('button');
|
|
139
|
+
button.className = 'jux-sidebar-button';
|
|
140
|
+
button.type = 'button';
|
|
141
|
+
|
|
142
|
+
if (item.icon) {
|
|
143
|
+
const icon = document.createElement('span');
|
|
144
|
+
icon.className = 'jux-sidebar-icon';
|
|
145
|
+
icon.appendChild(renderIcon(item.icon));
|
|
146
|
+
button.appendChild(icon);
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
const label = document.createElement('span');
|
|
150
|
+
label.className = 'jux-sidebar-label';
|
|
151
|
+
label.textContent = item.label;
|
|
152
|
+
button.appendChild(label);
|
|
153
|
+
|
|
154
|
+
button.addEventListener('click', (e) => {
|
|
155
|
+
if (item.click) {
|
|
156
|
+
item.click();
|
|
157
|
+
}
|
|
158
|
+
this._triggerCallback('itemClick', { item, event: e });
|
|
159
|
+
});
|
|
160
|
+
|
|
161
|
+
itemEl.appendChild(button);
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
// Handle sub-items
|
|
165
|
+
if (item.items && item.items.length > 0) {
|
|
166
|
+
itemEl.classList.add('jux-sidebar-item-has-submenu');
|
|
167
|
+
|
|
168
|
+
const submenu = document.createElement('div');
|
|
169
|
+
submenu.className = 'jux-sidebar-submenu';
|
|
170
|
+
|
|
171
|
+
item.items.forEach(subItem => {
|
|
172
|
+
submenu.appendChild(this._renderItem(subItem));
|
|
173
|
+
});
|
|
174
|
+
|
|
175
|
+
itemEl.appendChild(submenu);
|
|
176
|
+
|
|
177
|
+
// Toggle submenu expansion
|
|
178
|
+
const clickTarget = itemEl.querySelector('a, button');
|
|
179
|
+
if (clickTarget) {
|
|
180
|
+
clickTarget.addEventListener('click', (e) => {
|
|
181
|
+
if (!item.href) {
|
|
182
|
+
e.preventDefault();
|
|
183
|
+
}
|
|
184
|
+
itemEl.classList.toggle('jux-sidebar-item-expanded');
|
|
185
|
+
});
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
return itemEl;
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
/* ═════════════════════════════════════════════════════════════════
|
|
193
|
+
* REACTIVE UPDATE
|
|
194
|
+
* ═════════════════════════════════════════════════════════════════ */
|
|
195
|
+
|
|
196
|
+
update(prop: string, value: any): void {
|
|
197
|
+
|
|
198
|
+
if (!this._sidebar) return;
|
|
199
|
+
|
|
200
|
+
if (prop === 'collapsed') {
|
|
201
|
+
this._sidebar.classList.toggle('jux-sidebar-collapsed', value);
|
|
202
|
+
|
|
203
|
+
// Update toggle button state
|
|
204
|
+
const toggleBtn = this._sidebar.querySelector('.jux-sidebar-toggle');
|
|
205
|
+
if (toggleBtn) {
|
|
206
|
+
toggleBtn.classList.toggle('jux-sidebar-toggle-collapsed', value);
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
// Save to localStorage
|
|
210
|
+
const storageKey = `jux-sidebar-${this._id}-collapsed`;
|
|
211
|
+
localStorage.setItem(storageKey, String(value));
|
|
212
|
+
} else if (prop === 'items') {
|
|
213
|
+
this._setActiveStates();
|
|
214
|
+
const nav = this._sidebar.querySelector('.jux-sidebar-nav');
|
|
215
|
+
if (nav) {
|
|
216
|
+
nav.innerHTML = '';
|
|
217
|
+
this.state.items.forEach(item => {
|
|
218
|
+
nav.appendChild(this._renderItem(item));
|
|
219
|
+
});
|
|
220
|
+
}
|
|
221
|
+
} else if (prop === 'header') {
|
|
222
|
+
const header = this._sidebar.querySelector('.jux-sidebar-header');
|
|
223
|
+
if (header) header.textContent = value;
|
|
224
|
+
} else if (prop === 'footer') {
|
|
225
|
+
const footer = this._sidebar.querySelector('.jux-sidebar-footer');
|
|
226
|
+
if (footer) footer.textContent = value;
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
/* ═════════════════════════════════════════════════════════════════
|
|
231
|
+
* FLUENT API
|
|
232
|
+
* ═════════════════════════════════════════════════════════════════ */
|
|
82
233
|
|
|
83
234
|
width(value: string): this {
|
|
84
235
|
this.state.width = value;
|
|
236
|
+
if (this._sidebar) {
|
|
237
|
+
this._sidebar.style.width = value;
|
|
238
|
+
}
|
|
85
239
|
return this;
|
|
86
240
|
}
|
|
87
241
|
|
|
@@ -107,42 +261,38 @@ export class Sidebar extends BaseComponent<SidebarState> {
|
|
|
107
261
|
|
|
108
262
|
collapsed(value: boolean): this {
|
|
109
263
|
this.state.collapsed = value;
|
|
110
|
-
this._updateCollapsedState();
|
|
111
264
|
return this;
|
|
112
265
|
}
|
|
113
266
|
|
|
114
|
-
|
|
115
|
-
this.state.
|
|
267
|
+
items(value: SidebarItem[]): this {
|
|
268
|
+
this.state.items = value;
|
|
116
269
|
return this;
|
|
117
270
|
}
|
|
118
271
|
|
|
119
|
-
|
|
120
|
-
this.state.
|
|
121
|
-
this
|
|
122
|
-
|
|
123
|
-
// Save to localStorage
|
|
124
|
-
const storageKey = `jux-sidebar-${this._id}-collapsed`;
|
|
125
|
-
localStorage.setItem(storageKey, String(this.state.collapsed));
|
|
272
|
+
addItem(item: SidebarItem): this {
|
|
273
|
+
this.state.items = [...this.state.items, item];
|
|
274
|
+
return this;
|
|
275
|
+
}
|
|
126
276
|
|
|
127
|
-
|
|
128
|
-
this.
|
|
277
|
+
header(value: string): this {
|
|
278
|
+
this.state.header = value;
|
|
279
|
+
return this;
|
|
129
280
|
}
|
|
130
281
|
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
*/
|
|
134
|
-
refreshMenu(): this {
|
|
135
|
-
if (this._menu && this.state.menu) {
|
|
136
|
-
// Re-evaluate and update menu items with current active states
|
|
137
|
-
this._menu.items(this.state.menu.items || []);
|
|
138
|
-
}
|
|
282
|
+
footer(value: string): this {
|
|
283
|
+
this.state.footer = value;
|
|
139
284
|
return this;
|
|
140
285
|
}
|
|
141
286
|
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
287
|
+
toggle(): void {
|
|
288
|
+
this.state.collapsed = !this.state.collapsed;
|
|
289
|
+
this._triggerCallback('toggle', this.state.collapsed);
|
|
290
|
+
}
|
|
291
|
+
|
|
292
|
+
refreshActiveStates(): this {
|
|
293
|
+
this._setActiveStates();
|
|
294
|
+
this.state.items = [...this.state.items]; // Trigger update
|
|
295
|
+
return this;
|
|
146
296
|
}
|
|
147
297
|
|
|
148
298
|
/* ═════════════════════════════════════════════════════════════════
|
|
@@ -152,30 +302,52 @@ export class Sidebar extends BaseComponent<SidebarState> {
|
|
|
152
302
|
render(targetId?: string): this {
|
|
153
303
|
const container = this._setupContainer(targetId);
|
|
154
304
|
|
|
155
|
-
const { position, collapsed, expandOnHover,
|
|
305
|
+
const { position, collapsed, expandOnHover, items, header, footer, width, style, class: className } = this.state;
|
|
156
306
|
|
|
157
|
-
// Build sidebar element
|
|
158
307
|
const sidebar = document.createElement('aside');
|
|
308
|
+
sidebar.className = `jux-sidebar jux-sidebar-${position}`;
|
|
159
309
|
sidebar.id = this._id;
|
|
160
|
-
if (className) sidebar.className = className;
|
|
161
|
-
if (style) sidebar.setAttribute('style', style);
|
|
162
310
|
|
|
163
|
-
// Apply initial collapsed state
|
|
164
311
|
if (collapsed) {
|
|
165
312
|
sidebar.classList.add('jux-sidebar-collapsed');
|
|
166
313
|
}
|
|
167
314
|
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
315
|
+
if (className) sidebar.className += ` ${className}`;
|
|
316
|
+
if (style) sidebar.setAttribute('style', style);
|
|
317
|
+
if (width) sidebar.style.width = width;
|
|
318
|
+
|
|
319
|
+
// Header
|
|
320
|
+
if (header) {
|
|
321
|
+
const headerEl = document.createElement('div');
|
|
322
|
+
headerEl.className = 'jux-sidebar-header';
|
|
323
|
+
headerEl.textContent = header;
|
|
324
|
+
sidebar.appendChild(headerEl);
|
|
325
|
+
}
|
|
326
|
+
|
|
327
|
+
// Navigation
|
|
328
|
+
const nav = document.createElement('nav');
|
|
329
|
+
nav.className = 'jux-sidebar-nav';
|
|
330
|
+
|
|
331
|
+
items.forEach(item => {
|
|
332
|
+
nav.appendChild(this._renderItem(item));
|
|
333
|
+
});
|
|
334
|
+
|
|
335
|
+
sidebar.appendChild(nav);
|
|
336
|
+
|
|
337
|
+
// Footer
|
|
338
|
+
if (footer) {
|
|
339
|
+
const footerEl = document.createElement('div');
|
|
340
|
+
footerEl.className = 'jux-sidebar-footer';
|
|
341
|
+
footerEl.textContent = footer;
|
|
342
|
+
sidebar.appendChild(footerEl);
|
|
343
|
+
}
|
|
173
344
|
|
|
174
|
-
// Toggle button
|
|
345
|
+
// Toggle button
|
|
175
346
|
if (this.state.collapsible || this.state.showToggle) {
|
|
176
347
|
const toggleBtn = document.createElement('button');
|
|
177
348
|
toggleBtn.className = 'jux-sidebar-toggle';
|
|
178
349
|
toggleBtn.type = 'button';
|
|
350
|
+
toggleBtn.setAttribute('aria-label', 'Toggle sidebar');
|
|
179
351
|
|
|
180
352
|
const toggleIcon = document.createElement('span');
|
|
181
353
|
toggleIcon.className = 'jux-sidebar-toggle-icon';
|
|
@@ -189,13 +361,12 @@ export class Sidebar extends BaseComponent<SidebarState> {
|
|
|
189
361
|
|
|
190
362
|
toggleBtn.addEventListener('click', () => {
|
|
191
363
|
this.toggle();
|
|
192
|
-
toggleBtn.classList.toggle('jux-sidebar-toggle-collapsed', this.state.collapsed);
|
|
193
364
|
});
|
|
194
365
|
|
|
195
366
|
sidebar.appendChild(toggleBtn);
|
|
196
367
|
}
|
|
197
368
|
|
|
198
|
-
//
|
|
369
|
+
// Expand on hover
|
|
199
370
|
if (expandOnHover) {
|
|
200
371
|
sidebar.addEventListener('mouseenter', () => {
|
|
201
372
|
if (this.state.collapsed) {
|
|
@@ -210,56 +381,12 @@ export class Sidebar extends BaseComponent<SidebarState> {
|
|
|
210
381
|
});
|
|
211
382
|
}
|
|
212
383
|
|
|
213
|
-
// Wire events using inherited method
|
|
214
384
|
this._wireStandardEvents(sidebar);
|
|
215
|
-
|
|
216
|
-
// Wire sync bindings for 'collapsed' property
|
|
217
|
-
this._syncBindings.forEach(({ property, stateObj, toState, toComponent }) => {
|
|
218
|
-
if (property === 'collapsed') {
|
|
219
|
-
const transform = toComponent || ((v: any) => v);
|
|
220
|
-
|
|
221
|
-
stateObj.subscribe((val: any) => {
|
|
222
|
-
const transformed = transform(val);
|
|
223
|
-
const isCollapsed = Boolean(transformed);
|
|
224
|
-
this.state.collapsed = isCollapsed;
|
|
225
|
-
this._updateCollapsedState();
|
|
226
|
-
});
|
|
227
|
-
}
|
|
228
|
-
else if (property === 'menu') {
|
|
229
|
-
const transform = toComponent || ((v: any) => v);
|
|
230
|
-
|
|
231
|
-
stateObj.subscribe((val: any) => {
|
|
232
|
-
const transformed = transform(val);
|
|
233
|
-
this.state.menu = transformed;
|
|
234
|
-
|
|
235
|
-
// Update menu items if menu instance exists
|
|
236
|
-
if (this._menu) {
|
|
237
|
-
this._menu.items(transformed.items || []);
|
|
238
|
-
|
|
239
|
-
// Re-render the menu
|
|
240
|
-
const menuEl = menuContainer.querySelector(`#${this._id}-menu-instance`);
|
|
241
|
-
if (menuEl) {
|
|
242
|
-
menuEl.remove();
|
|
243
|
-
}
|
|
244
|
-
this._menu.render(`#${menuContainer.id}`);
|
|
245
|
-
}
|
|
246
|
-
});
|
|
247
|
-
}
|
|
248
|
-
});
|
|
385
|
+
this._wireAllSyncs();
|
|
249
386
|
|
|
250
387
|
container.appendChild(sidebar);
|
|
251
388
|
this._sidebar = sidebar;
|
|
252
389
|
|
|
253
|
-
// Create and render menu (after sidebar is in DOM)
|
|
254
|
-
if (menu) {
|
|
255
|
-
this._menu = new Menu(`${this._id}-menu-instance`, {
|
|
256
|
-
...menu,
|
|
257
|
-
orientation: 'vertical'
|
|
258
|
-
});
|
|
259
|
-
this._menu.render(`#${menuContainer.id}`);
|
|
260
|
-
}
|
|
261
|
-
|
|
262
|
-
// Trigger Iconify icon rendering
|
|
263
390
|
requestAnimationFrame(() => {
|
|
264
391
|
if ((window as any).Iconify) {
|
|
265
392
|
(window as any).Iconify.scan();
|
|
@@ -107,6 +107,7 @@ export declare class Table extends BaseComponent<TableState> {
|
|
|
107
107
|
deselectRows(indexes: number[]): this;
|
|
108
108
|
getSelectedIndexes(): number[];
|
|
109
109
|
getSelectedRows(): any[];
|
|
110
|
+
update(prop: string, value: any): void;
|
|
110
111
|
render(targetId?: string): this;
|
|
111
112
|
protected _setupContainer(targetId?: string): HTMLElement;
|
|
112
113
|
private _buildWrapper;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table.d.ts","sourceRoot":"","sources":["table.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"table.d.ts","sourceRoot":"","sources":["table.ts"],"names":[],"mappings":"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"}
|
package/lib/components/table.js
CHANGED
|
@@ -322,6 +322,9 @@ export class Table extends BaseComponent {
|
|
|
322
322
|
* SECTION 5: RENDER LIFECYCLE
|
|
323
323
|
* Main render method and BUILD phase helpers
|
|
324
324
|
* ═════════════════════════════════════════════════════════════════ */
|
|
325
|
+
update(prop, value) {
|
|
326
|
+
// No reactive updates needed
|
|
327
|
+
}
|
|
325
328
|
render(targetId) {
|
|
326
329
|
const container = this._setupContainer(targetId);
|
|
327
330
|
const wrapper = this._buildWrapper();
|
package/lib/components/table.ts
CHANGED
|
@@ -469,10 +469,14 @@ export class Table extends BaseComponent<TableState> {
|
|
|
469
469
|
return Array.from(this.state.selectedIndexes).map(index => this.state.rows[index]);
|
|
470
470
|
}
|
|
471
471
|
|
|
472
|
+
|
|
472
473
|
/* ═════════════════════════════════════════════════════════════════
|
|
473
474
|
* SECTION 5: RENDER LIFECYCLE
|
|
474
475
|
* Main render method and BUILD phase helpers
|
|
475
476
|
* ═════════════════════════════════════════════════════════════════ */
|
|
477
|
+
update(prop: string, value: any): void {
|
|
478
|
+
// No reactive updates needed
|
|
479
|
+
}
|
|
476
480
|
|
|
477
481
|
render(targetId?: string): this {
|
|
478
482
|
const container = this._setupContainer(targetId);
|
package/lib/components/tabs.d.ts
CHANGED
|
@@ -28,6 +28,7 @@ export declare class Tabs extends BaseComponent<TabsState> {
|
|
|
28
28
|
activeTab(value: string): this;
|
|
29
29
|
variant(value: 'default' | 'pills' | 'underline'): this;
|
|
30
30
|
private _updateActiveTab;
|
|
31
|
+
update(prop: string, value: any): void;
|
|
31
32
|
render(targetId?: string): this;
|
|
32
33
|
private _switchTab;
|
|
33
34
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tabs.d.ts","sourceRoot":"","sources":["tabs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAMxD,MAAM,WAAW,GAAG;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,GAAG,WAAW,CAAC;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,SAAS,GAAG,OAAO,GAAG,WAAW,CAAC;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,KAAK,SAAS,GAAG;IACf,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,qBAAa,IAAK,SAAQ,aAAa,CAAC,SAAS,CAAC;gBACpC,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB;IAUjD,SAAS,CAAC,gBAAgB,IAAI,SAAS,MAAM,EAAE;IAI/C,SAAS,CAAC,iBAAiB,IAAI,SAAS,MAAM,EAAE;IAUhD,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,IAAI;IAKxB,MAAM,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI;IAKtB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAM9B,OAAO,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,GAAG,WAAW,GAAG,IAAI;IAKvD,OAAO,CAAC,gBAAgB;
|
|
1
|
+
{"version":3,"file":"tabs.d.ts","sourceRoot":"","sources":["tabs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAMxD,MAAM,WAAW,GAAG;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,GAAG,WAAW,CAAC;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,SAAS,GAAG,OAAO,GAAG,WAAW,CAAC;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,KAAK,SAAS,GAAG;IACf,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,qBAAa,IAAK,SAAQ,aAAa,CAAC,SAAS,CAAC;gBACpC,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB;IAUjD,SAAS,CAAC,gBAAgB,IAAI,SAAS,MAAM,EAAE;IAI/C,SAAS,CAAC,iBAAiB,IAAI,SAAS,MAAM,EAAE;IAUhD,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,IAAI;IAKxB,MAAM,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI;IAKtB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAM9B,OAAO,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,GAAG,WAAW,GAAG,IAAI;IAKvD,OAAO,CAAC,gBAAgB;IAgBxB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI;IAQtC,MAAM,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI;IAwI/B,OAAO,CAAC,UAAU;CAcnB;AAED,wBAAgB,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB,GAAG,IAAI,CAEhE"}
|
package/lib/components/tabs.js
CHANGED
|
@@ -54,6 +54,9 @@ export class Tabs extends BaseComponent {
|
|
|
54
54
|
panel.style.display = isActive ? 'block' : 'none';
|
|
55
55
|
});
|
|
56
56
|
}
|
|
57
|
+
update(prop, value) {
|
|
58
|
+
// No reactive updates needed
|
|
59
|
+
}
|
|
57
60
|
/* ═════════════════════════════════════════════════════════════════
|
|
58
61
|
* RENDER
|
|
59
62
|
* ═════════════════════════════════════════════════════════════════ */
|
package/lib/components/tabs.ts
CHANGED
|
@@ -89,6 +89,10 @@ export class Tabs extends BaseComponent<TabsState> {
|
|
|
89
89
|
});
|
|
90
90
|
}
|
|
91
91
|
|
|
92
|
+
update(prop: string, value: any): void {
|
|
93
|
+
// No reactive updates needed
|
|
94
|
+
}
|
|
95
|
+
|
|
92
96
|
/* ═════════════════════════════════════════════════════════════════
|
|
93
97
|
* RENDER
|
|
94
98
|
* ═════════════════════════════════════════════════════════════════ */
|
|
@@ -38,6 +38,7 @@ export declare class ThemeToggle extends BaseComponent<ThemeToggleState> {
|
|
|
38
38
|
private cycleTheme;
|
|
39
39
|
private _updateDOM;
|
|
40
40
|
render(targetId?: string): this;
|
|
41
|
+
update(prop: string, value: any): void;
|
|
41
42
|
}
|
|
42
43
|
export declare function themeToggle(id: string, options?: ThemeToggleOptions): ThemeToggle;
|
|
43
44
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme-toggle.d.ts","sourceRoot":"","sources":["theme-toggle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAOxD,MAAM,WAAW,KAAK;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,kBAAkB;IAC/B,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,OAAO,CAAC;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,KAAK,gBAAgB,GAAG;IACpB,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,qBAAa,WAAY,SAAQ,aAAa,CAAC,gBAAgB,CAAC;gBAChD,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,kBAAuB;IAoBxD,SAAS,CAAC,gBAAgB,IAAI,SAAS,MAAM,EAAE;IAI/C,SAAS,CAAC,iBAAiB,IAAI,SAAS,MAAM,EAAE;IAQhD,OAAO,CAAC,MAAM,CAAC,WAAW;IAsB1B,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,IAAI;IAK5B,OAAO,CAAC,KAAK,EAAE,QAAQ,GAAG,UAAU,GAAG,OAAO,GAAG,IAAI;IAKrD,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAK/B,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAe/B,QAAQ,IAAI,MAAM;IAIlB,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAW5B,OAAO,CAAC,UAAU;IAqBlB,OAAO,CAAC,UAAU;IAQlB,OAAO,CAAC,UAAU;IA0ClB,MAAM,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"theme-toggle.d.ts","sourceRoot":"","sources":["theme-toggle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAOxD,MAAM,WAAW,KAAK;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,kBAAkB;IAC/B,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,OAAO,CAAC;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,KAAK,gBAAgB,GAAG;IACpB,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,qBAAa,WAAY,SAAQ,aAAa,CAAC,gBAAgB,CAAC;gBAChD,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,kBAAuB;IAoBxD,SAAS,CAAC,gBAAgB,IAAI,SAAS,MAAM,EAAE;IAI/C,SAAS,CAAC,iBAAiB,IAAI,SAAS,MAAM,EAAE;IAQhD,OAAO,CAAC,MAAM,CAAC,WAAW;IAsB1B,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,IAAI;IAK5B,OAAO,CAAC,KAAK,EAAE,QAAQ,GAAG,UAAU,GAAG,OAAO,GAAG,IAAI;IAKrD,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAK/B,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAe/B,QAAQ,IAAI,MAAM;IAIlB,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAW5B,OAAO,CAAC,UAAU;IAqBlB,OAAO,CAAC,UAAU;IAQlB,OAAO,CAAC,UAAU;IA0ClB,MAAM,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI;IAoF/B,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI;CAGzC;AAED,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,kBAAuB,GAAG,WAAW,CAErF"}
|
|
@@ -209,6 +209,9 @@ export class ThemeToggle extends BaseComponent {
|
|
|
209
209
|
});
|
|
210
210
|
return this;
|
|
211
211
|
}
|
|
212
|
+
update(prop, value) {
|
|
213
|
+
// No reactive updates needed - uses manual _updateDOM()
|
|
214
|
+
}
|
|
212
215
|
}
|
|
213
216
|
export function themeToggle(id, options = {}) {
|
|
214
217
|
return new ThemeToggle(id, options);
|
|
@@ -286,6 +286,10 @@ export class ThemeToggle extends BaseComponent<ThemeToggleState> {
|
|
|
286
286
|
|
|
287
287
|
return this;
|
|
288
288
|
}
|
|
289
|
+
|
|
290
|
+
update(prop: string, value: any): void {
|
|
291
|
+
// No reactive updates needed - uses manual _updateDOM()
|
|
292
|
+
}
|
|
289
293
|
}
|
|
290
294
|
|
|
291
295
|
export function themeToggle(id: string, options: ThemeToggleOptions = {}): ThemeToggle {
|
|
@@ -24,6 +24,7 @@ export declare class Tooltip extends BaseComponent<TooltipState> {
|
|
|
24
24
|
private _show;
|
|
25
25
|
private _hide;
|
|
26
26
|
render(targetId?: string): this;
|
|
27
|
+
update(prop: string, value: any): void;
|
|
27
28
|
}
|
|
28
29
|
export declare function tooltip(id: string, options?: TooltipOptions): Tooltip;
|
|
29
30
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tooltip.d.ts","sourceRoot":"","sources":["tooltip.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAMxD,MAAM,WAAW,cAAc;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;IAC/C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,KAAK,YAAY,GAAG;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,qBAAa,OAAQ,SAAQ,aAAa,CAAC,YAAY,CAAC;IACpD,OAAO,CAAC,QAAQ,CAA4B;IAC5C,OAAO,CAAC,OAAO,CAA4B;gBAE/B,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,cAAmB;IASpD,SAAS,CAAC,gBAAgB,IAAI,SAAS,MAAM,EAAE;IAI/C,SAAS,CAAC,iBAAiB,IAAI,SAAS,MAAM,EAAE;IAQhD,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAKzB,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI;IAK1D,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,GAAG,IAAI;IAY1C,OAAO,CAAC,aAAa;IA4BrB,OAAO,CAAC,KAAK;IAiCb,OAAO,CAAC,KAAK;IAMb,MAAM,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"tooltip.d.ts","sourceRoot":"","sources":["tooltip.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAMxD,MAAM,WAAW,cAAc;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;IAC/C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,KAAK,YAAY,GAAG;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,qBAAa,OAAQ,SAAQ,aAAa,CAAC,YAAY,CAAC;IACpD,OAAO,CAAC,QAAQ,CAA4B;IAC5C,OAAO,CAAC,OAAO,CAA4B;gBAE/B,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,cAAmB;IASpD,SAAS,CAAC,gBAAgB,IAAI,SAAS,MAAM,EAAE;IAI/C,SAAS,CAAC,iBAAiB,IAAI,SAAS,MAAM,EAAE;IAQhD,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAKzB,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI;IAK1D,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,GAAG,IAAI;IAY1C,OAAO,CAAC,aAAa;IA4BrB,OAAO,CAAC,KAAK;IAiCb,OAAO,CAAC,KAAK;IAMb,MAAM,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI;IAM/B,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI;CAGzC;AAED,wBAAgB,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAEzE"}
|
|
@@ -103,6 +103,9 @@ export class Tooltip extends BaseComponent {
|
|
|
103
103
|
console.warn('Tooltip: Use .attachTo(element) instead of .render()');
|
|
104
104
|
return this;
|
|
105
105
|
}
|
|
106
|
+
update(prop, value) {
|
|
107
|
+
// No reactive updates needed
|
|
108
|
+
}
|
|
106
109
|
}
|
|
107
110
|
export function tooltip(id, options = {}) {
|
|
108
111
|
return new Tooltip(id, options);
|
|
@@ -137,6 +137,10 @@ export class Tooltip extends BaseComponent<TooltipState> {
|
|
|
137
137
|
console.warn('Tooltip: Use .attachTo(element) instead of .render()');
|
|
138
138
|
return this;
|
|
139
139
|
}
|
|
140
|
+
|
|
141
|
+
update(prop: string, value: any): void {
|
|
142
|
+
// No reactive updates needed
|
|
143
|
+
}
|
|
140
144
|
}
|
|
141
145
|
|
|
142
146
|
export function tooltip(id: string, options: TooltipOptions = {}): Tooltip {
|