x4js 2.0.8 → 2.0.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/lib/cjs/x4.js +1 -1
  2. package/lib/esm/x4.mjs +1 -1
  3. package/lib/output.d.ts +1472 -0
  4. package/lib/src/components/boxes/boxes.ts +1 -1
  5. package/lib/src/components/btngroup/btngroup.ts +7 -11
  6. package/lib/src/components/button/button.ts +3 -3
  7. package/lib/src/components/calendar/calendar.ts +6 -6
  8. package/lib/src/components/checkbox/checkbox.ts +3 -3
  9. package/lib/src/components/colorinput/colorinput.ts +3 -3
  10. package/lib/src/components/colorpicker/colorpicker.ts +3 -3
  11. package/lib/src/components/combobox/combobox.ts +1 -1
  12. package/lib/src/components/dialog/dialog.ts +3 -2
  13. package/lib/src/components/header/header.ts +1 -1
  14. package/lib/src/components/icon/icon.ts +1 -1
  15. package/lib/src/components/image/image.ts +1 -1
  16. package/lib/src/components/input/input.ts +2 -2
  17. package/lib/src/components/label/label.ts +2 -2
  18. package/lib/src/components/listbox/listbox.ts +1 -1
  19. package/lib/src/components/menu/menu.ts +3 -3
  20. package/lib/src/components/messages/messages.ts +2 -2
  21. package/lib/src/components/notification/notification.ts +2 -2
  22. package/lib/src/components/panel/panel.ts +2 -2
  23. package/lib/src/components/popup/popup.ts +2 -2
  24. package/lib/src/components/progress/progress.ts +1 -1
  25. package/lib/src/components/rating/rating.ts +2 -2
  26. package/lib/src/components/sizers/sizer.ts +2 -2
  27. package/lib/src/components/slider/slider.ts +2 -2
  28. package/lib/src/components/switch/switch.ts +1 -1
  29. package/lib/src/components/tabs/tabs.ts +2 -2
  30. package/lib/src/components/textarea/textarea.ts +1 -1
  31. package/lib/src/components/textedit/textedit.ts +2 -2
  32. package/lib/src/components/tooltips/tooltips.ts +2 -2
  33. package/lib/src/components/treeview/treeview.ts +1 -1
  34. package/lib/src/components/viewport/viewport.ts +1 -1
  35. package/lib/src/core/component.ts +1 -1
  36. package/lib/src/core/core_styles.ts +0 -1
  37. package/lib/src/types/scss.d.ts +4 -0
  38. package/lib/src/types/svg.d.ts +1 -0
  39. package/lib/src/types/x4react.d.ts +9 -0
  40. package/package.json +2 -1
