nexus-shared 3.0.0 → 3.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +442 -0
- package/README.md +1123 -1000
- package/dist/Client.Index.d.ts +6 -0
- package/dist/Client.Index.js +6 -0
- package/dist/Components/Chats/ChatParts.d.ts +2 -2
- package/dist/Components/Chats/ChatParts.js +3 -7
- package/dist/Components/Chats/ChatThread.js +3 -3
- package/dist/Components/Documents/Button.d.ts +6 -1
- package/dist/Components/Documents/Button.js +2 -2
- package/dist/Components/Documents/Menu.js +21 -9
- package/dist/Components/Documents/SplitButton.d.ts +3 -1
- package/dist/Components/Documents/SplitButton.js +7 -5
- package/dist/Components/Documents/TabButtons.d.ts +5 -2
- package/dist/Components/Documents/TabButtons.js +2 -2
- package/dist/Components/Forms/ApiForm.d.ts +1 -1
- package/dist/Components/Forms/ApiForm.js +1 -1
- package/dist/Components/Forms/Crud.js +486 -206
- package/dist/Components/Forms/CrudHistory.d.ts +66 -0
- package/dist/Components/Forms/CrudHistory.js +140 -0
- package/dist/Components/Forms/CrudParts.d.ts +5 -1
- package/dist/Components/Forms/CrudParts.js +38 -5
- package/dist/Components/Forms/ExcelImport.d.ts +23 -7
- package/dist/Components/Forms/ExcelImport.js +189 -60
- package/dist/Components/Forms/Form.js +9 -14
- package/dist/Components/Forms/SubmitForm.d.ts +11 -2
- package/dist/Components/Forms/SubmitForm.js +23 -12
- package/dist/Components/Inputs/CodeBox.d.ts +69 -0
- package/dist/Components/Inputs/CodeBox.js +316 -0
- package/dist/Components/Inputs/DatePicker.js +4 -1
- package/dist/Components/Inputs/DateRangePicker.js +4 -1
- package/dist/Components/Inputs/DateTimePicker.js +4 -1
- package/dist/Components/Inputs/Dropdown.js +4 -1
- package/dist/Components/Inputs/DropdownParts.d.ts +1 -1
- package/dist/Components/Inputs/DropdownParts.js +4 -6
- package/dist/Components/Inputs/InputRenderer.js +3 -0
- package/dist/Components/Inputs/NumberBox.js +26 -2
- package/dist/Components/Inputs/RowsInput.js +2 -2
- package/dist/Components/Inputs/Slider.js +4 -1
- package/dist/Components/Inputs/TabularForm.js +42 -10
- package/dist/Components/Inputs/TextArea.js +4 -1
- package/dist/Components/Inputs/TextBox.js +4 -1
- package/dist/Components/Inputs/TimePanel.js +4 -3
- package/dist/Components/Inputs/TimePicker.js +4 -1
- package/dist/Components/Inputs/TreeView.d.ts +55 -5
- package/dist/Components/Inputs/TreeView.js +372 -23
- package/dist/Components/Layouts/Popup.js +1 -4
- package/dist/Components/Layouts/ThemePicker.d.ts +21 -3
- package/dist/Components/Layouts/ThemePicker.js +89 -6
- package/dist/Components/Layouts/ThemeScript.d.ts +4 -2
- package/dist/Components/Layouts/ThemeScript.js +4 -2
- package/dist/Components/Layouts/ThemeSwitcher.d.ts +6 -3
- package/dist/Components/Layouts/ThemeSwitcher.js +9 -8
- package/dist/Components/Viewers/Avatar.d.ts +21 -0
- package/dist/Components/Viewers/Avatar.js +21 -0
- package/dist/Components/Viewers/DataTable.js +252 -62
- package/dist/Components/Viewers/DataTableColumns.d.ts +7 -3
- package/dist/Components/Viewers/DataTableColumns.js +25 -68
- package/dist/Components/Viewers/DataTableFilters.d.ts +21 -0
- package/dist/Components/Viewers/DataTableFilters.js +68 -0
- package/dist/Components/Viewers/DataTableParts.d.ts +28 -10
- package/dist/Components/Viewers/DataTableParts.js +42 -13
- package/dist/Helpers/AnimationHelpers.d.ts +11 -0
- package/dist/Helpers/AnimationHelpers.js +20 -2
- package/dist/Helpers/ApiModules.d.ts +3 -34
- package/dist/Helpers/ApiModules.js +3 -3
- package/dist/Helpers/ApiRoutes.d.ts +68 -26
- package/dist/Helpers/ApiRoutes.js +31 -27
- package/dist/Helpers/ArrayHelpers.d.ts +0 -0
- package/dist/Helpers/ArrayHelpers.js +2 -0
- package/dist/Helpers/CodeHelpers.d.ts +97 -0
- package/dist/Helpers/CodeHelpers.js +332 -0
- package/dist/Helpers/CrudBackend.d.ts +101 -8
- package/dist/Helpers/CrudBackend.js +172 -11
- package/dist/Helpers/CrudColumns.d.ts +51 -0
- package/dist/Helpers/CrudColumns.js +69 -0
- package/dist/Helpers/CrudHelpers.d.ts +50 -5
- package/dist/Helpers/CrudHelpers.js +109 -12
- package/dist/Helpers/ExcelBackend.d.ts +3 -3
- package/dist/Helpers/ExcelBackend.js +8 -2
- package/dist/Helpers/ExcelHelpers.d.ts +36 -8
- package/dist/Helpers/ExcelHelpers.js +55 -13
- package/dist/Helpers/FormStore.d.ts +9 -5
- package/dist/Helpers/FormStore.js +25 -5
- package/dist/Helpers/InputParamsHelpers.js +8 -0
- package/dist/Helpers/MessageBuilder.js +3 -0
- package/dist/Helpers/NexusHelpers.d.ts +0 -0
- package/dist/Helpers/NexusHelpers.js +1 -0
- package/dist/Helpers/NumberHelpers.d.ts +7 -1
- package/dist/Helpers/NumberHelpers.js +41 -3
- package/dist/Helpers/PopoverHelpers.d.ts +17 -5
- package/dist/Helpers/PopoverHelpers.js +52 -17
- package/dist/Helpers/PopoverHooks.d.ts +24 -0
- package/dist/Helpers/PopoverHooks.js +62 -0
- package/dist/Helpers/RequestCache.d.ts +35 -0
- package/dist/Helpers/RequestCache.js +113 -0
- package/dist/Helpers/RowsStore.d.ts +7 -2
- package/dist/Helpers/RowsStore.js +15 -3
- package/dist/Helpers/TableFilters.d.ts +25 -0
- package/dist/Helpers/TableFilters.js +162 -0
- package/dist/Helpers/TableHelpers.d.ts +7 -4
- package/dist/Helpers/TableHelpers.js +15 -6
- package/dist/Helpers/TableJoins.d.ts +70 -0
- package/dist/Helpers/TableJoins.js +250 -0
- package/dist/Helpers/TableStore.d.ts +16 -3
- package/dist/Helpers/TableStore.js +25 -5
- package/dist/Helpers/ThemeHelpers.d.ts +21 -4
- package/dist/Helpers/ThemeHelpers.js +46 -9
- package/dist/Helpers/TreeStore.d.ts +225 -11
- package/dist/Helpers/TreeStore.js +683 -90
- package/dist/Helpers/UserPreferences.d.ts +22 -0
- package/dist/Helpers/UserPreferences.js +116 -0
- package/dist/Interfaces/CrudInterfaces.d.ts +67 -10
- package/dist/Interfaces/ExcelInterfaces.d.ts +12 -0
- package/dist/Interfaces/FormInterfaces.d.ts +37 -6
- package/dist/Interfaces/InputInterfaces.d.ts +24 -0
- package/dist/Interfaces/MessageInterfaces.d.ts +1 -1
- package/dist/Interfaces/PreferenceInterfaces.d.ts +51 -0
- package/dist/Interfaces/PreferenceInterfaces.js +25 -0
- package/dist/Interfaces/TableInterfaces.d.ts +145 -16
- package/dist/Interfaces/ThemeInterfaces.d.ts +25 -0
- package/dist/Interfaces/ThemeInterfaces.js +15 -0
- package/dist/Services/ApiProxy.d.ts +36 -1
- package/dist/Services/ApiProxy.js +182 -52
- package/dist/Services/ApiProxyRules.d.ts +203 -0
- package/dist/Services/ApiProxyRules.js +426 -0
- package/dist/Services/ExcelApi.d.ts +3 -1
- package/dist/Services/ExcelApi.js +1 -1
- package/dist/Services/JoinSources.d.ts +48 -0
- package/dist/Services/JoinSources.js +74 -0
- package/dist/Services/ServerApi.d.ts +13 -2
- package/dist/Services/ServerApi.js +8 -3
- package/dist/Services/ThemeService.d.ts +18 -2
- package/dist/Services/ThemeService.js +80 -16
- package/dist/Shared.Index.d.ts +6 -0
- package/dist/Shared.Index.js +6 -0
- package/package.json +4 -2
- package/src/Styles/Nexus.Avatar.css +79 -0
- package/src/Styles/Nexus.Base.css +51 -4
- package/src/Styles/Nexus.Button.css +27 -0
- package/src/Styles/Nexus.Calendar.css +4 -6
- package/src/Styles/Nexus.Chat.css +5 -51
- package/src/Styles/Nexus.Choice.css +4 -6
- package/src/Styles/Nexus.Crud.css +16 -9
- package/src/Styles/Nexus.Dropdown.css +12 -61
- package/src/Styles/Nexus.Editor.css +4 -6
- package/src/Styles/Nexus.Excel.css +34 -15
- package/src/Styles/Nexus.Form.css +25 -67
- package/src/Styles/Nexus.Index.css +1 -0
- package/src/Styles/Nexus.Input.css +794 -637
- package/src/Styles/Nexus.Markdown.css +0 -28
- package/src/Styles/Nexus.Menu.css +8 -30
- package/src/Styles/Nexus.Popup.css +22 -29
- package/src/Styles/Nexus.RichText.css +2 -32
- package/src/Styles/Nexus.Rows.css +51 -10
- package/src/Styles/Nexus.Slider.css +3 -5
- package/src/Styles/Nexus.Tab.Buttons.css +20 -7
- package/src/Styles/Nexus.Table.css +1387 -1296
- package/src/Styles/Nexus.Theme.Picker.css +342 -232
- package/src/Styles/Nexus.Time.css +9 -12
- package/src/Styles/Nexus.Toast.css +6 -8
- package/src/Styles/Nexus.Tokens.css +17 -0
- package/src/Styles/Nexus.Tree.css +76 -11
|
@@ -32,14 +32,31 @@
|
|
|
32
32
|
--nx-space-5: 20px;
|
|
33
33
|
--nx-space-6: 24px;
|
|
34
34
|
--nx-space-8: 32px;
|
|
35
|
+
|
|
36
|
+
/* Density: the sizes a compact and a cozy page differ by (cozy below). Everything sized by them follows. */
|
|
35
37
|
--nx-control-sm: 28px;
|
|
36
38
|
--nx-control-md: 34px;
|
|
37
39
|
--nx-control-lg: 40px;
|
|
40
|
+
/* A row in a list: a menu's item, a table's row and header, a dropdown's option, the Columns panel's line. */
|
|
41
|
+
--nx-row: 32px;
|
|
42
|
+
/* A bottom band, such as a table's footer: small controls with 6px above and below, and its 1px line. */
|
|
43
|
+
--nx-footbar: calc(var(--nx-control-sm) + 13px);
|
|
38
44
|
|
|
39
45
|
/* Motion */
|
|
40
46
|
--nx-duration: 120ms;
|
|
41
47
|
}
|
|
42
48
|
|
|
49
|
+
/*
|
|
50
|
+
* Cozy: every control 4px taller and every row 6px, for a touch screen or a large monitor. One attribute on <html>
|
|
51
|
+
* (ThemeScript and ThemeSwitcher set it), so no component asks; compact, the default, is the sizes above.
|
|
52
|
+
*/
|
|
53
|
+
:root[data-nx-density="cozy"] {
|
|
54
|
+
--nx-control-sm: 32px;
|
|
55
|
+
--nx-control-md: 38px;
|
|
56
|
+
--nx-control-lg: 44px;
|
|
57
|
+
--nx-row: 38px;
|
|
58
|
+
}
|
|
59
|
+
|
|
43
60
|
:root[data-nx-mode="light"] {
|
|
44
61
|
color-scheme: light;
|
|
45
62
|
}
|
|
@@ -109,8 +109,6 @@
|
|
|
109
109
|
overflow: auto;
|
|
110
110
|
overscroll-behavior: contain;
|
|
111
111
|
outline: none;
|
|
112
|
-
scrollbar-width: thin;
|
|
113
|
-
scrollbar-color: var(--nx-field-scrollbar) transparent;
|
|
114
112
|
}
|
|
115
113
|
|
|
116
114
|
.nx-tree__viewport:focus-visible {
|
|
@@ -272,6 +270,75 @@
|
|
|
272
270
|
vertical-align: 0;
|
|
273
271
|
}
|
|
274
272
|
|
|
273
|
+
/*
|
|
274
|
+
* Rows that are not items, under a parent of a lazy tree (loadChildren): its page on its way, a page that failed
|
|
275
|
+
* with Retry, and Load more. They sit at the children's level and take no checkbox; the whole row is the button, so
|
|
276
|
+
* the Retry drawn in it is not a second stop for the keyboard.
|
|
277
|
+
*/
|
|
278
|
+
.nx-tree__row--status {
|
|
279
|
+
cursor: default;
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
.nx-tree__row--more,
|
|
283
|
+
.nx-tree__row--error {
|
|
284
|
+
cursor: pointer;
|
|
285
|
+
}
|
|
286
|
+
|
|
287
|
+
/* Nothing to press while a page comes. */
|
|
288
|
+
.nx-tree__row--loading[role="treeitem"]:hover {
|
|
289
|
+
background-color: transparent;
|
|
290
|
+
}
|
|
291
|
+
|
|
292
|
+
.nx-tree__status-icon {
|
|
293
|
+
flex: none;
|
|
294
|
+
width: 14px;
|
|
295
|
+
height: 14px;
|
|
296
|
+
color: var(--nx-tree-muted);
|
|
297
|
+
vertical-align: 0;
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
/* The sentence keeps its own width, so Retry follows it rather than the row's far end. */
|
|
301
|
+
.nx-tree__row--status .nx-tree__text {
|
|
302
|
+
flex: 0 1 auto;
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
.nx-tree__status-text {
|
|
306
|
+
flex: 0 1 auto;
|
|
307
|
+
min-width: 0;
|
|
308
|
+
overflow: hidden;
|
|
309
|
+
color: var(--nx-tree-muted);
|
|
310
|
+
text-overflow: ellipsis;
|
|
311
|
+
}
|
|
312
|
+
|
|
313
|
+
.nx-tree__row--error .nx-tree__status-icon {
|
|
314
|
+
color: var(--nx-danger);
|
|
315
|
+
}
|
|
316
|
+
|
|
317
|
+
.nx-tree__row--error .nx-tree__status-text {
|
|
318
|
+
color: var(--nx-text);
|
|
319
|
+
}
|
|
320
|
+
|
|
321
|
+
/* The accent as text; on the hover tint it moves toward the text color, as muted texts do, to keep 4.5:1 (the plain
|
|
322
|
+
accent measured 3.79:1 on Dracula dark's hover tint). */
|
|
323
|
+
.nx-tree__row--more {
|
|
324
|
+
--nx-tree-link: var(--nx-primary);
|
|
325
|
+
}
|
|
326
|
+
|
|
327
|
+
.nx-tree__row--more:is(:hover, :focus-visible) {
|
|
328
|
+
--nx-tree-link: color-mix(in oklab, var(--nx-primary), var(--nx-text) 35%);
|
|
329
|
+
}
|
|
330
|
+
|
|
331
|
+
.nx-tree__row--more .nx-tree__status-text {
|
|
332
|
+
color: var(--nx-tree-link);
|
|
333
|
+
font-weight: 500;
|
|
334
|
+
}
|
|
335
|
+
|
|
336
|
+
.nx-btn.nx-tree__retry {
|
|
337
|
+
--nx-btn-height: calc(var(--nx-tree-row) - 6px);
|
|
338
|
+
flex: none;
|
|
339
|
+
margin-left: var(--nx-space-1);
|
|
340
|
+
}
|
|
341
|
+
|
|
275
342
|
/* A locked item: the read-only box (data-readonly), a muted label, and a lock. */
|
|
276
343
|
.nx-tree__row--locked {
|
|
277
344
|
cursor: default;
|
|
@@ -421,15 +488,13 @@
|
|
|
421
488
|
cursor: default;
|
|
422
489
|
}
|
|
423
490
|
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
}
|
|
491
|
+
[data-nx-motion="reduce"] .nx-tree__motion,
|
|
492
|
+
[data-nx-motion="reduce"] .nx-tree__skeleton {
|
|
493
|
+
animation: none;
|
|
494
|
+
}
|
|
429
495
|
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
}
|
|
496
|
+
[data-nx-motion="reduce"] .nx-tree,
|
|
497
|
+
[data-nx-motion="reduce"] .nx-tree__toggle .nx-icon {
|
|
498
|
+
transition: none;
|
|
434
499
|
}
|
|
435
500
|
}
|