@zextras/carbonio-shell-ui 0.4.35 → 0.4.36-devel.1663256619330

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.
Files changed (56) hide show
  1. package/dist/{a6c4993cfd512d888656f9175920f568.js → 5e9b6a9f16d05710b1d9bcce22444da1.js} +1 -1
  2. package/dist/CHANGELOG.md +2 -0
  3. package/dist/PKGBUILD +7 -7
  4. package/dist/commit +1 -1
  5. package/dist/component.json +3 -3
  6. package/dist/i18n/de.json +0 -28
  7. package/dist/i18n/en.json +2 -0
  8. package/dist/i18n/es.json +0 -28
  9. package/dist/i18n/fr.json +3 -35
  10. package/dist/i18n/hi.json +0 -29
  11. package/dist/i18n/id.json +0 -28
  12. package/dist/i18n/it.json +3 -50
  13. package/dist/i18n/ja.json +0 -28
  14. package/dist/i18n/nl.json +0 -26
  15. package/dist/i18n/pl.json +2 -34
  16. package/dist/i18n/pt.json +0 -28
  17. package/dist/i18n/pt_BR.json +0 -28
  18. package/dist/i18n/ru.json +5 -59
  19. package/dist/i18n/th.json +0 -28
  20. package/dist/i18n/tr.json +3 -43
  21. package/dist/i18n/zh_Hans.json +0 -28
  22. package/dist/index.html +3 -3
  23. package/dist/{src_boot_bootstrapper_tsx-node_modules_moment_locale_sync_recursive_.52c78862.chunk.js → src_boot_bootstrapper_tsx-node_modules_moment_locale_sync_recursive_.60be81d6.chunk.js} +1465 -1686
  24. package/dist/src_boot_bootstrapper_tsx-node_modules_moment_locale_sync_recursive_.60be81d6.chunk.js.map +1 -0
  25. package/dist/{src_workers_folder_ts.2339d8c8.chunk.js → src_workers_folder_ts.76b24a89.chunk.js} +3 -3
  26. package/dist/src_workers_folder_ts.76b24a89.chunk.js.map +1 -0
  27. package/dist/{src_workers_tag_ts.dcf0dec1.chunk.js → src_workers_tag_ts.0246dedf.chunk.js} +6 -6
  28. package/dist/{src_workers_tag_ts.dcf0dec1.chunk.js.map → src_workers_tag_ts.0246dedf.chunk.js.map} +1 -1
  29. package/dist/{style.f36fc042.css → style.e9a9a336.css} +29 -29
  30. package/dist/{style.f36fc042.css.map → style.e9a9a336.css.map} +1 -1
  31. package/dist/{vendors-node_modules_core-js_internals_add-to-unscopables_js-node_modules_core-js_internals_s-261a68.e87ecee6.chunk.js → vendors-node_modules_core-js_internals_add-to-unscopables_js-node_modules_core-js_internals_s-261a68.ccdbf049.chunk.js} +10 -10
  32. package/dist/{vendors-node_modules_core-js_internals_add-to-unscopables_js-node_modules_core-js_internals_s-261a68.e87ecee6.chunk.js.map → vendors-node_modules_core-js_internals_add-to-unscopables_js-node_modules_core-js_internals_s-261a68.ccdbf049.chunk.js.map} +1 -1
  33. package/dist/{vendors-node_modules_core-js_internals_array-iteration_js-node_modules_core-js_internals_arra-a012fe.428e0a2a.chunk.js → vendors-node_modules_core-js_internals_array-iteration_js-node_modules_core-js_internals_arra-a012fe.16542686.chunk.js} +85 -85
  34. package/dist/{vendors-node_modules_core-js_internals_array-iteration_js-node_modules_core-js_internals_arra-a012fe.428e0a2a.chunk.js.map → vendors-node_modules_core-js_internals_array-iteration_js-node_modules_core-js_internals_arra-a012fe.16542686.chunk.js.map} +1 -1
  35. package/dist/{vendors-node_modules_core-js_modules_es_array_filter_js-node_modules_core-js_modules_es_array-f8dfc2.5b2b999c.chunk.js → vendors-node_modules_core-js_modules_es_array_filter_js-node_modules_core-js_modules_es_array-f8dfc2.a90ce1ec.chunk.js} +18 -18
  36. package/dist/{vendors-node_modules_core-js_modules_es_array_filter_js-node_modules_core-js_modules_es_array-f8dfc2.5b2b999c.chunk.js.map → vendors-node_modules_core-js_modules_es_array_filter_js-node_modules_core-js_modules_es_array-f8dfc2.a90ce1ec.chunk.js.map} +1 -1
  37. package/dist/{vendors-node_modules_core-js_modules_es_array_includes_js-node_modules_core-js_modules_es_fun-f57f90.cc38c8f6.chunk.js → vendors-node_modules_core-js_modules_es_array_includes_js-node_modules_core-js_modules_es_fun-f57f90.160fbcfb.chunk.js} +21 -21
  38. package/dist/{vendors-node_modules_core-js_modules_es_array_includes_js-node_modules_core-js_modules_es_fun-f57f90.cc38c8f6.chunk.js.map → vendors-node_modules_core-js_modules_es_array_includes_js-node_modules_core-js_modules_es_fun-f57f90.160fbcfb.chunk.js.map} +1 -1
  39. package/dist/{vendors-node_modules_reduxjs_toolkit_dist_redux-toolkit_esm_js-node_modules_sentry_browser_es-322d00.css → vendors-node_modules_reduxjs_toolkit_dist_redux-toolkit_esm_js-node_modules_sentry_browser_es-55e96b.css} +1 -1
  40. package/dist/{vendors-node_modules_reduxjs_toolkit_dist_redux-toolkit_esm_js-node_modules_sentry_browser_es-322d00.css.map → vendors-node_modules_reduxjs_toolkit_dist_redux-toolkit_esm_js-node_modules_sentry_browser_es-55e96b.css.map} +1 -1
  41. package/dist/{vendors-node_modules_reduxjs_toolkit_dist_redux-toolkit_esm_js-node_modules_sentry_browser_es-322d00.969fe987.chunk.js → vendors-node_modules_reduxjs_toolkit_dist_redux-toolkit_esm_js-node_modules_sentry_browser_es-55e96b.f8fa8f8e.chunk.js} +8098 -13465
  42. package/dist/{vendors-node_modules_reduxjs_toolkit_dist_redux-toolkit_esm_js-node_modules_sentry_browser_es-322d00.969fe987.chunk.js.map → vendors-node_modules_reduxjs_toolkit_dist_redux-toolkit_esm_js-node_modules_sentry_browser_es-55e96b.f8fa8f8e.chunk.js.map} +1 -1
  43. package/dist/zapp-shell.bundle.js +145 -145
  44. package/dist/zapp-shell.bundle.js.map +1 -1
  45. package/package.json +5 -6
  46. package/types/account/index.d.ts +1 -1
  47. package/types/apps/index.d.ts +5 -3
  48. package/types/boards/index.d.ts +30 -0
  49. package/types/exports/index.d.ts +23 -20
  50. package/types/i18n/index.d.ts +13 -0
  51. package/types/index.d.ts +2 -0
  52. package/types/integrations/index.d.ts +3 -3
  53. package/types/misc/index.d.ts +0 -9
  54. package/types/search/items.d.ts +1 -0
  55. package/dist/src_boot_bootstrapper_tsx-node_modules_moment_locale_sync_recursive_.52c78862.chunk.js.map +0 -1
  56. package/dist/src_workers_folder_ts.2339d8c8.chunk.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zextras/carbonio-shell-ui",
