x4js 2.0.12 → 2.0.13
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/README.md +15 -15
- package/lib/README.txt +15 -15
- package/lib/cjs/x4.css +1 -1
- package/lib/cjs/x4.js +1 -1
- package/lib/esm/x4.css +1 -1
- package/lib/esm/x4.mjs +1 -1
- package/lib/src/components/base.scss +25 -26
- package/lib/src/components/boxes/boxes.module.scss +37 -37
- package/lib/src/components/boxes/boxes.ts +129 -125
- package/lib/src/components/breadcrumb/breadcrumb.scss +28 -0
- package/lib/src/components/breadcrumb/breadcrumb.ts +84 -0
- package/lib/src/components/breadcrumb/chevron-right.svg +1 -0
- package/lib/src/components/btngroup/btngroup.module.scss +28 -28
- package/lib/src/components/btngroup/btngroup.ts +119 -101
- package/lib/src/components/button/button.module.scss +154 -153
- package/lib/src/components/button/button.ts +117 -117
- package/lib/src/components/calendar/calendar.module.scss +162 -162
- package/lib/src/components/calendar/calendar.ts +326 -325
- package/lib/src/components/checkbox/check.svg +3 -3
- package/lib/src/components/checkbox/checkbox.module.scss +141 -141
- package/lib/src/components/checkbox/checkbox.ts +125 -124
- package/lib/src/components/colorinput/colorinput.module.scss +64 -64
- package/lib/src/components/colorinput/colorinput.ts +90 -87
- package/lib/src/components/colorpicker/colorpicker.module.scss +132 -132
- package/lib/src/components/colorpicker/colorpicker.ts +481 -476
- package/lib/src/components/combobox/combobox.module.scss +123 -120
- package/lib/src/components/combobox/combobox.ts +192 -190
- package/lib/src/components/combobox/updown.svg +3 -3
- package/lib/src/components/components.ts +34 -0
- package/lib/src/components/dialog/dialog.module.scss +71 -71
- package/lib/src/components/dialog/dialog.ts +94 -92
- package/lib/src/components/form/form.module.scss +34 -34
- package/lib/src/components/form/form.ts +41 -36
- package/lib/src/components/grid/datastore.ts +1298 -0
- package/lib/src/components/grid/gridview.ts +1108 -0
- package/lib/src/components/grid/memdb.ts +325 -0
- package/lib/src/components/header/header.module.scss +39 -39
- package/lib/src/components/header/header.ts +129 -123
- package/lib/src/components/icon/icon.module.scss +29 -29
- package/lib/src/components/icon/icon.ts +136 -134
- package/lib/src/components/image/image.module.scss +20 -20
- package/lib/src/components/image/image.ts +68 -66
- package/lib/src/components/input/input.module.scss +69 -69
- package/lib/src/components/input/input.ts +275 -274
- package/lib/src/components/label/label.module.scss +58 -52
- package/lib/src/components/label/label.ts +64 -55
- package/lib/src/components/link/link.ts +78 -0
- package/lib/src/components/listbox/listbox.module.scss +103 -103
- package/lib/src/components/listbox/listbox.ts +431 -427
- package/lib/src/components/menu/menu.module.scss +107 -107
- package/lib/src/components/menu/menu.ts +171 -168
- package/lib/src/components/messages/messages.module.scss +48 -47
- package/lib/src/components/messages/messages.ts +68 -63
- package/lib/src/components/normalize.scss +386 -386
- package/lib/src/components/notification/notification.module.scss +81 -81
- package/lib/src/components/notification/notification.ts +109 -108
- package/lib/src/components/panel/panel.module.scss +47 -47
- package/lib/src/components/panel/panel.ts +57 -56
- package/lib/src/components/popup/popup.module.scss +43 -43
- package/lib/src/components/popup/popup.ts +396 -395
- package/lib/src/components/progress/progress.module.scss +56 -56
- package/lib/src/components/progress/progress.ts +43 -42
- package/lib/src/components/rating/rating.module.scss +22 -22
- package/lib/src/components/rating/rating.ts +131 -125
- package/lib/src/components/shared.scss +90 -76
- package/lib/src/components/sizers/sizer.module.scss +89 -89
- package/lib/src/components/sizers/sizer.ts +123 -119
- package/lib/src/components/slider/slider.module.scss +70 -70
- package/lib/src/components/slider/slider.ts +147 -142
- package/lib/src/components/switch/switch.module.scss +126 -126
- package/lib/src/components/switch/switch.ts +61 -55
- package/lib/src/components/tabs/tabs.module.scss +46 -46
- package/lib/src/components/tabs/tabs.ts +168 -157
- package/lib/src/components/textarea/textarea.module.scss +59 -59
- package/lib/src/components/textarea/textarea.ts +60 -54
- package/lib/src/components/textedit/textedit.module.scss +113 -113
- package/lib/src/components/textedit/textedit.ts +83 -82
- package/lib/src/components/themes.scss +81 -77
- package/lib/src/components/tooltips/tooltips.scss +50 -50
- package/lib/src/components/tooltips/tooltips.ts +103 -102
- package/lib/src/components/treeview/treeview.module.scss +115 -115
- package/lib/src/components/treeview/treeview.ts +410 -403
- package/lib/src/components/viewport/viewport.module.scss +24 -24
- package/lib/src/components/viewport/viewport.ts +41 -38
- package/lib/src/core/component.ts +1002 -979
- package/lib/src/core/core_application.ts +44 -0
- package/lib/src/core/core_colors.ts +249 -249
- package/lib/src/core/core_dom.ts +471 -471
- package/lib/src/core/core_dragdrop.ts +200 -200
- package/lib/src/core/core_element.ts +97 -97
- package/lib/src/core/core_events.ts +149 -149
- package/lib/src/core/core_i18n.ts +377 -377
- package/lib/src/core/core_router.ts +221 -221
- package/lib/src/core/core_styles.ts +214 -214
- package/lib/src/core/core_svg.ts +550 -550
- package/lib/src/core/core_tools.ts +688 -673
- package/lib/src/demo/assets/radio.svg +3 -3
- package/lib/src/demo/index.html +11 -11
- package/lib/src/demo/main.scss +21 -21
- package/lib/src/demo/main.tsx +323 -323
- package/lib/src/types/scss.d.ts +4 -4
- package/lib/src/types/x4react.d.ts +8 -8
- package/lib/src/x4.scss +18 -18
- package/lib/src/x4.ts +31 -62
- package/lib/styles/x4.css +1 -1
- package/lib/types/x4js.d.ts +100 -49
- package/package.json +2 -3
- package/src/x4.ts +31 -62
|
@@ -1,71 +1,71 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ___ ___ __
|
|
3
|
-
* \ \/ / / _
|
|
4
|
-
* \ / /_| |_
|
|
5
|
-
* / \____ _|
|
|
6
|
-
* /__/\__\ |_|
|
|
7
|
-
*
|
|
8
|
-
* @file dialog.scss
|
|
9
|
-
* @author Etienne Cochard
|
|
10
|
-
*
|
|
11
|
-
* @copyright (c) 2024 R-libre ingenierie
|
|
12
|
-
*
|
|
13
|
-
* Use of this source code is governed by an MIT-style license
|
|
14
|
-
* that can be found in the LICENSE file or at https://opensource.org/licenses/MIT.
|
|
15
|
-
**/
|
|
16
|
-
|
|
17
|
-
@import "../shared.scss";
|
|
18
|
-
|
|
19
|
-
:root {
|
|
20
|
-
--color-dialog-caption: var( --color-primary-a80 );
|
|
21
|
-
--color-dialog-caption-text: var( --color-primary-a0 );
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
.x4dialog {
|
|
25
|
-
@extend .shadow-xl, .vbox;
|
|
26
|
-
|
|
27
|
-
position: absolute;
|
|
28
|
-
background-color: white;
|
|
29
|
-
border: 1px solid var( --border-dark );
|
|
30
|
-
min-width: min-content;
|
|
31
|
-
min-height: min-content;
|
|
32
|
-
|
|
33
|
-
&> .caption {
|
|
34
|
-
padding: 8px;
|
|
35
|
-
background-color: var(--color-dialog-caption);
|
|
36
|
-
|
|
37
|
-
& > #title {
|
|
38
|
-
@extend .flex;
|
|
39
|
-
color: var(--color-dialog-caption-text);
|
|
40
|
-
font-weight: bold;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
& > #closebox {
|
|
44
|
-
margin: 0;
|
|
45
|
-
padding: 4px;
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
&> .form {
|
|
50
|
-
min-height: 128px;
|
|
51
|
-
min-width: 450px;
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
&> #btnbar {
|
|
55
|
-
border-top: 1px solid var( --color-separation );
|
|
56
|
-
padding: 6px 16px;
|
|
57
|
-
|
|
58
|
-
justify-content: end;
|
|
59
|
-
gap: 8px;
|
|
60
|
-
|
|
61
|
-
&> .x4button {
|
|
62
|
-
min-width: 80px;
|
|
63
|
-
|
|
64
|
-
.x-simple-label {
|
|
65
|
-
text-align: center;
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
|
|
1
|
+
/**
|
|
2
|
+
* ___ ___ __
|
|
3
|
+
* \ \/ / / _
|
|
4
|
+
* \ / /_| |_
|
|
5
|
+
* / \____ _|
|
|
6
|
+
* /__/\__\ |_|
|
|
7
|
+
*
|
|
8
|
+
* @file dialog.scss
|
|
9
|
+
* @author Etienne Cochard
|
|
10
|
+
*
|
|
11
|
+
* @copyright (c) 2024 R-libre ingenierie
|
|
12
|
+
*
|
|
13
|
+
* Use of this source code is governed by an MIT-style license
|
|
14
|
+
* that can be found in the LICENSE file or at https://opensource.org/licenses/MIT.
|
|
15
|
+
**/
|
|
16
|
+
|
|
17
|
+
@import "../shared.scss";
|
|
18
|
+
|
|
19
|
+
:root {
|
|
20
|
+
--color-dialog-caption: var( --color-primary-a80 );
|
|
21
|
+
--color-dialog-caption-text: var( --color-primary-a0 );
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
.x4dialog {
|
|
25
|
+
@extend .shadow-xl, .vbox;
|
|
26
|
+
|
|
27
|
+
position: absolute;
|
|
28
|
+
background-color: white;
|
|
29
|
+
border: 1px solid var( --border-dark );
|
|
30
|
+
min-width: min-content;
|
|
31
|
+
min-height: min-content;
|
|
32
|
+
|
|
33
|
+
&> .caption {
|
|
34
|
+
padding: 8px;
|
|
35
|
+
background-color: var(--color-dialog-caption);
|
|
36
|
+
|
|
37
|
+
& > #title {
|
|
38
|
+
@extend .flex;
|
|
39
|
+
color: var(--color-dialog-caption-text);
|
|
40
|
+
font-weight: bold;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
& > #closebox {
|
|
44
|
+
margin: 0;
|
|
45
|
+
padding: 4px;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
&> .form {
|
|
50
|
+
min-height: 128px;
|
|
51
|
+
min-width: 450px;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
&> #btnbar {
|
|
55
|
+
border-top: 1px solid var( --color-separation );
|
|
56
|
+
padding: 6px 16px;
|
|
57
|
+
|
|
58
|
+
justify-content: end;
|
|
59
|
+
gap: 8px;
|
|
60
|
+
|
|
61
|
+
&> .x4button {
|
|
62
|
+
min-width: 80px;
|
|
63
|
+
|
|
64
|
+
.x-simple-label {
|
|
65
|
+
text-align: center;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
|
|
@@ -1,92 +1,94 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ___ ___ __
|
|
3
|
-
* \ \/ / / _
|
|
4
|
-
* \ / /_| |_
|
|
5
|
-
* / \____ _|
|
|
6
|
-
* /__/\__\ |_|
|
|
7
|
-
*
|
|
8
|
-
* @file dialog.ts
|
|
9
|
-
* @author Etienne Cochard
|
|
10
|
-
*
|
|
11
|
-
* @copyright (c) 2024 R-libre ingenierie
|
|
12
|
-
*
|
|
13
|
-
* Use of this source code is governed by an MIT-style license
|
|
14
|
-
* that can be found in the LICENSE file or at https://opensource.org/licenses/MIT.
|
|
15
|
-
**/
|
|
16
|
-
|
|
17
|
-
import { Form } from "../form/form.js"
|
|
18
|
-
import { PopupEvents, PopupProps, Popup } from '../popup/popup.js';
|
|
19
|
-
import { BtnGroup, BtnGroupItem } from "../btngroup/btngroup"
|
|
20
|
-
import { HBox } from '../boxes/boxes.js';
|
|
21
|
-
import { Label } from '../label/label.js';
|
|
22
|
-
import { ComponentContent, ComponentEvent } from '../../core/component.js';
|
|
23
|
-
import { Button } from '../button/button.js';
|
|
24
|
-
|
|
25
|
-
import "./dialog.module.scss"
|
|
26
|
-
import close_icon from "./xmark-sharp-light.svg";
|
|
27
|
-
import { CoreEvent } from '@core/core_events.js';
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
1
|
+
/**
|
|
2
|
+
* ___ ___ __
|
|
3
|
+
* \ \/ / / _
|
|
4
|
+
* \ / /_| |_
|
|
5
|
+
* / \____ _|
|
|
6
|
+
* /__/\__\ |_|
|
|
7
|
+
*
|
|
8
|
+
* @file dialog.ts
|
|
9
|
+
* @author Etienne Cochard
|
|
10
|
+
*
|
|
11
|
+
* @copyright (c) 2024 R-libre ingenierie
|
|
12
|
+
*
|
|
13
|
+
* Use of this source code is governed by an MIT-style license
|
|
14
|
+
* that can be found in the LICENSE file or at https://opensource.org/licenses/MIT.
|
|
15
|
+
**/
|
|
16
|
+
|
|
17
|
+
import { Form } from "../form/form.js"
|
|
18
|
+
import { PopupEvents, PopupProps, Popup } from '../popup/popup.js';
|
|
19
|
+
import { BtnGroup, BtnGroupItem } from "../btngroup/btngroup"
|
|
20
|
+
import { HBox } from '../boxes/boxes.js';
|
|
21
|
+
import { Label } from '../label/label.js';
|
|
22
|
+
import { ComponentContent, ComponentEvent } from '../../core/component.js';
|
|
23
|
+
import { Button } from '../button/button.js';
|
|
24
|
+
|
|
25
|
+
import "./dialog.module.scss"
|
|
26
|
+
import close_icon from "./xmark-sharp-light.svg";
|
|
27
|
+
import { CoreEvent } from '@core/core_events.js';
|
|
28
|
+
import { class_ns } from '@core/core_tools.js';
|
|
29
|
+
|
|
30
|
+
export interface DialogProps extends PopupProps {
|
|
31
|
+
icon?: string;
|
|
32
|
+
title: string;
|
|
33
|
+
form: Form;
|
|
34
|
+
buttons: BtnGroupItem[];
|
|
35
|
+
closable?: boolean;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
export interface EvBtnClick extends CoreEvent {
|
|
40
|
+
button: string;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
interface DialogEvents extends PopupEvents {
|
|
44
|
+
btnclick: EvBtnClick;
|
|
45
|
+
close: ComponentEvent;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
*
|
|
50
|
+
*/
|
|
51
|
+
|
|
52
|
+
@class_ns( "x4" )
|
|
53
|
+
export class Dialog<P extends DialogProps = DialogProps, E extends DialogEvents = DialogEvents> extends Popup<P,E> {
|
|
54
|
+
|
|
55
|
+
constructor( props: P ) {
|
|
56
|
+
super( props );
|
|
57
|
+
|
|
58
|
+
this.appendContent( [
|
|
59
|
+
new HBox( {
|
|
60
|
+
cls: "caption",
|
|
61
|
+
content: [
|
|
62
|
+
new Label( {
|
|
63
|
+
id: "title",
|
|
64
|
+
cls: "caption-element",
|
|
65
|
+
icon: props.icon,
|
|
66
|
+
text: props.title
|
|
67
|
+
} ),
|
|
68
|
+
props.closable ? new Button( {
|
|
69
|
+
id: "closebox",
|
|
70
|
+
icon: close_icon,
|
|
71
|
+
click: ( ) => { this.close() }
|
|
72
|
+
} ) : null,
|
|
73
|
+
]
|
|
74
|
+
}),
|
|
75
|
+
props.form,
|
|
76
|
+
new BtnGroup( {
|
|
77
|
+
id: "btnbar",
|
|
78
|
+
reverse: true,
|
|
79
|
+
items: props.buttons,
|
|
80
|
+
btnclick: ( ev ) => { this.fire( "btnclick", ev ) }
|
|
81
|
+
})
|
|
82
|
+
])
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
display( ) {
|
|
86
|
+
super.displayCenter( );
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
override close( ) {
|
|
90
|
+
this.fire( "close", {} );
|
|
91
|
+
super.close( );
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
|
|
@@ -1,34 +1,34 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ___ ___ __
|
|
3
|
-
* \ \/ / / _
|
|
4
|
-
* \ / /_| |_
|
|
5
|
-
* / \____ _|
|
|
6
|
-
* /__/\__\ |_|
|
|
7
|
-
*
|
|
8
|
-
* @file form.module.scss
|
|
9
|
-
* @author Etienne Cochard
|
|
10
|
-
*
|
|
11
|
-
* @copyright (c) 2024 R-libre ingenierie
|
|
12
|
-
*
|
|
13
|
-
* Use of this source code is governed by an MIT-style license
|
|
14
|
-
* that can be found in the LICENSE file or at https://opensource.org/licenses/MIT.
|
|
15
|
-
**/
|
|
16
|
-
|
|
17
|
-
@use "../shared.scss";
|
|
18
|
-
|
|
19
|
-
:root {
|
|
20
|
-
--form--background: var( --background-primary );
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
.x4form {
|
|
24
|
-
@extend .vbox;
|
|
25
|
-
@extend .flex;
|
|
26
|
-
|
|
27
|
-
padding: 16px;
|
|
28
|
-
background-color: var( --color-form );
|
|
29
|
-
|
|
30
|
-
&>.xcontainer {
|
|
31
|
-
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
|
|
1
|
+
/**
|
|
2
|
+
* ___ ___ __
|
|
3
|
+
* \ \/ / / _
|
|
4
|
+
* \ / /_| |_
|
|
5
|
+
* / \____ _|
|
|
6
|
+
* /__/\__\ |_|
|
|
7
|
+
*
|
|
8
|
+
* @file form.module.scss
|
|
9
|
+
* @author Etienne Cochard
|
|
10
|
+
*
|
|
11
|
+
* @copyright (c) 2024 R-libre ingenierie
|
|
12
|
+
*
|
|
13
|
+
* Use of this source code is governed by an MIT-style license
|
|
14
|
+
* that can be found in the LICENSE file or at https://opensource.org/licenses/MIT.
|
|
15
|
+
**/
|
|
16
|
+
|
|
17
|
+
@use "../shared.scss";
|
|
18
|
+
|
|
19
|
+
:root {
|
|
20
|
+
--form--background: var( --background-primary );
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.x4form {
|
|
24
|
+
@extend .vbox;
|
|
25
|
+
@extend .flex;
|
|
26
|
+
|
|
27
|
+
padding: 16px;
|
|
28
|
+
background-color: var( --color-form );
|
|
29
|
+
|
|
30
|
+
&>.xcontainer {
|
|
31
|
+
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
|
|
@@ -1,36 +1,41 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ___ ___ __
|
|
3
|
-
* \ \/ / / _
|
|
4
|
-
* \ / /_| |_
|
|
5
|
-
* / \____ _|
|
|
6
|
-
* /__/\__\ |_|
|
|
7
|
-
*
|
|
8
|
-
* @file form.ts
|
|
9
|
-
* @author Etienne Cochard
|
|
10
|
-
*
|
|
11
|
-
* @copyright (c) 2024 R-libre ingenierie
|
|
12
|
-
*
|
|
13
|
-
* Use of this source code is governed by an MIT-style license
|
|
14
|
-
* that can be found in the LICENSE file or at https://opensource.org/licenses/MIT.
|
|
15
|
-
**/
|
|
16
|
-
|
|
17
|
-
import {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
type
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
const
|
|
33
|
-
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
|
|
1
|
+
/**
|
|
2
|
+
* ___ ___ __
|
|
3
|
+
* \ \/ / / _
|
|
4
|
+
* \ / /_| |_
|
|
5
|
+
* / \____ _|
|
|
6
|
+
* /__/\__\ |_|
|
|
7
|
+
*
|
|
8
|
+
* @file form.ts
|
|
9
|
+
* @author Etienne Cochard
|
|
10
|
+
*
|
|
11
|
+
* @copyright (c) 2024 R-libre ingenierie
|
|
12
|
+
*
|
|
13
|
+
* Use of this source code is governed by an MIT-style license
|
|
14
|
+
* that can be found in the LICENSE file or at https://opensource.org/licenses/MIT.
|
|
15
|
+
**/
|
|
16
|
+
|
|
17
|
+
import { class_ns } from '@core/core_tools.js';
|
|
18
|
+
import { Box, BoxProps } from '../boxes/boxes';
|
|
19
|
+
|
|
20
|
+
import "./form.module.scss"
|
|
21
|
+
|
|
22
|
+
type FormValue = string | number | boolean;
|
|
23
|
+
type FormValues = Record<string,FormValue>;
|
|
24
|
+
|
|
25
|
+
export interface FormProps extends BoxProps {
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
@class_ns( "x4" )
|
|
29
|
+
export class Form<P extends FormProps = FormProps> extends Box<P> {
|
|
30
|
+
|
|
31
|
+
setValues( values: FormValues ) {
|
|
32
|
+
const items = this.queryAll( "input[name]" );
|
|
33
|
+
console.log( items );
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
getValues( ): FormValues {
|
|
37
|
+
const result: FormValues = {};
|
|
38
|
+
return result;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
|