@design.estate/dees-catalog 3.35.1 → 3.37.0
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_bundle/bundle.js +1391 -247
- package/dist_ts_web/00_commitinfo_data.js +1 -1
- package/dist_ts_web/elements/00group-button/dees-button/dees-button.d.ts +6 -0
- package/dist_ts_web/elements/00group-button/dees-button/dees-button.demo.js +69 -29
- package/dist_ts_web/elements/00group-button/dees-button/dees-button.js +75 -6
- package/dist_ts_web/elements/00group-chart/dees-chart-log/dees-chart-log.d.ts +104 -6
- package/dist_ts_web/elements/00group-chart/dees-chart-log/dees-chart-log.demo.js +153 -54
- package/dist_ts_web/elements/00group-chart/dees-chart-log/dees-chart-log.js +716 -153
- package/dist_ts_web/elements/dees-statsgrid/dees-statsgrid.d.ts +22 -1
- package/dist_ts_web/elements/dees-statsgrid/dees-statsgrid.demo.js +130 -2
- package/dist_ts_web/elements/dees-statsgrid/dees-statsgrid.js +322 -1
- package/dist_ts_web/services/DeesServiceLibLoader.d.ts +34 -1
- package/dist_ts_web/services/DeesServiceLibLoader.js +27 -1
- package/dist_ts_web/services/index.d.ts +1 -1
- package/dist_ts_web/services/versions.d.ts +1 -0
- package/dist_ts_web/services/versions.js +2 -1
- package/dist_watch/bundle.js +1389 -245
- package/dist_watch/bundle.js.map +3 -3
- package/package.json +1 -1
- package/ts_web/00_commitinfo_data.ts +1 -1
- package/ts_web/elements/00group-button/dees-button/dees-button.demo.ts +68 -28
- package/ts_web/elements/00group-button/dees-button/dees-button.ts +78 -6
- package/ts_web/elements/00group-chart/dees-chart-log/dees-chart-log.demo.ts +163 -56
- package/ts_web/elements/00group-chart/dees-chart-log/dees-chart-log.ts +756 -161
- package/ts_web/elements/dees-statsgrid/dees-statsgrid.demo.ts +130 -2
- package/ts_web/elements/dees-statsgrid/dees-statsgrid.ts +352 -1
- package/ts_web/services/DeesServiceLibLoader.ts +50 -1
- package/ts_web/services/index.ts +1 -1
- package/ts_web/services/versions.ts +1 -0
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export const commitinfo = {
|
|
5
5
|
name: '@design.estate/dees-catalog',
|
|
6
|
-
version: '3.
|
|
6
|
+
version: '3.36.0',
|
|
7
7
|
description: 'A comprehensive library that provides dynamic web components for building sophisticated and modern web applications using JavaScript and TypeScript.'
|
|
8
8
|
};
|
|
9
9
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDBfY29tbWl0aW5mb19kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHNfd2ViLzAwX2NvbW1pdGluZm9fZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRztJQUN4QixJQUFJLEVBQUUsNkJBQTZCO0lBQ25DLE9BQU8sRUFBRSxRQUFRO0lBQ2pCLFdBQVcsRUFBRSxzSkFBc0o7Q0FDcEssQ0FBQSJ9
|
|
@@ -15,9 +15,15 @@ export declare class DeesButton extends DeesElement {
|
|
|
15
15
|
accessor size: 'default' | 'sm' | 'lg' | 'icon';
|
|
16
16
|
accessor status: 'normal' | 'pending' | 'success' | 'error';
|
|
17
17
|
accessor insideForm: boolean;
|
|
18
|
+
accessor icon: string;
|
|
19
|
+
accessor iconPosition: 'left' | 'right';
|
|
18
20
|
constructor();
|
|
19
21
|
connectedCallback(): Promise<void>;
|
|
20
22
|
static styles: CSSResult[];
|
|
23
|
+
/**
|
|
24
|
+
* Extracts icon and text from light DOM and sets properties
|
|
25
|
+
*/
|
|
26
|
+
private extractLightDom;
|
|
21
27
|
render(): TemplateResult;
|
|
22
28
|
dispatchClick(): Promise<void>;
|
|
23
29
|
firstUpdated(): Promise<void>;
|
|
@@ -140,54 +140,95 @@ export const demoFunc = () => html `
|
|
|
140
140
|
<dees-panel .title=${'3. Buttons with Icons'} .subtitle=${'Combining icons with text for enhanced visual communication'}>
|
|
141
141
|
<div class="icon-row">
|
|
142
142
|
<dees-button>
|
|
143
|
-
<dees-icon
|
|
143
|
+
<dees-icon icon="fa:plus"></dees-icon>
|
|
144
144
|
Add Item
|
|
145
145
|
</dees-button>
|
|
146
146
|
<dees-button type="destructive">
|
|
147
|
-
<dees-icon
|
|
147
|
+
<dees-icon icon="fa:trash"></dees-icon>
|
|
148
148
|
Delete
|
|
149
149
|
</dees-button>
|
|
150
150
|
<dees-button type="outline">
|
|
151
|
-
<dees-icon
|
|
151
|
+
<dees-icon icon="lucide:Download"></dees-icon>
|
|
152
152
|
Download
|
|
153
153
|
</dees-button>
|
|
154
154
|
</div>
|
|
155
|
-
|
|
155
|
+
|
|
156
156
|
<div class="icon-row">
|
|
157
157
|
<dees-button type="secondary" size="sm">
|
|
158
|
-
<dees-icon
|
|
158
|
+
<dees-icon icon="fa:gear"></dees-icon>
|
|
159
159
|
Settings
|
|
160
160
|
</dees-button>
|
|
161
161
|
<dees-button type="ghost">
|
|
162
|
-
<dees-icon
|
|
162
|
+
<dees-icon icon="fa:caretLeft"></dees-icon>
|
|
163
163
|
Back
|
|
164
164
|
</dees-button>
|
|
165
165
|
<dees-button type="ghost">
|
|
166
166
|
Next
|
|
167
|
-
<dees-icon
|
|
167
|
+
<dees-icon icon="fa:caretRight"></dees-icon>
|
|
168
168
|
</dees-button>
|
|
169
169
|
</div>
|
|
170
|
-
|
|
170
|
+
|
|
171
171
|
<div class="icon-row">
|
|
172
172
|
<dees-button size="icon" type="default">
|
|
173
|
-
<dees-icon
|
|
173
|
+
<dees-icon icon="fa:plus"></dees-icon>
|
|
174
174
|
</dees-button>
|
|
175
175
|
<dees-button size="icon" type="secondary">
|
|
176
|
-
<dees-icon
|
|
176
|
+
<dees-icon icon="fa:gear"></dees-icon>
|
|
177
177
|
</dees-button>
|
|
178
178
|
<dees-button size="icon" type="outline">
|
|
179
|
-
<dees-icon
|
|
179
|
+
<dees-icon icon="lucide:Search"></dees-icon>
|
|
180
180
|
</dees-button>
|
|
181
181
|
<dees-button size="icon" type="ghost">
|
|
182
|
-
<dees-icon
|
|
182
|
+
<dees-icon icon="lucide:MoreVertical"></dees-icon>
|
|
183
183
|
</dees-button>
|
|
184
184
|
<dees-button size="icon" type="destructive">
|
|
185
|
-
<dees-icon
|
|
185
|
+
<dees-icon icon="fa:trash"></dees-icon>
|
|
186
186
|
</dees-button>
|
|
187
187
|
</div>
|
|
188
188
|
</dees-panel>
|
|
189
189
|
</dees-demowrapper>
|
|
190
|
-
|
|
190
|
+
|
|
191
|
+
<dees-demowrapper .runAfterRender=${async (elementArg) => {
|
|
192
|
+
// Track icon property button clicks
|
|
193
|
+
const buttons = elementArg.querySelectorAll('dees-button');
|
|
194
|
+
buttons.forEach((button) => {
|
|
195
|
+
button.addEventListener('clicked', () => {
|
|
196
|
+
const icon = button.getAttribute('icon') || 'none';
|
|
197
|
+
const position = button.getAttribute('iconPosition') || 'left';
|
|
198
|
+
console.log(`Icon property button: icon=${icon}, position=${position}`);
|
|
199
|
+
});
|
|
200
|
+
});
|
|
201
|
+
}}>
|
|
202
|
+
<dees-panel .title=${'4. Icons via Property'} .subtitle=${'Simplified icon syntax using the icon property'}>
|
|
203
|
+
<div class="icon-row">
|
|
204
|
+
<dees-button icon="fa:plus">Add Item</dees-button>
|
|
205
|
+
<dees-button type="destructive" icon="fa:trash">Delete</dees-button>
|
|
206
|
+
<dees-button type="outline" icon="lucide:Download">Download</dees-button>
|
|
207
|
+
</div>
|
|
208
|
+
|
|
209
|
+
<div class="icon-row">
|
|
210
|
+
<dees-button type="secondary" size="sm" icon="fa:gear">Settings</dees-button>
|
|
211
|
+
<dees-button type="ghost" icon="fa:caretLeft">Back</dees-button>
|
|
212
|
+
<dees-button type="ghost" icon="fa:caretRight" iconPosition="right">Next</dees-button>
|
|
213
|
+
</div>
|
|
214
|
+
|
|
215
|
+
<div class="icon-row">
|
|
216
|
+
<dees-button size="icon" type="default" icon="fa:plus"></dees-button>
|
|
217
|
+
<dees-button size="icon" type="secondary" icon="lucide:Settings"></dees-button>
|
|
218
|
+
<dees-button size="icon" type="outline" icon="lucide:Search"></dees-button>
|
|
219
|
+
<dees-button size="icon" type="ghost" icon="lucide:MoreVertical"></dees-button>
|
|
220
|
+
<dees-button size="icon" type="destructive" icon="fa:trash"></dees-button>
|
|
221
|
+
</div>
|
|
222
|
+
|
|
223
|
+
<div style="margin-top: 16px;">
|
|
224
|
+
<div class="code-snippet">
|
|
225
|
+
<dees-button icon="fa:plus">Add Item</dees-button><br>
|
|
226
|
+
<dees-button icon="fa:caretRight" iconPosition="right">Next</dees-button>
|
|
227
|
+
</div>
|
|
228
|
+
</div>
|
|
229
|
+
</dees-panel>
|
|
230
|
+
</dees-demowrapper>
|
|
231
|
+
|
|
191
232
|
<dees-demowrapper .runAfterRender=${async (elementArg) => {
|
|
192
233
|
// Demonstrate status changes
|
|
193
234
|
const pendingButton = elementArg.querySelector('dees-button[status="pending"]');
|
|
@@ -210,7 +251,7 @@ export const demoFunc = () => html `
|
|
|
210
251
|
});
|
|
211
252
|
}
|
|
212
253
|
}}>
|
|
213
|
-
<dees-panel .title=${'
|
|
254
|
+
<dees-panel .title=${'5. Button States'} .subtitle=${'Different states to indicate button status and loading conditions'}>
|
|
214
255
|
<div class="button-group">
|
|
215
256
|
<dees-button status="normal">Normal</dees-button>
|
|
216
257
|
<dees-button status="pending">Processing...</dees-button>
|
|
@@ -251,7 +292,7 @@ export const demoFunc = () => html `
|
|
|
251
292
|
});
|
|
252
293
|
}
|
|
253
294
|
}}>
|
|
254
|
-
<dees-panel .title=${'
|
|
295
|
+
<dees-panel .title=${'6. Event Handling'} .subtitle=${'Interactive examples with click event handling'}>
|
|
255
296
|
<div class="button-group">
|
|
256
297
|
<dees-button>Click Me</dees-button>
|
|
257
298
|
<dees-button type="secondary" .eventDetailData=${'custom-data-123'}>
|
|
@@ -290,7 +331,7 @@ export const demoFunc = () => html `
|
|
|
290
331
|
});
|
|
291
332
|
}
|
|
292
333
|
}}>
|
|
293
|
-
<dees-panel .title=${'
|
|
334
|
+
<dees-panel .title=${'7. Form Integration'} .subtitle=${'Buttons working within forms with automatic spacing'}>
|
|
294
335
|
<dees-form>
|
|
295
336
|
<dees-input-text label="Name" key="name" required></dees-input-text>
|
|
296
337
|
<dees-input-text label="Email" key="email" type="email" required></dees-input-text>
|
|
@@ -317,7 +358,7 @@ export const demoFunc = () => html `
|
|
|
317
358
|
}
|
|
318
359
|
});
|
|
319
360
|
}}>
|
|
320
|
-
<dees-panel .title=${'
|
|
361
|
+
<dees-panel .title=${'8. Backward Compatibility'} .subtitle=${'Old button types are automatically mapped to new variants'}>
|
|
321
362
|
<div class="button-group">
|
|
322
363
|
<dees-button type="normal">Normal → Default</dees-button>
|
|
323
364
|
<dees-button type="highlighted">Highlighted → Destructive</dees-button>
|
|
@@ -356,36 +397,36 @@ export const demoFunc = () => html `
|
|
|
356
397
|
});
|
|
357
398
|
}
|
|
358
399
|
}}>
|
|
359
|
-
<dees-panel .title=${'
|
|
400
|
+
<dees-panel .title=${'9. Advanced Examples'} .subtitle=${'Complex button configurations and real-world use cases'}>
|
|
360
401
|
<div class="horizontal-group">
|
|
361
402
|
<div class="vertical-group">
|
|
362
403
|
<h4 style="margin: 0 0 8px 0; font-size: 14px; font-weight: 500;">Action Group</h4>
|
|
363
404
|
<dees-button type="default" size="sm">
|
|
364
|
-
<dees-icon
|
|
405
|
+
<dees-icon icon="lucide:Save"></dees-icon>
|
|
365
406
|
Save Changes
|
|
366
407
|
</dees-button>
|
|
367
408
|
<dees-button type="secondary" size="sm">
|
|
368
|
-
<dees-icon
|
|
409
|
+
<dees-icon icon="lucide:Undo2"></dees-icon>
|
|
369
410
|
Discard
|
|
370
411
|
</dees-button>
|
|
371
412
|
<dees-button type="ghost" size="sm">
|
|
372
|
-
<dees-icon
|
|
413
|
+
<dees-icon icon="lucide:HelpCircle"></dees-icon>
|
|
373
414
|
Help
|
|
374
415
|
</dees-button>
|
|
375
416
|
</div>
|
|
376
|
-
|
|
417
|
+
|
|
377
418
|
<div class="vertical-group">
|
|
378
419
|
<h4 style="margin: 0 0 8px 0; font-size: 14px; font-weight: 500;">Danger Zone</h4>
|
|
379
420
|
<dees-button type="destructive" size="sm">
|
|
380
|
-
<dees-icon
|
|
421
|
+
<dees-icon icon="fa:trash"></dees-icon>
|
|
381
422
|
Delete Account
|
|
382
423
|
</dees-button>
|
|
383
424
|
<dees-button type="outline" size="sm">
|
|
384
|
-
<dees-icon
|
|
425
|
+
<dees-icon icon="lucide:Archive"></dees-icon>
|
|
385
426
|
Archive Data
|
|
386
427
|
</dees-button>
|
|
387
428
|
<dees-button type="ghost" size="sm" disabled>
|
|
388
|
-
<dees-icon
|
|
429
|
+
<dees-icon icon="lucide:Ban"></dees-icon>
|
|
389
430
|
Not Available
|
|
390
431
|
</dees-button>
|
|
391
432
|
</div>
|
|
@@ -394,8 +435,7 @@ export const demoFunc = () => html `
|
|
|
394
435
|
<div style="margin-top: 24px;">
|
|
395
436
|
<h4 style="margin: 0 0 8px 0; font-size: 14px; font-weight: 500;">Code Example:</h4>
|
|
396
437
|
<div class="code-snippet">
|
|
397
|
-
<dees-button type="default" size="sm" @clicked="\${handleClick}"><br>
|
|
398
|
-
<dees-icon iconFA="faSave"></dees-icon><br>
|
|
438
|
+
<dees-button type="default" size="sm" icon="lucide:Save" @clicked="\${handleClick}"><br>
|
|
399
439
|
Save Changes<br>
|
|
400
440
|
</dees-button>
|
|
401
441
|
</div>
|
|
@@ -404,4 +444,4 @@ export const demoFunc = () => html `
|
|
|
404
444
|
</dees-demowrapper>
|
|
405
445
|
</div>
|
|
406
446
|
`;
|
|
407
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
447
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcy1idXR0b24uZGVtby5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3RzX3dlYi9lbGVtZW50cy8wMGdyb3VwLWJ1dHRvbi9kZWVzLWJ1dHRvbi9kZWVzLWJ1dHRvbi5kZW1vLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM5RSxPQUFPLHdDQUF3QyxDQUFDO0FBQ2hELE9BQU8sZ0NBQWdDLENBQUM7QUFDeEMsT0FBTywyQ0FBMkMsQ0FBQztBQUNuRCxPQUFPLHlEQUF5RCxDQUFDO0FBQ2pFLE9BQU8sd0RBQXdELENBQUM7QUFDaEUsT0FBTyw4QkFBOEIsQ0FBQztBQUd0QyxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFBOztNQUU1QixHQUFHLENBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztzQkEwQ2EsVUFBVSxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsRUFBRSxzQkFBc0IsQ0FBQzs7OztpQkFJckUsVUFBVSxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsRUFBRSxrQkFBa0IsQ0FBQzs7Ozs7Ozs7Ozs7c0JBV3hELFVBQVUsQ0FBQyxPQUFPLENBQUMsb0JBQW9CLEVBQUUsc0JBQXNCLENBQUM7Ozs7Ozs7O0tBUWpGOzs7O3dDQUltQyxLQUFLLEVBQUUsVUFBdUIsRUFBRSxFQUFFO0lBQ3BFLHNDQUFzQztJQUN0QyxNQUFNLE9BQU8sR0FBRyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDM0QsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1FBQ3pCLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLEVBQUUsR0FBRyxFQUFFO1lBQ3RDLE1BQU0sSUFBSSxHQUFHLE1BQU0s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
|
|
@@ -66,6 +66,12 @@ let DeesButton = (() => {
|
|
|
66
66
|
let _insideForm_decorators;
|
|
67
67
|
let _insideForm_initializers = [];
|
|
68
68
|
let _insideForm_extraInitializers = [];
|
|
69
|
+
let _icon_decorators;
|
|
70
|
+
let _icon_initializers = [];
|
|
71
|
+
let _icon_extraInitializers = [];
|
|
72
|
+
let _iconPosition_decorators;
|
|
73
|
+
let _iconPosition_initializers = [];
|
|
74
|
+
let _iconPosition_extraInitializers = [];
|
|
69
75
|
var DeesButton = class extends _classSuper {
|
|
70
76
|
static { _classThis = this; }
|
|
71
77
|
static {
|
|
@@ -97,6 +103,8 @@ let DeesButton = (() => {
|
|
|
97
103
|
type: Boolean,
|
|
98
104
|
reflect: true
|
|
99
105
|
})];
|
|
106
|
+
_icon_decorators = [property({ type: String, reflect: true })];
|
|
107
|
+
_iconPosition_decorators = [property({ type: String, reflect: true })];
|
|
100
108
|
__esDecorate(this, null, _text_decorators, { kind: "accessor", name: "text", static: false, private: false, access: { has: obj => "text" in obj, get: obj => obj.text, set: (obj, value) => { obj.text = value; } }, metadata: _metadata }, _text_initializers, _text_extraInitializers);
|
|
101
109
|
__esDecorate(this, null, _eventDetailData_decorators, { kind: "accessor", name: "eventDetailData", static: false, private: false, access: { has: obj => "eventDetailData" in obj, get: obj => obj.eventDetailData, set: (obj, value) => { obj.eventDetailData = value; } }, metadata: _metadata }, _eventDetailData_initializers, _eventDetailData_extraInitializers);
|
|
102
110
|
__esDecorate(this, null, _disabled_decorators, { kind: "accessor", name: "disabled", static: false, private: false, access: { has: obj => "disabled" in obj, get: obj => obj.disabled, set: (obj, value) => { obj.disabled = value; } }, metadata: _metadata }, _disabled_initializers, _disabled_extraInitializers);
|
|
@@ -105,6 +113,8 @@ let DeesButton = (() => {
|
|
|
105
113
|
__esDecorate(this, null, _size_decorators, { kind: "accessor", name: "size", static: false, private: false, access: { has: obj => "size" in obj, get: obj => obj.size, set: (obj, value) => { obj.size = value; } }, metadata: _metadata }, _size_initializers, _size_extraInitializers);
|
|
106
114
|
__esDecorate(this, null, _status_decorators, { kind: "accessor", name: "status", static: false, private: false, access: { has: obj => "status" in obj, get: obj => obj.status, set: (obj, value) => { obj.status = value; } }, metadata: _metadata }, _status_initializers, _status_extraInitializers);
|
|
107
115
|
__esDecorate(this, null, _insideForm_decorators, { kind: "accessor", name: "insideForm", static: false, private: false, access: { has: obj => "insideForm" in obj, get: obj => obj.insideForm, set: (obj, value) => { obj.insideForm = value; } }, metadata: _metadata }, _insideForm_initializers, _insideForm_extraInitializers);
|
|
116
|
+
__esDecorate(this, null, _icon_decorators, { kind: "accessor", name: "icon", static: false, private: false, access: { has: obj => "icon" in obj, get: obj => obj.icon, set: (obj, value) => { obj.icon = value; } }, metadata: _metadata }, _icon_initializers, _icon_extraInitializers);
|
|
117
|
+
__esDecorate(this, null, _iconPosition_decorators, { kind: "accessor", name: "iconPosition", static: false, private: false, access: { has: obj => "iconPosition" in obj, get: obj => obj.iconPosition, set: (obj, value) => { obj.iconPosition = value; } }, metadata: _metadata }, _iconPosition_initializers, _iconPosition_extraInitializers);
|
|
108
118
|
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
109
119
|
DeesButton = _classThis = _classDescriptor.value;
|
|
110
120
|
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
@@ -135,9 +145,15 @@ let DeesButton = (() => {
|
|
|
135
145
|
#insideForm_accessor_storage = (__runInitializers(this, _status_extraInitializers), __runInitializers(this, _insideForm_initializers, false));
|
|
136
146
|
get insideForm() { return this.#insideForm_accessor_storage; }
|
|
137
147
|
set insideForm(value) { this.#insideForm_accessor_storage = value; }
|
|
148
|
+
#icon_accessor_storage = (__runInitializers(this, _insideForm_extraInitializers), __runInitializers(this, _icon_initializers, void 0));
|
|
149
|
+
get icon() { return this.#icon_accessor_storage; }
|
|
150
|
+
set icon(value) { this.#icon_accessor_storage = value; }
|
|
151
|
+
#iconPosition_accessor_storage = (__runInitializers(this, _icon_extraInitializers), __runInitializers(this, _iconPosition_initializers, 'left'));
|
|
152
|
+
get iconPosition() { return this.#iconPosition_accessor_storage; }
|
|
153
|
+
set iconPosition(value) { this.#iconPosition_accessor_storage = value; }
|
|
138
154
|
constructor() {
|
|
139
155
|
super();
|
|
140
|
-
__runInitializers(this,
|
|
156
|
+
__runInitializers(this, _iconPosition_extraInitializers);
|
|
141
157
|
}
|
|
142
158
|
async connectedCallback() {
|
|
143
159
|
await super.connectedCallback();
|
|
@@ -406,8 +422,50 @@ let DeesButton = (() => {
|
|
|
406
422
|
height: 18px;
|
|
407
423
|
}
|
|
408
424
|
|
|
425
|
+
/* Text alignment */
|
|
426
|
+
.textbox {
|
|
427
|
+
display: flex;
|
|
428
|
+
align-items: center;
|
|
429
|
+
}
|
|
430
|
+
|
|
409
431
|
`,
|
|
410
432
|
];
|
|
433
|
+
/**
|
|
434
|
+
* Extracts icon and text from light DOM and sets properties
|
|
435
|
+
*/
|
|
436
|
+
extractLightDom() {
|
|
437
|
+
const iconElement = this.querySelector('dees-icon');
|
|
438
|
+
// Get all text content from light DOM
|
|
439
|
+
const textContent = Array.from(this.childNodes)
|
|
440
|
+
.filter(node => node.nodeType === Node.TEXT_NODE)
|
|
441
|
+
.map(node => node.textContent?.trim())
|
|
442
|
+
.filter(Boolean)
|
|
443
|
+
.join(' ');
|
|
444
|
+
if (textContent && !this.text) {
|
|
445
|
+
this.text = textContent;
|
|
446
|
+
}
|
|
447
|
+
if (iconElement) {
|
|
448
|
+
// Get icon value
|
|
449
|
+
const iconValue = iconElement.icon || iconElement.getAttribute('icon') ||
|
|
450
|
+
(iconElement.iconFA ? `fa:${iconElement.iconFA}` : null);
|
|
451
|
+
if (iconValue) {
|
|
452
|
+
// Determine position based on DOM order
|
|
453
|
+
const children = Array.from(this.childNodes);
|
|
454
|
+
const iconIndex = children.indexOf(iconElement);
|
|
455
|
+
const textNodes = children.filter(node => node.nodeType === Node.TEXT_NODE && node.textContent?.trim());
|
|
456
|
+
if (textNodes.length > 0) {
|
|
457
|
+
const firstTextIndex = children.indexOf(textNodes[0]);
|
|
458
|
+
this.iconPosition = iconIndex < firstTextIndex ? 'left' : 'right';
|
|
459
|
+
}
|
|
460
|
+
// Set the icon property
|
|
461
|
+
this.icon = iconValue;
|
|
462
|
+
}
|
|
463
|
+
// Remove the light DOM icon element
|
|
464
|
+
iconElement.remove();
|
|
465
|
+
}
|
|
466
|
+
// Clear all remaining light DOM
|
|
467
|
+
this.innerHTML = '';
|
|
468
|
+
}
|
|
411
469
|
render() {
|
|
412
470
|
// Map old types to new types for backward compatibility
|
|
413
471
|
const typeMap = {
|
|
@@ -418,6 +476,14 @@ let DeesButton = (() => {
|
|
|
418
476
|
};
|
|
419
477
|
const actualType = typeMap[this.type] || this.type;
|
|
420
478
|
const actualSize = this.type === 'big' ? 'lg' : this.size;
|
|
479
|
+
const leftIcon = this.iconPosition === 'left' && this.icon
|
|
480
|
+
? html `<dees-icon .icon=${this.icon}></dees-icon>`
|
|
481
|
+
: '';
|
|
482
|
+
const rightIcon = this.iconPosition === 'right' && this.icon
|
|
483
|
+
? html `<dees-icon .icon=${this.icon}></dees-icon>`
|
|
484
|
+
: '';
|
|
485
|
+
// For icon-only buttons, hide the textbox
|
|
486
|
+
const isIconOnly = actualSize === 'icon' && this.icon;
|
|
421
487
|
return html `
|
|
422
488
|
<div
|
|
423
489
|
class="button ${this.isHidden ? 'hidden' : ''} ${actualType} size-${actualSize} ${this.status} ${this.disabled
|
|
@@ -426,13 +492,15 @@ let DeesButton = (() => {
|
|
|
426
492
|
@click="${this.dispatchClick}"
|
|
427
493
|
>
|
|
428
494
|
${this.status === 'normal' ? html `` : html `
|
|
429
|
-
<dees-spinner
|
|
430
|
-
.bnw=${true}
|
|
495
|
+
<dees-spinner
|
|
496
|
+
.bnw=${true}
|
|
431
497
|
status="${this.status}"
|
|
432
498
|
size="${actualSize === 'sm' ? 14 : actualSize === 'lg' ? 18 : 16}"
|
|
433
499
|
></dees-spinner>
|
|
434
500
|
`}
|
|
435
|
-
|
|
501
|
+
${leftIcon}
|
|
502
|
+
${isIconOnly ? '' : html `<div class="textbox">${this.text || 'Button'}</div>`}
|
|
503
|
+
${rightIcon}
|
|
436
504
|
</div>
|
|
437
505
|
`;
|
|
438
506
|
}
|
|
@@ -448,7 +516,8 @@ let DeesButton = (() => {
|
|
|
448
516
|
}));
|
|
449
517
|
}
|
|
450
518
|
async firstUpdated() {
|
|
451
|
-
//
|
|
519
|
+
// Extract light DOM content (icon + text) and set as properties
|
|
520
|
+
this.extractLightDom();
|
|
452
521
|
}
|
|
453
522
|
static {
|
|
454
523
|
__runInitializers(_classThis, _classExtraInitializers);
|
|
@@ -457,4 +526,4 @@ let DeesButton = (() => {
|
|
|
457
526
|
return DeesButton = _classThis;
|
|
458
527
|
})();
|
|
459
528
|
export { DeesButton };
|
|
460
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
529
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcy1idXR0b24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90c193ZWIvZWxlbWVudHMvMDBncm91cC1idXR0b24vZGVlcy1idXR0b24vZGVlcy1idXR0b24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU8sRUFDTCxhQUFhLEVBQ2IsSUFBSSxFQUNKLFdBQVcsRUFDWCxRQUFRLEVBRVIsVUFBVSxFQUNWLEdBQUcsRUFFSCxTQUFTLEdBQ1YsTUFBTSw2QkFBNkIsQ0FBQztBQUVyQyxPQUFPLEtBQUssUUFBUSxNQUFNLDhCQUE4QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztJQVN6QyxVQUFVOzRCQUR0QixhQUFhLENBQUMsYUFBYSxDQUFDOzs7O3NCQUNHLFdBQVc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7MEJBQW5CLFNBQVEsV0FBVzs7OztnQ0FJeEMsUUFBUSxDQUFDO29CQUNSLE9BQU8sRUFBRSxJQUFJO29CQUNiLFVBQVU7d0JBQ1IsT0FBTyxJQUFJLENBQUM7b0JBQ2QsQ0FBQztpQkFDRixDQUFDOzJDQUdELFFBQVEsRUFBRTtvQ0FHVixRQUFRLENBQUM7b0JBQ1IsSUFBSSxFQUFFLE9BQU87b0JBQ2IsT0FBTyxFQUFFLElBQUk7aUJBQ2QsQ0FBQztvQ0FHRCxRQUFRLENBQUM7b0JBQ1IsSUFBSSxFQUFFLE9BQU87aUJBQ2QsQ0FBQztnQ0FHRCxRQUFRLENBQUM7b0JBQ1IsSUFBSSxFQUFFLE1BQU07aUJBQ2IsQ0FBQztnQ0FHRCxRQUFRLENBQUM7b0JBQ1IsSUFBSSxFQUFFLE1BQU07aUJBQ2IsQ0FBQztrQ0FHRCxRQUFRLENBQUM7b0JBQ1IsSUFBSSxFQUFFLE1BQU07aUJBQ2IsQ0FBQztzQ0FHRCxR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
|
|
@@ -10,21 +10,119 @@ export interface ILogEntry {
|
|
|
10
10
|
message: string;
|
|
11
11
|
source?: string;
|
|
12
12
|
}
|
|
13
|
+
export interface ILogMetrics {
|
|
14
|
+
debug: number;
|
|
15
|
+
info: number;
|
|
16
|
+
warn: number;
|
|
17
|
+
error: number;
|
|
18
|
+
success: number;
|
|
19
|
+
total: number;
|
|
20
|
+
rate: number;
|
|
21
|
+
}
|
|
13
22
|
export declare class DeesChartLog extends DeesElement {
|
|
14
23
|
static demo: () => TemplateResult<1>;
|
|
15
24
|
static demoGroup: string;
|
|
16
25
|
accessor label: string;
|
|
26
|
+
accessor mode: 'structured' | 'raw';
|
|
17
27
|
accessor logEntries: ILogEntry[];
|
|
18
28
|
accessor autoScroll: boolean;
|
|
19
29
|
accessor maxEntries: number;
|
|
20
|
-
|
|
21
|
-
|
|
30
|
+
accessor highlightKeywords: string[];
|
|
31
|
+
accessor showMetrics: boolean;
|
|
32
|
+
accessor searchQuery: string;
|
|
33
|
+
accessor filterMode: boolean;
|
|
34
|
+
accessor metrics: ILogMetrics;
|
|
35
|
+
accessor terminalReady: boolean;
|
|
36
|
+
private logBuffer;
|
|
37
|
+
private trailingHiddenCount;
|
|
38
|
+
private terminal;
|
|
39
|
+
private fitAddon;
|
|
40
|
+
private searchAddon;
|
|
41
|
+
private resizeObserver;
|
|
42
|
+
private terminalThemeSubscription;
|
|
43
|
+
private domtoolsInstance;
|
|
44
|
+
private rateBuffer;
|
|
45
|
+
private rateInterval;
|
|
22
46
|
static styles: import("@design.estate/dees-element").CSSResult[];
|
|
47
|
+
constructor();
|
|
23
48
|
render(): TemplateResult;
|
|
24
|
-
private renderLogEntry;
|
|
25
49
|
firstUpdated(): Promise<void>;
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
50
|
+
private initializeTerminal;
|
|
51
|
+
private getTerminalTheme;
|
|
52
|
+
/**
|
|
53
|
+
* Inject xterm CSS styles into shadow root
|
|
54
|
+
* This is needed because shadow DOM doesn't inherit styles from document.head
|
|
55
|
+
*/
|
|
56
|
+
private injectXtermStylesIntoShadow;
|
|
57
|
+
/**
|
|
58
|
+
* Add a single structured log entry
|
|
59
|
+
*/
|
|
29
60
|
addLog(level: ILogEntry['level'], message: string, source?: string): void;
|
|
61
|
+
/**
|
|
62
|
+
* Add multiple structured log entries
|
|
63
|
+
*/
|
|
64
|
+
updateLog(entries?: ILogEntry[]): void;
|
|
65
|
+
/**
|
|
66
|
+
* Update the trailing hidden placeholder in real-time
|
|
67
|
+
* Clears the last line if a placeholder already exists, then writes updated count
|
|
68
|
+
*/
|
|
69
|
+
private updateTrailingPlaceholder;
|
|
70
|
+
/**
|
|
71
|
+
* Check if a log entry matches the current filter
|
|
72
|
+
*/
|
|
73
|
+
private entryMatchesFilter;
|
|
74
|
+
private writeLogEntry;
|
|
75
|
+
private formatLogEntry;
|
|
76
|
+
private formatTimestamp;
|
|
77
|
+
private applyHighlights;
|
|
78
|
+
/**
|
|
79
|
+
* Write raw data to the terminal (for Docker logs, etc.)
|
|
80
|
+
*/
|
|
81
|
+
writeRaw(data: string): void;
|
|
82
|
+
/**
|
|
83
|
+
* Write a raw line to the terminal
|
|
84
|
+
*/
|
|
85
|
+
writelnRaw(line: string): void;
|
|
86
|
+
private handleSearchInput;
|
|
87
|
+
private handleSearchKeydown;
|
|
88
|
+
/**
|
|
89
|
+
* Search for a query in the terminal
|
|
90
|
+
*/
|
|
91
|
+
search(query: string): void;
|
|
92
|
+
/**
|
|
93
|
+
* Find next search match
|
|
94
|
+
*/
|
|
95
|
+
searchNext(): void;
|
|
96
|
+
/**
|
|
97
|
+
* Find previous search match
|
|
98
|
+
*/
|
|
99
|
+
searchPrevious(): void;
|
|
100
|
+
private toggleAutoScroll;
|
|
101
|
+
/**
|
|
102
|
+
* Toggle between filter mode and highlight mode
|
|
103
|
+
*/
|
|
104
|
+
private toggleFilterMode;
|
|
105
|
+
/**
|
|
106
|
+
* Re-render logs based on current filter state
|
|
107
|
+
* In filter mode: show matching logs with placeholders for hidden entries
|
|
108
|
+
* In highlight mode: show all logs
|
|
109
|
+
*/
|
|
110
|
+
private reRenderFilteredLogs;
|
|
111
|
+
/**
|
|
112
|
+
* Write a placeholder line showing how many log entries are hidden by filter
|
|
113
|
+
*/
|
|
114
|
+
private writeHiddenPlaceholder;
|
|
115
|
+
/**
|
|
116
|
+
* Clear all logs and reset metrics
|
|
117
|
+
*/
|
|
118
|
+
clearLogs(): void;
|
|
119
|
+
/**
|
|
120
|
+
* Scroll to the bottom of the log
|
|
121
|
+
*/
|
|
122
|
+
scrollToBottom(): void;
|
|
123
|
+
private updateMetrics;
|
|
124
|
+
private recordLogEvent;
|
|
125
|
+
private calculateRate;
|
|
126
|
+
private resetMetrics;
|
|
127
|
+
disconnectedCallback(): Promise<void>;
|
|
30
128
|
}
|