3
- "version": "0.4.35",
3
+ "version": "0.4.36-devel.1663256619330",
4
4
  "description": "The Zextras Carbonio web client",
5
5
  "main": "dist/zapp-shell.bundle.js",
6
6
  "types": "./types/index.d.ts",
@@ -79,8 +79,6 @@
79
79
  "file-loader": "6.2.0",
80
80
  "html-webpack-plugin": "5.5.0",
81
81
  "husky": "7.0.4",
82
- "i18next-browser-languagedetector": "6.1.3",
83
- "i18next-http-backend": "1.3.2",
84
82
  "is-ci": "3.0.1",
85
83
  "mini-css-extract-plugin": "2.5.3",
86
84
  "moment": "2.29.1",
@@ -101,11 +99,12 @@
101
99
  "@fontsource/roboto": "^4.5.7",
102
100
  "@sentry/browser": "^6.17.7",
103
101
  "@tinymce/tinymce-react": "^3.13.0",
104
- "@zextras/carbonio-design-system": "^0.3.10",
105
- "@zextras/carbonio-ui-preview": "^0.1.5",
102
+ "@zextras/carbonio-design-system": "^0.4.0",
103
+ "@zextras/carbonio-ui-preview": "^0.2.0",
106
104
  "darkreader": "4.9.46",
