x4js 2.0.14 → 2.0.17
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/lib/cjs/x4.css +1 -1
- package/lib/cjs/x4.js +2 -2
- package/lib/esm/x4.css +1 -1
- package/lib/esm/x4.mjs +2 -2
- package/lib/src/components/boxes/boxes.ts +101 -9
- package/lib/src/components/canvas/canvas_ex.ts +13 -6
- package/lib/src/components/components.ts +2 -1
- package/lib/src/components/dialog/dialog.module.scss +3 -4
- package/lib/src/components/dialog/dialog.ts +19 -2
- package/lib/src/components/form/form.ts +1 -1
- package/lib/src/components/icon/icon.module.scss +1 -0
- package/lib/src/components/icon/icon.ts +0 -2
- package/lib/src/components/input/input.ts +46 -22
- package/lib/src/components/keyboard/keyboard.ts +29 -28
- package/lib/src/components/menu/menu.ts +2 -2
- package/lib/src/components/popup/popup.module.scss +6 -0
- package/lib/src/components/popup/popup.ts +5 -3
- package/lib/src/components/propgrid/progrid.module.scss +4 -0
- package/lib/src/components/propgrid/propgrid.ts +22 -5
- package/lib/src/components/sizers/sizer.ts +2 -1
- package/lib/src/components/tabs/tabs.ts +6 -0
- package/lib/src/components/textedit/textedit.ts +26 -21
- package/lib/src/core/component.ts +15 -21
- package/lib/src/core/core_application.ts +2 -1
- package/lib/src/core/core_data.ts +9 -8
- package/lib/src/core/core_element.ts +5 -0
- package/lib/src/core/core_i18n.ts +1 -1
- package/lib/src/core/core_router.ts +2 -2
- package/lib/src/core/core_state.ts +62 -0
- package/lib/src/core/core_svg.ts +1 -0
- package/lib/src/x4.ts +4 -0
- package/lib/styles/x4.css +1 -1
- package/lib/types/x4js.d.ts +369 -234
- package/package.json +18 -28
- package/src/components/boxes/boxes.ts +101 -9
- package/src/components/canvas/canvas.ts +1 -1
- package/src/components/canvas/canvas_ex.ts +13 -6
- package/src/components/components.ts +2 -1
- package/src/components/dialog/dialog.module.scss +3 -4
- package/src/components/dialog/dialog.ts +19 -2
- package/src/components/form/form.ts +1 -1
- package/src/components/icon/icon.module.scss +1 -0
- package/src/components/icon/icon.ts +0 -2
- package/src/components/input/input.ts +46 -22
- package/src/components/keyboard/keyboard.ts +29 -28
- package/src/components/menu/menu.ts +2 -2
- package/src/components/popup/popup.module.scss +6 -0
- package/src/components/popup/popup.ts +5 -3
- package/src/components/propgrid/progrid.module.scss +4 -0
- package/src/components/propgrid/propgrid.ts +22 -5
- package/src/components/sizers/sizer.ts +2 -1
- package/src/components/tabs/tabs.ts +6 -0
- package/src/components/textedit/textedit.ts +26 -21
- package/src/core/component.ts +15 -21
- package/src/core/core_application.ts +2 -1
- package/src/core/core_data.ts +9 -8
- package/src/core/core_element.ts +5 -0
- package/src/core/core_i18n.ts +1 -1
- package/src/core/core_router.ts +2 -2
- package/src/core/core_state.ts +62 -0
- package/src/core/core_svg.ts +1 -0
- package/src/x4.ts +4 -0
- package/.vscode/launch.json +0 -14
- package/demo/assets/house-light.svg +0 -1
- package/demo/assets/radio.svg +0 -4
- package/demo/index.html +0 -12
- package/demo/main.scss +0 -23
- package/demo/main.ts +0 -324
- package/demo/package.json +0 -26
- package/demo/scss.d.ts +0 -4
- package/demo/svg.d.ts +0 -1
- package/demo/tsconfig.json +0 -14
- package/scripts/build.mjs +0 -378
- package/scripts/prepack.mjs +0 -346
- package/tsconfig.json +0 -14
package/lib/types/x4js.d.ts
CHANGED
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
* that can be found in the LICENSE file or at https://opensource.org/licenses/MIT.
|
|
13
13
|
*
|
|
14
14
|
* AUTOGENERATED CODE, DO NOT MODIFY
|
|
15
|
-
* generated on Tue
|
|
15
|
+
* generated on Tue Jul 22 2025
|
|
16
16
|
*/
|
|
17
17
|
|
|
18
18
|
|
|
@@ -294,6 +294,8 @@ declare module 'x4js' {
|
|
|
294
294
|
|
|
295
295
|
type ComponentAttributes = Record<string,string|number|boolean>;
|
|
296
296
|
|
|
297
|
+
type CreateComponentCallBack = ( attrs: Record<string,string> ) => ComponentContent;
|
|
298
|
+
|
|
297
299
|
type ComponentContent = Component | Component[] | string | string[] | UnsafeHtml | UnsafeHtml[] | number | boolean;
|
|
298
300
|
|
|
299
301
|
export interface ComponentProps {
|
|
@@ -325,22 +327,22 @@ declare module 'x4js' {
|
|
|
325
327
|
dom: Element;
|
|
326
328
|
props: P;
|
|
327
329
|
clsprefix: string;
|
|
328
|
-
#store: Map<string|
|
|
330
|
+
#store: Map<string|symbol,any>;
|
|
329
331
|
constructor( props: P );
|
|
330
332
|
hasClass( cls: string ): void;
|
|
331
333
|
addClass( cls: string ): void;
|
|
332
334
|
removeClass( cls: string ): void;
|
|
333
335
|
removeClassEx( re: RegExp ): void;
|
|
334
336
|
toggleClass( cls: string ): void;
|
|
335
|
-
setClass( cls: string, set: boolean ):
|
|
336
|
-
setAttributes( attrs: ComponentAttributes ):
|
|
337
|
+
setClass( cls: string, set: boolean ): this;
|
|
338
|
+
setAttributes( attrs: ComponentAttributes ): this;
|
|
337
339
|
setAttribute( name: string, value: string | number | boolean ): void;
|
|
338
340
|
getAttribute( name: string ): string;
|
|
339
341
|
getData( name: string ): string;
|
|
340
342
|
getIntData( name: string ): number;
|
|
341
343
|
setData( name: string, value: string ): void;
|
|
342
|
-
setInternalData( name: string|
|
|
343
|
-
getInternalData( name: string|
|
|
344
|
+
setInternalData( name: string|symbol, value: any ): this;
|
|
345
|
+
getInternalData( name: string|symbol ): any;
|
|
344
346
|
addDOMEvent<K extends keyof GlobalDOMEvents>( name: K, listener: GlobalDOMEvents[K], prepend: any ): void;
|
|
345
347
|
setDOMEvents( events: GlobalDOMEvents ): void;
|
|
346
348
|
mapPropEvents<N extends keyof E>( props: P, elements: N[] ): void;
|
|
@@ -362,7 +364,7 @@ declare module 'x4js' {
|
|
|
362
364
|
getComputedStyle( ): void;
|
|
363
365
|
setCapture( pointerId: number ): void;
|
|
364
366
|
releaseCapture( pointerId: number ): void;
|
|
365
|
-
getBoundingRect( ):
|
|
367
|
+
getBoundingRect( ): Rect;
|
|
366
368
|
focus( ): this;
|
|
367
369
|
hasFocus( ): void;
|
|
368
370
|
scrollIntoView( arg: boolean | ScrollIntoViewOptions ): void;
|
|
@@ -381,7 +383,7 @@ declare module 'x4js' {
|
|
|
381
383
|
enumChildComponents( recursive: boolean ): void;
|
|
382
384
|
enumChildNodes( recursive: boolean ): void;
|
|
383
385
|
animate( keyframes: Keyframe[], duration: number ): void;
|
|
384
|
-
createElement( clsOrTag: string | ComponentConstructor |
|
|
386
|
+
createElement( clsOrTag: string | ComponentConstructor | symbol | CreateComponentCallBack, attrs: any, children: Component[] ): Component | Component[];
|
|
385
387
|
createFragment( ): Component[];
|
|
386
388
|
queryInterface<T>( name: string ): T;
|
|
387
389
|
}
|
|
@@ -421,11 +423,6 @@ declare module 'x4js' {
|
|
|
421
423
|
uievent: UIEvent;
|
|
422
424
|
}
|
|
423
425
|
|
|
424
|
-
export interface EvMessage extends ComponentEvent {
|
|
425
|
-
msg: string;
|
|
426
|
-
params?: any;
|
|
427
|
-
}
|
|
428
|
-
|
|
429
426
|
export interface EvDrag extends ComponentEvent {
|
|
430
427
|
element: unknown;
|
|
431
428
|
data: any;
|
|
@@ -439,6 +436,43 @@ declare module 'x4js' {
|
|
|
439
436
|
export interface EvDblClick extends ComponentEvent {
|
|
440
437
|
}
|
|
441
438
|
|
|
439
|
+
// ---------------------------------------
|
|
440
|
+
// from /src/core/core_application.ts
|
|
441
|
+
|
|
442
|
+
export interface EvMessage extends CoreEvent {
|
|
443
|
+
msg: string;
|
|
444
|
+
params: any;
|
|
445
|
+
}
|
|
446
|
+
|
|
447
|
+
export interface ApplicationEvents extends EventMap {
|
|
448
|
+
global: EvMessage;
|
|
449
|
+
message: EvMessage;
|
|
450
|
+
}
|
|
451
|
+
|
|
452
|
+
class Process {
|
|
453
|
+
getMaxTouchPoints( ): void;
|
|
454
|
+
}
|
|
455
|
+
|
|
456
|
+
export class Application<E extends ApplicationEvents = ApplicationEvents> extends CoreElement<E> {
|
|
457
|
+
env: any;
|
|
458
|
+
mainview: Component;
|
|
459
|
+
process: any;
|
|
460
|
+
constructor( );
|
|
461
|
+
setMainView( view: Component ): void;
|
|
462
|
+
instance<P extends Application = Application>( ): P;
|
|
463
|
+
getMainView( ): void;
|
|
464
|
+
setEnv( name: string, value: any ): void;
|
|
465
|
+
getEnv( name: string, def_value: any ): void;
|
|
466
|
+
fireGlobal( msg: string, params: any ): void;
|
|
467
|
+
_setupKeyboard( ): void;
|
|
468
|
+
focusNext( next: boolean ): void;
|
|
469
|
+
setupSocketMessaging( path: string, looseCallback: ( ) => void ): void;
|
|
470
|
+
getStorage( name: string ): string;
|
|
471
|
+
getStorageJSON( name: string ): any;
|
|
472
|
+
setStorage( name: string, value: string | number ): void;
|
|
473
|
+
setStorageJSON( name: string, value: any ): void;
|
|
474
|
+
}
|
|
475
|
+
|
|
442
476
|
// ---------------------------------------
|
|
443
477
|
// from /src/core/core_colors.ts
|
|
444
478
|
|
|
@@ -474,6 +508,177 @@ declare module 'x4js' {
|
|
|
474
508
|
isInvalid( ): void;
|
|
475
509
|
}
|
|
476
510
|
|
|
511
|
+
// ---------------------------------------
|
|
512
|
+
// from /src/core/core_data.ts
|
|
513
|
+
|
|
514
|
+
type DataRecordID = any;
|
|
515
|
+
|
|
516
|
+
type DataFieldValue = string | Date | number | boolean;
|
|
517
|
+
|
|
518
|
+
type ChangeCallback = (type: string, id?: DataRecordID) => void;
|
|
519
|
+
|
|
520
|
+
type CalcCallback = () => string;
|
|
521
|
+
|
|
522
|
+
type FieldType = 'string' | 'int' | 'float' | 'date' | 'bool' | 'array' | 'object' | 'any' | 'calc';
|
|
523
|
+
|
|
524
|
+
type DataIndex = Uint32Array;
|
|
525
|
+
|
|
526
|
+
export interface EvDataChange extends CoreEvent {
|
|
527
|
+
change_type: 'create' | 'update' | 'delete' | 'data' | 'change';
|
|
528
|
+
id?: DataRecordID;
|
|
529
|
+
}
|
|
530
|
+
|
|
531
|
+
export interface MetaData {
|
|
532
|
+
type?: FieldType;
|
|
533
|
+
prec?: number;
|
|
534
|
+
required?: boolean;
|
|
535
|
+
calc?: (rec: DataRecord) => any;
|
|
536
|
+
model?: DataModel;
|
|
537
|
+
}
|
|
538
|
+
|
|
539
|
+
export interface FieldInfo extends MetaData {
|
|
540
|
+
name: string;
|
|
541
|
+
}
|
|
542
|
+
|
|
543
|
+
class MetaInfos {
|
|
544
|
+
name: string;
|
|
545
|
+
id: string;
|
|
546
|
+
fields: FieldInfo[];
|
|
547
|
+
constructor( name: string );
|
|
548
|
+
}
|
|
549
|
+
|
|
550
|
+
interface ModelConstructor {
|
|
551
|
+
}
|
|
552
|
+
|
|
553
|
+
export class DataModel {
|
|
554
|
+
getFields( ): FieldInfo[];
|
|
555
|
+
validate( record: DataRecord ): Error[];
|
|
556
|
+
getFieldIndex( name: string ): number;
|
|
557
|
+
serialize<T = any>( input: DataRecord ): T;
|
|
558
|
+
unSerialize( data: any, id: DataRecordID ): DataRecord;
|
|
559
|
+
_convertField( field: FieldInfo, input: any ): any;
|
|
560
|
+
getID( rec: DataRecord ): any;
|
|
561
|
+
getRaw( name: string | number, rec: DataRecord ): any;
|
|
562
|
+
getField( name: string, rec: DataRecord ): string;
|
|
563
|
+
}
|
|
564
|
+
|
|
565
|
+
export class DataRecord {
|
|
566
|
+
}
|
|
567
|
+
|
|
568
|
+
interface DataEventMap extends EventMap {
|
|
569
|
+
change?: EvChange;
|
|
570
|
+
}
|
|
571
|
+
|
|
572
|
+
type DataSolver = ( data: any ) => DataRecord[];
|
|
573
|
+
|
|
574
|
+
export interface DataProxyProps {
|
|
575
|
+
url: string;
|
|
576
|
+
params?: string[];
|
|
577
|
+
solver?: DataSolver;
|
|
578
|
+
}
|
|
579
|
+
|
|
580
|
+
export class DataProxy extends CoreElement<DataEventMap> {
|
|
581
|
+
m_props: DataProxyProps;
|
|
582
|
+
constructor( props: DataProxyProps );
|
|
583
|
+
load( url: string ): void;
|
|
584
|
+
}
|
|
585
|
+
|
|
586
|
+
interface DataStoreProps {
|
|
587
|
+
model: DataModel;
|
|
588
|
+
data?: any[];
|
|
589
|
+
url?: string;
|
|
590
|
+
autoload?: false;
|
|
591
|
+
solver?: DataSolver;
|
|
592
|
+
}
|
|
593
|
+
|
|
594
|
+
interface DataStoreEventMap extends EventMap {
|
|
595
|
+
data_change: EvDataChange;
|
|
596
|
+
}
|
|
597
|
+
|
|
598
|
+
export class DataStore extends EventSource<DataStoreEventMap> {
|
|
599
|
+
m_model: DataModel;
|
|
600
|
+
m_fields: FieldInfo[];
|
|
601
|
+
m_records: DataRecord[];
|
|
602
|
+
m_proxy: DataProxy;
|
|
603
|
+
m_rec_index: DataIndex;
|
|
604
|
+
constructor( props: DataStoreProps );
|
|
605
|
+
load( url: string ): void;
|
|
606
|
+
reload( ): void;
|
|
607
|
+
setData( records: any[] ): void;
|
|
608
|
+
setRawData( records: DataRecord[] ): void;
|
|
609
|
+
_rebuildIndex( ): void;
|
|
610
|
+
update( rec: DataRecord ): void;
|
|
611
|
+
append( rec: DataRecord | any ): void;
|
|
612
|
+
getMaxId( ): void;
|
|
613
|
+
delete( id: DataRecordID ): boolean;
|
|
614
|
+
indexOfId( id: DataRecordID ): number;
|
|
615
|
+
getById( id: DataRecordID ): DataRecord;
|
|
616
|
+
getByIndex( index: number ): DataRecord;
|
|
617
|
+
_getRecord( index: number ): DataRecord;
|
|
618
|
+
moveTo( other: DataStore ): void;
|
|
619
|
+
createView( opts: DataViewProps ): DataView;
|
|
620
|
+
createIndex( filter: FilterInfo ): DataIndex;
|
|
621
|
+
sortIndex( index: DataIndex, sort: SortProp[] ): void;
|
|
622
|
+
forEach( cb: ( rec: DataRecord, index: number ) => any ): void;
|
|
623
|
+
export( ): void;
|
|
624
|
+
changed( ): void;
|
|
625
|
+
getModel( ): void;
|
|
626
|
+
}
|
|
627
|
+
|
|
628
|
+
export interface EvViewChange extends CoreEvent {
|
|
629
|
+
change_type: "change" | "filter" | "sort";
|
|
630
|
+
}
|
|
631
|
+
|
|
632
|
+
interface DataViewEventMap extends EventMap {
|
|
633
|
+
view_change: EvViewChange;
|
|
634
|
+
}
|
|
635
|
+
|
|
636
|
+
interface DataViewProps {
|
|
637
|
+
store?: DataStore;
|
|
638
|
+
filter?: FilterInfo;
|
|
639
|
+
order?: string | SortProp[] | SortProp;
|
|
640
|
+
}
|
|
641
|
+
|
|
642
|
+
type FilterFunc = ( rec: DataRecord ) => boolean;
|
|
643
|
+
|
|
644
|
+
export interface FilterInfo {
|
|
645
|
+
op: '<' | '<=' | '=' | '>=' | '>' | '<>' | 'empty-result' | FilterFunc;
|
|
646
|
+
field?: string;
|
|
647
|
+
value?: string | RegExp;
|
|
648
|
+
caseSensitive?: boolean;
|
|
649
|
+
}
|
|
650
|
+
|
|
651
|
+
export interface SortProp {
|
|
652
|
+
field: string;
|
|
653
|
+
ascending: boolean;
|
|
654
|
+
numeric?: boolean;
|
|
655
|
+
}
|
|
656
|
+
|
|
657
|
+
export class DataView extends CoreElement<DataViewEventMap> {
|
|
658
|
+
m_index: DataIndex;
|
|
659
|
+
m_store: DataStore;
|
|
660
|
+
m_model: DataModel;
|
|
661
|
+
m_sort: SortProp[];
|
|
662
|
+
m_filter: FilterInfo;
|
|
663
|
+
m_props: DataViewProps;
|
|
664
|
+
constructor( props: DataViewProps );
|
|
665
|
+
_storeChange( ev: EvDataChange ): void;
|
|
666
|
+
filter( filter: FilterInfo ): number;
|
|
667
|
+
_filter( filter: FilterInfo, notify: boolean ): number;
|
|
668
|
+
sort( props: SortProp[] ): void;
|
|
669
|
+
_sort( props: SortProp[], notify: boolean ): void;
|
|
670
|
+
getStore( ): void;
|
|
671
|
+
getCount( ): void;
|
|
672
|
+
indexOfId( id: DataRecordID ): number;
|
|
673
|
+
getByIndex( index: number ): DataRecord;
|
|
674
|
+
getIdByIndex( index: number ): DataRecordID;
|
|
675
|
+
getRecId( rec: DataRecord ): DataRecordID;
|
|
676
|
+
getById( id: DataRecordID ): DataRecord;
|
|
677
|
+
getModel( ): void;
|
|
678
|
+
changed( ): void;
|
|
679
|
+
forEach( cb: ( rec: DataRecord, index: number ) => any ): void;
|
|
680
|
+
}
|
|
681
|
+
|
|
477
682
|
// ---------------------------------------
|
|
478
683
|
// from /src/core/core_dragdrop.ts
|
|
479
684
|
|
|
@@ -498,6 +703,14 @@ declare module 'x4js' {
|
|
|
498
703
|
_check( ): void;
|
|
499
704
|
}
|
|
500
705
|
|
|
706
|
+
// ---------------------------------------
|
|
707
|
+
// from /src/core/core_react.ts
|
|
708
|
+
|
|
709
|
+
export class x4_react {
|
|
710
|
+
create_element( tag: string, props: any, content: any[] ): Component;
|
|
711
|
+
create_element<X extends Component>( tag: string | Constructor<X>, props: X["props"], content: any[] ): void;
|
|
712
|
+
}
|
|
713
|
+
|
|
501
714
|
// ---------------------------------------
|
|
502
715
|
// from /src/core/core_router.ts
|
|
503
716
|
|
|
@@ -530,6 +743,22 @@ declare module 'x4js' {
|
|
|
530
743
|
_find( url: string ): { params: Record<string,any>, handlers: RouteHandler[] };
|
|
531
744
|
}
|
|
532
745
|
|
|
746
|
+
// ---------------------------------------
|
|
747
|
+
// from /src/core/core_state.ts
|
|
748
|
+
|
|
749
|
+
type StateData = boolean | number | string | Date | any;
|
|
750
|
+
|
|
751
|
+
type State = Record<string,StateData>;
|
|
752
|
+
|
|
753
|
+
export class StateManager {
|
|
754
|
+
_state: StateData;
|
|
755
|
+
_subscribers: Map<string,any>;
|
|
756
|
+
_currentTracking: Set<string>;
|
|
757
|
+
constructor( initialState: StateData );
|
|
758
|
+
getState( path: string, defaultValue: StateData ): void;
|
|
759
|
+
setState( path: string, value: StateData, context: any ): void;
|
|
760
|
+
}
|
|
761
|
+
|
|
533
762
|
// ---------------------------------------
|
|
534
763
|
// from /src/core/core_svg.ts
|
|
535
764
|
|
|
@@ -655,38 +884,61 @@ declare module 'x4js' {
|
|
|
655
884
|
interface StackItem {
|
|
656
885
|
name: string;
|
|
657
886
|
content: Component | ContentBuilder;
|
|
887
|
+
title?: string;
|
|
888
|
+
}
|
|
889
|
+
|
|
890
|
+
interface StackeBoxEvents extends ComponentEvents {
|
|
891
|
+
pageChange?: EvSelectionChange;
|
|
658
892
|
}
|
|
659
893
|
|
|
660
|
-
interface
|
|
894
|
+
export interface StackBoxProps extends Omit<ComponentProps,"content"> {
|
|
661
895
|
default: string;
|
|
662
896
|
items: StackItem[];
|
|
897
|
+
pageChange?: EventCallback<EvSelectionChange>;
|
|
663
898
|
}
|
|
664
899
|
|
|
665
900
|
interface StackItemEx extends StackItem {
|
|
666
901
|
page: Component;
|
|
667
902
|
}
|
|
668
903
|
|
|
669
|
-
@class_ns( "x4" ) export class StackBox extends Box<
|
|
904
|
+
@class_ns( "x4" ) export class StackBox<P extends StackBoxProps = StackBoxProps, E extends StackeBoxEvents = StackeBoxEvents> extends Box<StackBoxProps,StackeBoxEvents> {
|
|
670
905
|
_items: StackItemEx[];
|
|
671
|
-
|
|
906
|
+
_cur: number;
|
|
907
|
+
constructor( props: StackBoxProps );
|
|
672
908
|
addItem( item: StackItem ): void;
|
|
673
909
|
select( name: string ): void;
|
|
674
910
|
_createPage( page: StackItemEx ): void;
|
|
675
911
|
getPage( name: string ): void;
|
|
912
|
+
getItem( name: string ): void;
|
|
913
|
+
getCurPage( ): void;
|
|
914
|
+
}
|
|
915
|
+
|
|
916
|
+
@class_ns( "x4" ) export class AssistBox extends StackBox {
|
|
917
|
+
selectNextPage( nxt: any ): void;
|
|
918
|
+
isFirstPage( ): void;
|
|
919
|
+
isLastPage( ): void;
|
|
676
920
|
}
|
|
677
921
|
|
|
678
|
-
|
|
922
|
+
interface GridBoxItem {
|
|
923
|
+
row: number;
|
|
924
|
+
col: number;
|
|
925
|
+
item: Component;
|
|
926
|
+
}
|
|
927
|
+
|
|
928
|
+
export interface GridBoxProps extends Omit<BoxProps,"content"> {
|
|
679
929
|
rows?: number | string | string[];
|
|
680
930
|
columns?: number | string | string[];
|
|
931
|
+
items?: GridBoxItem[];
|
|
681
932
|
}
|
|
682
933
|
|
|
683
|
-
@class_ns("x4") export class GridBox<P extends
|
|
934
|
+
@class_ns("x4") export class GridBox<P extends GridBoxProps=GridBoxProps, E extends ComponentEvents=ComponentEvents> extends Box<P,E> {
|
|
684
935
|
constructor( props: P );
|
|
685
936
|
setRows( r: number | string | string[] ): void;
|
|
686
937
|
setCols( r: number | string | string[] ): void;
|
|
687
938
|
setRowCount( n: number ): void;
|
|
688
939
|
setColCount( n: number ): void;
|
|
689
940
|
setTemplate( t: string[] ): void;
|
|
941
|
+
setItems( items: GridBoxItem[] ): void;
|
|
690
942
|
}
|
|
691
943
|
|
|
692
944
|
interface MasonryProps extends Omit<BoxProps,"content"> {
|
|
@@ -833,7 +1085,7 @@ declare module 'x4js' {
|
|
|
833
1085
|
stop: ComponentEvent;
|
|
834
1086
|
}
|
|
835
1087
|
|
|
836
|
-
type SizerType = "left" | "top" | "right" | "bottom";
|
|
1088
|
+
type SizerType = "left" | "top" | "right" | "bottom" | "top-left" | "top-right" | "bottom-left" | "bottom-right";
|
|
837
1089
|
|
|
838
1090
|
@class_ns( "x4" ) export class CSizer extends Component<ComponentProps,CSizerEvent> {
|
|
839
1091
|
_type: SizerType;
|
|
@@ -862,7 +1114,7 @@ declare module 'x4js' {
|
|
|
862
1114
|
_ismodal: any;
|
|
863
1115
|
constructor( props: P );
|
|
864
1116
|
displayNear( rc: Rect, dst: any, src: any, offset: any ): void;
|
|
865
|
-
displayCenter(
|
|
1117
|
+
displayCenter( center: any ): void;
|
|
866
1118
|
displayAt( x: number, y: number ): void;
|
|
867
1119
|
isOpen( ): void;
|
|
868
1120
|
_do_hide( ): void;
|
|
@@ -912,6 +1164,7 @@ declare module 'x4js' {
|
|
|
912
1164
|
|
|
913
1165
|
@class_ns("x4") export class Dialog<P extends DialogProps = DialogProps, E extends DialogEvents = DialogEvents> extends Popup<P, E> {
|
|
914
1166
|
form: Form;
|
|
1167
|
+
_title: Label;
|
|
915
1168
|
constructor( props: P );
|
|
916
1169
|
focusNext( next: boolean ): boolean;
|
|
917
1170
|
setContent( form: Form ): void;
|
|
@@ -919,6 +1172,8 @@ declare module 'x4js' {
|
|
|
919
1172
|
getValues( ): void;
|
|
920
1173
|
getButton( name: string ): void;
|
|
921
1174
|
queryInterface<T extends IComponentInterface>( name: string ): T;
|
|
1175
|
+
setTitle( title: string ): void;
|
|
1176
|
+
getBtnBar( ): void;
|
|
922
1177
|
}
|
|
923
1178
|
|
|
924
1179
|
// ---------------------------------------
|
|
@@ -1005,12 +1260,60 @@ declare module 'x4js' {
|
|
|
1005
1260
|
setDate( date: Date ): void;
|
|
1006
1261
|
}
|
|
1007
1262
|
|
|
1263
|
+
// ---------------------------------------
|
|
1264
|
+
// from /src/components/canvas/canvas_ex.ts
|
|
1265
|
+
|
|
1266
|
+
export interface CanvasEx extends CanvasRenderingContext2D {
|
|
1267
|
+
width: number;
|
|
1268
|
+
height: number;
|
|
1269
|
+
smoothLine( points: any[], path: CanvasPath, move: boolean ): void;
|
|
1270
|
+
smoothLineEx( _points: any[], tension: number, numOfSeg: number, path: CanvasPath, move: boolean, close: boolean ): void;
|
|
1271
|
+
line( x1: number, y1: number, x2: number, y2: number, color: string, lineWidth: number ): void;
|
|
1272
|
+
roundRect( x: number, y: number, width: number, height: number, radius: number ): void;
|
|
1273
|
+
calcTextSize( text: string, rounded: boolean ): { width: number, height: number };
|
|
1274
|
+
setFontSize( fs: number ): void;
|
|
1275
|
+
circle( x: number, y: number, radius: number ): void;
|
|
1276
|
+
}
|
|
1277
|
+
|
|
1278
|
+
// ---------------------------------------
|
|
1279
|
+
// from /src/components/canvas/canvas.ts
|
|
1280
|
+
|
|
1281
|
+
export interface EvPaint extends ComponentEvent {
|
|
1282
|
+
ctx: CanvasEx;
|
|
1283
|
+
}
|
|
1284
|
+
|
|
1285
|
+
interface CanvasEventMap extends ComponentEvents {
|
|
1286
|
+
paint: EvPaint;
|
|
1287
|
+
}
|
|
1288
|
+
|
|
1289
|
+
export interface CanvasProps extends ComponentProps {
|
|
1290
|
+
paint: EventCallback<EvPaint>;
|
|
1291
|
+
clear?: boolean;
|
|
1292
|
+
}
|
|
1293
|
+
|
|
1294
|
+
@class_ns( "x4" ) export class Canvas extends Component<CanvasProps, CanvasEventMap> {
|
|
1295
|
+
m_iwidth: number;
|
|
1296
|
+
m_iheight: number;
|
|
1297
|
+
m_scale: any;
|
|
1298
|
+
m_canvas: Component;
|
|
1299
|
+
constructor( props: CanvasProps );
|
|
1300
|
+
scale( scale: number ): void;
|
|
1301
|
+
getContext( ): void;
|
|
1302
|
+
$update_rep: any;
|
|
1303
|
+
redraw( wait: number ): void;
|
|
1304
|
+
_paint( ): void;
|
|
1305
|
+
paint( ctx: CanvasEx ): void;
|
|
1306
|
+
}
|
|
1307
|
+
|
|
1008
1308
|
// ---------------------------------------
|
|
1009
1309
|
// from /src/components/input/input.ts
|
|
1010
1310
|
|
|
1011
1311
|
export interface BaseProps extends ComponentProps {
|
|
1012
1312
|
name?: string;
|
|
1013
1313
|
autofocus?: boolean;
|
|
1314
|
+
required?: boolean;
|
|
1315
|
+
readonly?: boolean;
|
|
1316
|
+
placeholder?: string;
|
|
1014
1317
|
focus?: EventCallback<EvFocus>;
|
|
1015
1318
|
change?: EventCallback<EvChange>;
|
|
1016
1319
|
}
|
|
@@ -1023,53 +1326,58 @@ declare module 'x4js' {
|
|
|
1023
1326
|
|
|
1024
1327
|
interface RadioProps extends BaseProps {
|
|
1025
1328
|
type: "radio";
|
|
1026
|
-
value
|
|
1329
|
+
value?: boolean | number | string;
|
|
1027
1330
|
checked?: boolean;
|
|
1028
1331
|
}
|
|
1029
1332
|
|
|
1030
1333
|
export interface RangeProps extends BaseProps {
|
|
1031
1334
|
type: "range";
|
|
1032
|
-
value
|
|
1335
|
+
value?: number;
|
|
1033
1336
|
min: number;
|
|
1034
1337
|
max: number;
|
|
1035
1338
|
step?: number;
|
|
1036
1339
|
}
|
|
1037
1340
|
|
|
1038
|
-
interface
|
|
1341
|
+
export interface FileProps extends BaseProps {
|
|
1342
|
+
type: "file";
|
|
1343
|
+
accept: string | string[];
|
|
1344
|
+
value?: never;
|
|
1345
|
+
}
|
|
1346
|
+
|
|
1347
|
+
export interface DateProps extends BaseProps {
|
|
1039
1348
|
type: "date";
|
|
1349
|
+
value?: Date | string;
|
|
1350
|
+
}
|
|
1351
|
+
|
|
1352
|
+
export interface TimeProps extends BaseProps {
|
|
1353
|
+
type: "time";
|
|
1040
1354
|
readonly?: boolean;
|
|
1041
1355
|
required?: boolean;
|
|
1042
|
-
value
|
|
1356
|
+
value?: string;
|
|
1043
1357
|
}
|
|
1044
1358
|
|
|
1045
|
-
interface NumberProps extends BaseProps {
|
|
1359
|
+
export interface NumberProps extends BaseProps {
|
|
1046
1360
|
type: "number";
|
|
1047
1361
|
readonly?: boolean;
|
|
1048
1362
|
required?: boolean;
|
|
1049
|
-
value
|
|
1363
|
+
value?: number | string;
|
|
1050
1364
|
min?: number;
|
|
1051
1365
|
max?: number;
|
|
1052
1366
|
step?: number;
|
|
1053
1367
|
}
|
|
1054
1368
|
|
|
1055
|
-
interface FileProps extends BaseProps {
|
|
1056
|
-
type: "file";
|
|
1057
|
-
accept: string | string[];
|
|
1058
|
-
}
|
|
1059
|
-
|
|
1060
1369
|
export interface TextInputProps extends BaseProps {
|
|
1061
|
-
type
|
|
1370
|
+
type?: "text" | "email" | "password";
|
|
1062
1371
|
readonly?: boolean;
|
|
1063
1372
|
required?: boolean;
|
|
1064
1373
|
pattern?: string;
|
|
1065
1374
|
value?: string | number;
|
|
1066
|
-
placeholder?: string;
|
|
1067
1375
|
spellcheck?: boolean;
|
|
1068
1376
|
minlength?: number;
|
|
1069
1377
|
maxlength?: number;
|
|
1070
1378
|
}
|
|
1071
1379
|
|
|
1072
|
-
type InputProps =
|
|
1380
|
+
type InputProps = TextInputProps | CheckboxProps | RadioProps | RangeProps | DateProps | NumberProps | FileProps | TimeProps;
|
|
1073
1381
|
|
|
1074
1382
|
interface InputEvents extends ComponentEvent {
|
|
1075
1383
|
focus: EvFocus;
|
|
@@ -1082,7 +1390,7 @@ declare module 'x4js' {
|
|
|
1082
1390
|
on_change( ev: InputEvent ): void;
|
|
1083
1391
|
getValue( ): void;
|
|
1084
1392
|
setValue( value: string ): void;
|
|
1085
|
-
getNumValue(
|
|
1393
|
+
getNumValue( defNan: number ): void;
|
|
1086
1394
|
setNumValue( value: number, ndec: any ): void;
|
|
1087
1395
|
getCheck( ): void;
|
|
1088
1396
|
setCheck( ck: boolean ): void;
|
|
@@ -1380,177 +1688,6 @@ declare module 'x4js' {
|
|
|
1380
1688
|
constructor( props: FileDropProps );
|
|
1381
1689
|
}
|
|
1382
1690
|
|
|
1383
|
-
// ---------------------------------------
|
|
1384
|
-
// from /src/core/core_data.ts
|
|
1385
|
-
|
|
1386
|
-
type DataRecordID = any;
|
|
1387
|
-
|
|
1388
|
-
type DataFieldValue = string | Date | number | boolean;
|
|
1389
|
-
|
|
1390
|
-
type ChangeCallback = (type: string, id?: DataRecordID) => void;
|
|
1391
|
-
|
|
1392
|
-
type CalcCallback = () => string;
|
|
1393
|
-
|
|
1394
|
-
type FieldType = 'string' | 'int' | 'float' | 'date' | 'bool' | 'array' | 'object' | 'any' | 'calc';
|
|
1395
|
-
|
|
1396
|
-
type DataIndex = Uint32Array;
|
|
1397
|
-
|
|
1398
|
-
export interface EvDataChange extends CoreEvent {
|
|
1399
|
-
change_type: 'create' | 'update' | 'delete' | 'data' | 'change';
|
|
1400
|
-
id?: DataRecordID;
|
|
1401
|
-
}
|
|
1402
|
-
|
|
1403
|
-
export interface MetaData {
|
|
1404
|
-
type?: FieldType;
|
|
1405
|
-
prec?: number;
|
|
1406
|
-
required?: boolean;
|
|
1407
|
-
calc?: (rec: DataRecord) => any;
|
|
1408
|
-
model?: DataModel;
|
|
1409
|
-
}
|
|
1410
|
-
|
|
1411
|
-
export interface FieldInfo extends MetaData {
|
|
1412
|
-
name: string;
|
|
1413
|
-
}
|
|
1414
|
-
|
|
1415
|
-
class MetaInfos {
|
|
1416
|
-
name: string;
|
|
1417
|
-
id: string;
|
|
1418
|
-
fields: FieldInfo[];
|
|
1419
|
-
constructor( name: string );
|
|
1420
|
-
}
|
|
1421
|
-
|
|
1422
|
-
interface ModelConstructor {
|
|
1423
|
-
}
|
|
1424
|
-
|
|
1425
|
-
export class DataModel {
|
|
1426
|
-
getFields( ): FieldInfo[];
|
|
1427
|
-
validate( record: DataRecord ): Error[];
|
|
1428
|
-
getFieldIndex( name: string ): number;
|
|
1429
|
-
serialize( input: DataRecord ): any;
|
|
1430
|
-
unSerialize( data: any, id: DataRecordID ): DataRecord;
|
|
1431
|
-
_convertField( field: FieldInfo, input: any ): any;
|
|
1432
|
-
getID( rec: DataRecord ): any;
|
|
1433
|
-
getRaw( name: string | number, rec: DataRecord ): any;
|
|
1434
|
-
getField( name: string, rec: DataRecord ): string;
|
|
1435
|
-
}
|
|
1436
|
-
|
|
1437
|
-
export class DataRecord {
|
|
1438
|
-
}
|
|
1439
|
-
|
|
1440
|
-
interface DataEventMap extends EventMap {
|
|
1441
|
-
change?: EvChange;
|
|
1442
|
-
}
|
|
1443
|
-
|
|
1444
|
-
type DataSolver = ( data: any ) => DataRecord[];
|
|
1445
|
-
|
|
1446
|
-
export interface DataProxyProps {
|
|
1447
|
-
url: string;
|
|
1448
|
-
params?: string[];
|
|
1449
|
-
solver?: DataSolver;
|
|
1450
|
-
}
|
|
1451
|
-
|
|
1452
|
-
export class DataProxy extends CoreElement<DataEventMap> {
|
|
1453
|
-
m_props: DataProxyProps;
|
|
1454
|
-
constructor( props: DataProxyProps );
|
|
1455
|
-
load( url: string ): void;
|
|
1456
|
-
}
|
|
1457
|
-
|
|
1458
|
-
interface DataStoreProps {
|
|
1459
|
-
model: DataModel;
|
|
1460
|
-
data?: any[];
|
|
1461
|
-
url?: string;
|
|
1462
|
-
autoload?: false;
|
|
1463
|
-
solver?: DataSolver;
|
|
1464
|
-
}
|
|
1465
|
-
|
|
1466
|
-
interface DataStoreEventMap extends EventMap {
|
|
1467
|
-
data_change: EvDataChange;
|
|
1468
|
-
}
|
|
1469
|
-
|
|
1470
|
-
export class DataStore extends EventSource<DataStoreEventMap> {
|
|
1471
|
-
m_model: DataModel;
|
|
1472
|
-
m_fields: FieldInfo[];
|
|
1473
|
-
m_records: DataRecord[];
|
|
1474
|
-
m_proxy: DataProxy;
|
|
1475
|
-
m_rec_index: DataIndex;
|
|
1476
|
-
constructor( props: DataStoreProps );
|
|
1477
|
-
load( url: string ): void;
|
|
1478
|
-
reload( ): void;
|
|
1479
|
-
setData( records: any[] ): void;
|
|
1480
|
-
setRawData( records: DataRecord[] ): void;
|
|
1481
|
-
_rebuildIndex( ): void;
|
|
1482
|
-
update( rec: DataRecord ): void;
|
|
1483
|
-
append( rec: DataRecord | any ): void;
|
|
1484
|
-
getMaxId( ): void;
|
|
1485
|
-
delete( id: DataRecordID ): boolean;
|
|
1486
|
-
indexOfId( id: DataRecordID ): number;
|
|
1487
|
-
getById( id: DataRecordID ): DataRecord;
|
|
1488
|
-
getByIndex( index: number ): DataRecord;
|
|
1489
|
-
_getRecord( index: number ): DataRecord;
|
|
1490
|
-
moveTo( other: DataStore ): void;
|
|
1491
|
-
createView( opts: DataViewProps ): DataView;
|
|
1492
|
-
createIndex( filter: FilterInfo ): DataIndex;
|
|
1493
|
-
sortIndex( index: DataIndex, sort: SortProp[] ): void;
|
|
1494
|
-
forEach( cb: ( rec: DataRecord, index: number ) => any ): void;
|
|
1495
|
-
export( ): void;
|
|
1496
|
-
changed( ): void;
|
|
1497
|
-
getModel( ): void;
|
|
1498
|
-
}
|
|
1499
|
-
|
|
1500
|
-
export interface EvViewChange extends CoreEvent {
|
|
1501
|
-
change_type: "change" | "filter" | "sort";
|
|
1502
|
-
}
|
|
1503
|
-
|
|
1504
|
-
interface DataViewEventMap extends EventMap {
|
|
1505
|
-
view_change: EvViewChange;
|
|
1506
|
-
}
|
|
1507
|
-
|
|
1508
|
-
interface DataViewProps {
|
|
1509
|
-
store?: DataStore;
|
|
1510
|
-
filter?: FilterInfo;
|
|
1511
|
-
order?: string | SortProp[] | SortProp;
|
|
1512
|
-
}
|
|
1513
|
-
|
|
1514
|
-
type FilterFunc = ( rec: DataRecord ) => boolean;
|
|
1515
|
-
|
|
1516
|
-
export interface FilterInfo {
|
|
1517
|
-
op: '<' | '<=' | '=' | '>=' | '>' | '<>' | 'empty-result' | FilterFunc;
|
|
1518
|
-
field?: string;
|
|
1519
|
-
value?: string | RegExp;
|
|
1520
|
-
caseSensitive?: boolean;
|
|
1521
|
-
}
|
|
1522
|
-
|
|
1523
|
-
export interface SortProp {
|
|
1524
|
-
field: string;
|
|
1525
|
-
ascending: boolean;
|
|
1526
|
-
numeric?: boolean;
|
|
1527
|
-
}
|
|
1528
|
-
|
|
1529
|
-
export class DataView extends CoreElement<DataViewEventMap> {
|
|
1530
|
-
m_index: DataIndex;
|
|
1531
|
-
m_store: DataStore;
|
|
1532
|
-
m_model: DataModel;
|
|
1533
|
-
m_sort: SortProp[];
|
|
1534
|
-
m_filter: FilterInfo;
|
|
1535
|
-
m_props: DataViewProps;
|
|
1536
|
-
constructor( props: DataViewProps );
|
|
1537
|
-
_storeChange( ev: EvDataChange ): void;
|
|
1538
|
-
filter( filter: FilterInfo ): number;
|
|
1539
|
-
_filter( filter: FilterInfo, notify: boolean ): number;
|
|
1540
|
-
sort( props: SortProp[] ): void;
|
|
1541
|
-
_sort( props: SortProp[], notify: boolean ): void;
|
|
1542
|
-
getStore( ): void;
|
|
1543
|
-
getCount( ): void;
|
|
1544
|
-
indexOfId( id: DataRecordID ): number;
|
|
1545
|
-
getByIndex( index: number ): DataRecord;
|
|
1546
|
-
getIdByIndex( index: number ): DataRecordID;
|
|
1547
|
-
getRecId( rec: DataRecord ): DataRecordID;
|
|
1548
|
-
getById( id: DataRecordID ): DataRecord;
|
|
1549
|
-
getModel( ): void;
|
|
1550
|
-
changed( ): void;
|
|
1551
|
-
forEach( cb: ( rec: DataRecord, index: number ) => any ): void;
|
|
1552
|
-
}
|
|
1553
|
-
|
|
1554
1691
|
// ---------------------------------------
|
|
1555
1692
|
// from /src/components/image/image.ts
|
|
1556
1693
|
|
|
@@ -1863,7 +2000,7 @@ declare module 'x4js' {
|
|
|
1863
2000
|
type IValueCB = ( name: string) => IValue;
|
|
1864
2001
|
|
|
1865
2002
|
export interface PropertyValue {
|
|
1866
|
-
type: 'boolean' | 'number' | 'string' | 'password' | 'options';
|
|
2003
|
+
type: 'boolean' | 'number' | 'string' | 'password' | 'options' | 'label' | 'button';
|
|
1867
2004
|
title?: string;
|
|
1868
2005
|
desc?: string;
|
|
1869
2006
|
name?: string;
|
|
@@ -1953,23 +2090,6 @@ declare module 'x4js' {
|
|
|
1953
2090
|
_on_click( ev: MouseEvent ): void;
|
|
1954
2091
|
}
|
|
1955
2092
|
|
|
1956
|
-
// ---------------------------------------
|
|
1957
|
-
// from /src/components/tickline/tickline.ts
|
|
1958
|
-
|
|
1959
|
-
interface TickLineProps extends ComponentProps {
|
|
1960
|
-
values: number[];
|
|
1961
|
-
min?: number;
|
|
1962
|
-
max?: number;
|
|
1963
|
-
color?: Color;
|
|
1964
|
-
background?: Color;
|
|
1965
|
-
type: "bars" | "line";
|
|
1966
|
-
}
|
|
1967
|
-
|
|
1968
|
-
export class TickLine extends Component<TickLineProps> {
|
|
1969
|
-
constructor( props: TickLineProps );
|
|
1970
|
-
update( ): void;
|
|
1971
|
-
}
|
|
1972
|
-
|
|
1973
2093
|
// ---------------------------------------
|
|
1974
2094
|
// from /src/components/slider/slider.ts
|
|
1975
2095
|
|
|
@@ -2061,10 +2181,12 @@ declare module 'x4js' {
|
|
|
2061
2181
|
@class_ns( "x4" ) export class Tabs extends VBox<TabsProps> {
|
|
2062
2182
|
_list: CTabList;
|
|
2063
2183
|
_stack: StackBox;
|
|
2184
|
+
_current: string;
|
|
2064
2185
|
constructor( props: TabsProps );
|
|
2065
2186
|
selectTab( name: string ): void;
|
|
2066
2187
|
_onclick( ev: TablistClickEvent ): void;
|
|
2067
2188
|
getTab( name: string ): void;
|
|
2189
|
+
getCurTab( ): void;
|
|
2068
2190
|
addTab( item: TabItem ): void;
|
|
2069
2191
|
}
|
|
2070
2192
|
|
|
@@ -2096,23 +2218,19 @@ declare module 'x4js' {
|
|
|
2096
2218
|
// ---------------------------------------
|
|
2097
2219
|
// from /src/components/textedit/textedit.ts
|
|
2098
2220
|
|
|
2099
|
-
|
|
2221
|
+
type TextEditInputs = TextInputProps | NumberProps | DateProps | TimeProps;
|
|
2222
|
+
|
|
2223
|
+
interface TextEditBase {
|
|
2100
2224
|
label: string | UnsafeHtml;
|
|
2101
2225
|
labelWidth?: number;
|
|
2226
|
+
inputWidth?: number;
|
|
2102
2227
|
inputId?: string;
|
|
2103
|
-
type?: "text" | "email" | "password" | "date" | "number";
|
|
2104
|
-
name?: string;
|
|
2105
|
-
readonly?: boolean;
|
|
2106
|
-
required?: boolean;
|
|
2107
|
-
value: string | number;
|
|
2108
|
-
placeholder?: string;
|
|
2109
|
-
autofocus?: boolean;
|
|
2110
2228
|
inputGadgets?: Component[];
|
|
2111
2229
|
inputAttrs?: any;
|
|
2112
|
-
focus?: EventCallback<EvFocus>;
|
|
2113
|
-
change?: EventCallback<EvChange>;
|
|
2114
2230
|
}
|
|
2115
2231
|
|
|
2232
|
+
type TextEditProps = TextEditInputs & TextEditBase;
|
|
2233
|
+
|
|
2116
2234
|
@class_ns( "x4" ) export class TextEdit extends HBox {
|
|
2117
2235
|
input: Input;
|
|
2118
2236
|
constructor( props: TextEditProps );
|
|
@@ -2121,6 +2239,23 @@ declare module 'x4js' {
|
|
|
2121
2239
|
getInput( ): void;
|
|
2122
2240
|
}
|
|
2123
2241
|
|
|
2242
|
+
// ---------------------------------------
|
|
2243
|
+
// from /src/components/tickline/tickline.ts
|
|
2244
|
+
|
|
2245
|
+
interface TickLineProps extends ComponentProps {
|
|
2246
|
+
values: number[];
|
|
2247
|
+
min?: number;
|
|
2248
|
+
max?: number;
|
|
2249
|
+
color?: Color;
|
|
2250
|
+
background?: Color;
|
|
2251
|
+
type: "bars" | "line";
|
|
2252
|
+
}
|
|
2253
|
+
|
|
2254
|
+
export class TickLine extends Component<TickLineProps> {
|
|
2255
|
+
constructor( props: TickLineProps );
|
|
2256
|
+
update( ): void;
|
|
2257
|
+
}
|
|
2258
|
+
|
|
2124
2259
|
// ---------------------------------------
|
|
2125
2260
|
// from /src/components/tooltips/tooltips.ts
|
|
2126
2261
|
|