fwtoolkit 0.1.0-alpha.3 → 0.1.0-alpha.6
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 +56 -8
- package/css/add_remove_dialog.css +18 -0
- package/css/alerts.css +69 -0
- package/css/buttons.css +373 -0
- package/css/colors.css +118 -0
- package/css/common.css +183 -0
- package/css/content_menu.css +105 -0
- package/css/data_table.css +191 -0
- package/css/dialog.css +151 -0
- package/css/dialog_table.css +125 -0
- package/css/faq_dialog.css +16 -0
- package/css/file_selector.css +25 -0
- package/css/forms.css +112 -0
- package/css/loader.css +38 -0
- package/css/overview_menu.css +187 -0
- package/css/pulldown.css +114 -0
- package/css/ui_dialogs.css +144 -0
- package/css/ui_tabs.css +61 -0
- package/dist/basic.d.ts +70 -0
- package/dist/basic.d.ts.map +1 -0
- package/dist/basic.js +447 -0
- package/dist/basic.js.map +1 -0
- package/dist/blob.d.ts +2 -0
- package/dist/blob.d.ts.map +1 -0
- package/dist/blob.js +12 -0
- package/dist/blob.js.map +1 -0
- package/dist/content_menu.d.ts +31 -0
- package/dist/content_menu.d.ts.map +1 -0
- package/dist/content_menu.js +360 -0
- package/dist/content_menu.js.map +1 -0
- package/dist/datatable_bulk.d.ts +14 -0
- package/dist/datatable_bulk.d.ts.map +1 -0
- package/dist/datatable_bulk.js +176 -0
- package/dist/datatable_bulk.js.map +1 -0
- package/dist/dialog.d.ts +18 -0
- package/dist/dialog.d.ts.map +1 -0
- package/dist/dialog.js +395 -0
- package/dist/dialog.js.map +1 -0
- package/dist/events.d.ts +2 -0
- package/dist/events.d.ts.map +1 -0
- package/dist/events.js +11 -0
- package/dist/events.js.map +1 -0
- package/dist/faq_dialog.d.ts +8 -0
- package/dist/faq_dialog.d.ts.map +1 -0
- package/dist/faq_dialog.js +63 -0
- package/dist/faq_dialog.js.map +1 -0
- package/dist/file/dialog.d.ts +27 -0
- package/dist/file/dialog.d.ts.map +1 -0
- package/dist/file/dialog.js +125 -0
- package/dist/file/dialog.js.map +1 -0
- package/dist/file/index.d.ts +5 -0
- package/dist/file/index.d.ts.map +1 -0
- package/dist/file/index.js +6 -0
- package/dist/file/index.js.map +1 -0
- package/dist/file/new_folder_dialog.d.ts +5 -0
- package/dist/file/new_folder_dialog.d.ts.map +1 -0
- package/dist/file/new_folder_dialog.js +34 -0
- package/dist/file/new_folder_dialog.js.map +1 -0
- package/dist/file/selector.d.ts +22 -0
- package/dist/file/selector.d.ts.map +1 -0
- package/dist/file/selector.js +239 -0
- package/dist/file/selector.js.map +1 -0
- package/dist/file/templates.d.ts +5 -0
- package/dist/file/templates.d.ts.map +1 -0
- package/dist/file/templates.js +9 -0
- package/dist/file/templates.js.map +1 -0
- package/dist/file/tools.d.ts +5 -0
- package/dist/file/tools.d.ts.map +1 -0
- package/dist/file/tools.js +51 -0
- package/dist/file/tools.js.map +1 -0
- package/dist/focus.d.ts +3 -0
- package/dist/focus.d.ts.map +1 -0
- package/dist/focus.js +12 -0
- package/dist/focus.js.map +1 -0
- package/dist/index.d.ts +18 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +19 -0
- package/dist/index.js.map +1 -0
- package/dist/network.d.ts +11 -0
- package/dist/network.d.ts.map +1 -0
- package/dist/network.js +113 -0
- package/dist/network.js.map +1 -0
- package/dist/overview_menu.d.ts +27 -0
- package/dist/overview_menu.d.ts.map +1 -0
- package/dist/overview_menu.js +536 -0
- package/dist/overview_menu.js.map +1 -0
- package/dist/settings.d.ts +3 -0
- package/dist/settings.d.ts.map +1 -0
- package/dist/settings.js +16 -0
- package/dist/settings.js.map +1 -0
- package/dist/templates.d.ts +7 -0
- package/dist/templates.d.ts.map +1 -0
- package/dist/templates.js +43 -0
- package/dist/templates.js.map +1 -0
- package/dist/user.d.ts +6 -0
- package/dist/user.d.ts.map +1 -0
- package/dist/user.js +45 -0
- package/dist/user.js.map +1 -0
- package/dist/user_util.d.ts +7 -0
- package/dist/user_util.d.ts.map +1 -0
- package/dist/user_util.js +19 -0
- package/dist/user_util.js.map +1 -0
- package/dist/worker.d.ts +2 -0
- package/dist/worker.d.ts.map +1 -0
- package/dist/worker.js +12 -0
- package/dist/worker.js.map +1 -0
- package/dist/ws.d.ts +46 -0
- package/dist/ws.d.ts.map +1 -0
- package/dist/ws.js +329 -0
- package/dist/ws.js.map +1 -0
- package/package.json +26 -4
- package/src/{basic.js → basic.ts} +1 -0
- package/src/{blob.js → blob.ts} +1 -0
- package/src/{content_menu.js → content_menu.ts} +1 -0
- package/src/{datatable_bulk.js → datatable_bulk.ts} +1 -0
- package/src/{dialog.js → dialog.ts} +1 -0
- package/src/{events.js → events.ts} +1 -0
- package/src/{faq_dialog.js → faq_dialog.ts} +1 -0
- package/src/file/{dialog.js → dialog.ts} +1 -0
- package/src/file/{index.js → index.ts} +1 -0
- package/src/file/{new_folder_dialog.js → new_folder_dialog.ts} +1 -0
- package/src/file/{selector.js → selector.ts} +1 -0
- package/src/file/{templates.js → templates.ts} +1 -0
- package/src/file/{tools.js → tools.ts} +1 -0
- package/src/{focus.js → focus.ts} +1 -0
- package/src/global.d.ts +11 -0
- package/src/{index.js → index.ts} +1 -0
- package/src/{network.js → network.ts} +1 -0
- package/src/{overview_menu.js → overview_menu.ts} +1 -0
- package/src/{settings.js → settings.ts} +1 -0
- package/src/{templates.js → templates.ts} +1 -0
- package/src/{user.js → user.ts} +1 -0
- package/src/{user_util.js → user_util.ts} +1 -0
- package/src/{worker.js → worker.ts} +1 -0
- package/src/{ws.js → ws.ts} +1 -0
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
.ui-widget-overlay {
|
|
2
|
+
position: fixed;
|
|
3
|
+
left: 0;
|
|
4
|
+
top: 0;
|
|
5
|
+
width: 100%;
|
|
6
|
+
height: 100%;
|
|
7
|
+
background-color: rgb(var(--overlay-color));
|
|
8
|
+
z-index: 100;
|
|
9
|
+
backdrop-filter: blur(2px);
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
.ui-widget-overlay.no-blur {
|
|
13
|
+
backdrop-filter: none;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
.ui-dialog {
|
|
17
|
+
position: absolute;
|
|
18
|
+
padding: 19px;
|
|
19
|
+
background-color: var(--cs-light-background);
|
|
20
|
+
border: solid 1px var(--cs-light-border);
|
|
21
|
+
box-shadow: 0 0 10px var(--cs-light-box-shadow);
|
|
22
|
+
overflow: hidden;
|
|
23
|
+
border-radius: 4px;
|
|
24
|
+
font-size: 14px;
|
|
25
|
+
outline: 0;
|
|
26
|
+
z-index: 1000; /* Ensure dialog stays on top */
|
|
27
|
+
user-select: none; /* Prevent interaction with background content */
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
.ui-dialog-titlebar {
|
|
31
|
+
position: relative;
|
|
32
|
+
padding: 0;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
.ui-dialog-title {
|
|
36
|
+
font-size: 16px;
|
|
37
|
+
font-weight: 700;
|
|
38
|
+
text-transform: none;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
.ui-dialog-buttonpane {
|
|
42
|
+
padding-top: 20px;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
.ui-button {
|
|
46
|
+
font-size: 14px;
|
|
47
|
+
line-height: 1em;
|
|
48
|
+
border: none;
|
|
49
|
+
background: none;
|
|
50
|
+
padding: 0;
|
|
51
|
+
margin: 0;
|
|
52
|
+
cursor: pointer;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
.ui-dialog-titlebar-close,
|
|
56
|
+
.ui-dialog-titlebar-help {
|
|
57
|
+
position: absolute;
|
|
58
|
+
right: 0.3em;
|
|
59
|
+
top: 50%;
|
|
60
|
+
width: 20px;
|
|
61
|
+
margin: -10px 0 0;
|
|
62
|
+
padding: 1px;
|
|
63
|
+
height: 20px;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
.ui-button-icon-only {
|
|
67
|
+
width: 2em;
|
|
68
|
+
box-sizing: border-box;
|
|
69
|
+
text-indent: -9999px;
|
|
70
|
+
white-space: nowrap;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
.ui-button-icon-only .ui-icon {
|
|
74
|
+
position: absolute;
|
|
75
|
+
top: 50%;
|
|
76
|
+
left: 50%;
|
|
77
|
+
margin-top: -8px;
|
|
78
|
+
margin-left: -8px;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
.ui-button-icon-only .ui-icon::before {
|
|
82
|
+
text-indent: 5019px;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
/* Style for the close button specifically */
|
|
86
|
+
.ui-dialog-titlebar-close {
|
|
87
|
+
order: 99; /* Push to end of flex container */
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
.ui-dialog-titlebar-close:hover,
|
|
91
|
+
.ui-dialog-titlebar-help:hover {
|
|
92
|
+
color: var(--cs-dark-hover);
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
.ui-icon-closethick::before {
|
|
96
|
+
width: 0.7em;
|
|
97
|
+
height: 1em;
|
|
98
|
+
padding-top: 5px;
|
|
99
|
+
content: "\f00d";
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
.ui-icon-help::before {
|
|
103
|
+
width: 0.7em;
|
|
104
|
+
height: 1em;
|
|
105
|
+
padding-top: 5px;
|
|
106
|
+
content: "\f128";
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
.ui-dialog-content {
|
|
110
|
+
position: relative;
|
|
111
|
+
margin-top: 24px;
|
|
112
|
+
overflow: auto;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
.ui-dialog-buttonset {
|
|
116
|
+
position: relative;
|
|
117
|
+
text-align: right;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
.ui-dialog-buttonset .fw-button {
|
|
121
|
+
margin-left: 6px;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
/* Make focus visible on all focusable elements */
|
|
125
|
+
.ui-dialog *:focus {
|
|
126
|
+
outline: 2px solid var(--cs-dark-background);
|
|
127
|
+
outline-offset: 2px;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
/* Style the title bar buttons specifically */
|
|
131
|
+
.ui-dialog-titlebar .ui-button-icon-only {
|
|
132
|
+
position: absolute;
|
|
133
|
+
top: 50%;
|
|
134
|
+
transform: translateY(-50%);
|
|
135
|
+
padding: 8px;
|
|
136
|
+
background: transparent;
|
|
137
|
+
border: none;
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
.ui-dialog-titlebar .ui-button-icon-only:focus {
|
|
141
|
+
outline: 2px solid var(--cs-dark-text);
|
|
142
|
+
outline-offset: 2px;
|
|
143
|
+
border-radius: 4px;
|
|
144
|
+
}
|
package/css/ui_tabs.css
ADDED
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
.ui-tabs-nav {
|
|
2
|
+
display: flex;
|
|
3
|
+
border-bottom: 2px solid var(--tabs-border-color);
|
|
4
|
+
margin-bottom: 16px;
|
|
5
|
+
height: auto;
|
|
6
|
+
width: auto;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
.ui-tabs-nav > li {
|
|
10
|
+
position: relative;
|
|
11
|
+
padding: 6px 18px;
|
|
12
|
+
cursor: pointer;
|
|
13
|
+
font-weight: bold;
|
|
14
|
+
color: var(--tabs-text-inactive);
|
|
15
|
+
border-bottom: 3px solid transparent;
|
|
16
|
+
margin-bottom: -2px;
|
|
17
|
+
transition: color 0.15s, border-color 0.15s;
|
|
18
|
+
float: none;
|
|
19
|
+
margin-right: 0;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
.ui-tabs-nav > li:hover {
|
|
23
|
+
color: var(--tabs-text-active);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
.ui-tabs-nav .fw-button {
|
|
27
|
+
color: var(--tabs-text-inactive);
|
|
28
|
+
border: none;
|
|
29
|
+
background: transparent;
|
|
30
|
+
padding: 0;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
.ui-tabs-nav .ui-tabs-active,
|
|
34
|
+
.ui-tabs-nav .current-tab {
|
|
35
|
+
color: var(--tabs-text-active);
|
|
36
|
+
border-bottom-color: var(--tabs-indicator-color);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
.ui-tabs-nav .ui-tabs-active .fw-button,
|
|
40
|
+
.ui-tabs-nav .current-tab .fw-button {
|
|
41
|
+
color: var(--tabs-text-active);
|
|
42
|
+
background: transparent;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
.ui-tabs-nav > li:hover .fw-button {
|
|
46
|
+
color: var(--tabs-text-active);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
.ui-tabs-panel {
|
|
50
|
+
height: auto;
|
|
51
|
+
overflow: auto;
|
|
52
|
+
min-height: 220px;
|
|
53
|
+
padding: 0;
|
|
54
|
+
margin-top: 24px;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
.tab-link-inner {
|
|
58
|
+
display: block;
|
|
59
|
+
margin-left: 20px;
|
|
60
|
+
color: var(--cs-light-text-secondary);
|
|
61
|
+
}
|
package/dist/basic.d.ts
ADDED
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { Dialog } from "./dialog.js";
|
|
2
|
+
/** Creates a styled select with a contentmenu from a select tag.
|
|
3
|
+
* @param select The select-tag which is to be replaced.
|
|
4
|
+
* @param options
|
|
5
|
+
*/
|
|
6
|
+
export declare const dropdownSelect: (selectDOM: any, { onChange, width, value, button }: {
|
|
7
|
+
onChange?: (_newValue: any) => void;
|
|
8
|
+
width?: boolean;
|
|
9
|
+
value?: boolean;
|
|
10
|
+
button?: boolean;
|
|
11
|
+
}) => {
|
|
12
|
+
setValue: () => void;
|
|
13
|
+
getValue: () => boolean;
|
|
14
|
+
enable?: undefined;
|
|
15
|
+
disable?: undefined;
|
|
16
|
+
} | {
|
|
17
|
+
setValue: (newValue: any) => void;
|
|
18
|
+
getValue: () => boolean;
|
|
19
|
+
enable: () => any;
|
|
20
|
+
disable: () => any;
|
|
21
|
+
};
|
|
22
|
+
/** Checks or unchecks a checkable label. This is used for example for bibliography categories when editing bibliography items.
|
|
23
|
+
* @param label The node who's parent has to be checked or unchecked.
|
|
24
|
+
*/
|
|
25
|
+
export declare const setCheckableLabel: (labelEl: any) => void;
|
|
26
|
+
/** Cover the page signaling to the user to wait.
|
|
27
|
+
*/
|
|
28
|
+
export declare const activateWait: (full?: boolean, message?: string) => void;
|
|
29
|
+
/** Remove the wait cover.
|
|
30
|
+
*/
|
|
31
|
+
export declare const deactivateWait: () => void;
|
|
32
|
+
/** Show a message to the user.
|
|
33
|
+
* @param alertType The type of message that is shown (error, warning, info or success).
|
|
34
|
+
* @param alertMsg The message text.
|
|
35
|
+
*/
|
|
36
|
+
export declare const addAlert: (alertType: any, alertMsg: any) => void;
|
|
37
|
+
export declare const showSystemMessage: (message: any, buttons?: {
|
|
38
|
+
type: string;
|
|
39
|
+
}[]) => Dialog;
|
|
40
|
+
export declare const localizeDate: (milliseconds: any, type?: string) => any;
|
|
41
|
+
/**
|
|
42
|
+
* Turn string literals into single line, removing spaces at start of line
|
|
43
|
+
*/
|
|
44
|
+
export declare const noSpaceTmp: (strings: any, ...values: any[]) => string;
|
|
45
|
+
export declare const escapeText: (text: any) => any;
|
|
46
|
+
/**
|
|
47
|
+
* Return an inline info-icon with a hover tooltip containing the given HTML.
|
|
48
|
+
* Use only with trusted HTML content.
|
|
49
|
+
*
|
|
50
|
+
* @param {string} html - The tooltip content (HTML string)
|
|
51
|
+
* @returns {string} HTML for the info tooltip
|
|
52
|
+
*/
|
|
53
|
+
export declare const infoTooltip: (html: any) => string;
|
|
54
|
+
export declare const unescapeText: (text: any) => any;
|
|
55
|
+
/**
|
|
56
|
+
* Return a cancel promise if you need to cancel a promise chain. Import as
|
|
57
|
+
* ES6 promises are not (yet) cancelable.
|
|
58
|
+
*/
|
|
59
|
+
export declare const cancelPromise: () => Promise<unknown>;
|
|
60
|
+
export declare const findTarget: (event: any, selector: any, el?: {}) => boolean;
|
|
61
|
+
export declare const whenReady: () => Promise<unknown>;
|
|
62
|
+
export declare const setDocTitle: (title: any, app: any) => void;
|
|
63
|
+
export declare const langName: (code: any) => any;
|
|
64
|
+
/** Enable ISO date picker on a text input by overlaying a native date picker.
|
|
65
|
+
* The text input displays ISO format (YYYY-MM-DD) while using the native picker for selection.
|
|
66
|
+
* @param {HTMLInputElement} inputEl - The text input element to enhance
|
|
67
|
+
* @param {boolean} minToday - If true, sets min date to today (default: false)
|
|
68
|
+
*/
|
|
69
|
+
export declare const enableDatePicker: (inputEl: any, minToday?: boolean) => void;
|
|
70
|
+
//# sourceMappingURL=basic.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"basic.d.ts","sourceRoot":"","sources":["../src/basic.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,MAAM,EAAC,MAAM,aAAa,CAAA;AAGlC;;;GAGG;AAEH,eAAO,MAAM,cAAc,GACvB,cAAS,EACT;;;;;CAA0E;;;;;;;;;;CAyI7E,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAAG,YAAO,SAMvC,CAAA;AAID;GACG;AACH,eAAO,MAAM,YAAY,GAAI,cAAY,EAAE,gBAAY,SA0BtD,CAAA;AAED;GACG;AACH,eAAO,MAAM,cAAc,YAc1B,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,QAAQ,GAAI,cAAS,EAAE,aAAQ,SA6B3C,CAAA;AAGD,eAAO,MAAM,iBAAiB,GAAI,YAAO,EAAE;;GAA2B,WAQrE,CAAA;AAWD,eAAO,MAAM,YAAY,GAAI,iBAAY,EAAE,aAAa,QAiCvD,CAAA;AAED;;GAEG;AAEH,eAAO,MAAM,UAAU,GAAI,YAAO,EAAE,GAAG,aAAM,WAkB5C,CAAA;AAED,eAAO,MAAM,UAAU,GAAG,SAAI,QAQ7B,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,GAAG,SAAI,WACoG,CAAA;AAEnI,eAAO,MAAM,YAAY,GAAG,SAAI,QAKD,CAAA;AAC/B;;;GAGG;AAEH,eAAO,MAAM,aAAa,wBAA8B,CAAA;AAIxD,eAAO,MAAM,UAAU,GAAI,UAAK,EAAE,aAAQ,EAAE,OAAO,YAOlD,CAAA;AAGD,eAAO,MAAM,SAAS,wBAYrB,CAAA;AAED,eAAO,MAAM,WAAW,GAAI,UAAK,EAAE,QAAG,SAKrC,CAAA;AAyBD,eAAO,MAAM,QAAQ,GAAG,SAAI,QAE3B,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,GAAI,YAAO,EAAE,kBAAgB,SA0EzD,CAAA"}
|