@zextras/carbonio-ui-commons 1.0.5
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/COPYING +235 -0
- package/README.md +25 -0
- package/lib/components/breadcrumbs/static-breadcrumbs.d.ts +8 -0
- package/lib/components/breadcrumbs/static-breadcrumbs.js +27 -0
- package/lib/components/breadcrumbs/static-breadcrumbs.js.map +1 -0
- package/lib/components/list/list-item.d.ts +3 -0
- package/lib/components/list/list-item.js +37 -0
- package/lib/components/list/list-item.js.map +1 -0
- package/lib/components/list/list.d.ts +3 -0
- package/lib/components/list/list.js +18 -0
- package/lib/components/list/list.js.map +1 -0
- package/lib/components/modals/folder-initialization-error-modal.d.ts +4 -0
- package/lib/components/modals/folder-initialization-error-modal.js +62 -0
- package/lib/components/modals/folder-initialization-error-modal.js.map +1 -0
- package/lib/components/modals/modal-footer.d.ts +3 -0
- package/lib/components/modals/modal-footer.js +89 -0
- package/lib/components/modals/modal-footer.js.map +1 -0
- package/lib/components/modals/modal-header.d.ts +6 -0
- package/lib/components/modals/modal-header.js +24 -0
- package/lib/components/modals/modal-header.js.map +1 -0
- package/lib/components/select/color-select.d.ts +14 -0
- package/lib/components/select/color-select.js +93 -0
- package/lib/components/select/color-select.js.map +1 -0
- package/lib/components/select/folders/flat-folder.d.ts +8 -0
- package/lib/components/select/folders/flat-folder.js +91 -0
- package/lib/components/select/folders/flat-folder.js.map +1 -0
- package/lib/components/select/folders/flat-folders.d.ts +12 -0
- package/lib/components/select/folders/flat-folders.js +83 -0
- package/lib/components/select/folders/flat-folders.js.map +1 -0
- package/lib/components/select/folders/flat-root.d.ts +12 -0
- package/lib/components/select/folders/flat-root.js +98 -0
- package/lib/components/select/folders/flat-root.js.map +1 -0
- package/lib/components/select/folders/folder-accordions-custom-component.d.ts +5 -0
- package/lib/components/select/folders/folder-accordions-custom-component.js +84 -0
- package/lib/components/select/folders/folder-accordions-custom-component.js.map +1 -0
- package/lib/components/select/folders/folder-selector.d.ts +12 -0
- package/lib/components/select/folders/folder-selector.js +73 -0
- package/lib/components/select/folders/folder-selector.js.map +1 -0
- package/lib/components/select/folders/folders-accordion.d.ts +14 -0
- package/lib/components/select/folders/folders-accordion.js +86 -0
- package/lib/components/select/folders/folders-accordion.js.map +1 -0
- package/lib/components/select/folders/hooks.d.ts +29 -0
- package/lib/components/select/folders/hooks.js +61 -0
- package/lib/components/select/folders/hooks.js.map +1 -0
- package/lib/components/select/folders/status-icon.d.ts +5 -0
- package/lib/components/select/folders/status-icon.js +35 -0
- package/lib/components/select/folders/status-icon.js.map +1 -0
- package/lib/components/select/folders/utils.d.ts +12 -0
- package/lib/components/select/folders/utils.js +100 -0
- package/lib/components/select/folders/utils.js.map +1 -0
- package/lib/components/select/folders-selector.d.ts +11 -0
- package/lib/components/select/folders-selector.js +78 -0
- package/lib/components/select/folders-selector.js.map +1 -0
- package/lib/components/select/select-label-factory.d.ts +7 -0
- package/lib/components/select/select-label-factory.js +45 -0
- package/lib/components/select/select-label-factory.js.map +1 -0
- package/lib/components/sidebar/sidebar-accordion-mui.d.ts +3 -0
- package/lib/components/sidebar/sidebar-accordion-mui.js +84 -0
- package/lib/components/sidebar/sidebar-accordion-mui.js.map +1 -0
- package/lib/components/tags/delete-tag-modal.d.ts +3 -0
- package/lib/components/tags/delete-tag-modal.js +85 -0
- package/lib/components/tags/delete-tag-modal.js.map +1 -0
- package/lib/constants/folders.d.ts +30 -0
- package/lib/constants/folders.js +40 -0
- package/lib/constants/folders.js.map +1 -0
- package/lib/constants/participants.d.ts +11 -0
- package/lib/constants/participants.js +19 -0
- package/lib/constants/participants.js.map +1 -0
- package/lib/constants/search.d.ts +22 -0
- package/lib/constants/search.js +124 -0
- package/lib/constants/search.js.map +1 -0
- package/lib/constants/utils/index.d.ts +41 -0
- package/lib/constants/utils/index.js +58 -0
- package/lib/constants/utils/index.js.map +1 -0
- package/lib/helpers/api-wrapper.d.ts +8 -0
- package/lib/helpers/api-wrapper.js +18 -0
- package/lib/helpers/api-wrapper.js.map +1 -0
- package/lib/helpers/email-parser.d.ts +2 -0
- package/lib/helpers/email-parser.js +28 -0
- package/lib/helpers/email-parser.js.map +1 -0
- package/lib/helpers/errors.d.ts +2 -0
- package/lib/helpers/errors.js +11 -0
- package/lib/helpers/errors.js.map +1 -0
- package/lib/helpers/folders.d.ts +100 -0
- package/lib/helpers/folders.js +196 -0
- package/lib/helpers/folders.js.map +1 -0
- package/lib/helpers/identities.d.ts +25 -0
- package/lib/helpers/identities.js +202 -0
- package/lib/helpers/identities.js.map +1 -0
- package/lib/helpers/search.d.ts +2 -0
- package/lib/helpers/search.js +21 -0
- package/lib/helpers/search.js.map +1 -0
- package/lib/helpers/use-history-navigation.d.ts +5 -0
- package/lib/helpers/use-history-navigation.js +25 -0
- package/lib/helpers/use-history-navigation.js.map +1 -0
- package/lib/hooks/use-initialize-folders.d.ts +2 -0
- package/lib/hooks/use-initialize-folders.js +117 -0
- package/lib/hooks/use-initialize-folders.js.map +1 -0
- package/lib/hooks/use-initialize-tags.d.ts +1 -0
- package/lib/hooks/use-initialize-tags.js +27 -0
- package/lib/hooks/use-initialize-tags.js.map +1 -0
- package/lib/hooks/use-update-view.d.ts +1 -0
- package/lib/hooks/use-update-view.js +23 -0
- package/lib/hooks/use-update-view.js.map +1 -0
- package/lib/index.d.ts +76 -0
- package/lib/index.js +116 -0
- package/lib/index.js.map +1 -0
- package/lib/integrations/constants.d.ts +3 -0
- package/lib/integrations/constants.js +15 -0
- package/lib/integrations/constants.js.map +1 -0
- package/lib/integrations/default-contact-input.d.ts +3 -0
- package/lib/integrations/default-contact-input.js +51 -0
- package/lib/integrations/default-contact-input.js.map +1 -0
- package/lib/integrations/hooks.d.ts +3 -0
- package/lib/integrations/hooks.js +14 -0
- package/lib/integrations/hooks.js.map +1 -0
- package/lib/integrations/search/use-run-search.d.ts +2 -0
- package/lib/integrations/search/use-run-search.js +10 -0
- package/lib/integrations/search/use-run-search.js.map +1 -0
- package/lib/integrations/types.d.ts +33 -0
- package/lib/integrations/types.js +8 -0
- package/lib/integrations/types.js.map +1 -0
- package/lib/notice.template.d.ts +1 -0
- package/lib/notice.template.js +8 -0
- package/lib/notice.template.js.map +1 -0
- package/lib/soap/errors/generic-soap-api-error.d.ts +13 -0
- package/lib/soap/errors/generic-soap-api-error.js +20 -0
- package/lib/soap/errors/generic-soap-api-error.js.map +1 -0
- package/lib/soap/errors/soap-api-error.d.ts +7 -0
- package/lib/soap/errors/soap-api-error.js +12 -0
- package/lib/soap/errors/soap-api-error.js.map +1 -0
- package/lib/soap/get-folder.d.ts +5 -0
- package/lib/soap/get-folder.js +25 -0
- package/lib/soap/get-folder.js.map +1 -0
- package/lib/soap/get-share-info.d.ts +13 -0
- package/lib/soap/get-share-info.js +22 -0
- package/lib/soap/get-share-info.js.map +1 -0
- package/lib/soap/no-op.d.ts +1 -0
- package/lib/soap/no-op.js +21 -0
- package/lib/soap/no-op.js.map +1 -0
- package/lib/soap/tags.d.ts +27 -0
- package/lib/soap/tags.js +30 -0
- package/lib/soap/tags.js.map +1 -0
- package/lib/store/zustand/folder/hooks.d.ts +91 -0
- package/lib/store/zustand/folder/hooks.js +180 -0
- package/lib/store/zustand/folder/hooks.js.map +1 -0
- package/lib/store/zustand/folder/store.d.ts +2 -0
- package/lib/store/zustand/folder/store.js +34 -0
- package/lib/store/zustand/folder/store.js.map +1 -0
- package/lib/store/zustand/folder/utils.d.ts +25 -0
- package/lib/store/zustand/folder/utils.js +58 -0
- package/lib/store/zustand/folder/utils.js.map +1 -0
- package/lib/store/zustand/tags/hooks.d.ts +4 -0
- package/lib/store/zustand/tags/hooks.js +20 -0
- package/lib/store/zustand/tags/hooks.js.map +1 -0
- package/lib/store/zustand/tags/index.d.ts +2 -0
- package/lib/store/zustand/tags/index.js +24 -0
- package/lib/store/zustand/tags/index.js.map +1 -0
- package/lib/store/zustand/tags/store.d.ts +2 -0
- package/lib/store/zustand/tags/store.js +18 -0
- package/lib/store/zustand/tags/store.js.map +1 -0
- package/lib/theme/theme-mui.d.ts +3 -0
- package/lib/theme/theme-mui.js +276 -0
- package/lib/theme/theme-mui.js.map +1 -0
- package/lib/theme/theme.d.ts +48 -0
- package/lib/theme/theme.js +8 -0
- package/lib/theme/theme.js.map +1 -0
- package/lib/types/actions/index.d.ts +8 -0
- package/lib/types/actions/index.js +8 -0
- package/lib/types/actions/index.js.map +1 -0
- package/lib/types/folder/index.d.ts +124 -0
- package/lib/types/folder/index.js +3 -0
- package/lib/types/folder/index.js.map +1 -0
- package/lib/types/i18next.d.ts +11 -0
- package/lib/types/i18next.js +3 -0
- package/lib/types/i18next.js.map +1 -0
- package/lib/types/identities/index.d.ts +33 -0
- package/lib/types/identities/index.js +8 -0
- package/lib/types/identities/index.js.map +1 -0
- package/lib/types/index.d.ts +10 -0
- package/lib/types/index.js +32 -0
- package/lib/types/index.js.map +1 -0
- package/lib/types/modals/index.d.ts +31 -0
- package/lib/types/modals/index.js +8 -0
- package/lib/types/modals/index.js.map +1 -0
- package/lib/types/select/index.d.ts +15 -0
- package/lib/types/select/index.js +8 -0
- package/lib/types/select/index.js.map +1 -0
- package/lib/types/sidebar/index.d.ts +179 -0
- package/lib/types/sidebar/index.js +8 -0
- package/lib/types/sidebar/index.js.map +1 -0
- package/lib/types/soap/index.d.ts +13 -0
- package/lib/types/soap/index.js +3 -0
- package/lib/types/soap/index.js.map +1 -0
- package/lib/types/styled-components.d.ts +5 -0
- package/lib/types/styled-components.js +3 -0
- package/lib/types/styled-components.js.map +1 -0
- package/lib/types/tags/index.d.ts +46 -0
- package/lib/types/tags/index.js +8 -0
- package/lib/types/tags/index.js.map +1 -0
- package/lib/types/user-accounts/index.d.ts +13 -0
- package/lib/types/user-accounts/index.js +3 -0
- package/lib/types/user-accounts/index.js.map +1 -0
- package/lib/types/workers/index.d.ts +12 -0
- package/lib/types/workers/index.js +3 -0
- package/lib/types/workers/index.js.map +1 -0
- package/lib/utils/clipboard.d.ts +1 -0
- package/lib/utils/clipboard.js +27 -0
- package/lib/utils/clipboard.js.map +1 -0
- package/lib/utils/get-prefs.d.ts +2 -0
- package/lib/utils/get-prefs.js +15 -0
- package/lib/utils/get-prefs.js.map +1 -0
- package/lib/utils/index.d.ts +15 -0
- package/lib/utils/index.js +8 -0
- package/lib/utils/index.js.map +1 -0
- package/lib/utils/use-prefs.d.ts +2 -0
- package/lib/utils/use-prefs.js +15 -0
- package/lib/utils/use-prefs.js.map +1 -0
- package/lib/utils/utils.d.ts +3 -0
- package/lib/utils/utils.js +55 -0
- package/lib/utils/utils.js.map +1 -0
- package/lib/worker/folder.d.ts +1 -0
- package/lib/worker/folder.js +10 -0
- package/lib/worker/folder.js.map +1 -0
- package/lib/worker/handle-message.d.ts +30 -0
- package/lib/worker/handle-message.js +331 -0
- package/lib/worker/handle-message.js.map +1 -0
- package/lib/worker/index.d.ts +2 -0
- package/lib/worker/index.js +15 -0
- package/lib/worker/index.js.map +1 -0
- package/lib/worker/tags.d.ts +4 -0
- package/lib/worker/tags.js +64 -0
- package/lib/worker/tags.js.map +1 -0
- package/lib/worker/utils.d.ts +8 -0
- package/lib/worker/utils.js +23 -0
- package/lib/worker/utils.js.map +1 -0
- package/package.json +130 -0
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.ModalHeader = void 0;
|
|
7
|
+
/*
|
|
8
|
+
* SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>
|
|
9
|
+
*
|
|
10
|
+
* SPDX-License-Identifier: AGPL-3.0-only
|
|
11
|
+
*/
|
|
12
|
+
const react_1 = __importDefault(require("react"));
|
|
13
|
+
const carbonio_design_system_1 = require("@zextras/carbonio-design-system");
|
|
14
|
+
const ModalHeader = ({ title, onClose, showCloseIcon = true }) => (react_1.default.createElement(carbonio_design_system_1.Container, { mainAlignment: "space-between", width: "100%" },
|
|
15
|
+
react_1.default.createElement(carbonio_design_system_1.Row, { takeAvailableSpace: true, mainAlignment: "space-between", width: "100%" },
|
|
16
|
+
react_1.default.createElement(carbonio_design_system_1.Row, { width: "calc(100% - 1.5rem)", takeAvailableSpace: true, mainAlignment: "flex-start" },
|
|
17
|
+
react_1.default.createElement(carbonio_design_system_1.Text, { weight: "bold", size: "large" }, title)),
|
|
18
|
+
onClose && showCloseIcon && (react_1.default.createElement(carbonio_design_system_1.Row, { mainAlignment: "flex-start" },
|
|
19
|
+
react_1.default.createElement(carbonio_design_system_1.IconButton, { size: "medium", style: { padding: 0, margin: 0 }, onClick: onClose, icon: "CloseOutline" })))),
|
|
20
|
+
react_1.default.createElement(carbonio_design_system_1.Padding, { top: "medium" }),
|
|
21
|
+
react_1.default.createElement(carbonio_design_system_1.Divider, null),
|
|
22
|
+
react_1.default.createElement(carbonio_design_system_1.Padding, { bottom: "medium" })));
|
|
23
|
+
exports.ModalHeader = ModalHeader;
|
|
24
|
+
//# sourceMappingURL=modal-header.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"modal-header.js","sourceRoot":"","sources":["../../../src/components/modals/modal-header.tsx"],"names":[],"mappings":";;;;;;AAAA;;;;GAIG;AACH,kDAAkC;AAElC,4EAOyC;AAElC,MAAM,WAAW,GAAyE,CAAC,EACjG,KAAK,EACL,OAAO,EACP,aAAa,GAAG,IAAI,EACpB,EAAE,EAAE,CAAC,CACL,8BAAC,kCAAS,IAAC,aAAa,EAAC,eAAe,EAAC,KAAK,EAAC,MAAM;IACpD,8BAAC,4BAAG,IAAC,kBAAkB,QAAC,aAAa,EAAC,eAAe,EAAC,KAAK,EAAC,MAAM;QACjE,8BAAC,4BAAG,IAAC,KAAK,EAAC,qBAAqB,EAAC,kBAAkB,QAAC,aAAa,EAAC,YAAY;YAC7E,8BAAC,6BAAI,IAAC,MAAM,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,IAC9B,KAAK,CACA,CACF;QACL,OAAO,IAAI,aAAa,IAAI,CAC5B,8BAAC,4BAAG,IAAC,aAAa,EAAC,YAAY;YAC9B,8BAAC,mCAAU,IACV,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAChC,OAAO,EAAE,OAAO,EAChB,IAAI,EAAC,cAAc,GAClB,CACG,CACN,CACI;IACN,8BAAC,gCAAO,IAAC,GAAG,EAAC,QAAQ,GAAG;IACxB,8BAAC,gCAAO,OAAG;IACX,8BAAC,gCAAO,IAAC,MAAM,EAAC,QAAQ,GAAG,CAChB,CACZ,CAAC;AA3BW,QAAA,WAAW,eA2BtB"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { SingleSelectionOnChange } from '@zextras/carbonio-design-system';
|
|
3
|
+
export declare const ColorContainer: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<Omit<import("@zextras/carbonio-design-system").ContainerProps & React.RefAttributes<HTMLDivElement>, "ref"> & {
|
|
4
|
+
ref?: ((instance: HTMLDivElement | null) => void | React.DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof React.DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | React.RefObject<HTMLDivElement> | null | undefined;
|
|
5
|
+
}, never>> & string & Omit<React.ForwardRefExoticComponent<import("@zextras/carbonio-design-system").ContainerProps & React.RefAttributes<HTMLDivElement>>, keyof React.Component<any, {}, any>>;
|
|
6
|
+
export declare const TextUpperCase: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<Omit<import("@zextras/carbonio-design-system").TextProps & React.RefAttributes<HTMLDivElement>, "ref"> & {
|
|
7
|
+
ref?: ((instance: HTMLDivElement | null) => void | React.DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof React.DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | React.RefObject<HTMLDivElement> | null | undefined;
|
|
8
|
+
}, never>> & string & Omit<React.ForwardRefExoticComponent<import("@zextras/carbonio-design-system").TextProps & React.RefAttributes<HTMLDivElement>>, keyof React.Component<any, {}, any>>;
|
|
9
|
+
export type ColorSelectProps = {
|
|
10
|
+
onChange: SingleSelectionOnChange;
|
|
11
|
+
defaultColor: number;
|
|
12
|
+
label: string;
|
|
13
|
+
};
|
|
14
|
+
export declare const ColorSelect: ({ onChange, defaultColor, label }: ColorSelectProps) => React.JSX.Element;
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.ColorSelect = exports.TextUpperCase = exports.ColorContainer = void 0;
|
|
40
|
+
/*
|
|
41
|
+
* SPDX-FileCopyrightText: 2024 Zextras <https://www.zextras.com>
|
|
42
|
+
*
|
|
43
|
+
* SPDX-License-Identifier: AGPL-3.0-only
|
|
44
|
+
*/
|
|
45
|
+
const react_1 = __importStar(require("react"));
|
|
46
|
+
const carbonio_design_system_1 = require("@zextras/carbonio-design-system");
|
|
47
|
+
const react_i18next_1 = require("react-i18next");
|
|
48
|
+
const styled_components_1 = __importDefault(require("styled-components"));
|
|
49
|
+
const utils_1 = require("../../constants/utils");
|
|
50
|
+
const Square = styled_components_1.default.div `
|
|
51
|
+
width: 1.125rem;
|
|
52
|
+
height: 1.125rem;
|
|
53
|
+
position: relative;
|
|
54
|
+
top: -0.1875rem;
|
|
55
|
+
border: 0.0625rem solid ${({ theme }) => theme.palette.gray2.regular};
|
|
56
|
+
background: ${({ $color }) => $color};
|
|
57
|
+
border-radius: 0.25rem;
|
|
58
|
+
`;
|
|
59
|
+
exports.ColorContainer = (0, styled_components_1.default)(carbonio_design_system_1.Container) `
|
|
60
|
+
border-bottom: 0.0625rem solid ${({ theme }) => theme.palette.gray2.regular};
|
|
61
|
+
cursor: 'pointer';
|
|
62
|
+
`;
|
|
63
|
+
exports.TextUpperCase = (0, styled_components_1.default)(carbonio_design_system_1.Text) `
|
|
64
|
+
text-transform: capitalize;
|
|
65
|
+
`;
|
|
66
|
+
const LabelFactory = ({ selected, label, open, focus }) => (react_1.default.createElement(exports.ColorContainer, { orientation: "horizontal", width: "fill", crossAlignment: "center", mainAlignment: "space-between", borderRadius: "half", background: "gray5", padding: {
|
|
67
|
+
all: 'small'
|
|
68
|
+
} },
|
|
69
|
+
react_1.default.createElement(carbonio_design_system_1.Row, { width: "100%", takeAvailableSpace: true, mainAlignment: "space-between" },
|
|
70
|
+
react_1.default.createElement(carbonio_design_system_1.Row, { orientation: "vertical", crossAlignment: "flex-start", mainAlignment: "flex-start", padding: { left: 'small' } },
|
|
71
|
+
react_1.default.createElement(carbonio_design_system_1.Text, { size: "small", color: open || focus ? 'primary' : 'secondary' }, label),
|
|
72
|
+
react_1.default.createElement(exports.TextUpperCase, null, selected[0].label)),
|
|
73
|
+
react_1.default.createElement(carbonio_design_system_1.Padding, { right: "small" },
|
|
74
|
+
react_1.default.createElement(Square, { "$color": utils_1.ZIMBRA_STANDARD_COLORS[parseInt(selected[0].value, 10)].hex }))),
|
|
75
|
+
react_1.default.createElement(carbonio_design_system_1.Icon, { size: "large", icon: open ? 'ChevronUpOutline' : 'ChevronDownOutline', color: open || focus ? 'primary' : 'secondary', style: { alignSelf: 'center' } })));
|
|
76
|
+
const ColorSelect = ({ onChange, defaultColor = 0, label }) => {
|
|
77
|
+
const [t] = (0, react_i18next_1.useTranslation)();
|
|
78
|
+
const colors = (0, react_1.useMemo)(() => utils_1.ZIMBRA_STANDARD_COLORS.map((el, index) => {
|
|
79
|
+
const colorLabel = t(`colors.${el.zLabel}`, el.zLabel);
|
|
80
|
+
return {
|
|
81
|
+
label: colorLabel,
|
|
82
|
+
value: index.toString(),
|
|
83
|
+
customComponent: (react_1.default.createElement(carbonio_design_system_1.Container, { width: "100%", mainAlignment: "space-between", orientation: "horizontal", height: "fit" },
|
|
84
|
+
react_1.default.createElement(carbonio_design_system_1.Padding, { left: "small" },
|
|
85
|
+
react_1.default.createElement(exports.TextUpperCase, null, colorLabel)),
|
|
86
|
+
react_1.default.createElement(Square, { "$color": el.hex })))
|
|
87
|
+
};
|
|
88
|
+
}), [t]);
|
|
89
|
+
const defaultSelection = (0, react_1.useMemo)(() => colors[defaultColor], [colors, defaultColor]);
|
|
90
|
+
return (react_1.default.createElement(carbonio_design_system_1.Select, { label: label, onChange: onChange, items: colors, defaultSelection: defaultSelection, LabelFactory: LabelFactory, "data-testid": "color-select" }));
|
|
91
|
+
};
|
|
92
|
+
exports.ColorSelect = ColorSelect;
|
|
93
|
+
//# sourceMappingURL=color-select.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"color-select.js","sourceRoot":"","sources":["../../../src/components/select/color-select.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Folder } from '../../../types';
|
|
3
|
+
export type FlaFolderProps = {
|
|
4
|
+
folder: Folder;
|
|
5
|
+
selected?: boolean;
|
|
6
|
+
onFolderSelected?: (arg: Folder) => void;
|
|
7
|
+
};
|
|
8
|
+
export declare const FlatFolder: ({ folder, onFolderSelected, ...rest }: FlaFolderProps) => React.JSX.Element;
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* SPDX-FileCopyrightText: 2025 Zextras <https://www.zextras.com>
|
|
4
|
+
*
|
|
5
|
+
* SPDX-License-Identifier: AGPL-3.0-only
|
|
6
|
+
*/
|
|
7
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
8
|
+
if (k2 === undefined) k2 = k;
|
|
9
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
10
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
11
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
12
|
+
}
|
|
13
|
+
Object.defineProperty(o, k2, desc);
|
|
14
|
+
}) : (function(o, m, k, k2) {
|
|
15
|
+
if (k2 === undefined) k2 = k;
|
|
16
|
+
o[k2] = m[k];
|
|
17
|
+
}));
|
|
18
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
19
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
20
|
+
}) : function(o, v) {
|
|
21
|
+
o["default"] = v;
|
|
22
|
+
});
|
|
23
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
24
|
+
var ownKeys = function(o) {
|
|
25
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
26
|
+
var ar = [];
|
|
27
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
28
|
+
return ar;
|
|
29
|
+
};
|
|
30
|
+
return ownKeys(o);
|
|
31
|
+
};
|
|
32
|
+
return function (mod) {
|
|
33
|
+
if (mod && mod.__esModule) return mod;
|
|
34
|
+
var result = {};
|
|
35
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
36
|
+
__setModuleDefault(result, mod);
|
|
37
|
+
return result;
|
|
38
|
+
};
|
|
39
|
+
})();
|
|
40
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
41
|
+
exports.FlatFolder = void 0;
|
|
42
|
+
const react_1 = __importStar(require("react"));
|
|
43
|
+
const carbonio_design_system_1 = require("@zextras/carbonio-design-system");
|
|
44
|
+
const lodash_1 = require("lodash");
|
|
45
|
+
const utils_1 = require("./utils");
|
|
46
|
+
const folders_1 = require("../../../helpers/folders");
|
|
47
|
+
const static_breadcrumbs_1 = require("../../breadcrumbs/static-breadcrumbs");
|
|
48
|
+
/**
|
|
49
|
+
* Process the absolute path of the given folder, removing
|
|
50
|
+
* the leading slash
|
|
51
|
+
*
|
|
52
|
+
* @param folder
|
|
53
|
+
* @return the array of the crumbs name of the path
|
|
54
|
+
*/
|
|
55
|
+
const getFolderAbsPathParts = (folder) => {
|
|
56
|
+
if (!folder) {
|
|
57
|
+
return [];
|
|
58
|
+
}
|
|
59
|
+
// Exception for root folders
|
|
60
|
+
if ((0, folders_1.isRoot)(folder?.id)) {
|
|
61
|
+
return [folder.name ?? ''];
|
|
62
|
+
}
|
|
63
|
+
const reg = /^\/?(.*)$/gm;
|
|
64
|
+
const matches = reg.exec(folder.absFolderPath ?? '');
|
|
65
|
+
if (!matches) {
|
|
66
|
+
return [];
|
|
67
|
+
}
|
|
68
|
+
return matches[1].split('/');
|
|
69
|
+
};
|
|
70
|
+
const FlatFolder = ({ folder, onFolderSelected, ...rest }) => {
|
|
71
|
+
const iconName = (0, utils_1.getFolderIconName)(folder);
|
|
72
|
+
const iconColor = (0, utils_1.getFolderIconColor)(folder);
|
|
73
|
+
const parts = getFolderAbsPathParts(folder);
|
|
74
|
+
/*
|
|
75
|
+
* Create the crumbs array and try to get the translations
|
|
76
|
+
* for the first part which usually represent a system folder
|
|
77
|
+
* for which a translated name is available
|
|
78
|
+
*/
|
|
79
|
+
const crumbs = parts.map((part, index) => ({
|
|
80
|
+
id: `${index} `,
|
|
81
|
+
label: index === 0 ? (0, utils_1.getSystemFolderTranslatedName)({ folderName: part }) : part
|
|
82
|
+
}));
|
|
83
|
+
const selectionHandler = (0, react_1.useCallback)(() => onFolderSelected?.(folder) ?? lodash_1.noop, [onFolderSelected, folder]);
|
|
84
|
+
return (react_1.default.createElement(carbonio_design_system_1.Container, { width: "fill", "main-alignment": "flex-start", orientation: "vertical", crossAlignment: "flex-start", padding: { top: 'small', right: 'small', bottom: 'small', left: 'extralarge' }, height: '2.6rem', onClick: selectionHandler, wrap: "nowrap", ...rest },
|
|
85
|
+
react_1.default.createElement(carbonio_design_system_1.Row, { mainAlignment: "flex-start", wrap: "nowrap", width: "fill" },
|
|
86
|
+
react_1.default.createElement(carbonio_design_system_1.Container, { width: "fit" },
|
|
87
|
+
react_1.default.createElement(carbonio_design_system_1.Icon, { color: iconColor, icon: iconName ?? 'FolderOutline', size: "large" })),
|
|
88
|
+
react_1.default.createElement(static_breadcrumbs_1.StaticBreadcrumbs, { crumbs: crumbs, size: "large" }))));
|
|
89
|
+
};
|
|
90
|
+
exports.FlatFolder = FlatFolder;
|
|
91
|
+
//# sourceMappingURL=flat-folder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flat-folder.js","sourceRoot":"","sources":["../../../../src/components/select/folders/flat-folder.tsx"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,+CAA2C;AAE3C,4EAAuE;AACvE,mCAA8B;AAE9B,mCAA+F;AAC/F,sDAAkD;AAElD,6EAAyE;AAEzE;;;;;;GAMG;AACH,MAAM,qBAAqB,GAAG,CAAC,MAAc,EAAiB,EAAE;IAC/D,IAAI,CAAC,MAAM,EAAE,CAAC;QACb,OAAO,EAAE,CAAC;IACX,CAAC;IAED,6BAA6B;IAC7B,IAAI,IAAA,gBAAM,EAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;QACxB,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IAC5B,CAAC;IACD,MAAM,GAAG,GAAG,aAAa,CAAC;IAE1B,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC;IACrD,IAAI,CAAC,OAAO,EAAE,CAAC;QACd,OAAO,EAAE,CAAC;IACX,CAAC;IAED,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAC9B,CAAC,CAAC;AAQK,MAAM,UAAU,GAAG,CAAC,EAC1B,MAAM,EACN,gBAAgB,EAChB,GAAG,IAAI,EACS,EAAqB,EAAE;IACvC,MAAM,QAAQ,GAAG,IAAA,yBAAiB,EAAC,MAAM,CAAC,CAAC;IAC3C,MAAM,SAAS,GAAG,IAAA,0BAAkB,EAAC,MAAM,CAAC,CAAC;IAC7C,MAAM,KAAK,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAE5C;;;;OAIG;IACH,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;QAC1C,EAAE,EAAE,GAAG,KAAK,GAAG;QACf,KAAK,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,IAAA,qCAA6B,EAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI;KAC/E,CAAC,CAAC,CAAC;IAEJ,MAAM,gBAAgB,GAAG,IAAA,mBAAW,EACnC,GAAG,EAAE,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC,IAAI,aAAI,EACxC,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAC1B,CAAC;IAEF,OAAO,CACN,8BAAC,kCAAS,IACT,KAAK,EAAC,MAAM,oBACG,YAAY,EAC3B,WAAW,EAAC,UAAU,EACtB,cAAc,EAAC,YAAY,EAC3B,OAAO,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,EAC9E,MAAM,EAAE,QAAQ,EAChB,OAAO,EAAE,gBAAgB,EACzB,IAAI,EAAC,QAAQ,KACT,IAAI;QAER,8BAAC,4BAAG,IAAC,aAAa,EAAC,YAAY,EAAC,IAAI,EAAC,QAAQ,EAAC,KAAK,EAAC,MAAM;YACzD,8BAAC,kCAAS,IAAC,KAAK,EAAC,KAAK;gBACrB,8BAAC,6BAAI,IAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,IAAI,eAAe,EAAE,IAAI,EAAC,OAAO,GAAG,CAC/D;YACZ,8BAAC,sCAAiB,IAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAC,OAAO,GAAG,CAC7C,CACK,CACZ,CAAC;AACH,CAAC,CAAC;AA5CW,QAAA,UAAU,cA4CrB"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Folder } from '../../../types';
|
|
3
|
+
type FlatFoldersProps = {
|
|
4
|
+
rootFolders: Array<Folder>;
|
|
5
|
+
searchString: string;
|
|
6
|
+
selectedFolderId?: string;
|
|
7
|
+
onFolderSelected?: (folder: Folder) => void;
|
|
8
|
+
allowRootSelection?: boolean;
|
|
9
|
+
filterChildren?: (folder: Folder) => boolean;
|
|
10
|
+
};
|
|
11
|
+
export declare const FlatFolders: ({ rootFolders, searchString, onFolderSelected, selectedFolderId, allowRootSelection, filterChildren }: FlatFoldersProps) => React.JSX.Element;
|
|
12
|
+
export {};
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* SPDX-FileCopyrightText: 2025 Zextras <https://www.zextras.com>
|
|
4
|
+
*
|
|
5
|
+
* SPDX-License-Identifier: AGPL-3.0-only
|
|
6
|
+
*/
|
|
7
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
8
|
+
if (k2 === undefined) k2 = k;
|
|
9
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
10
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
11
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
12
|
+
}
|
|
13
|
+
Object.defineProperty(o, k2, desc);
|
|
14
|
+
}) : (function(o, m, k, k2) {
|
|
15
|
+
if (k2 === undefined) k2 = k;
|
|
16
|
+
o[k2] = m[k];
|
|
17
|
+
}));
|
|
18
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
19
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
20
|
+
}) : function(o, v) {
|
|
21
|
+
o["default"] = v;
|
|
22
|
+
});
|
|
23
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
24
|
+
var ownKeys = function(o) {
|
|
25
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
26
|
+
var ar = [];
|
|
27
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
28
|
+
return ar;
|
|
29
|
+
};
|
|
30
|
+
return ownKeys(o);
|
|
31
|
+
};
|
|
32
|
+
return function (mod) {
|
|
33
|
+
if (mod && mod.__esModule) return mod;
|
|
34
|
+
var result = {};
|
|
35
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
36
|
+
__setModuleDefault(result, mod);
|
|
37
|
+
return result;
|
|
38
|
+
};
|
|
39
|
+
})();
|
|
40
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
41
|
+
exports.FlatFolders = void 0;
|
|
42
|
+
const react_1 = __importStar(require("react"));
|
|
43
|
+
const carbonio_design_system_1 = require("@zextras/carbonio-design-system");
|
|
44
|
+
const react_i18next_1 = require("react-i18next");
|
|
45
|
+
const flat_root_1 = require("./flat-root");
|
|
46
|
+
const utils_1 = require("./utils");
|
|
47
|
+
const FlatFolders = ({ rootFolders, searchString, onFolderSelected, selectedFolderId, allowRootSelection, filterChildren }) => {
|
|
48
|
+
const [hasMoreResults, setHasMoreResults] = react_1.default.useState(false);
|
|
49
|
+
const [t] = (0, react_i18next_1.useTranslation)();
|
|
50
|
+
const flatFilteredFolders = (0, react_1.useMemo)(() => {
|
|
51
|
+
let remaining = 100;
|
|
52
|
+
return rootFolders
|
|
53
|
+
.map((rootFolder) => {
|
|
54
|
+
if (remaining <= 0) {
|
|
55
|
+
return { ...rootFolder, children: [] };
|
|
56
|
+
}
|
|
57
|
+
const currentFolder = {
|
|
58
|
+
...rootFolder,
|
|
59
|
+
name: (0, utils_1.getSystemFolderTranslatedName)({ folderName: rootFolder.name }),
|
|
60
|
+
children: []
|
|
61
|
+
};
|
|
62
|
+
const children = (0, utils_1.flattenAndFilterFoldersWithCap)(rootFolder.children, searchString, remaining, filterChildren);
|
|
63
|
+
remaining -= children.length;
|
|
64
|
+
if (remaining <= 0) {
|
|
65
|
+
setHasMoreResults(true);
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
setHasMoreResults(false);
|
|
69
|
+
}
|
|
70
|
+
return { ...currentFolder, children };
|
|
71
|
+
})
|
|
72
|
+
.filter((folder) => folder !== null);
|
|
73
|
+
}, [filterChildren, rootFolders, searchString]);
|
|
74
|
+
const hasMoreResultsWarningLabel = t('modal.messageFilteringList', 'Only the first 100 results are displayed. Narrow your search criteria to view the complete list.');
|
|
75
|
+
return (react_1.default.createElement(react_1.default.Fragment, null,
|
|
76
|
+
hasMoreResults && (react_1.default.createElement(carbonio_design_system_1.Padding, { top: "small", bottom: "large" },
|
|
77
|
+
react_1.default.createElement(carbonio_design_system_1.Row, { wrap: "nowrap", takeAvailableSpace: true, width: "fill" },
|
|
78
|
+
react_1.default.createElement(carbonio_design_system_1.Text, { "data-testid": 'has-more-results', textAlign: "left", size: "small" }, hasMoreResultsWarningLabel)))),
|
|
79
|
+
!hasMoreResults && react_1.default.createElement(carbonio_design_system_1.Padding, { vertical: "medium" }),
|
|
80
|
+
react_1.default.createElement(carbonio_design_system_1.Container, { "data-testid": 'flat-folders-selector', orientation: 'vertical', style: { overflowY: 'auto' } }, flatFilteredFolders.map((folder) => (react_1.default.createElement(flat_root_1.FlatRoot, { key: folder.id, folder: folder, childrenFolders: folder.children, isOpen: true, onFolderSelected: onFolderSelected, selectedFolderId: selectedFolderId, allowRootSelection: allowRootSelection }))))));
|
|
81
|
+
};
|
|
82
|
+
exports.FlatFolders = FlatFolders;
|
|
83
|
+
//# sourceMappingURL=flat-folders.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flat-folders.js","sourceRoot":"","sources":["../../../../src/components/select/folders/flat-folders.tsx"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,+CAAqD;AAErD,4EAAgF;AAChF,iDAA+C;AAE/C,2CAAuC;AACvC,mCAAwF;AAYjF,MAAM,WAAW,GAAG,CAAC,EAC3B,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,cAAc,EACI,EAAqB,EAAE;IACzC,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,eAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClE,MAAM,CAAC,CAAC,CAAC,GAAG,IAAA,8BAAc,GAAE,CAAC;IAC7B,MAAM,mBAAmB,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE;QACxC,IAAI,SAAS,GAAG,GAAG,CAAC;QAEpB,OAAO,WAAW;aAChB,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE;YACnB,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;gBACpB,OAAO,EAAE,GAAG,UAAU,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;YACxC,CAAC;YACD,MAAM,aAAa,GAAG;gBACrB,GAAG,UAAU;gBACb,IAAI,EAAE,IAAA,qCAA6B,EAAC,EAAE,UAAU,EAAE,UAAU,CAAC,IAAI,EAAE,CAAC;gBACpE,QAAQ,EAAE,EAAE;aACZ,CAAC;YACF,MAAM,QAAQ,GAAG,IAAA,sCAA8B,EAC9C,UAAU,CAAC,QAAQ,EACnB,YAAY,EACZ,SAAS,EACT,cAAc,CACd,CAAC;YACF,SAAS,IAAI,QAAQ,CAAC,MAAM,CAAC;YAC7B,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;gBACpB,iBAAiB,CAAC,IAAI,CAAC,CAAC;YACzB,CAAC;iBAAM,CAAC;gBACP,iBAAiB,CAAC,KAAK,CAAC,CAAC;YAC1B,CAAC;YAED,OAAO,EAAE,GAAG,aAAa,EAAE,QAAQ,EAAE,CAAC;QACvC,CAAC,CAAC;aACD,MAAM,CAAC,CAAC,MAAM,EAAoB,EAAE,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC;IACzD,CAAC,EAAE,CAAC,cAAc,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC;IAEhD,MAAM,0BAA0B,GAAG,CAAC,CACnC,4BAA4B,EAC5B,kGAAkG,CAClG,CAAC;IAEF,OAAO,CACN;QACE,cAAc,IAAI,CAClB,8BAAC,gCAAO,IAAC,GAAG,EAAC,OAAO,EAAC,MAAM,EAAC,OAAO;YAClC,8BAAC,4BAAG,IAAC,IAAI,EAAC,QAAQ,EAAC,kBAAkB,QAAC,KAAK,EAAC,MAAM;gBACjD,8BAAC,6BAAI,mBAAc,kBAAkB,EAAE,SAAS,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,IAClE,0BAA0B,CACrB,CACF,CACG,CACV;QACA,CAAC,cAAc,IAAI,8BAAC,gCAAO,IAAC,QAAQ,EAAC,QAAQ,GAAG;QACjD,8BAAC,kCAAS,mBACI,uBAAuB,EACpC,WAAW,EAAE,UAAU,EACvB,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,IAE3B,mBAAmB,CAAC,GAAG,CAAe,CAAC,MAAM,EAAE,EAAE,CAAC,CAClD,8BAAC,oBAAQ,IACR,GAAG,EAAE,MAAM,CAAC,EAAE,EACd,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,MAAM,CAAC,QAAQ,EAChC,MAAM,QACN,gBAAgB,EAAE,gBAAgB,EAClC,gBAAgB,EAAE,gBAAgB,EAClC,kBAAkB,EAAE,kBAAkB,GACrC,CACF,CAAC,CACS,CACV,CACH,CAAC;AACH,CAAC,CAAC;AA7EW,QAAA,WAAW,eA6EtB"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { type FlaFolderProps } from './flat-folder';
|
|
3
|
+
import { Folder } from '../../../types';
|
|
4
|
+
type FlatRootProps = FlaFolderProps & {
|
|
5
|
+
childrenFolders: Array<Folder>;
|
|
6
|
+
isOpen?: boolean;
|
|
7
|
+
onOpenStatusChange?: (isOpen: boolean) => void;
|
|
8
|
+
selectedFolderId?: string;
|
|
9
|
+
allowRootSelection?: boolean;
|
|
10
|
+
};
|
|
11
|
+
export declare const FlatRoot: ({ folder, childrenFolders, isOpen, onFolderSelected, onOpenStatusChange, selectedFolderId, allowRootSelection }: FlatRootProps) => React.JSX.Element;
|
|
12
|
+
export {};
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* SPDX-FileCopyrightText: 2025 Zextras <https://www.zextras.com>
|
|
4
|
+
*
|
|
5
|
+
* SPDX-License-Identifier: AGPL-3.0-only
|
|
6
|
+
*/
|
|
7
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
8
|
+
if (k2 === undefined) k2 = k;
|
|
9
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
10
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
11
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
12
|
+
}
|
|
13
|
+
Object.defineProperty(o, k2, desc);
|
|
14
|
+
}) : (function(o, m, k, k2) {
|
|
15
|
+
if (k2 === undefined) k2 = k;
|
|
16
|
+
o[k2] = m[k];
|
|
17
|
+
}));
|
|
18
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
19
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
20
|
+
}) : function(o, v) {
|
|
21
|
+
o["default"] = v;
|
|
22
|
+
});
|
|
23
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
24
|
+
var ownKeys = function(o) {
|
|
25
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
26
|
+
var ar = [];
|
|
27
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
28
|
+
return ar;
|
|
29
|
+
};
|
|
30
|
+
return ownKeys(o);
|
|
31
|
+
};
|
|
32
|
+
return function (mod) {
|
|
33
|
+
if (mod && mod.__esModule) return mod;
|
|
34
|
+
var result = {};
|
|
35
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
36
|
+
__setModuleDefault(result, mod);
|
|
37
|
+
return result;
|
|
38
|
+
};
|
|
39
|
+
})();
|
|
40
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
41
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
42
|
+
};
|
|
43
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
44
|
+
exports.FlatRoot = void 0;
|
|
45
|
+
const react_1 = __importStar(require("react"));
|
|
46
|
+
const carbonio_design_system_1 = require("@zextras/carbonio-design-system");
|
|
47
|
+
const carbonio_shell_ui_1 = require("@zextras/carbonio-shell-ui");
|
|
48
|
+
const styled_components_1 = __importDefault(require("styled-components"));
|
|
49
|
+
const flat_folder_1 = require("./flat-folder");
|
|
50
|
+
const folders_1 = require("../../../constants/folders");
|
|
51
|
+
const FOLDER_ROW_HEIGHT = '2.6rem';
|
|
52
|
+
const CustomListItem = (0, styled_components_1.default)(carbonio_design_system_1.ListItem).attrs({
|
|
53
|
+
background: 'gray6',
|
|
54
|
+
activeBackground: 'highlight',
|
|
55
|
+
selectedBackground: 'gray5'
|
|
56
|
+
}) ``;
|
|
57
|
+
const CustomContainer = (0, styled_components_1.default)(carbonio_design_system_1.Container) `
|
|
58
|
+
&:hover {
|
|
59
|
+
background-color: ${({ theme, $active }) => $active ? theme.palette.highlight.active : theme.palette.gray6.hover};
|
|
60
|
+
}
|
|
61
|
+
`;
|
|
62
|
+
const FlatRoot = ({ folder, childrenFolders, isOpen = false, onFolderSelected, onOpenStatusChange, selectedFolderId, allowRootSelection }) => {
|
|
63
|
+
const [open, setOpen] = (0, react_1.useState)(isOpen);
|
|
64
|
+
const account = (0, carbonio_shell_ui_1.useUserAccount)();
|
|
65
|
+
const rootLabel = folder.id === folders_1.FOLDERS.USER_ROOT ? account.name : folder.name;
|
|
66
|
+
const toggleOpen = (0, react_1.useCallback)((e) => {
|
|
67
|
+
e.stopPropagation();
|
|
68
|
+
setOpen((op) => {
|
|
69
|
+
onOpenStatusChange && onOpenStatusChange(!op);
|
|
70
|
+
return !op;
|
|
71
|
+
});
|
|
72
|
+
}, [onOpenStatusChange]);
|
|
73
|
+
const onClick = (0, react_1.useCallback)((e) => {
|
|
74
|
+
e.stopPropagation();
|
|
75
|
+
if (!open) {
|
|
76
|
+
setOpen(true);
|
|
77
|
+
}
|
|
78
|
+
if (!allowRootSelection) {
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
onFolderSelected?.(folder);
|
|
82
|
+
}, [open, allowRootSelection, onFolderSelected, folder]);
|
|
83
|
+
return (react_1.default.createElement(carbonio_design_system_1.Row, { width: "fill", style: {
|
|
84
|
+
cursor: 'pointer'
|
|
85
|
+
} },
|
|
86
|
+
react_1.default.createElement(CustomContainer, { orientation: "horizontal", width: "fill", height: "fit", mainAlignment: "space-between", padding: 'small', onClick: onClick, "data-testid": `folder-flat-root-${folder.id}`, background: selectedFolderId === folder.id ? 'highlight.active' : 'gray6', "$active": selectedFolderId === folder.id },
|
|
87
|
+
react_1.default.createElement(carbonio_design_system_1.Container, { orientation: "horizontal", width: "fill", mainAlignment: "flex-start" },
|
|
88
|
+
react_1.default.createElement(carbonio_design_system_1.Padding, { horizontal: "small" },
|
|
89
|
+
react_1.default.createElement(carbonio_design_system_1.Avatar, { label: rootLabel, size: "medium" })),
|
|
90
|
+
react_1.default.createElement(carbonio_design_system_1.Tooltip, { label: rootLabel, placement: "right", maxWidth: "100%" },
|
|
91
|
+
react_1.default.createElement(carbonio_design_system_1.Text, null, rootLabel))),
|
|
92
|
+
react_1.default.createElement(carbonio_design_system_1.Padding, { right: "small" },
|
|
93
|
+
react_1.default.createElement(carbonio_design_system_1.IconButton, { customSize: { iconSize: 'large', paddingSize: 0 }, onClick: toggleOpen, icon: open ? 'ChevronUp' : 'ChevronDown' }))),
|
|
94
|
+
react_1.default.createElement(carbonio_design_system_1.Collapse, { crossSize: "100%", orientation: "vertical", open: open, disableTransition: false },
|
|
95
|
+
react_1.default.createElement(carbonio_design_system_1.List, null, childrenFolders.map((childFolder) => (react_1.default.createElement(CustomListItem, { key: childFolder.id, selected: selectedFolderId === childFolder.id, active: selectedFolderId === childFolder.id }, (visible) => visible ? (react_1.default.createElement(flat_folder_1.FlatFolder, { "data-testid": `folder-flat-item-${childFolder.id}`, folder: childFolder, onFolderSelected: onFolderSelected })) : (react_1.default.createElement("div", { style: { height: `${FOLDER_ROW_HEIGHT}` } })))))))));
|
|
96
|
+
};
|
|
97
|
+
exports.FlatRoot = FlatRoot;
|
|
98
|
+
//# sourceMappingURL=flat-root.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flat-root.js","sourceRoot":"","sources":["../../../../src/components/select/folders/flat-root.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.FolderAccordionCustomComponent = void 0;
|
|
40
|
+
/*
|
|
41
|
+
* SPDX-FileCopyrightText: 2025 Zextras <https://www.zextras.com>
|
|
42
|
+
*
|
|
43
|
+
* SPDX-License-Identifier: AGPL-3.0-only
|
|
44
|
+
*/
|
|
45
|
+
const react_1 = __importStar(require("react"));
|
|
46
|
+
const carbonio_design_system_1 = require("@zextras/carbonio-design-system");
|
|
47
|
+
const carbonio_shell_ui_1 = require("@zextras/carbonio-shell-ui");
|
|
48
|
+
const styled_components_1 = __importDefault(require("styled-components"));
|
|
49
|
+
const status_icon_1 = require("./status-icon");
|
|
50
|
+
const utils_1 = require("./utils");
|
|
51
|
+
const folders_1 = require("../../../constants/folders");
|
|
52
|
+
const utils_2 = require("../../../constants/utils");
|
|
53
|
+
const FittedRow = (0, styled_components_1.default)(carbonio_design_system_1.Row) `
|
|
54
|
+
max-width: calc(100% - (2 * ${({ theme }) => theme.sizes.padding.small}));
|
|
55
|
+
height: 3rem;
|
|
56
|
+
`;
|
|
57
|
+
const FolderAccordionCustomComponent = ({ folder }) => {
|
|
58
|
+
const accountName = (0, carbonio_shell_ui_1.useUserAccount)().name;
|
|
59
|
+
const textProps = (0, react_1.useMemo)(() => ({
|
|
60
|
+
size: 'small'
|
|
61
|
+
}), []);
|
|
62
|
+
const accordionItem = (0, react_1.useMemo)(() => ({
|
|
63
|
+
...folder,
|
|
64
|
+
label: folder.id === folders_1.FOLDERS.USER_ROOT
|
|
65
|
+
? accountName
|
|
66
|
+
: ((0, utils_1.getFolderTranslatedName)({ folderId: folder.id, folderName: folder.name }) ?? ''),
|
|
67
|
+
icon: (0, utils_1.getFolderIconName)(folder) ?? undefined,
|
|
68
|
+
iconColor: (0, utils_1.getFolderIconColor)(folder) ?? '',
|
|
69
|
+
textProps
|
|
70
|
+
}), [folder, accountName, textProps]);
|
|
71
|
+
// hide folders where a share was provided and subsequently removed
|
|
72
|
+
if (folder.isLink && folder.broken) {
|
|
73
|
+
return react_1.default.createElement(react_1.default.Fragment, null);
|
|
74
|
+
}
|
|
75
|
+
const showAvatar = folder.id === folders_1.FOLDERS.USER_ROOT || (folder.isLink && folder.oname === utils_2.ROOT_NAME);
|
|
76
|
+
return (react_1.default.createElement(FittedRow, null,
|
|
77
|
+
showAvatar && (react_1.default.createElement(carbonio_design_system_1.Padding, { left: "small" },
|
|
78
|
+
react_1.default.createElement(carbonio_design_system_1.Avatar, { label: accordionItem.label, colorLabel: accordionItem.iconColor, size: "medium" }))),
|
|
79
|
+
react_1.default.createElement(carbonio_design_system_1.Tooltip, { label: accordionItem.label, placement: "right", maxWidth: "100%" },
|
|
80
|
+
react_1.default.createElement(carbonio_design_system_1.AccordionItem, { "data-testid": `accordion-folder-item-${folder.id}`, item: accordionItem },
|
|
81
|
+
react_1.default.createElement(status_icon_1.StatusIcon, { folder: folder })))));
|
|
82
|
+
};
|
|
83
|
+
exports.FolderAccordionCustomComponent = FolderAccordionCustomComponent;
|
|
84
|
+
//# sourceMappingURL=folder-accordions-custom-component.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"folder-accordions-custom-component.js","sourceRoot":"","sources":["../../../../src/components/select/folders/folder-accordions-custom-component.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;GAIG;AACH,+CAAuC;AAEvC,4EAA+F;AAC/F,kEAA4D;AAC5D,0EAAuC;AAEvC,+CAA2C;AAC3C,mCAAyF;AACzF,wDAAqD;AACrD,oDAAqD;AAGrD,MAAM,SAAS,GAAG,IAAA,2BAAM,EAAC,4BAAG,CAAC,CAAA;+BACE,CAAC,EAAE,KAAK,EAAE,EAAU,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK;;CAE9E,CAAC;AAEK,MAAM,8BAA8B,GAAG,CAAC,EAC9C,MAAM,EAGN,EAAqB,EAAE;IACvB,MAAM,WAAW,GAAG,IAAA,kCAAc,GAAE,CAAC,IAAI,CAAC;IAE1C,MAAM,SAAS,GAAsB,IAAA,eAAO,EAC3C,GAAG,EAAE,CAAC,CAAC;QACN,IAAI,EAAE,OAAO;KACb,CAAC,EACF,EAAE,CACF,CAAC;IACF,MAAM,aAAa,GAAG,IAAA,eAAO,EAC5B,GAAG,EAAE,CAAC,CAAC;QACN,GAAG,MAAM;QACT,KAAK,EACJ,MAAM,CAAC,EAAE,KAAK,iBAAO,CAAC,SAAS;YAC9B,CAAC,CAAC,WAAW;YACb,CAAC,CAAC,CAAC,IAAA,+BAAuB,EAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,UAAU,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;QACrF,IAAI,EAAE,IAAA,yBAAiB,EAAC,MAAM,CAAC,IAAI,SAAS;QAC5C,SAAS,EAAE,IAAA,0BAAkB,EAAC,MAAM,CAAC,IAAI,EAAE;QAC3C,SAAS;KACT,CAAC,EACF,CAAC,MAAM,EAAE,WAAW,EAAE,SAAS,CAAC,CAChC,CAAC;IAEF,mEAAmE;IACnE,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QACpC,OAAO,6DAAK,CAAC;IACd,CAAC;IAED,MAAM,UAAU,GACf,MAAM,CAAC,EAAE,KAAK,iBAAO,CAAC,SAAS,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,KAAK,KAAK,iBAAS,CAAC,CAAC;IAElF,OAAO,CACN,8BAAC,SAAS;QACR,UAAU,IAAI,CACd,8BAAC,gCAAO,IAAC,IAAI,EAAC,OAAO;YACpB,8BAAC,+BAAM,IAAC,KAAK,EAAE,aAAa,CAAC,KAAK,EAAE,UAAU,EAAE,aAAa,CAAC,SAAS,EAAE,IAAI,EAAC,QAAQ,GAAG,CAChF,CACV;QACD,8BAAC,gCAAO,IAAC,KAAK,EAAE,aAAa,CAAC,KAAK,EAAE,SAAS,EAAC,OAAO,EAAC,QAAQ,EAAC,MAAM;YACrE,8BAAC,sCAAa,mBAAc,yBAAyB,MAAM,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,aAAa;gBACpF,8BAAC,wBAAU,IAAC,MAAM,EAAE,MAAM,GAAI,CACf,CACP,CACC,CACZ,CAAC;AACH,CAAC,CAAC;AAjDW,QAAA,8BAA8B,kCAiDzC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { ReactElement } from 'react';
|
|
2
|
+
import { Folder } from '../../../types';
|
|
3
|
+
export type FolderSelectorProps = {
|
|
4
|
+
inputLabel?: string;
|
|
5
|
+
onNewFolderClick?: () => void;
|
|
6
|
+
selectedFolderId?: string;
|
|
7
|
+
onFolderSelected: (arg: Folder) => void;
|
|
8
|
+
showSharedAccounts: boolean;
|
|
9
|
+
allowRootSelection: boolean;
|
|
10
|
+
filterChildren?: (folder: Folder) => boolean;
|
|
11
|
+
};
|
|
12
|
+
export declare const FolderSelector: ({ inputLabel, onNewFolderClick, selectedFolderId, onFolderSelected, allowRootSelection, showSharedAccounts, filterChildren }: FolderSelectorProps) => ReactElement;
|