107
105
  "history": "^5.2.0",
108
106
  "i18next": "21.6.10",
107
+ "i18next-http-backend": "1.3.2",
109
108
  "immer": "^9.0.12",
110
109
  "lodash": "4.17.21",
111
110
  "path-browserify": "^1.0.1",
@@ -123,7 +122,7 @@
123
122
  "remark-gfm": "3.0.1",
124
123
  "tinymce": "^5.10.2",
125
124
  "ua-parser-js": "^1.0.2",
126
- "zustand": "3.6.9"
125
+ "zustand": "^3.7.2"
127
126
  },
128
127
  "peerDependencies": {
129
128
  "@reduxjs/toolkit": "^1.6.2",
@@ -21,7 +21,7 @@ export type AccountState = {
21
21
  authenticated: boolean;
22
22
  account?: Account;
23
23
  settings: AccountSettings;
24
- zimbraVersion: string;
24
+ zimbraVersion?: string;
25
25
  usedQuota: number;
26
26
  };
27
27
 
@@ -5,7 +5,7 @@
5
5
  * SPDX-License-Identifier: AGPL-3.0-only
6
6
  */
7
7
 
8
- import { ComponentType, FC } from 'react';
8
+ import React, { ComponentType, FC } from 'react';
9
9
  import { QueryChip } from '../search/items';
10
10
 
11
11
  export type CarbonioModule = {
@@ -68,7 +68,9 @@ export type CarbonioAccessoryView<P> = {
68
68
  export type PrimaryBarComponentProps = { active: boolean };
69
69
  export type SecondaryBarComponentProps = { expanded: boolean };
70
70
  export type AppViewComponentProps = {};
71
- export type BoardViewComponentProps = {};
71
+ export type BoardViewComponentProps = {
72
+ windowHistory: History;
73
+ };
72
74
  export type SettingsViewProps = {};
73
75
  export type SearchViewProps = {
74
76
  useQuery: () => [QueryChip[], Function];
@@ -116,7 +118,7 @@ export type SearchView = CarbonioView<SearchViewProps> & {
116
118
 
117
119
  export type PrimaryAccessoryView = CarbonioAccessoryView<PrimaryAccessoryViewProps> & {
118
120
  component: string | ComponentType;
119
- onClick?: (ev: any) => void;
121
+ onClick?: (ev: KeyboardEvent | React.MouseEvent<HTMLButtonElement> | undefined) => void;
120
122
  label: string;
121
123
  };
122
124
 
@@ -0,0 +1,30 @@
1
+ /*
2
+ * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>
3
+ *
4
+ * SPDX-License-Identifier: AGPL-3.0-only
5
+ */
6
+ export type Board<T = unknown> = {
7
+ id: string;
8
+ url: string;
9
+ app: string;
10
+ icon: string;
11
+ title: string;
12
+ context?: T;
13
+ onClose?: (board: Board<T>) => void;
14
+ onGoToPanel?: (board: Board<T>) => void;
15
+ };
16
+
17
+ export type BoardState = {
18
+ boards: Record<string, Board<any>>;
19
+ expanded: boolean;
20
+ minimized: boolean;
21
+ current?: string;
22
+ };
23
+
24
+ export type BoardHooksContext = {
25
+ closeBoard: () => void;
26
+ updateBoard: (b: Partial<Board>) => void;
27
+ setCurrentBoard: () => void;
28
+ getBoardContext: <T>() => T;
29
+ getBoard: <T>() => Board<T>;
30
+ };
@@ -7,8 +7,8 @@
7
7
 
8
8
  import { ComponentType, Dispatch, FC, SetStateAction } from 'react';
9
9
  import { LinkProps } from 'react-router-dom';
10
- import { Reducer, Store } from 'redux';
11
10
  import { TFunction } from 'react-i18next';
11
+ import { i18n } from 'i18next';
12
12
  import {
13
13
  AppRoute,
14
14
  AppRouteDescriptor,
@@ -35,20 +35,13 @@ import { HistoryParams, ShellModes, AccordionFolder } from '../misc';
35
35
  import { Tag, Tags } from '../tags';
36
36
  import { Folder, Folders } from '../folder';
37
37
  import { QueryChip } from '../search';
38
+ import { Board, BoardHooksContext } from '../boards';
38
39
  import { INotificationManager } from '../notification';
39
40
 
40
41
  export const getBridgedFunctions: () => {
41
- addBoard: (path: string, context?: unknown | { app: string }) => void;
42
42
  createModal: (...params: any[]) => void;
43
43
  createSnackbar: (...params: any[]) => void;
44
44
  getHistory: () => History;
45
- removeBoard: (key: string) => void;
46
- removeCurrentBoard: () => void;
47
- setCurrentBoard: (key: string) => void;
48
- updateBoard: (key: string, url: string, title: string) => void;
49
- updateCurrentBoard: (url: string, title: string) => void;
50
- t: TFunction;
51
- toggleMinimizedBoard: () => void;
52
45
  };
53
46
  export const editSettings: (mods: Mods) => Promise<any>;
54
47
  export const ZIMBRA_STANDARD_COLORS: Array<{ zValue: number; hex: string; zLabel: string }>;
@@ -120,21 +113,10 @@ export const useUserSettings: () => AccountSettings;
120
113
  export const useUserSetting: <T = void>(...path: Array<string>) => string | T;
121
114
  export const getUserSettings: () => AccountSettings;
122
115
  export const getUserSetting: <T = void>(...path: Array<string>) => string | T;
123
- export const store: {
124
- store: Store<any>;
125
- setReducer(nextReducer: Reducer): void;
126
- };
127
116
  export const useNotify: () => Array<SoapNotify>;
128
117
  export const useRefresh: () => SoapRefresh;
129
118
  export const AppLink: FC<LinkProps>;
130
119
  export const Spinner: FC;
131
- export const useAddBoardCallback: () => (
132
- path: string,
133
- context?: { app?: string; title?: string }
134
- ) => void;
135
- export const useUpdateCurrentBoard: () => (url: string, title: string) => void;
136
- export const useRemoveCurrentBoard: () => () => void;
137
- export const useBoardConfig: <T>() => T;
138
120
 
139
121
  export const useIsMobile: () => boolean;
140
122
  export const soapFetch: SoapFetch;
@@ -234,3 +216,24 @@ export const getNotificationManager: () => INotificationManager;
234
216
  export const runSearch: (query: Array<QueryChip>, module: string) => void;
235
217
 
236
218
  export const useLocalStorage: <T>(key: string, initialValue: T) => [T, Dispatch<SetStateAction<T>>];
219
+
220
+ export const getI18n: () => i18n;
221
+ export const useI18n: () => i18n;
222
+ export const t: TFunction;
223
+
224
+ export const addBoard: <T = any>(
225
+ board: Omit<Board<T>, 'app' | 'icon' | 'id'> & { id?: string; icon?: string },
226
+ expanded?: boolean
227
+ ) => Board;
228
+ export const closeBoard: (id: string) => void;
229
+ export const updateBoard: <T = any>(id: string, board: Partial<Board<T>>) => void;
230
+ export const updateBoardContext: <T = any>(id: string, context: T) => void;
231
+ export const getBoardById: <T>(id: string) => Board<T>;
232
+ export const getBoardContextById: <T>(id: string) => T;
233
+ export const useBoardContextById: <T>(id: string) => T;
234
+ export const useBoardById: <T>(id: string) => Board<T>;
235
+ export const minimizeBoards: () => void;
236
+ export const reopenBoards: () => void;
237
+ export const setCurrentBoard: (id: string) => void;
238
+ export const useBoardHooks: () => BoardHooksContext;
239
+ export const useBoard: <T>() => Board<T>;
@@ -0,0 +1,13 @@
1
+ /*
2
+ * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>
3
+ *
4
+ * SPDX-License-Identifier: AGPL-3.0-only
5
+ */
6
+
7
+ import { i18n } from 'i18next';
8
+
9
+ export type I18nState = {
10
+ instances: Record<string, i18n>;
11
+ defaultI18n: i18n;
12
+ locale: string;
13
+ };
package/types/index.d.ts CHANGED
@@ -16,3 +16,5 @@ export * from './misc';
16
16
  export * from './tags';
17
17
  export * from './workers';
18
18
  export * from './folder';
19
+ export * from './i18n';
20
+ export * from './boards';
@@ -4,7 +4,7 @@
4
4
  * SPDX-License-Identifier: AGPL-3.0-only
5
5
  */
6
6
 
7
- import { ComponentType, MouseEvent } from 'react';
7
+ import { ComponentType, MouseEvent, SyntheticEvent } from 'react';
8
8
 
9
9
  export type IntegrationsState = {
10
10
  actions: ActionMap;
@@ -29,8 +29,8 @@ export type Action = {
29
29
  id: string;
30
30
  label: string;
31
31
  icon: string;
32
- click: (ev: MouseEvent) => void;
33
- type: string;
32
+ click: (ev: SyntheticEvent<HTMLElement> | KeyboardEvent) => void;
33
+ type: 'divider';
34
34
  primary?: boolean;
35
35
  group?: string;
36
36
  disabled?: boolean;
@@ -6,7 +6,6 @@
6
6
 
7
7
  import { Store } from '@reduxjs/toolkit';
8
8
  import { To } from 'history';
9
- import { i18n } from 'i18next';
10
9
  import { ComponentType } from 'react';
11
10
  import { CarbonioModule, PanelMode } from '../apps';
12
11
 
@@ -19,14 +18,6 @@ export enum JSNS {
19
18
  SYNC = 'urn:zimbraSync'
20
19
  }
21
20
 
22
- export interface II18nFactory {
23
- _cache: { [pkg: string]: i18n };
24
- locale: string;
25
- setLocale(locale: string): void;
26
- getShellI18n(): i18n;
27
- getAppI18n(appPkgDescription: CarbonioModule): i18n;
28
- }
29
-
30
21
  export type DRPropValues = 'auto' | 'enabled' | 'disabled';
31
22
 
32
23
  // eslint-disable-next-line @typescript-eslint/ban-types
@@ -4,6 +4,7 @@
4
4
  * SPDX-License-Identifier: AGPL-3.0-only
5
5
  */
6
6
  export type QueryChip = {
7
+ id: string;
7
8
  label: string;
8
9
  value?: string;
9
10
  isGeneric?: boolean;