nexus-shared 3.0.0 → 3.1.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 +446 -262
- package/LICENSE +21 -21
- package/README.md +1084 -1000
- package/dist/Client.Index.d.ts +3 -0
- package/dist/Client.Index.js +3 -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 +177 -58
- package/dist/Components/Forms/CrudParts.d.ts +5 -1
- package/dist/Components/Forms/CrudParts.js +37 -5
- package/dist/Components/Forms/ExcelImport.d.ts +23 -7
- package/dist/Components/Forms/ExcelImport.js +189 -60
- package/dist/Components/Forms/Form.js +5 -13
- package/dist/Components/Forms/SubmitForm.d.ts +11 -2
- package/dist/Components/Forms/SubmitForm.js +23 -12
- package/dist/Components/Inputs/DropdownParts.d.ts +1 -1
- package/dist/Components/Inputs/DropdownParts.js +4 -6
- package/dist/Components/Inputs/NumberBox.js +24 -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/TimePanel.js +4 -3
- package/dist/Components/Layouts/Popup.js +1 -4
- package/dist/Components/Layouts/ThemePicker.d.ts +20 -3
- package/dist/Components/Layouts/ThemePicker.js +77 -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 +192 -44
- 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 +2 -2
- package/dist/Components/Viewers/DataTableParts.js +3 -3
- package/dist/Helpers/AnimationHelpers.d.ts +11 -0
- package/dist/Helpers/AnimationHelpers.js +20 -2
- package/dist/Helpers/CrudBackend.d.ts +7 -4
- package/dist/Helpers/CrudBackend.js +4 -2
- 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/MessageBuilder.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/RowsStore.d.ts +7 -2
- package/dist/Helpers/RowsStore.js +15 -3
- package/dist/Helpers/TableExport.js +12 -12
- package/dist/Helpers/TableFilters.d.ts +25 -0
- package/dist/Helpers/TableFilters.js +162 -0
- package/dist/Helpers/TableHelpers.d.ts +6 -3
- package/dist/Helpers/TableHelpers.js +8 -4
- package/dist/Helpers/TableStore.d.ts +11 -3
- package/dist/Helpers/TableStore.js +16 -5
- package/dist/Helpers/ThemeHelpers.d.ts +21 -4
- package/dist/Helpers/ThemeHelpers.js +46 -9
- package/dist/Helpers/UserPreferences.d.ts +14 -0
- package/dist/Helpers/UserPreferences.js +99 -0
- package/dist/Interfaces/CrudInterfaces.d.ts +20 -1
- package/dist/Interfaces/ExcelInterfaces.d.ts +12 -0
- package/dist/Interfaces/FormInterfaces.d.ts +33 -5
- package/dist/Interfaces/PreferenceInterfaces.d.ts +43 -0
- package/dist/Interfaces/PreferenceInterfaces.js +28 -0
- package/dist/Interfaces/TableInterfaces.d.ts +59 -12
- package/dist/Interfaces/ThemeInterfaces.d.ts +25 -0
- package/dist/Interfaces/ThemeInterfaces.js +15 -0
- package/dist/Services/ExcelApi.d.ts +3 -1
- package/dist/Services/ExcelApi.js +1 -1
- package/dist/Services/ThemeService.d.ts +18 -2
- package/dist/Services/ThemeService.js +80 -16
- package/dist/Shared.Index.d.ts +2 -0
- package/dist/Shared.Index.js +2 -0
- package/package.json +85 -85
- package/src/Styles/Nexus.Avatar.css +79 -0
- package/src/Styles/Nexus.Base.css +117 -70
- package/src/Styles/Nexus.Button.css +180 -153
- package/src/Styles/Nexus.Calendar.css +273 -275
- package/src/Styles/Nexus.Chat.css +1443 -1489
- package/src/Styles/Nexus.Choice.css +343 -345
- package/src/Styles/Nexus.Crud.css +168 -161
- package/src/Styles/Nexus.DateTime.css +81 -81
- package/src/Styles/Nexus.Dropdown.css +725 -774
- package/src/Styles/Nexus.Editor.css +295 -297
- package/src/Styles/Nexus.Excel.css +389 -370
- package/src/Styles/Nexus.Form.css +279 -321
- package/src/Styles/Nexus.Index.css +37 -36
- package/src/Styles/Nexus.Input.css +602 -637
- package/src/Styles/Nexus.Markdown.css +237 -265
- package/src/Styles/Nexus.Menu.css +237 -259
- package/src/Styles/Nexus.Popup.css +724 -731
- package/src/Styles/Nexus.RichText.css +2 -32
- package/src/Styles/Nexus.Rows.css +637 -596
- package/src/Styles/Nexus.Slider.css +276 -278
- package/src/Styles/Nexus.Tab.Buttons.css +432 -419
- package/src/Styles/Nexus.Table.css +1386 -1296
- package/src/Styles/Nexus.Theme.Picker.css +286 -232
- package/src/Styles/Nexus.Themes.css +194 -194
- package/src/Styles/Nexus.Time.css +144 -147
- package/src/Styles/Nexus.Toast.css +263 -265
- package/src/Styles/Nexus.Tokens.css +89 -72
- package/src/Styles/Nexus.Tree.css +431 -435
|
@@ -1,147 +1,144 @@
|
|
|
1
|
-
@layer nexus.components {
|
|
2
|
-
/*
|
|
3
|
-
* Time picker: the box lines digits up, and its panel opens in a popover placed by the component. The panel shows
|
|
4
|
-
* columns of hours, minutes, seconds, and AM/PM whose chosen items scroll to the middle row, so the chosen time reads
|
|
5
|
-
* as one line with its neighbours above and below; or a single list of slots. Chosen items are solid primary, like
|
|
6
|
-
* the calendar's chosen day.
|
|
7
|
-
*/
|
|
8
|
-
.nx-field__control--time {
|
|
9
|
-
font-variant-numeric: tabular-nums;
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
.nx-field__action--clock[aria-expanded="true"] {
|
|
13
|
-
color: var(--nx-field-accent);
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
.nx-time-popover {
|
|
17
|
-
position: fixed;
|
|
18
|
-
inset: auto;
|
|
19
|
-
padding: 0;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
.nx-time {
|
|
23
|
-
--nx-time-item: 32px;
|
|
24
|
-
--nx-time-rows: 7;
|
|
25
|
-
--nx-time-bg: light-dark(var(--nx-surface), var(--nx-surface-2));
|
|
26
|
-
|
|
27
|
-
|
|
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
|
-
color var(--nx-duration)
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
.
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
inset 0 0 0
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
}
|
|
1
|
+
@layer nexus.components {
|
|
2
|
+
/*
|
|
3
|
+
* Time picker: the box lines digits up, and its panel opens in a popover placed by the component. The panel shows
|
|
4
|
+
* columns of hours, minutes, seconds, and AM/PM whose chosen items scroll to the middle row, so the chosen time reads
|
|
5
|
+
* as one line with its neighbours above and below; or a single list of slots. Chosen items are solid primary, like
|
|
6
|
+
* the calendar's chosen day.
|
|
7
|
+
*/
|
|
8
|
+
.nx-field__control--time {
|
|
9
|
+
font-variant-numeric: tabular-nums;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
.nx-field__action--clock[aria-expanded="true"] {
|
|
13
|
+
color: var(--nx-field-accent);
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
.nx-time-popover {
|
|
17
|
+
position: fixed;
|
|
18
|
+
inset: auto;
|
|
19
|
+
padding: 0;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
.nx-time {
|
|
23
|
+
--nx-time-item: 32px;
|
|
24
|
+
--nx-time-rows: 7;
|
|
25
|
+
--nx-time-bg: light-dark(var(--nx-surface), var(--nx-surface-2));
|
|
26
|
+
|
|
27
|
+
display: grid;
|
|
28
|
+
color: var(--nx-text);
|
|
29
|
+
font-size: var(--nx-text-sm);
|
|
30
|
+
line-height: 1.3;
|
|
31
|
+
user-select: none;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
.nx-time__columns {
|
|
35
|
+
display: flex;
|
|
36
|
+
padding: var(--nx-space-1);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
/* A column scrolls; the space before its first item and after its last lets both reach the middle row. */
|
|
40
|
+
.nx-time__column {
|
|
41
|
+
position: relative;
|
|
42
|
+
width: 56px;
|
|
43
|
+
height: calc(var(--nx-time-item) * var(--nx-time-rows));
|
|
44
|
+
padding: calc(var(--nx-time-item) * (var(--nx-time-rows) - 1) / 2) var(--nx-space-1);
|
|
45
|
+
overflow-y: auto;
|
|
46
|
+
overscroll-behavior: contain;
|
|
47
|
+
outline: none;
|
|
48
|
+
transition: scrollbar-color var(--nx-duration);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
.nx-time__column--meridiem {
|
|
52
|
+
width: auto;
|
|
53
|
+
min-width: 56px;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
/*
|
|
57
|
+
* The columns stand side by side, so a bar in each would draw a stripe between every pair: the thumb stays hidden
|
|
58
|
+
* until the pointer or the keys are in the column, and then it is the shared bar (Nexus.Base.css).
|
|
59
|
+
*/
|
|
60
|
+
.nx-time__column:not(:hover, :focus-within) {
|
|
61
|
+
scrollbar-color: transparent transparent;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
.nx-time__column + .nx-time__column {
|
|
65
|
+
border-left: 1px solid var(--nx-border);
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
.nx-time__item {
|
|
69
|
+
display: grid;
|
|
70
|
+
place-items: center;
|
|
71
|
+
height: var(--nx-time-item);
|
|
72
|
+
padding: 0 var(--nx-space-2);
|
|
73
|
+
border-radius: var(--nx-radius);
|
|
74
|
+
font-variant-numeric: tabular-nums;
|
|
75
|
+
white-space: nowrap;
|
|
76
|
+
cursor: pointer;
|
|
77
|
+
outline: none;
|
|
78
|
+
transition:
|
|
79
|
+
background-color var(--nx-duration),
|
|
80
|
+
color var(--nx-duration);
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
.nx-time__item:hover:not([aria-disabled="true"], [aria-selected="true"]) {
|
|
84
|
+
background: var(--nx-surface-hover);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
.nx-time__item[aria-selected="true"] {
|
|
88
|
+
background: var(--nx-primary-solid);
|
|
89
|
+
color: var(--nx-primary-text);
|
|
90
|
+
font-weight: 600;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
/* An inset ring, so the column does not clip it, with a band of the panel's color that shows on a chosen item. */
|
|
94
|
+
.nx-time__item:focus-visible {
|
|
95
|
+
box-shadow:
|
|
96
|
+
inset 0 0 0 2px var(--nx-primary),
|
|
97
|
+
inset 0 0 0 4px var(--nx-time-bg);
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
.nx-time__item[aria-disabled="true"] {
|
|
101
|
+
color: var(--nx-text-subtle);
|
|
102
|
+
opacity: 0.45;
|
|
103
|
+
cursor: default;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
.nx-time__item[aria-disabled="true"][aria-selected="true"] {
|
|
107
|
+
color: var(--nx-primary-text);
|
|
108
|
+
opacity: 0.7;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
.nx-time__foot {
|
|
112
|
+
display: flex;
|
|
113
|
+
justify-content: space-between;
|
|
114
|
+
gap: var(--nx-space-2);
|
|
115
|
+
padding: 6px var(--nx-space-2);
|
|
116
|
+
border-top: 1px solid var(--nx-border);
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
/* List of slots */
|
|
120
|
+
.nx-time__list {
|
|
121
|
+
position: relative;
|
|
122
|
+
min-width: 132px;
|
|
123
|
+
max-height: calc(var(--nx-time-item) * 8 + var(--nx-space-2));
|
|
124
|
+
padding: var(--nx-space-1);
|
|
125
|
+
overflow-y: auto;
|
|
126
|
+
overscroll-behavior: contain;
|
|
127
|
+
outline: none;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
.nx-time__slot {
|
|
131
|
+
place-items: center start;
|
|
132
|
+
padding: 0 var(--nx-space-3);
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
.nx-time__empty {
|
|
136
|
+
padding: var(--nx-space-2) var(--nx-space-3);
|
|
137
|
+
color: var(--nx-text-muted);
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
[data-nx-motion="reduce"] .nx-time__item,
|
|
141
|
+
[data-nx-motion="reduce"] .nx-time__column {
|
|
142
|
+
transition: none;
|
|
143
|
+
}
|
|
144
|
+
}
|