@finsemble/finsemble-ui 7.2.1 → 7.3.1
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/package.json +14 -14
- package/react/assets/css/button.css +34 -6
- package/react/assets/css/contextMenu.css +118 -0
- package/react/assets/css/notificationsCenter.css +3 -214
- package/react/assets/css/userPreferences.css +2 -2
- package/react/components/common/Checkbox.d.ts +3 -2
- package/react/components/common/Checkbox.js +5 -21
- package/react/components/common/Checkbox.js.map +1 -1
- package/react/components/common/ContextMenu.d.ts +13 -0
- package/react/components/common/ContextMenu.js +69 -0
- package/react/components/common/ContextMenu.js.map +1 -0
- package/react/components/common/DropdownButton.d.ts +0 -4
- package/react/components/common/DropdownButton.js +39 -10
- package/react/components/common/DropdownButton.js.map +1 -1
- package/react/components/common/css/FinsembleToggle.css +0 -1
- package/react/components/common/css/application-edit-page.css +3 -4
- package/react/components/common/css/checkbox.css +60 -21
- package/react/components/common/css/icon.css +2 -2
- package/react/components/common/css/toggle.css +4 -1
- package/react/components/common/helpers.js +9 -0
- package/react/components/common/helpers.js.map +1 -1
- package/react/components/common/stories/ContextMenu.stories.d.ts +38 -0
- package/react/components/common/stories/ContextMenu.stories.js +70 -0
- package/react/components/common/stories/ContextMenu.stories.js.map +1 -0
- package/react/components/common/stories/DropdownButton.stories.d.ts +3 -3
- package/react/components/common/stories/DropdownButton.stories.js +11 -10
- package/react/components/common/stories/DropdownButton.stories.js.map +1 -1
- package/react/components/common/tests/Checkbox.spec.js +10 -12
- package/react/components/common/tests/Checkbox.spec.js.map +1 -1
- package/react/components/common/tests/ContextMenu.spec.d.ts +1 -0
- package/react/components/common/tests/ContextMenu.spec.js +108 -0
- package/react/components/common/tests/ContextMenu.spec.js.map +1 -0
- package/react/components/common/tests/DropdownButton.spec.d.ts +1 -0
- package/react/components/common/tests/DropdownButton.spec.js +32 -0
- package/react/components/common/tests/DropdownButton.spec.js.map +1 -0
- package/react/components/notifications/components/drawer/DrawerHeader.js +3 -3
- package/react/components/notifications/components/drawer/DrawerHeader.js.map +1 -1
- package/react/components/notifications/components/notificationsCenter/NotificationsCenter.js +1 -0
- package/react/components/notifications/components/notificationsCenter/NotificationsCenter.js.map +1 -1
- package/react/components/notifications/components/notificationsToasts/NotificationsToasts.js +2 -0
- package/react/components/notifications/components/notificationsToasts/NotificationsToasts.js.map +1 -1
- package/react/components/notifications/components/shared/IconButton.js +2 -1
- package/react/components/notifications/components/shared/IconButton.js.map +1 -1
- package/react/components/notifications/components/shared/NotificationCardShell.d.ts +2 -0
- package/react/components/notifications/components/shared/NotificationCardShell.js +55 -49
- package/react/components/notifications/components/shared/NotificationCardShell.js.map +1 -1
- package/react/components/notifications/components/shared/notificationCard/NotificationCardBodyShell.js +2 -3
- package/react/components/notifications/components/shared/notificationCard/NotificationCardBodyShell.js.map +1 -1
- package/react/components/notifications/components/shared/notificationCard/NotificationCardHeaderControls.d.ts +4 -0
- package/react/components/notifications/components/shared/notificationCard/NotificationCardHeaderControls.js +92 -13
- package/react/components/notifications/components/shared/notificationCard/NotificationCardHeaderControls.js.map +1 -1
- package/react/components/notifications/components/views/ListView.js +5 -9
- package/react/components/notifications/components/views/ListView.js.map +1 -1
- package/react/components/notifications/css/notification-card.css +165 -0
- package/react/components/notifications/stories/NotificationCardShell.stories.d.ts +14 -0
- package/react/components/notifications/stories/NotificationCardShell.stories.js +108 -0
- package/react/components/notifications/stories/NotificationCardShell.stories.js.map +1 -0
- package/react/components/notifications/tests/NotificationCardShell.spec.d.ts +1 -0
- package/react/components/notifications/tests/NotificationCardShell.spec.js +91 -0
- package/react/components/notifications/tests/NotificationCardShell.spec.js.map +1 -0
- package/react/components/notifications/types.d.ts +4 -2
- package/react/components/notifications/types.js.map +1 -1
- package/react/components/sdd/AddApp.d.ts +3 -3
- package/react/components/sdd/AddApp.js +29 -21
- package/react/components/sdd/AddApp.js.map +1 -1
- package/react/components/sdd/AppEditPage.js +1 -8
- package/react/components/sdd/AppEditPage.js.map +1 -1
- package/react/components/sdd/Appearance.css +2 -1
- package/react/components/sdd/Applications.js +7 -7
- package/react/components/sdd/Applications.js.map +1 -1
- package/react/components/sdd/Navigation.js +2 -4
- package/react/components/sdd/Navigation.js.map +1 -1
- package/react/components/sdd/common/views.js +1 -14
- package/react/components/sdd/common/views.js.map +1 -1
- package/react/components/sdd/css/addApp.css +64 -1
- package/react/components/sdd/css/nav.css +50 -29
- package/react/components/sdd/fixtures/views.js +1 -14
- package/react/components/sdd/fixtures/views.js.map +1 -1
- package/react/components/sdd/tests/AddApp.spec.js +2 -2
- package/react/components/sdd/tests/AddApp.spec.js.map +1 -1
- package/react/components/sdd/tests/AppEditPage.spec.js +5 -8
- package/react/components/sdd/tests/AppEditPage.spec.js.map +1 -1
- package/react/components/sdd/tests/Export.spec.js +11 -11
- package/react/components/sdd/tests/Export.spec.js.map +1 -1
- package/react/components/sdd/tests/ExportZip.spec.js +3 -3
- package/react/components/sdd/tests/ExportZip.spec.js.map +1 -1
- package/react/components/sdd/tests/Navigation.spec.js +3 -2
- package/react/components/sdd/tests/Navigation.spec.js.map +1 -1
- package/react/components/sdd/tests/SmartDesktopDesigner.spec.js +1 -2
- package/react/components/sdd/tests/SmartDesktopDesigner.spec.js.map +1 -1
- package/react/components/toolbar/dashbar/Dashbar.js +18 -14
- package/react/components/toolbar/dashbar/Dashbar.js.map +1 -1
- package/react/components/toolbar/workspaceManagementMenu/components/Workspace.d.ts +9 -1
- package/react/components/toolbar/workspaceManagementMenu/components/Workspace.js +35 -1
- package/react/components/toolbar/workspaceManagementMenu/components/Workspace.js.map +1 -1
- package/react/components/toolbar/workspaceManagementMenu/stores/workspaceManagementMenuStore.js +1 -1
- package/react/components/toolbar/workspaceManagementMenu/stores/workspaceManagementMenuStore.js.map +1 -1
- package/react/components/userPreferences/components/content/Workspaces.d.ts +3 -1
- package/react/components/userPreferences/components/content/Workspaces.js +20 -3
- package/react/components/userPreferences/components/content/Workspaces.js.map +1 -1
- package/react/components/userPreferences/components/workspaces/WorkspaceItem.d.ts +1 -0
- package/react/components/userPreferences/components/workspaces/WorkspaceItem.js +3 -2
- package/react/components/userPreferences/components/workspaces/WorkspaceItem.js.map +1 -1
- package/react/components/userPreferences/tests/NotificationsPreferencesHome.spec.js +12 -9
- package/react/components/userPreferences/tests/NotificationsPreferencesHome.spec.js.map +1 -1
- package/react/components/userPreferences/tests/UserPreferencesBase.spec.js +2 -0
- package/react/components/userPreferences/tests/UserPreferencesBase.spec.js.map +1 -1
- package/react/components/windowTitleBar/WindowTitleBarShell.d.ts +99 -26
- package/react/components/windowTitleBar/WindowTitleBarShell.js +204 -131
- package/react/components/windowTitleBar/WindowTitleBarShell.js.map +1 -1
- package/react/components/windowTitleBar/components/left/LinkerButton.js +30 -21
- package/react/components/windowTitleBar/components/left/LinkerButton.js.map +1 -1
- package/react/hooks/useNotifications.js +8 -7
- package/react/hooks/useNotifications.js.map +1 -1
- package/react/tsconfig.tsbuildinfo +1 -1
- package/react/components/notifications/components/shared/OverflowMenu.d.ts +0 -16
- package/react/components/notifications/components/shared/OverflowMenu.js +0 -114
- package/react/components/notifications/components/shared/OverflowMenu.js.map +0 -1
- package/react/components/sdd/GettingStarted.d.ts +0 -8
- package/react/components/sdd/GettingStarted.js +0 -25
- package/react/components/sdd/GettingStarted.js.map +0 -1
- package/react/components/sdd/stories/GettingStarted.stories.d.ts +0 -11
- package/react/components/sdd/stories/GettingStarted.stories.js +0 -18
- package/react/components/sdd/stories/GettingStarted.stories.js.map +0 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@finsemble/finsemble-ui",
|
|
3
|
-
"version": "7.
|
|
3
|
+
"version": "7.3.1",
|
|
4
4
|
"description": "Ready-made React components to give you a head-start building your SmartDesktop.",
|
|
5
5
|
"types": "index.d.ts",
|
|
6
6
|
"files": [
|
|
@@ -29,11 +29,11 @@
|
|
|
29
29
|
"build-storybook": "build-storybook"
|
|
30
30
|
},
|
|
31
31
|
"dependencies": {
|
|
32
|
-
"@finsemble/finsemble-api": "7.
|
|
32
|
+
"@finsemble/finsemble-api": "7.3.1",
|
|
33
33
|
"@q42/floating-focus-a11y": "^1.3.3",
|
|
34
34
|
"@reduxjs/toolkit": "^1.5.0",
|
|
35
35
|
"@svgr/webpack": "^5.5.0",
|
|
36
|
-
"@types/async": "3.2.
|
|
36
|
+
"@types/async": "3.2.15",
|
|
37
37
|
"@types/chai": "4.3.1",
|
|
38
38
|
"@types/lodash": "4.14.182",
|
|
39
39
|
"@types/mocha": "9.1.1",
|
|
@@ -41,9 +41,9 @@
|
|
|
41
41
|
"@types/react-dom": "17.0.16",
|
|
42
42
|
"@types/react-redux": "7.1.24",
|
|
43
43
|
"@types/react-relative-portal": "^1.8.1",
|
|
44
|
-
"async": "3.2.
|
|
44
|
+
"async": "3.2.4",
|
|
45
45
|
"date-fns": "^2.25.0",
|
|
46
|
-
"immer": "9.0.
|
|
46
|
+
"immer": "9.0.15",
|
|
47
47
|
"lodash": "4.17.21",
|
|
48
48
|
"react-circular-progressbar": "^2.0.3",
|
|
49
49
|
"react-redux": "7.2.8",
|
|
@@ -63,13 +63,13 @@
|
|
|
63
63
|
"@babel/preset-env": "^7.16.0",
|
|
64
64
|
"@babel/preset-react": "^7.12.10",
|
|
65
65
|
"@babel/register": "^7.16.0",
|
|
66
|
-
"@storybook/addon-actions": "6.5.
|
|
67
|
-
"@storybook/addon-essentials": "6.5.
|
|
68
|
-
"@storybook/addon-links": "6.5.
|
|
69
|
-
"@storybook/react": "6.5.
|
|
66
|
+
"@storybook/addon-actions": "6.5.9",
|
|
67
|
+
"@storybook/addon-essentials": "6.5.9",
|
|
68
|
+
"@storybook/addon-links": "6.5.9",
|
|
69
|
+
"@storybook/react": "6.5.9",
|
|
70
70
|
"@types/enzyme": "^3.10.8",
|
|
71
|
-
"@types/react-syntax-highlighter": "15.5.
|
|
72
|
-
"@types/react-transition-group": "4.4.
|
|
71
|
+
"@types/react-syntax-highlighter": "15.5.2",
|
|
72
|
+
"@types/react-transition-group": "4.4.5",
|
|
73
73
|
"@types/sinon": "^10.0.2",
|
|
74
74
|
"@wojtekmaj/enzyme-adapter-react-17": "^0.6.2",
|
|
75
75
|
"axe-core": "^4.2.3",
|
|
@@ -77,14 +77,14 @@
|
|
|
77
77
|
"canvas": "^2.9.0",
|
|
78
78
|
"chai": "4.3.6",
|
|
79
79
|
"chokidar-cli": "3.0.0",
|
|
80
|
-
"concurrently": "7.2.
|
|
80
|
+
"concurrently": "7.2.2",
|
|
81
81
|
"copyfiles": "2.4.1",
|
|
82
82
|
"core-js": "^3.15.2",
|
|
83
83
|
"depcheck": "^1.4.3",
|
|
84
84
|
"enzyme": "^3.11.0",
|
|
85
85
|
"ignore-styles": "^5.0.1",
|
|
86
86
|
"improved-yarn-audit": "^3.0.0",
|
|
87
|
-
"jsdom": "^
|
|
87
|
+
"jsdom": "^20.0.0",
|
|
88
88
|
"mocha": "10.0.0",
|
|
89
89
|
"nyc": "15.1.0",
|
|
90
90
|
"react": "17.0.2",
|
|
@@ -92,7 +92,7 @@
|
|
|
92
92
|
"rimraf": "3.0.2",
|
|
93
93
|
"sinon": "^14.0.0",
|
|
94
94
|
"ts-mocha": "10.0.0",
|
|
95
|
-
"typescript": "4.7.
|
|
95
|
+
"typescript": "4.7.4"
|
|
96
96
|
},
|
|
97
97
|
"resolutions": {
|
|
98
98
|
"trim-newlines": "4.0.1",
|
|
@@ -83,8 +83,17 @@
|
|
|
83
83
|
.finsemble-dropdown-action__btn .expand-options {
|
|
84
84
|
justify-content: center;
|
|
85
85
|
display: flex;
|
|
86
|
-
|
|
86
|
+
align-self: stretch;
|
|
87
87
|
align-items: center;
|
|
88
|
+
padding-left: 4px;
|
|
89
|
+
border-top-right-radius: 5px;
|
|
90
|
+
border-bottom-right-radius: 5px;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
.finsemble-dropdown-action__btn .expand-options:hover,
|
|
94
|
+
.finsemble-dropdown-action__btn .expand-options:focus {
|
|
95
|
+
cursor: pointer;
|
|
96
|
+
background-color: var(--accent-primary-1);
|
|
88
97
|
}
|
|
89
98
|
|
|
90
99
|
.finsemble-dropdown-action__btn span.btn-label {
|
|
@@ -96,9 +105,13 @@
|
|
|
96
105
|
padding: 4px;
|
|
97
106
|
margin: auto;
|
|
98
107
|
color: var(--font-color);
|
|
108
|
+
cursor: pointer;
|
|
109
|
+
border-top-left-radius: 5px;
|
|
110
|
+
border-bottom-left-radius: 5px;
|
|
99
111
|
}
|
|
100
112
|
|
|
101
|
-
.finsemble-dropdown-action__btn:hover
|
|
113
|
+
.finsemble-dropdown-action__btn span.btn-label:hover,
|
|
114
|
+
.finsemble-dropdown-action__btn span.btn-label:focus {
|
|
102
115
|
background-color: var(--accent-primary-1);
|
|
103
116
|
}
|
|
104
117
|
|
|
@@ -115,6 +128,12 @@
|
|
|
115
128
|
text-align: right;
|
|
116
129
|
top: 25px;
|
|
117
130
|
white-space: nowrap;
|
|
131
|
+
z-index: 999;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
.finsemble-dropdown-action__btn-options.flow-up {
|
|
135
|
+
top: auto;
|
|
136
|
+
bottom: 31px;
|
|
118
137
|
}
|
|
119
138
|
|
|
120
139
|
.finsemble-dropdown-action__btn-option {
|
|
@@ -128,10 +147,15 @@
|
|
|
128
147
|
color: var(--font-color);
|
|
129
148
|
}
|
|
130
149
|
|
|
131
|
-
.finsemble-dropdown-action__btn-option:hover
|
|
150
|
+
.finsemble-dropdown-action__btn-option:hover,
|
|
151
|
+
.finsemble-dropdown-action__btn-option:focus {
|
|
132
152
|
background-color: var(--accent-primary);
|
|
133
153
|
}
|
|
134
154
|
|
|
155
|
+
.finsemble-dropdown-action__btn .separator {
|
|
156
|
+
margin: 0;
|
|
157
|
+
}
|
|
158
|
+
|
|
135
159
|
.caret {
|
|
136
160
|
border-left: 5px solid transparent;
|
|
137
161
|
border-right: 5px solid transparent;
|
|
@@ -139,6 +163,7 @@
|
|
|
139
163
|
height: 0;
|
|
140
164
|
margin-right: 5px;
|
|
141
165
|
width: 0;
|
|
166
|
+
cursor: pointer;
|
|
142
167
|
}
|
|
143
168
|
|
|
144
169
|
.separator {
|
|
@@ -169,7 +194,8 @@
|
|
|
169
194
|
margin: 0 10px;
|
|
170
195
|
}
|
|
171
196
|
|
|
172
|
-
.finsemble-navigation__btn:hover
|
|
197
|
+
.finsemble-navigation__btn:hover,
|
|
198
|
+
.finsemble-navigation__btn:focus {
|
|
173
199
|
background-color: var(--core-primary-3);
|
|
174
200
|
}
|
|
175
201
|
|
|
@@ -200,7 +226,8 @@
|
|
|
200
226
|
color: var(--font-color);
|
|
201
227
|
}
|
|
202
228
|
|
|
203
|
-
.finsemble__btn:hover
|
|
229
|
+
.finsemble__btn:hover,
|
|
230
|
+
.finsemble__btn:focus {
|
|
204
231
|
background-color: var(--core-primary-2);
|
|
205
232
|
}
|
|
206
233
|
|
|
@@ -208,6 +235,7 @@
|
|
|
208
235
|
background-color: var(--accent-negative);
|
|
209
236
|
}
|
|
210
237
|
|
|
211
|
-
.finsemble__btn.accent-negative:hover
|
|
238
|
+
.finsemble__btn.accent-negative:hover,
|
|
239
|
+
.finsemble__btn.accent-negative:focus {
|
|
212
240
|
background-color: var(--accent-negative-1);
|
|
213
241
|
}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
@import url("https://fonts.googleapis.com/css?family=Roboto+Condensed&display=swap");
|
|
2
|
+
|
|
3
|
+
@import "./shared/animations.css";
|
|
4
|
+
|
|
5
|
+
.context-menu__container {
|
|
6
|
+
background-color: var(--core-primary-3);
|
|
7
|
+
border-radius: 4px;
|
|
8
|
+
display: flex;
|
|
9
|
+
flex-direction: column;
|
|
10
|
+
min-width: 105px;
|
|
11
|
+
padding: 5px 0;
|
|
12
|
+
position: absolute;
|
|
13
|
+
z-index: 999;
|
|
14
|
+
top: 50%;
|
|
15
|
+
right: 30%;
|
|
16
|
+
width: fit-content;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
.context-menu__container.flow-right {
|
|
20
|
+
left: 5%;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.context-menu__container.flow-up {
|
|
24
|
+
top: auto;
|
|
25
|
+
bottom: 15px;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
.context-menu__container .context-menu__action {
|
|
29
|
+
color: var(--core-primary-5);
|
|
30
|
+
cursor: pointer;
|
|
31
|
+
display: flex;
|
|
32
|
+
font-size: var(--font-size);
|
|
33
|
+
height: 17px;
|
|
34
|
+
line-height: 26px;
|
|
35
|
+
padding: 4px;
|
|
36
|
+
text-align: center;
|
|
37
|
+
white-space: nowrap;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
.context-menu__container .context-menu__action:hover {
|
|
41
|
+
opacity: 0.5;
|
|
42
|
+
background-color: var(--core-primary-1);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
.context-menu__action {
|
|
46
|
+
display: grid;
|
|
47
|
+
grid-template-columns: 30px auto;
|
|
48
|
+
grid-template-rows: 26px;
|
|
49
|
+
align-items: center;
|
|
50
|
+
padding-left: 0;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
.context-menu__action .icon-holder i {
|
|
54
|
+
font-size: 18px;
|
|
55
|
+
color: white;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
.context-menu__action i {
|
|
59
|
+
color: var(--core-primary-5);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
.context-menu__action span {
|
|
63
|
+
margin-left: 1px;
|
|
64
|
+
color: var(--font-color);
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
.context-menu__action:hover {
|
|
68
|
+
background-color: var(--accent-primary);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
.context-menu__container .finsemble-icon {
|
|
72
|
+
display: grid;
|
|
73
|
+
margin: 0 7px;
|
|
74
|
+
width: 17px;
|
|
75
|
+
height: 17px;
|
|
76
|
+
font-size: 16px;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
.context-menu__container .finsemble-icon svg {
|
|
80
|
+
font-size: 1em;
|
|
81
|
+
width: 1em;
|
|
82
|
+
height: 1em;
|
|
83
|
+
fill: currentcolor;
|
|
84
|
+
display: inline-block;
|
|
85
|
+
color: inherit;
|
|
86
|
+
pointer-events: none;
|
|
87
|
+
line-height: normal;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
.context-menu__container .finsemble-icon i {
|
|
91
|
+
color: var(--font-color);
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
.context-menu__container .finsemble-icon g {
|
|
95
|
+
fill: var(--font-color); /* custom icons (evelope, snooze, etc) color */
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
.finsemble-icon__btn {
|
|
99
|
+
align-items: center;
|
|
100
|
+
color: var(--core-primary-5);
|
|
101
|
+
cursor: pointer;
|
|
102
|
+
height: 24px;
|
|
103
|
+
position: relative;
|
|
104
|
+
width: 24px;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
.finsemble-icon__btn.active {
|
|
108
|
+
color: var(--accent-primary);
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
.finsemble-icon__btn:hover:not(.no-hover) {
|
|
112
|
+
background: var(--menu-actions-hover-color);
|
|
113
|
+
border-radius: 50%;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
.finsemble-icon__btn > i {
|
|
117
|
+
font-size: var(--font-size-large);
|
|
118
|
+
}
|
|
@@ -182,52 +182,13 @@ body.notifications-center-body.notifications-popped-in {
|
|
|
182
182
|
}
|
|
183
183
|
|
|
184
184
|
/* Notification card and views */
|
|
185
|
-
.notification-card {
|
|
186
|
-
background-color: var(--core-primary);
|
|
187
|
-
box-shadow: 0 0 8px 0 rgb(0 0 0 / 50%);
|
|
188
|
-
display: flex;
|
|
189
|
-
flex-direction: column;
|
|
190
|
-
font-family: var(--notification-font-family);
|
|
191
|
-
min-height: 120px;
|
|
192
|
-
padding: 8px 10px;
|
|
193
|
-
margin: 0 5px;
|
|
194
|
-
}
|
|
195
|
-
|
|
196
|
-
.notification-card.read {
|
|
197
|
-
background-color: var(--core-primary-opacity);
|
|
198
|
-
color: var(--font-shadow-light);
|
|
199
|
-
}
|
|
200
|
-
|
|
201
|
-
#notifications-center .notification-card.new {
|
|
202
|
-
box-shadow: 0 0 9px 0 var(--notification-highlight-border-color);
|
|
203
|
-
}
|
|
204
|
-
|
|
205
|
-
.notification-day {
|
|
206
|
-
color: var(--font-shadow-light);
|
|
207
|
-
font-size: var(--font-size);
|
|
208
|
-
font-weight: bold;
|
|
209
|
-
margin: 10px auto;
|
|
210
|
-
padding: 0 0 0 5px;
|
|
211
|
-
}
|
|
212
|
-
|
|
213
|
-
.notification-card__header {
|
|
214
|
-
display: grid;
|
|
215
|
-
grid-template-columns: 25px auto minmax(80px, auto);
|
|
216
|
-
grid-template-rows: 30px;
|
|
217
|
-
align-items: center;
|
|
218
|
-
}
|
|
219
|
-
|
|
220
|
-
.notifications-toast__offscreen .notification-card__header {
|
|
221
|
-
grid-template-columns: 25px auto 45px;
|
|
222
|
-
}
|
|
223
185
|
|
|
224
186
|
i.default-img.large {
|
|
225
187
|
font-size: var(--font-size-large);
|
|
226
188
|
justify-self: center;
|
|
227
189
|
}
|
|
228
190
|
|
|
229
|
-
.list-row__cell img
|
|
230
|
-
.notification-card__header img {
|
|
191
|
+
.list-row__cell img {
|
|
231
192
|
object-fit: contain;
|
|
232
193
|
margin-right: 8px;
|
|
233
194
|
max-width: 18px;
|
|
@@ -236,93 +197,6 @@ i.default-img.large {
|
|
|
236
197
|
height: auto;
|
|
237
198
|
}
|
|
238
199
|
|
|
239
|
-
.notification-card__title {
|
|
240
|
-
display: block;
|
|
241
|
-
font-size: var(--font-size-large);
|
|
242
|
-
overflow: hidden;
|
|
243
|
-
text-overflow: ellipsis;
|
|
244
|
-
white-space: nowrap;
|
|
245
|
-
margin-right: auto;
|
|
246
|
-
width: 100%;
|
|
247
|
-
}
|
|
248
|
-
|
|
249
|
-
.notification-card__more-options__no-toggle,
|
|
250
|
-
.notification-card__more-options__toggle {
|
|
251
|
-
cursor: pointer;
|
|
252
|
-
white-space: nowrap;
|
|
253
|
-
display: grid;
|
|
254
|
-
grid-template-rows: 30px;
|
|
255
|
-
align-items: center;
|
|
256
|
-
grid-template-columns: minmax(80px, auto);
|
|
257
|
-
justify-items: end;
|
|
258
|
-
margin-left: 2px;
|
|
259
|
-
}
|
|
260
|
-
|
|
261
|
-
.notifications-toast__offscreen .notification-card__more-options__no-toggle,
|
|
262
|
-
.notifications-toast__offscreen .notification-card__more-options__toggle {
|
|
263
|
-
grid-template-columns: 25px 20px;
|
|
264
|
-
}
|
|
265
|
-
|
|
266
|
-
.notification-card__more-options__toggle .notification-card_overflow_menu,
|
|
267
|
-
.notification-card__more-options__toggle:hover .notification-card_timestamp {
|
|
268
|
-
display: none;
|
|
269
|
-
}
|
|
270
|
-
|
|
271
|
-
.notification-card__more-options__no-toggle .notification-card_overflow_menu,
|
|
272
|
-
.notification-card__more-options__toggle:hover .notification-card_overflow_menu {
|
|
273
|
-
display: flex;
|
|
274
|
-
}
|
|
275
|
-
|
|
276
|
-
.notification-card__dismiss.finsemble-icon__btn i {
|
|
277
|
-
font-size: var(--titleBar-icon-font-size);
|
|
278
|
-
}
|
|
279
|
-
|
|
280
|
-
.notification-card__more-options__no-toggle .notification-card__dismiss:hover {
|
|
281
|
-
color: var(--titleBar-button-hover-negative-color);
|
|
282
|
-
}
|
|
283
|
-
|
|
284
|
-
.notification-card__body {
|
|
285
|
-
display: flex;
|
|
286
|
-
flex-direction: row;
|
|
287
|
-
font-size: var(--font-size-large);
|
|
288
|
-
margin-top: 8px;
|
|
289
|
-
}
|
|
290
|
-
|
|
291
|
-
.notification-card__body_text {
|
|
292
|
-
-webkit-box-orient: vertical;
|
|
293
|
-
-webkit-line-clamp: 4;
|
|
294
|
-
color: var(--core-primary-5);
|
|
295
|
-
display: box;
|
|
296
|
-
overflow: hidden;
|
|
297
|
-
}
|
|
298
|
-
|
|
299
|
-
.notification-card__body_img_container {
|
|
300
|
-
width: 50px;
|
|
301
|
-
height: 50px;
|
|
302
|
-
padding-right: 5px;
|
|
303
|
-
padding-bottom: 5px;
|
|
304
|
-
}
|
|
305
|
-
|
|
306
|
-
.notification-card__body_img_container img {
|
|
307
|
-
width: inherit;
|
|
308
|
-
height: inherit;
|
|
309
|
-
}
|
|
310
|
-
|
|
311
|
-
.notification-card.read .notification-card__body_text {
|
|
312
|
-
color: var(--font-color-1-shadow);
|
|
313
|
-
}
|
|
314
|
-
|
|
315
|
-
.actions-panel {
|
|
316
|
-
align-items: flex-end;
|
|
317
|
-
display: flex;
|
|
318
|
-
flex-direction: column;
|
|
319
|
-
margin-left: auto;
|
|
320
|
-
}
|
|
321
|
-
|
|
322
|
-
.actions-panel__btn:hover {
|
|
323
|
-
opacity: 0.75;
|
|
324
|
-
}
|
|
325
|
-
|
|
326
200
|
.list-header__container {
|
|
327
201
|
align-items: center;
|
|
328
202
|
display: grid;
|
|
@@ -384,82 +258,22 @@ i.default-img.large {
|
|
|
384
258
|
visibility: visible;
|
|
385
259
|
}
|
|
386
260
|
|
|
387
|
-
.notification-card .
|
|
388
|
-
.notification-card.read .
|
|
261
|
+
.notification-card .context-menu__container,
|
|
262
|
+
.notification-card.read .context-menu__container {
|
|
389
263
|
color: var(--font-color);
|
|
390
264
|
}
|
|
391
265
|
|
|
392
|
-
.overflow-menu__container {
|
|
393
|
-
background-color: var(--core-primary-3);
|
|
394
|
-
border-radius: 4px;
|
|
395
|
-
display: flex;
|
|
396
|
-
flex-direction: column;
|
|
397
|
-
min-width: 120px;
|
|
398
|
-
padding: 10px 0;
|
|
399
|
-
position: absolute;
|
|
400
|
-
right: 10px;
|
|
401
|
-
top: 10px;
|
|
402
|
-
z-index: 999;
|
|
403
|
-
}
|
|
404
|
-
|
|
405
|
-
.overflow-menu__container.flow-up {
|
|
406
|
-
top: auto;
|
|
407
|
-
bottom: 15px;
|
|
408
|
-
}
|
|
409
|
-
|
|
410
|
-
.overflow-menu__container .action {
|
|
411
|
-
color: var(--core-primary-5);
|
|
412
|
-
cursor: pointer;
|
|
413
|
-
display: flex;
|
|
414
|
-
font-size: var(--font-size);
|
|
415
|
-
height: 26px;
|
|
416
|
-
justify-content: center;
|
|
417
|
-
line-height: 26px;
|
|
418
|
-
padding: 4px;
|
|
419
|
-
text-align: center;
|
|
420
|
-
}
|
|
421
|
-
|
|
422
|
-
.overflow-menu__container .action:hover {
|
|
423
|
-
opacity: 0.5;
|
|
424
|
-
background-color: var(--core-primary-1);
|
|
425
|
-
}
|
|
426
|
-
|
|
427
266
|
.no-notifications {
|
|
428
267
|
display: flex;
|
|
429
268
|
justify-content: center;
|
|
430
269
|
margin-top: 20px;
|
|
431
270
|
}
|
|
432
271
|
|
|
433
|
-
.overflow-menu__action {
|
|
434
|
-
display: grid;
|
|
435
|
-
grid-template-columns: 30px auto;
|
|
436
|
-
grid-template-rows: 26px;
|
|
437
|
-
align-items: center;
|
|
438
|
-
}
|
|
439
|
-
|
|
440
|
-
.overflow-menu__action .icon-holder i {
|
|
441
|
-
font-size: 18px;
|
|
442
|
-
color: white;
|
|
443
|
-
}
|
|
444
|
-
|
|
445
272
|
.icon-holder svg {
|
|
446
273
|
width: 20px;
|
|
447
274
|
height: 20px;
|
|
448
275
|
}
|
|
449
276
|
|
|
450
|
-
.overflow-menu__action i {
|
|
451
|
-
color: var(--core-primary-5);
|
|
452
|
-
}
|
|
453
|
-
|
|
454
|
-
.overflow-menu__action span {
|
|
455
|
-
margin-left: 5px;
|
|
456
|
-
color: var(--font-color);
|
|
457
|
-
}
|
|
458
|
-
|
|
459
|
-
.overflow-menu__action:hover {
|
|
460
|
-
background-color: var(--accent-primary);
|
|
461
|
-
}
|
|
462
|
-
|
|
463
277
|
.finsemble-icon {
|
|
464
278
|
display: grid;
|
|
465
279
|
margin: 0 7px;
|
|
@@ -535,30 +349,6 @@ i.default-img.large {
|
|
|
535
349
|
|
|
536
350
|
/* Buttons & Icons - This are probably better placed in the core CSS? */
|
|
537
351
|
|
|
538
|
-
.finsemble-icon__btn {
|
|
539
|
-
align-items: center;
|
|
540
|
-
color: var(--core-primary-5);
|
|
541
|
-
cursor: pointer;
|
|
542
|
-
display: flex;
|
|
543
|
-
height: 24px;
|
|
544
|
-
justify-content: center;
|
|
545
|
-
position: relative;
|
|
546
|
-
width: 24px;
|
|
547
|
-
}
|
|
548
|
-
|
|
549
|
-
.finsemble-icon__btn.active {
|
|
550
|
-
color: var(--accent-primary);
|
|
551
|
-
}
|
|
552
|
-
|
|
553
|
-
.finsemble-icon__btn:hover:not(.no-hover) {
|
|
554
|
-
background: var(--menu-actions-hover-color);
|
|
555
|
-
border-radius: 50%;
|
|
556
|
-
}
|
|
557
|
-
|
|
558
|
-
.finsemble-icon__btn i {
|
|
559
|
-
font-size: var(--font-size-large);
|
|
560
|
-
}
|
|
561
|
-
|
|
562
352
|
/*** Notifications Toasts ***/
|
|
563
353
|
|
|
564
354
|
body.notifications-toasts-body {
|
|
@@ -577,7 +367,6 @@ body.notifications-toasts-body {
|
|
|
577
367
|
}
|
|
578
368
|
|
|
579
369
|
.notifications-toast__offscreen {
|
|
580
|
-
transform: translateX(1000px);
|
|
581
370
|
transform: translateX(1000px);
|
|
582
371
|
animation: slide-in-right-opaque 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
|
|
583
372
|
}
|
|
@@ -375,7 +375,7 @@ img {
|
|
|
375
375
|
margin-bottom: 10px;
|
|
376
376
|
}
|
|
377
377
|
|
|
378
|
-
.close-toggle-container .
|
|
378
|
+
.close-toggle-container .checkbox-wrapper {
|
|
379
379
|
margin-top: 0;
|
|
380
380
|
width: 90px;
|
|
381
381
|
margin-right: 15px;
|
|
@@ -462,7 +462,7 @@ option:focus {
|
|
|
462
462
|
align-items: center;
|
|
463
463
|
}
|
|
464
464
|
|
|
465
|
-
.row-section .
|
|
465
|
+
.row-section .checkbox-wrapper {
|
|
466
466
|
width: 100%;
|
|
467
467
|
}
|
|
468
468
|
|
|
@@ -3,8 +3,9 @@ import "./css/checkbox.css";
|
|
|
3
3
|
export interface CheckboxProps {
|
|
4
4
|
checked?: boolean;
|
|
5
5
|
disabled?: boolean;
|
|
6
|
-
label
|
|
6
|
+
label: string;
|
|
7
7
|
showLabel?: boolean;
|
|
8
|
-
|
|
8
|
+
id?: string;
|
|
9
|
+
onClick?: (e: React.ChangeEvent<HTMLInputElement>) => void;
|
|
9
10
|
}
|
|
10
11
|
export declare const Checkbox: React.FC<CheckboxProps>;
|
|
@@ -1,24 +1,8 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import { FinsembleIcon } from "./FinsembleIcon";
|
|
2
|
+
// import { FinsembleIcon } from "./FinsembleIcon";
|
|
3
3
|
import "./css/checkbox.css";
|
|
4
|
-
export const Checkbox = ({ checked = false, disabled = false, label
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
}
|
|
9
|
-
let style = {};
|
|
10
|
-
if (disabled) {
|
|
11
|
-
style = {
|
|
12
|
-
cursor: "default",
|
|
13
|
-
opacity: ".3",
|
|
14
|
-
};
|
|
15
|
-
}
|
|
16
|
-
return (React.createElement("div", { style: style, className: "complex-menu-checkbox-wrapper", role: "checkbox", "aria-checked": checked, "aria-label": label, tabIndex: 0, onClick: disabled ? () => { } : onClick, onKeyDown: (e) => {
|
|
17
|
-
if (e.key === "Enter" || e.key === " ") {
|
|
18
|
-
!disabled && onClick(e);
|
|
19
|
-
}
|
|
20
|
-
} },
|
|
21
|
-
React.createElement("div", { className: checkboxClasses }, checked && React.createElement(FinsembleIcon, { icon: "check" })),
|
|
22
|
-
showLabel && React.createElement("div", { className: "complex-menu-checkbox-label" }, label)));
|
|
23
|
-
};
|
|
4
|
+
export const Checkbox = ({ checked = false, disabled = false, label, showLabel = true, id, onClick = () => { }, }) => (React.createElement("div", { className: "checkbox-wrapper" },
|
|
5
|
+
React.createElement("label", null,
|
|
6
|
+
React.createElement("input", { type: "checkbox", id: id, disabled: disabled, checked: checked, "aria-label": label, onChange: onClick }),
|
|
7
|
+
showLabel && React.createElement("span", null, label))));
|
|
24
8
|
//# sourceMappingURL=Checkbox.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Checkbox.js","sourceRoot":"","sources":["../../../src/components/common/Checkbox.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,
|
|
1
|
+
{"version":3,"file":"Checkbox.js","sourceRoot":"","sources":["../../../src/components/common/Checkbox.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,mDAAmD;AACnD,OAAO,oBAAoB,CAAC;AAa5B,MAAM,CAAC,MAAM,QAAQ,GAA4B,CAAC,EACjD,OAAO,GAAG,KAAK,EACf,QAAQ,GAAG,KAAK,EAChB,KAAK,EACL,SAAS,GAAG,IAAI,EAChB,EAAE,EACF,OAAO,GAAG,GAAG,EAAE,GAAE,CAAC,GAClB,EAAE,EAAE,CAAC,CACL,6BAAK,SAAS,EAAC,kBAAkB;IAChC;QACC,+BACC,IAAI,EAAC,UAAU,EACf,EAAE,EAAE,EAAE,EACN,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,gBAEJ,KAAK,EACjB,QAAQ,EAAE,OAAO,GAChB;QACD,SAAS,IAAI,kCAAO,KAAK,CAAQ,CAC3B,CACH,CACN,CAAC","sourcesContent":["import React from \"react\";\n// import { FinsembleIcon } from \"./FinsembleIcon\";\nimport \"./css/checkbox.css\";\n\nexport interface CheckboxProps {\n\tchecked?: boolean;\n\tdisabled?: boolean;\n\t/* A label should always be provided, at minimum for accessibility.\n\tIf a visible label shouldn't be displayed, use showLabel=false */\n\tlabel: string;\n\tshowLabel?: boolean;\n\tid?: string;\n\tonClick?: (e: React.ChangeEvent<HTMLInputElement>) => void;\n}\n\nexport const Checkbox: React.FC<CheckboxProps> = ({\n\tchecked = false,\n\tdisabled = false,\n\tlabel,\n\tshowLabel = true,\n\tid,\n\tonClick = () => {},\n}) => (\n\t<div className=\"checkbox-wrapper\">\n\t\t<label>\n\t\t\t<input\n\t\t\t\ttype=\"checkbox\"\n\t\t\t\tid={id}\n\t\t\t\tdisabled={disabled}\n\t\t\t\tchecked={checked}\n\t\t\t\t/* In case showLabel=false, we still want a screen reader to know what the label is. */\n\t\t\t\taria-label={label}\n\t\t\t\tonChange={onClick}\n\t\t\t/>\n\t\t\t{showLabel && <span>{label}</span>}\n\t\t</label>\n\t</div>\n);\n"]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { ContextMenuAction } from "../notifications/types";
|
|
3
|
+
import "../../assets/css/contextMenu.css";
|
|
4
|
+
export interface ContextMenuProps {
|
|
5
|
+
menuActions: {
|
|
6
|
+
[key: string]: ContextMenuAction;
|
|
7
|
+
};
|
|
8
|
+
message: any;
|
|
9
|
+
isMuteFilterApplied: boolean;
|
|
10
|
+
}
|
|
11
|
+
export declare const renderContextMenuAction: (message: any, menuAction: ContextMenuAction, isMuted: boolean) => JSX.Element | undefined;
|
|
12
|
+
declare const ContextMenuToggle: React.FunctionComponent<ContextMenuProps>;
|
|
13
|
+
export default ContextMenuToggle;
|