@@ -0,0 +1,1472 @@
1
+ /**
2
+ * ___ ___ __
3
+ * \ \/ / / _
4
+ * \ / /_| |_
5
+ * / \____ _|
6
+ * /__/\__\ |_|
7
+ *
8
+ * @author Etienne Cochard
9
+ * @copyright (c) 2024 R-libre ingenierie
10
+ *
11
+ * Use of this source code is governed by an MIT-style license
12
+ * that can be found in the LICENSE file or at https://opensource.org/licenses/MIT.
13
+ *
14
+ * AUTOGENERATED CODE, DO NOT MODIFY
15
+ * generated on Fri Oct 04 2024
16
+ */
17
+
18
+
19
+ declare module 'x4js' {
20
+
21
+ // ---------------------------------------
22
+ // from /src/core/core_i18n.ts
23
+
24
+ interface Language {
25
+ name: string;
26
+ base: string;
27
+ src_translations: any;
28
+ translations: any;
29
+ }
30
+
31
+ // ---------------------------------------
32
+ // from /src/core/core_tools.ts
33
+
34
+ type Constructor<P> = {
35
+ new( params: any[] ): P;
36
+ }
37
+
38
+ export class UnsafeHtml extends String {
39
+ constructor( value: string );
40
+ }
41
+
42
+ export interface IRect {
43
+ left: number;
44
+ top: number;
45
+ height: number;
46
+ width: number;
47
+ }
48
+
49
+ export class Rect implements IRect {
50
+ left: number;
51
+ top: number;
52
+ height: number;
53
+ width: number;
54
+ constructor( );
55
+ constructor( l: number, t: number, w: number, h: number );
56
+ constructor( l: Rect );
57
+ constructor( l: number | IRect, t: number, w: number, h: number );
58
+ }
59
+
60
+ export interface Point {
61
+ x: number;
62
+ y: number;
63
+ }
64
+
65
+ export interface IComponentInterface {
66
+ }
67
+
68
+ export interface IFormElement extends IComponentInterface {
69
+ getRawValue( ): any;
70
+ setRawValue( v: any ): void;
71
+ }
72
+
73
+ interface Features {
74
+ eyedropper: 1;
75
+ }
76
+
77
+ export class Timer {
78
+ _timers: Map<string,any>;
79
+ setTimeout( name: string, time: number, callback: Function ): void;
80
+ clearTimeout( name: string ): void;
81
+ setInterval( name: string, time: number, callback: Function ): void;
82
+ clearInterval( name: string ): void;
83
+ clearAllTimeouts( ): void;
84
+ }
85
+
86
+ // ---------------------------------------
87
+ // from /src/core/core_events.ts
88
+
89
+ export interface CoreEvent {
90
+ type?: string;
91
+ source?: CoreElement;
92
+ context?: any;
93
+ propagationStopped?: boolean;
94
+ defaultPrevented?: boolean;
95
+ stopPropagation( ): void;
96
+ preventDefault( ): void;
97
+ }
98
+
99
+ export interface EventMap {
100
+ }
101
+
102
+ type EventCallback<T extends CoreEvent = CoreEvent> = (event: T) => any;
103
+
104
+ export class EventSource<E extends EventMap = EventMap> {
105
+ _source: unknown;
106
+ _registry: Map<string,EventCallback[]>;
107
+ constructor( source: unknown );
108
+ addListener<K extends keyof E>( name: K, callback: ( ev: E[K] ) => void, capturing: any ): void;
109
+ fire<K extends keyof E>( name: K, evx: E[K] ): void;
110
+ }
111
+
112
+ // ---------------------------------------
113
+ // from /src/core/core_element.ts
114
+
115
+ export class CoreElement<E extends EventMap = EventMap> {
116
+ #events: EventSource<E>;
117
+ #timers: Map<string, Function>;
118
+ __startTimer( name: string, ms: number, repeat: boolean, callback: ( ) => void ): void;
119
+ __stopTimer( name: string ): void;
120
+ setTimeout( name: string, ms: number, callback: () => void ): void;
121
+ clearTimeout( name: string ): void;
122
+ setInterval( name: string, ms: number, callback: ( ) => void ): void;
123
+ clearInterval( name: string ): void;
124
+ clearTimeouts( ): void;
125
+ on<K extends keyof E>( name: K, listener: ( ev: E[K] ) => void ): void;
126
+ fire<K extends keyof E>( name: K, ev: E[K] ): void;
127
+ }
128
+
129
+ // ---------------------------------------
130
+ // from /src/core/core_styles.ts
131
+
132
+ type ariaValues = {
133
+ "aria-activedescendant": 1;
134
+ "role": 1;
135
+ }
136
+
137
+ export class Stylesheet {
138
+ m_sheet: CSSStyleSheet;
139
+ m_rules: Map<string, number>;
140
+ constructor( );
141
+ setRule( name: string, definition: any ): void;
142
+ getVar( name: string ): any;
143
+ guid: number;
144
+ doc_style: CSSStyleDeclaration;
145
+ }
146
+
147
+ export class ComputedStyle {
148
+ m_style: CSSStyleDeclaration;
149
+ constructor( style: CSSStyleDeclaration );
150
+ value( name: keyof CSSStyleDeclaration ): any;
151
+ parse( name: keyof CSSStyleDeclaration ): number;
152
+ }
153
+
154
+ // ---------------------------------------
155
+ // from /src/core/core_dom.ts
156
+
157
+ type DOMEventHandler = ( ev: Event ) => void;
158
+
159
+ type EventEntry = Record<string,DOMEventHandler | DOMEventHandler[]>;
160
+
161
+ export interface GlobalDOMEvents {
162
+ abort?: (ev: UIEvent) => any;
163
+ animationcancel?: (ev: AnimationEvent) => any;
164
+ animationend?: (ev: AnimationEvent) => any;
165
+ animationiteration?: (ev: AnimationEvent) => any;
166
+ animationstart?: (ev: AnimationEvent) => any;
167
+ auxclick?: (ev: MouseEvent) => any;
168
+ blur?: (ev: FocusEvent) => any;
169
+ cancel?: (ev: Event) => any;
170
+ canplay?: (ev: Event) => any;
171
+ canplaythrough?: (ev: Event) => any;
172
+ change?: (ev: Event) => any;
173
+ click?: (ev: MouseEvent) => any;
174
+ close?: (ev: Event) => any;
175
+ contextmenu?: (ev: MouseEvent) => any;
176
+ cuechange?: (ev: Event) => any;
177
+ dblclick?: (ev: MouseEvent) => any;
178
+ drag?: (ev: DragEvent) => any;
179
+ dragend?: (ev: DragEvent) => any;
180
+ dragenter?: (ev: DragEvent) => any;
181
+ dragexit?: (ev: Event) => any;
182
+ dragleave?: (ev: DragEvent) => any;
183
+ dragover?: (ev: DragEvent) => any;
184
+ dragstart?: (ev: DragEvent) => any;
185
+ drop?: (ev: DragEvent) => any;
186
+ durationchange?: (ev: Event) => any;
187
+ emptied?: (ev: Event) => any;
188
+ ended?: (ev: Event) => any;
189
+ error?: OnErrorEventHandler;
190
+ focusin?: (ev: FocusEvent) => any;
191
+ focusout?: (ev: FocusEvent) => any;
192
+ focus?: (ev: FocusEvent) => any;
193
+ gotpointercapture?: (ev: PointerEvent) => any;
194
+ input?: (ev: Event) => any;
195
+ invalid?: (ev: Event) => any;
196
+ keydown?: (ev: KeyboardEvent) => any;
197
+ keypress?: (ev: KeyboardEvent) => any;
198
+ keyup?: (ev: KeyboardEvent) => any;
199
+ load?: (ev: Event) => any;
200
+ loadeddata?: (ev: Event) => any;
201
+ loadedmetadata?: (ev: Event) => any;
202
+ loadstart?: (ev: Event) => any;
203
+ lostpointercapture?: (ev: PointerEvent) => any;
204
+ mousedown?: (ev: MouseEvent) => any;
205
+ mouseenter?: (ev: MouseEvent) => any;
206
+ mouseleave?: (ev: MouseEvent) => any;
207
+ mousemove?: (ev: MouseEvent) => any;
208
+ mouseout?: (ev: MouseEvent) => any;
209
+ mouseover?: (ev: MouseEvent) => any;
210
+ mouseup?: (ev: MouseEvent) => any;
211
+ pause?: (ev: Event) => any;
212
+ play?: (ev: Event) => any;
213
+ playing?: (ev: Event) => any;
214
+ pointercancel?: (ev: PointerEvent) => any;
215
+ pointerdown?: (ev: PointerEvent) => any;
216
+ pointerenter?: (ev: PointerEvent) => any;
217
+ pointerleave?: (ev: PointerEvent) => any;
218
+ pointermove?: (ev: PointerEvent) => any;
219
+ pointerout?: (ev: PointerEvent) => any;
220
+ pointerover?: (ev: PointerEvent) => any;
221
+ pointerup?: (ev: PointerEvent) => any;
222
+ progress?: (ev: ProgressEvent) => any;
223
+ ratechange?: (ev: Event) => any;
224
+ reset?: (ev: Event) => any;
225
+ scroll?: (ev: Event) => any;
226
+ securitypolicyviolation?: (ev: SecurityPolicyViolationEvent) => any;
227
+ seeked?: (ev: Event) => any;
228
+ seeking?: (ev: Event) => any;
229
+ select?: (ev: Event) => any;
230
+ selectionchange?: (ev: Event) => any;
231
+ selectstart?: (ev: Event) => any;
232
+ stalled?: (ev: Event) => any;
233
+ submit?: (ev: Event) => any;
234
+ suspend?: (ev: Event) => any;
235
+ timeupdate?: (ev: Event) => any;
236
+ toggle?: (ev: Event) => any;
237
+ touchcancel?: (ev: TouchEvent) => any;
238
+ touchend?: (ev: TouchEvent) => any;
239
+ touchmove?: (ev: TouchEvent) => any;
240
+ touchstart?: (ev: TouchEvent) => any;
241
+ transitioncancel?: (ev: TransitionEvent) => any;
242
+ transitionend?: (ev: TransitionEvent) => any;
243
+ transitionrun?: (ev: TransitionEvent) => any;
244
+ transitionstart?: (ev: TransitionEvent) => any;
245
+ volumechange?: (ev: Event) => any;
246
+ waiting?: (ev: Event) => any;
247
+ wheel?: (ev: WheelEvent) => any;
248
+ resized?: (ev: Event) => void;
249
+ created?: ( ev: Event ) => void;
250
+ removed?: ( ev: Event ) => void;
251
+ }
252
+
253
+ // ---------------------------------------
254
+ // from /src/core/component.ts
255
+
256
+ interface RefType<T extends Component> {
257
+ dom: T;
258
+ }
259
+
260
+ type ComponentAttributes = Record<string,string|number|boolean>;
261
+
262
+ type ComponentContent = Component | string | UnsafeHtml | number | boolean | Component[];
263
+
264
+ export interface ComponentProps {
265
+ tag?: string;
266
+ ns?: string;
267
+ style?: Partial<CSSStyleDeclaration>;
268
+ attrs?: Record<string,string|number|boolean>;
269
+ content?: ComponentContent;
270
+ dom_events?: GlobalDOMEvents;
271
+ cls?: string;
272
+ id?: string;
273
+ ref?: RefType<any>;
274
+ width?: string | number;
275
+ height?: string | number;
276
+ disabled?: true;
277
+ hidden?: true;
278
+ tooltip?: string;
279
+ existingDOM?: HTMLElement;
280
+ }
281
+
282
+ export interface ComponentEvent extends CoreEvent {
283
+ }
284
+
285
+ export interface ComponentEvents extends EventMap {
286
+ }
287
+
288
+ export class Component<P extends ComponentProps = ComponentProps, E extends ComponentEvents = ComponentEvents> extends CoreElement<E> {
289
+ dom: Element;
290
+ props: P;
291
+ store: Map<string|Symbol,any>;
292
+ constructor( props: P );
293
+ hasClass( cls: string ): void;
294
+ addClass( cls: string ): void;
295
+ removeClass( cls: string ): void;
296
+ toggleClass( cls: string ): void;
297
+ setClass( cls: string, set: boolean ): void;
298
+ setAttributes( attrs: ComponentAttributes ): void;
299
+ setAttribute( name: string, value: string | number | boolean ): void;
300
+ getAttribute( name: string ): string;
301
+ getData( name: string ): string;
302
+ setData( name: string, value: string ): void;
303
+ setInternalData( name: string|Symbol, value: any ): this;
304
+ getInternalData( name: string|Symbol ): any;
305
+ addDOMEvent<K extends keyof GlobalDOMEvents>( name: K, listener: GlobalDOMEvents[K], prepend: any ): void;
306
+ setDOMEvents( events: GlobalDOMEvents ): void;
307
+ mapPropEvents<N extends keyof E>( props: P, elements: N[] ): void;
308
+ clearContent( ): void;
309
+ setContent( content: ComponentContent ): void;
310
+ appendContent( content: ComponentContent ): void;
311
+ prependContent( content: ComponentContent ): void;
312
+ removeChild( child: Component ): void;
313
+ queryAll( selector: string ): Component[];
314
+ query<T extends Component = Component>( selector: string ): T;
315
+ setAria( name: keyof ariaValues, value: string | number | boolean ): this;
316
+ setStyle( style: Partial<CSSStyleDeclaration> ): this;
317
+ setStyleValue<K extends keyof CSSStyleDeclaration>( name: K, value: CSSStyleDeclaration[K] | number ): this;
318
+ getStyleValue<K extends keyof CSSStyleDeclaration>( name: K ): void;
319
+ setWidth( w: number | string ): void;
320
+ setHeight( h: number | string ): void;
321
+ setStyleVariable( name: string, value: string ): void;
322
+ getStyleVariable( name: string ): void;
323
+ getComputedStyle( ): void;
324
+ setCapture( pointerId: number ): void;
325
+ releaseCapture( pointerId: number ): void;
326
+ getBoundingRect( ): Rect;
327
+ focus( ): void;
328
+ scrollIntoView( arg: boolean | ScrollIntoViewOptions ): void;
329
+ isVisible( ): void;
330
+ show( vis: any ): void;
331
+ hide( ): void;
332
+ enable( ena: any ): void;
333
+ disable( ): void;
334
+ isDisabled( ): void;
335
+ nextElement<T extends Component = Component>( ): T;
336
+ prevElement<T extends Component = Component>( ): T;
337
+ parentElement<T extends Component>( cls: Constructor<T> ): T;
338
+ firstChild<T extends Component = Component>( ): T;
339
+ lastChild<T extends Component = Component>( ): T;
340
+ enumChildComponents( recursive: boolean ): void;
341
+ enumChildNodes( recursive: boolean ): void;
342
+ animate( keyframes: Keyframe[], duration: number ): void;
343
+ createElement( clsOrTag: string | ComponentConstructor | Symbol | Function, attrs: any, children: Component[] ): Component | Component[];
344
+ createFragment( ): Component[];
345
+ queryInterface<T>( name: string ): T;
346
+ }
347
+
348
+ type ComponentConstructor = {
349
+ new( params: any[] ): Component;
350
+ }
351
+
352
+ export class Flex extends Component {
353
+ constructor( );
354
+ }
355
+
356
+ export interface EvClick extends ComponentEvent {
357
+ }
358
+
359
+ export interface EvChange extends ComponentEvent {
360
+ value: any;
361
+ }
362
+
363
+ interface ISelection {
364
+ }
365
+
366
+ export interface EvSelectionChange extends ComponentEvent {
367
+ selection: ISelection;
368
+ }
369
+
370
+ export interface EvContextMenu extends ComponentEvent {
371
+ uievent: UIEvent;
372
+ }
373
+
374
+ export interface EvMessage extends ComponentEvent {
375
+ msg: string;
376
+ params?: any;
377
+ }
378
+
379
+ export interface EvDrag extends ComponentEvent {
380
+ element: unknown;
381
+ data: any;
382
+ }
383
+
384
+ export interface EvError extends ComponentEvent {
385
+ code: number;
386
+ message: string;
387
+ }
388
+
389
+ export interface EvDblClick extends ComponentEvent {
390
+ }
391
+
392
+ // ---------------------------------------
393
+ // from /src/core/core_colors.ts
394
+
395
+ export interface Rgb {
396
+ red: number;
397
+ green: number;
398
+ blue: number;
399
+ alpha: number;
400
+ }
401
+
402
+ export interface Hsv {
403
+ hue: number;
404
+ saturation: number;
405
+ value: number;
406
+ alpha: number;
407
+ }
408
+
409
+ export class Color {
410
+ rgb: [red:number,green:number,blue:number,alpha:number];
411
+ invalid: any;
412
+ constructor( value: string );
413
+ constructor( r: number, g: number, b: number, a: number );
414
+ constructor( args: any[] );
415
+ setValue( value: string ): this;
416
+ setHsv( h: number, s: number, v: number, a: any ): this;
417
+ setRgb( r: number, g: number, b: number, a: number ): this;
418
+ toRgbString( withAlpha: boolean ): string;
419
+ toHexString( ): string;
420
+ toRgb( ): Rgb;
421
+ toHsv( ): Hsv;
422
+ getAlpha( ): void;
423
+ setAlpha( a: number ): this;
424
+ isInvalid( ): void;
425
+ }
426
+
427
+ // ---------------------------------------
428
+ // from /src/core/core_dragdrop.ts
429
+
430
+ interface DropInfo {
431
+ pt: Point;
432
+ data: DataTransfer;
433
+ }
434
+
435
+ type DropCallback = ( command: 'enter' | 'leave' | 'drag' | 'drop', el: Component, infos: DropInfo ) => void;
436
+
437
+ type FilterCallback = ( el: Component ) => boolean;
438
+
439
+ class DragManager {
440
+ dragSource: Component;
441
+ dragGhost: HTMLElement;
442
+ dropTarget: Component;
443
+ notified: Component;
444
+ timer: any;
445
+ registerDraggableElement( el: Component ): void;
446
+ registerDropTarget( el: Component, cb: DropCallback, filterCB: FilterCallback ): void;
447
+ _startCheck( ): void;
448
+ _check( ): void;
449
+ }
450
+
451
+ // ---------------------------------------
452
+ // from /src/core/core_router.ts
453
+
454
+ type RouteHandler = ( params: any, path: string ) => void;
455
+
456
+ interface Segment {
457
+ keys: string[];
458
+ pattern: RegExp;
459
+ }
460
+
461
+ interface Route {
462
+ keys: string[];
463
+ pattern: RegExp;
464
+ handler: RouteHandler;
465
+ }
466
+
467
+ interface RouterEvents extends EventMap {
468
+ error: EvError;
469
+ }
470
+
471
+ export class Router extends EventSource< RouterEvents > {
472
+ m_routes: Route[];
473
+ m_useHash: boolean;
474
+ constructor( useHash: any );
475
+ get( uri: string | RegExp, handler: RouteHandler ): void;
476
+ init( ): void;
477
+ _getLocation( ): void;
478
+ navigate( uri: string, notify: any, replace: any ): void;
479
+ _find( url: string ): { params: Record<string,any>, handlers: RouteHandler[] };
480
+ }
481
+
482
+ // ---------------------------------------
483
+ // from /src/core/core_svg.ts
484
+
485
+ class SvgItem {
486
+ _dom: SVGElement;
487
+ constructor( tag: string );
488
+ getDom( ): void;
489
+ stroke( color: string, width: number ): this;
490
+ strokeWidth( width: number ): this;
491
+ strokeCap( cap: "butt" | "round" | "sqaure" ): void;
492
+ strokeOpacity( opacity: number ): void;
493
+ antiAlias( set: boolean ): void;
494
+ fill( color: string ): this;
495
+ no_fill( ): this;
496
+ setAttr( name: string, value: string ): this;
497
+ setStyle<K extends keyof CSSStyleDeclaration>( name: K, value: string | number ): this;
498
+ addClass( cls: string ): void;
499
+ clip( id: string ): this;
500
+ transform( tr: string ): this;
501
+ rotate( deg: number, cx: number, cy: number ): this;
502
+ translate( dx: number, dy: number ): this;
503
+ scale( x: number ): this;
504
+ addDOMEvent<K extends keyof GlobalDOMEvents>( name: K, listener: GlobalDOMEvents[K], prepend: any ): void;
505
+ }
506
+
507
+ export class SvgPath extends SvgItem {
508
+ _path: string;
509
+ constructor( );
510
+ _update( ): this;
511
+ moveTo( x: number, y: number ): this;
512
+ lineTo( x: number, y: number ): this;
513
+ closePath( ): this;
514
+ arc( x: number, y: number, r: number, start: number, end: number ): this;
515
+ }
516
+
517
+ export class SvgText extends SvgItem {
518
+ constructor( x: number, y: number, txt: string );
519
+ font( font: string ): this;
520
+ fontSize( size: number | string ): this;
521
+ fontWeight( weight: 'light' | 'normal' | 'bold' ): this;
522
+ textAlign( align: 'left' | 'center' | 'right' ): this;
523
+ verticalAlign( align: 'top' | 'center' | 'bottom' | 'baseline' ): this;
524
+ }
525
+
526
+ export class SvgShape extends SvgItem {
527
+ constructor( tag: string );
528
+ }
529
+
530
+ type number_or_perc = number | `${string}%`;
531
+
532
+ export class SvgGradient extends SvgItem {
533
+ g_id: any;
534
+ _id: string;
535
+ _stops: { offset: number_or_perc, color: string } [];
536
+ constructor( x1: number_or_perc, y1: number_or_perc, x2: number_or_perc, y2: number_or_perc );
537
+ addStop( offset: number_or_perc, color: string ): this;
538
+ }
539
+
540
+ export class SvgGroup extends SvgItem {
541
+ constructor( tag: any );
542
+ append<K extends SvgItem>( item: K ): K;
543
+ path( ): SvgPath;
544
+ text( x: number, y: number, txt: string ): void;
545
+ ellipse( x: number, y: number, r1: number, r2: any ): SvgShape;
546
+ rect( x: number, y: number, w: number, h: number ): SvgShape;
547
+ group( ): void;
548
+ linear_gradient( x1: number_or_perc, y1: number_or_perc, x2: number_or_perc, y2: number_or_perc ): void;
549
+ clear( ): void;
550
+ }
551
+
552
+ export class SvgBuilder extends SvgGroup {
553
+ g_clip_id: any;
554
+ constructor( );
555
+ addClip( x: number, y: number, w: number, h: number ): void;
556
+ }
557
+
558
+ interface SvgProps extends ComponentProps {
559
+ viewbox?: string;
560
+ svg?: SvgBuilder;
561
+ }
562
+
563
+ export class SvgComponent<P extends SvgProps = SvgProps> extends Component<P> {
564
+ constructor( props: P );
565
+ }
566
+
567
+ // ---------------------------------------
568
+ // from /src/components/boxes/boxes.ts
569
+
570
+ export interface BoxProps extends ComponentProps {
571
+ }
572
+
573
+ export class Box<P extends BoxProps=BoxProps, E extends ComponentEvents=ComponentEvents> extends Component<P,E> {
574
+ }
575
+
576
+ export class HBox<P extends BoxProps=BoxProps, E extends ComponentEvents=ComponentEvents> extends Box<P,E> {
577
+ }
578
+
579
+ export class VBox<P extends BoxProps=BoxProps, E extends ComponentEvents=ComponentEvents> extends Box<P,E> {
580
+ constructor( p: P );
581
+ }
582
+
583
+ interface StackItem {
584
+ name: string;
585
+ content: Component;
586
+ }
587
+
588
+ interface StackedLayoutProps extends Omit<ComponentProps,"content"> {
589
+ default: string;
590
+ items: StackItem[];
591
+ }
592
+
593
+ interface _StackItem extends StackItem {
594
+ page: Component;
595
+ }
596
+
597
+ export class StackBox extends Box<StackedLayoutProps> {
598
+ _items: _StackItem[];
599
+ constructor( props: StackedLayoutProps );
600
+ select( name: string ): void;
601
+ _createPage( page: _StackItem ): void;
602
+ }
603
+
604
+ // ---------------------------------------
605
+ // from /src/components/icon/icon.ts
606
+
607
+ type solveCallback = (data:string)=>void;
608
+
609
+ class SvgLoader {
610
+ cache: Map<string,string>;
611
+ waiters: Map<string,solveCallback[]>;
612
+ constructor( );
613
+ load( file: string ): Promise<string>;
614
+ _load( file: string ): Promise<string>;
615
+ }
616
+
617
+ export interface IconProps extends ComponentProps {
618
+ iconId?: string;
619
+ }
620
+
621
+ export class Icon extends Component<IconProps> {
622
+ constructor( props: IconProps );
623
+ setIcon( iconId: string ): void;
624
+ }
625
+
626
+ // ---------------------------------------
627
+ // from /src/components/button/button.ts
628
+
629
+ interface ButtonEvents extends ComponentEvents {
630
+ click: EvClick;
631
+ }
632
+
633
+ export interface ButtonProps extends ComponentProps {
634
+ label?: string;
635
+ icon?: string;
636
+ click?: EventCallback<EvClick>;
637
+ }
638
+
639
+ export class Button extends Component<ButtonProps,ButtonEvents> {
640
+ constructor( props: ButtonProps );
641
+ _on_click( ev: MouseEvent ): void;
642
+ setText( text: string | UnsafeHtml ): void;
643
+ setIcon( icon: string ): void;
644
+ }
645
+
646
+ // ---------------------------------------
647
+ // from /src/components/label/label.ts
648
+
649
+ interface LabelProps extends ComponentProps {
650
+ text?: string | UnsafeHtml;
651
+ icon?: string;
652
+ labelFor?: string;
653
+ }
654
+
655
+ export class Label extends Component<LabelProps> {
656
+ constructor( p: LabelProps );
657
+ setText( text: string | UnsafeHtml ): void;
658
+ setIcon( icon: string ): void;
659
+ }
660
+
661
+ // ---------------------------------------
662
+ // from /src/components/form/form.ts
663
+
664
+ type FormValue = string | number | boolean;
665
+
666
+ type FormValues = Record<string,FormValue>;
667
+
668
+ export class Form extends Box {
669
+ setValues( values: FormValues ): void;
670
+ getValues( ): FormValues;
671
+ }
672
+
673
+ // ---------------------------------------
674
+ // from /src/components/sizers/sizer.ts
675
+
676
+ interface EvSizeChange extends ComponentEvent {
677
+ size: number;
678
+ }
679
+
680
+ interface CSizerEvent extends ComponentEvents {
681
+ resize: EvSizeChange;
682
+ }
683
+
684
+ export class CSizer extends Component<ComponentProps,CSizerEvent> {
685
+ _type: string;
686
+ _ref: Component;
687
+ _delta: Point;
688
+ constructor( type: string, target: Component );
689
+ _onMouseMove( e: PointerEvent ): void;
690
+ }
691
+
692
+ // ---------------------------------------
693
+ // from /src/components/popup/popup.ts
694
+
695
+ export interface PopupEvents extends ComponentEvents {
696
+ closed: ComponentEvent;
697
+ opened: ComponentEvent;
698
+ }
699
+
700
+ export interface PopupProps extends ComponentProps {
701
+ modal?: boolean;
702
+ autoClose?: boolean | string;
703
+ sizable?: boolean;
704
+ movable?: boolean;
705
+ }
706
+
707
+ export class Popup<P extends PopupProps = PopupProps, E extends PopupEvents = PopupEvents> extends Component<P,E> {
708
+ _isopen: any;
709
+ _isshown: any;
710
+ constructor( props: P );
711
+ displayNear( rc: Rect, dst: any, src: any, offset: any ): void;
712
+ displayCenter( ): void;
713
+ displayAt( x: number, y: number ): void;
714
+ _show( ): void;
715
+ show( show: any ): void;
716
+ isOpen( ): void;
717
+ close( ): void;
718
+ _dismiss: any;
719
+ dismiss( after: any ): void;
720
+ _showModalMask( ): void;
721
+ _updateModalMask( ): void;
722
+ _createSizers( ): void;
723
+ }
724
+
725
+ class CMover {
726
+ ref: Component;
727
+ delta: Point;
728
+ self: boolean;
729
+ constructor( x: Component, ref: Component );
730
+ _onMouseMove( e: PointerEvent ): void;
731
+ }
732
+
733
+ // ---------------------------------------
734
+ // from /src/components/dialog/dialog.ts
735
+
736
+ export interface DialogProps extends PopupProps {
737
+ icon?: string;
738
+ title: string;
739
+ form: Form;
740
+ buttons: BtnGroupItem[];
741
+ closable?: boolean;
742
+ }
743
+
744
+ export interface EvBtnClick extends CoreEvent {
745
+ button: string;
746
+ }
747
+
748
+ interface DialogEvents extends PopupEvents {
749
+ btnclick: EvBtnClick;
750
+ close: ComponentEvent;
751
+ }
752
+
753
+ export class Dialog<P extends DialogProps = DialogProps, E extends DialogEvents = DialogEvents> extends Popup<P,E> {
754
+ constructor( props: P );
755
+ display( ): void;
756
+ close( ): void;
757
+ }
758
+
759
+ // ---------------------------------------
760
+ // from /src/components/btngroup/btngroup.ts
761
+
762
+ type predefined = "ok" | "cancel" | "yes" | "no" | "retry" | "abort" | "-";
763
+
764
+ type BtnGroupItem = predefined | Button | Label;
765
+
766
+ interface BtnGroupEvents extends ComponentEvents {
767
+ btnclick: EvBtnClick;
768
+ }
769
+
770
+ interface BtnGroupProps extends Omit<ComponentProps,"content"> {
771
+ align?: "left" | "center" | "right";
772
+ vertical?: boolean;
773
+ items: BtnGroupItem[];
774
+ reverse?: boolean;
775
+ btnclick?: EventCallback<EvBtnClick>;
776
+ }
777
+
778
+ export class BtnGroup extends Box<BtnGroupProps,BtnGroupEvents> {
779
+ constructor( props: BtnGroupProps );
780
+ setButtons( btns: BtnGroupItem[] ): void;
781
+ }
782
+
783
+ // ---------------------------------------
784
+ // from /src/components/menu/menu.ts
785
+
786
+ export interface MenuItem {
787
+ cls?: string;
788
+ icon?: string;
789
+ text: string | UnsafeHtml;
790
+ menu?: Menu;
791
+ disabled?: true;
792
+ click?: DOMEventHandler;
793
+ }
794
+
795
+ type MenuElement = MenuItem | Component | string;
796
+
797
+ export interface MenuProps extends Omit<PopupProps,"content"> {
798
+ items: MenuElement[];
799
+ }
800
+
801
+ class CMenuSep extends Component {
802
+ constructor( );
803
+ }
804
+
805
+ class CMenuItem extends Component {
806
+ menu: Menu;
807
+ constructor( itm: MenuItem );
808
+ dismiss( after: boolean ): void;
809
+ openSub( delayed: boolean ): void;
810
+ closeSub( ): void;
811
+ }
812
+
813
+ export class Menu extends Popup {
814
+ constructor( props: MenuProps );
815
+ }
816
+
817
+ // ---------------------------------------
818
+ // from /src/components/calendar/calendar.ts
819
+
820
+ interface CalendarEventMap extends ComponentEvents {
821
+ change?: EvChange;
822
+ }
823
+
824
+ interface CalendarProps extends ComponentProps {
825
+ date?: Date;
826
+ minDate?: Date;
827
+ maxDate?: Date;
828
+ change?: EventCallback<EvChange>;
829
+ }
830
+
831
+ export class Calendar extends VBox<CalendarProps, CalendarEventMap> {
832
+ m_date: Date;
833
+ constructor( props: CalendarProps );
834
+ _update( ): void;
835
+ select( date: Date ): void;
836
+ _next( n: boolean ): void;
837
+ _choose( type: 'month' | 'year' ): void;
838
+ getDate( ): void;
839
+ setDate( date: Date ): void;
840
+ }
841
+
842
+ // ---------------------------------------
843
+ // from /src/components/input/input.ts
844
+
845
+ export interface BaseProps extends ComponentProps {
846
+ name?: string;
847
+ }
848
+
849
+ interface CheckboxProps extends BaseProps {
850
+ type: "checkbox";
851
+ value?: boolean | number | string;
852
+ checked?: boolean;
853
+ }
854
+
855
+ interface RadioProps extends BaseProps {
856
+ type: "radio";
857
+ value: boolean | number | string;
858
+ checked?: boolean;
859
+ }
860
+
861
+ export interface RangeProps extends BaseProps {
862
+ type: "range";
863
+ value: number;
864
+ min: number;
865
+ max: number;
866
+ step?: number;
867
+ }
868
+
869
+ interface DateProps extends BaseProps {
870
+ type: "date";
871
+ readonly?: boolean;
872
+ required?: boolean;
873
+ value: Date | string;
874
+ }
875
+
876
+ interface NumberProps extends BaseProps {
877
+ type: "number";
878
+ readonly?: boolean;
879
+ required?: boolean;
880
+ value: number | string;
881
+ min?: number;
882
+ max?: number;
883
+ step?: number;
884
+ }
885
+
886
+ interface FileProps extends BaseProps {
887
+ type: "file";
888
+ accept: string | string[];
889
+ }
890
+
891
+ export interface TextInputProps extends BaseProps {
892
+ type: "text" | "email" | "password";
893
+ readonly?: boolean;
894
+ required?: boolean;
895
+ pattern?: string;
896
+ value: string | number;
897
+ placeholder?: string;
898
+ spellcheck?: boolean;
899
+ }
900
+
901
+ type InputProps = CheckboxProps | RadioProps | TextInputProps | RangeProps | DateProps | NumberProps | FileProps;
902
+
903
+ export class Input extends Component<InputProps> {
904
+ constructor( props: InputProps );
905
+ getValue( ): void;
906
+ setValue( value: string ): void;
907
+ getNumValue( ): void;
908
+ setNumValue( value: number ): void;
909
+ setReadOnly( ro: boolean ): void;
910
+ selectAll( ): void;
911
+ select( start: number, length: number ): void;
912
+ getSelection( ): void;
913
+ queryInterface<T extends IComponentInterface>( name: string ): T;
914
+ }
915
+
916
+ // ---------------------------------------
917
+ // from /src/components/checkbox/checkbox.ts
918
+
919
+ interface CheckBoxEvents extends ComponentEvents {
920
+ change?: EvChange;
921
+ }
922
+
923
+ interface CheckboxProps extends ComponentProps {
924
+ label: string;
925
+ checked?: boolean;
926
+ value?: boolean | number | string;
927
+ change?: EventCallback<EvChange>;
928
+ }
929
+
930
+ export class Checkbox extends Component<CheckboxProps,CheckBoxEvents> {
931
+ _input: Input;
932
+ constructor( props: CheckboxProps );
933
+ _on_change( ): void;
934
+ getCheck( ): void;
935
+ setCheck( ck: boolean ): void;
936
+ setLabel( text: string ): void;
937
+ toggle( ): void;
938
+ }
939
+
940
+ // ---------------------------------------
941
+ // from /src/components/colorinput/colorinput.ts
942
+
943
+ interface ColorInputProps extends BoxProps {
944
+ color: Color | string;
945
+ }
946
+
947
+ export class ColorInput extends HBox<ColorInputProps> {
948
+ constructor( props: ColorInputProps );
949
+ }
950
+
951
+ // ---------------------------------------
952
+ // from /src/components/colorpicker/colorpicker.ts
953
+
954
+ interface ColorPickerProps extends ComponentProps {
955
+ color: string | Color;
956
+ }
957
+
958
+ interface HueChangeEvent extends ComponentEvent {
959
+ hue: number;
960
+ }
961
+
962
+ interface AlphaChangeEvent extends ComponentEvent {
963
+ alpha: number;
964
+ }
965
+
966
+ interface SatChangeEvent extends ComponentEvent {
967
+ saturation: number;
968
+ value: number;
969
+ }
970
+
971
+ interface CommonEvents extends ComponentEvents {
972
+ hue_change: HueChangeEvent;
973
+ alpha_change: AlphaChangeEvent;
974
+ sat_change: SatChangeEvent;
975
+ }
976
+
977
+ export class Saturation extends Box<BoxProps,CommonEvents> {
978
+ mdown: any;
979
+ irect: Rect;
980
+ hsv: Hsv;
981
+ color: Component;
982
+ thumb: Component;
983
+ constructor( props: BoxProps, init: Hsv );
984
+ mousedown( ev: PointerEvent ): void;
985
+ mousemove( ev: PointerEvent ): void;
986
+ mouseup( ev: PointerEvent ): void;
987
+ updateThumbMarker( ): void;
988
+ updateBaseColor( hsv: Hsv ): void;
989
+ move( sens: string, delta: number ): void;
990
+ }
991
+
992
+ class HueSlider extends Box<BoxProps,CommonEvents> {
993
+ thumb: Component;
994
+ hsv: Hsv;
995
+ mdown: any;
996
+ irect: Rect;
997
+ constructor( props: BoxProps, init: Hsv );
998
+ mousedown( ev: PointerEvent ): void;
999
+ mousemove( ev: PointerEvent ): void;
1000
+ mouseup( ev: PointerEvent ): void;
1001
+ updateHue( hsv: Hsv ): void;
1002
+ move( delta: number ): void;
1003
+ }
1004
+
1005
+ class AlphaSlider extends Box<BoxProps,CommonEvents> {
1006
+ thumb: Component;
1007
+ color: Component;
1008
+ hsv: Hsv;
1009
+ mdown: any;
1010
+ irect: Rect;
1011
+ constructor( props: BoxProps, init: Hsv );
1012
+ _on_mousedown( ev: PointerEvent ): void;
1013
+ _on_mousemove( ev: PointerEvent ): void;
1014
+ _on_mouseup( ev: PointerEvent ): void;
1015
+ updateAlpha( ): void;
1016
+ updateBaseColor( hsv: Hsv ): void;
1017
+ setColor( hsv: Hsv ): void;
1018
+ move( delta: number ): void;
1019
+ }
1020
+
1021
+ interface ChangeEvent extends ComponentEvent {
1022
+ color: Color;
1023
+ }
1024
+
1025
+ interface ColorPickerChangeEvents extends ComponentEvents {
1026
+ change: ChangeEvent;
1027
+ }
1028
+
1029
+ export class ColorPicker extends VBox<ColorPickerProps,ColorPickerChangeEvents> {
1030
+ _base: Color;
1031
+ _sat: Saturation;
1032
+ _swatch: Component;
1033
+ _hue: HueSlider;
1034
+ _alpha: AlphaSlider;
1035
+ constructor( props: ColorPickerProps );
1036
+ _onkey( ev: KeyboardEvent ): void;
1037
+ }
1038
+
1039
+ // ---------------------------------------
1040
+ // from /src/components/viewport/viewport.ts
1041
+
1042
+ export class Viewport extends Component {
1043
+ constructor( props: ComponentProps );
1044
+ }
1045
+
1046
+ export class ScrollView extends Component {
1047
+ constructor( props: ComponentProps );
1048
+ getViewport( ): void;
1049
+ }
1050
+
1051
+ // ---------------------------------------
1052
+ // from /src/components/listbox/listbox.ts
1053
+
1054
+ enum kbNav {
1055
+ first,
1056
+ prev,
1057
+ next,
1058
+ last,
1059
+ }
1060
+
1061
+ type ListboxID = number | string;
1062
+
1063
+ export interface ListItem {
1064
+ id: ListboxID;
1065
+ text: string;
1066
+ iconId?: string;
1067
+ data?: any;
1068
+ cls?: string;
1069
+ checked?: boolean;
1070
+ }
1071
+
1072
+ interface ListboxEvents extends ComponentEvents {
1073
+ click?: EvClick;
1074
+ dblClick?: EvDblClick;
1075
+ contextMenu?: EvContextMenu;
1076
+ selectionChange?: EvSelectionChange;
1077
+ }
1078
+
1079
+ interface ListboxProps extends Omit<ComponentProps,'content'> {
1080
+ items?: ListItem[];
1081
+ renderer?: ( item: ListItem ) => Component;
1082
+ checkable?: true;
1083
+ }
1084
+
1085
+ export class Listbox extends Component<ListboxProps,ListboxEvents> {
1086
+ _view: Viewport;
1087
+ _selection: ListboxID;
1088
+ _selitem: Component;
1089
+ _items: ListItem[];
1090
+ preventFocus: any;
1091
+ constructor( props: ListboxProps );
1092
+ _on_key( ev: KeyboardEvent ): void;
1093
+ navigate( sens: kbNav ): void;
1094
+ _on_click( ev: UIEvent ): void;
1095
+ _on_ctx_menu( ev: MouseEvent ): void;
1096
+ _selectItem( id: ListboxID, item: Component ): void;
1097
+ _findItem( id: ListboxID ): void;
1098
+ _findItemIndex( id: ListboxID ): void;
1099
+ clearSelection( ): void;
1100
+ setItems( items: ListItem[] ): void;
1101
+ renderItem( item: ListItem ): void;
1102
+ defaultRenderer( item: ListItem ): Component;
1103
+ filter( filter: string ): void;
1104
+ appendItem( item: ListItem, prepend: any, select: any ): void;
1105
+ updateItem( id: any, item: ListItem ): void;
1106
+ }
1107
+
1108
+ // ---------------------------------------
1109
+ // from /src/components/combobox/combobox.ts
1110
+
1111
+ interface DropdownEvents extends PopupEvents {
1112
+ selectionChange: EvSelectionChange;
1113
+ }
1114
+
1115
+ interface DropdownProps extends Omit<PopupProps,"content"> {
1116
+ items: ListItem[];
1117
+ }
1118
+
1119
+ class Dropdown extends Popup<DropdownProps,DropdownEvents> {
1120
+ _list: Listbox;
1121
+ constructor( props: DropdownProps, content: ListItem[] );
1122
+ getList( ): void;
1123
+ }
1124
+
1125
+ interface ComboboxProps extends Omit<ComponentProps,"content"> {
1126
+ label?: string;
1127
+ labelWidth?: number | string;
1128
+ readonly?: boolean;
1129
+ items: ListItem[];
1130
+ }
1131
+
1132
+ export class Combobox extends Component<ComboboxProps> {
1133
+ _dropdown: Dropdown;
1134
+ _label: Label;
1135
+ _input: Input;
1136
+ _button: Button;
1137
+ _prevent_close: any;
1138
+ _edit: HBox;
1139
+ constructor( props: ComboboxProps );
1140
+ _on_key( ev: KeyboardEvent ): void;
1141
+ _on_input( ): void;
1142
+ _on_focusout( ): void;
1143
+ _on_click( ): void;
1144
+ showDropDown( ): void;
1145
+ }
1146
+
1147
+ // ---------------------------------------
1148
+ // from /src/components/header/header.ts
1149
+
1150
+ interface HeaderItem {
1151
+ name: string;
1152
+ title: string;
1153
+ iconId?: string;
1154
+ width?: number;
1155
+ }
1156
+
1157
+ interface HeaderProps extends Omit<ComponentProps,"content"> {
1158
+ items: HeaderItem[];
1159
+ }
1160
+
1161
+ export class Header extends HBox<HeaderProps> {
1162
+ _els: Component[];
1163
+ _vwp: Component;
1164
+ constructor( props: HeaderProps );
1165
+ _calc_sizes( ): void;
1166
+ _on_resize( ): void;
1167
+ }
1168
+
1169
+ // ---------------------------------------
1170
+ // from /src/components/image/image.ts
1171
+
1172
+ export interface ImageProps extends ComponentProps {
1173
+ src: string;
1174
+ fit?: "contain" | "cover" | "fill" | "scale-down";
1175
+ position?: string;
1176
+ lazy?: boolean;
1177
+ alt?: string;
1178
+ draggable?: boolean;
1179
+ }
1180
+
1181
+ export class Image extends Component<ImageProps> {
1182
+ _img: Component;
1183
+ constructor( props: ImageProps );
1184
+ setImage( src: string ): void;
1185
+ }
1186
+
1187
+ // ---------------------------------------
1188
+ // from /src/components/messages/messages.ts
1189
+
1190
+ export interface MessageBoxProps extends DialogProps {
1191
+ message: string;
1192
+ click: (button: string) => void;
1193
+ }
1194
+
1195
+ export class MessageBox extends Dialog<DialogProps> {
1196
+ m_label: Label;
1197
+ constructor( props: DialogProps );
1198
+ setText( txt: string | UnsafeHtml ): void;
1199
+ show( msg: string | UnsafeHtml ): MessageBox;
1200
+ }
1201
+
1202
+ // ---------------------------------------
1203
+ // from /src/components/notification/notification.ts
1204
+
1205
+ interface NotificationProps extends ComponentProps {
1206
+ loading?: boolean;
1207
+ iconId?: string;
1208
+ closable?: boolean;
1209
+ mode?: "success" | "danger";
1210
+ title: string;
1211
+ text: string | UnsafeHtml;
1212
+ }
1213
+
1214
+ export class Notification extends Popup {
1215
+ constructor( props: NotificationProps );
1216
+ close( ): void;
1217
+ display( time_in_s: any ): void;
1218
+ }
1219
+
1220
+ // ---------------------------------------
1221
+ // from /src/components/panel/panel.ts
1222
+
1223
+ interface PanelProps extends ComponentProps {
1224
+ title: string;
1225
+ icon?: string;
1226
+ bodyModel?: Constructor<Component>;
1227
+ }
1228
+
1229
+ export class Panel extends VBox<PanelProps> {
1230
+ _title: Component;
1231
+ _body: Component;
1232
+ constructor( props: PanelProps );
1233
+ setContent( content: ComponentContent ): void;
1234
+ setTitle( title: string | UnsafeHtml ): void;
1235
+ }
1236
+
1237
+ // ---------------------------------------
1238
+ // from /src/components/progress/progress.ts
1239
+
1240
+ interface ProgressProps extends ComponentProps {
1241
+ value: number;
1242
+ min: number;
1243
+ max: number;
1244
+ }
1245
+
1246
+ export class Progress extends Component<ProgressProps> {
1247
+ _bar: Component;
1248
+ constructor( props: ProgressProps );
1249
+ setValue( value: number ): void;
1250
+ }
1251
+
1252
+ // ---------------------------------------
1253
+ // from /src/components/rating/rating.ts
1254
+
1255
+ interface RatingEventMap extends ComponentEvents {
1256
+ change: EvChange;
1257
+ }
1258
+
1259
+ export interface RatingProps extends ComponentProps {
1260
+ steps?: number;
1261
+ value?: number;
1262
+ icon?: string;
1263
+ name?: string;
1264
+ change?: EventCallback<EvChange>;
1265
+ }
1266
+
1267
+ export class Rating extends HBox<RatingProps,RatingEventMap> {
1268
+ m_els: Component[];
1269
+ m_input: Input;
1270
+ constructor( props: RatingProps );
1271
+ _update( ): void;
1272
+ getValue( ): void;
1273
+ setValue( v: number ): void;
1274
+ setSteps( n: number ): void;
1275
+ setShape( icon: string ): void;
1276
+ _on_click( ev: MouseEvent ): void;
1277
+ }
1278
+
1279
+ // ---------------------------------------
1280
+ // from /src/components/slider/slider.ts
1281
+
1282
+ interface ChangeEvent extends ComponentEvent {
1283
+ value: number;
1284
+ }
1285
+
1286
+ interface SliderEvents extends ComponentEvents {
1287
+ change: ChangeEvent;
1288
+ }
1289
+
1290
+ interface SliderProps extends ComponentProps {
1291
+ value: number;
1292
+ min: number;
1293
+ max: number;
1294
+ step?: number;
1295
+ }
1296
+
1297
+ export class Slider extends Component<SliderProps,SliderEvents> {
1298
+ _mdown: any;
1299
+ _irect: Rect;
1300
+ _thumb: Component;
1301
+ _bar: Component;
1302
+ _range: Input;
1303
+ constructor( props: SliderProps );
1304
+ _on_mousedown( ev: PointerEvent ): void;
1305
+ _on_mousemove( ev: PointerEvent ): void;
1306
+ _update( ): void;
1307
+ _on_mouseup( ev: PointerEvent ): void;
1308
+ _on_key( ev: KeyboardEvent ): void;
1309
+ }
1310
+
1311
+ // ---------------------------------------
1312
+ // from /src/components/switch/switch.ts
1313
+
1314
+ interface SwitchProps extends ComponentProps {
1315
+ label: string;
1316
+ checked?: boolean;
1317
+ value?: string;
1318
+ }
1319
+
1320
+ export class Switch extends HBox<SwitchProps> {
1321
+ constructor( props: SwitchProps );
1322
+ }
1323
+
1324
+ // ---------------------------------------
1325
+ // from /src/components/tabs/tabs.ts
1326
+
1327
+ export interface TabItem {
1328
+ name: string;
1329
+ title: string;
1330
+ icon?: string;
1331
+ tab: Component;
1332
+ }
1333
+
1334
+ class CTab extends Button {
1335
+ constructor( props: ButtonProps, item: TabItem );
1336
+ }
1337
+
1338
+ interface TablistClickEvent extends CoreEvent {
1339
+ name: string;
1340
+ }
1341
+
1342
+ interface TablistProps extends ComponentProps {
1343
+ click: ( ev: TablistClickEvent ) => void;
1344
+ }
1345
+
1346
+ interface TablistEvents extends ComponentEvents {
1347
+ click: TablistClickEvent;
1348
+ }
1349
+
1350
+ class CTabList extends HBox<TablistProps,TablistEvents> {
1351
+ _selitem: Button;
1352
+ _selection: string;
1353
+ constructor( props: TablistProps, content: TabItem[] );
1354
+ _on_click( ev: EvClick ): void;
1355
+ select( name: string ): void;
1356
+ }
1357
+
1358
+ interface TabsProps extends Omit<ComponentProps,"content"> {
1359
+ default: string;
1360
+ items: TabItem[];
1361
+ }
1362
+
1363
+ export class Tabs extends VBox<TabsProps> {
1364
+ _list: CTabList;
1365
+ _stack: StackBox;
1366
+ constructor( props: TabsProps );
1367
+ selectTab( name: string ): void;
1368
+ _onclick( ev: TablistClickEvent ): void;
1369
+ }
1370
+
1371
+ // ---------------------------------------
1372
+ // from /src/components/textarea/textarea.ts
1373
+
1374
+ interface TextAreaProps extends BaseProps {
1375
+ label?: string;
1376
+ value?: string;
1377
+ resize?: boolean;
1378
+ }
1379
+
1380
+ export class TextArea extends VBox {
1381
+ _input: Component;
1382
+ constructor( props: TextAreaProps );
1383
+ }
1384
+
1385
+ // ---------------------------------------
1386
+ // from /src/components/textedit/textedit.ts
1387
+
1388
+ interface TextEditProps extends ComponentProps {
1389
+ label: string | UnsafeHtml;
1390
+ labelWidth?: number;
1391
+ inputId?: string;
1392
+ type?: "text" | "email" | "password";
1393
+ readonly?: boolean;
1394
+ required?: boolean;
1395
+ value: string | number;
1396
+ placeholder?: string;
1397
+ inputGadgets?: Component[];
1398
+ }
1399
+
1400
+ export class TextEdit extends HBox {
1401
+ constructor( props: TextEditProps );
1402
+ }
1403
+
1404
+ // ---------------------------------------
1405
+ // from /src/components/tooltips/tooltips.ts
1406
+
1407
+ class Tooltip extends Popup {
1408
+ constructor( props: PopupProps );
1409
+ setText( text: string|UnsafeHtml ): void;
1410
+ }
1411
+
1412
+ // ---------------------------------------
1413
+ // from /src/components/treeview/treeview.ts
1414
+
1415
+ enum kbTreeNav {
1416
+ first,
1417
+ prev,
1418
+ next,
1419
+ last,
1420
+ parent,
1421
+ child,
1422
+ expand,
1423
+ collapse,
1424
+ toggle,
1425
+ }
1426
+
1427
+ export interface TreeItem extends ListItem {
1428
+ children?: TreeItem[];
1429
+ open?: boolean;
1430
+ }
1431
+
1432
+ interface TreeviewProps extends Omit<ComponentProps,"content"> {
1433
+ items: TreeItem[];
1434
+ }
1435
+
1436
+ interface ChangeEvent extends ComponentEvent {
1437
+ selection: TreeItem;
1438
+ }
1439
+
1440
+ interface TreeviewEvents extends ComponentEvents {
1441
+ change: ChangeEvent;
1442
+ }
1443
+
1444
+ class CTreeViewItem extends Box {
1445
+ _item: TreeItem;
1446
+ _label: Component;
1447
+ _icon: Icon;
1448
+ _childs: Component;
1449
+ constructor( props: BoxProps, item: TreeItem );
1450
+ toggle( ev: UIEvent ): void;
1451
+ open( open: any ): void;
1452
+ setItems( items: TreeItem[ ] ): void;
1453
+ }
1454
+
1455
+ export class Treeview extends Component<TreeviewProps,TreeviewEvents> {
1456
+ _selection: ListboxID;
1457
+ _selitem: Component;
1458
+ _items: TreeItem[];
1459
+ constructor( props: TreeviewProps );
1460
+ setItems( items: TreeItem[ ] ): void;
1461
+ _onclick( ev: UIEvent ): void;
1462
+ _onkey( ev: KeyboardEvent ): void;
1463
+ navigate( sens: kbTreeNav ): void;
1464
+ _flattenOpenItems( ): void;
1465
+ _flattenItems( ): void;
1466
+ _selectItem( id: ListboxID, item: Component ): void;
1467
+ _findItem( id: ListboxID ): void;
1468
+ clearSelection( ): void;
1469
+ }
1470
+
1471
+ }
1472
+