@homefile/components-v2 1.0.15 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/images/index.d.ts +3 -1
- package/dist/assets/images/index.js +3 -1
- package/dist/assets/images/index.ts +4 -0
- package/dist/assets/images/sms.svg +21 -0
- package/dist/assets/images/social.svg +10 -0
- package/dist/assets/locales/en/index.json +29 -1
- package/dist/components/contacts/ContactCard.d.ts +1 -1
- package/dist/components/contacts/ContactCard.js +2 -2
- package/dist/components/contacts/ContactCardHeader.d.ts +1 -1
- package/dist/components/contacts/ContactCardHeader.js +5 -4
- package/dist/components/contacts/ContactsContent.d.ts +1 -1
- package/dist/components/contacts/ContactsContent.js +2 -2
- package/dist/components/contacts/ShareContactPopover.d.ts +2 -0
- package/dist/components/contacts/ShareContactPopover.js +32 -0
- package/dist/components/contacts/index.d.ts +2 -0
- package/dist/components/contacts/index.js +2 -0
- package/dist/components/contacts/shareContactForms/ShareContactByEmail.d.ts +2 -0
- package/dist/components/contacts/shareContactForms/ShareContactByEmail.js +21 -0
- package/dist/components/contacts/shareContactForms/index.d.ts +1 -0
- package/dist/components/contacts/shareContactForms/index.js +1 -0
- package/dist/components/folderPanel/displayFiles/GridFile.js +1 -1
- package/dist/components/folderPanel/displayFiles/IconMenuWithMove.js +1 -1
- package/dist/components/folderPanel/displayFiles/ListFile.js +1 -1
- package/dist/components/folderPanel/displayFiles/MoveModal.js +1 -1
- package/dist/components/forms/dynamicForm/HiddenField.d.ts +1 -1
- package/dist/components/forms/dynamicForm/HiddenField.js +7 -2
- package/dist/components/headers/TabsHeader.js +1 -1
- package/dist/components/homeBoard/HomeBoard.js +1 -1
- package/dist/components/homeBoard/HomeCard.js +1 -1
- package/dist/components/homeSummary/DocumentMenu.js +1 -1
- package/dist/components/icons/ShareIcon.d.ts +4 -0
- package/dist/components/icons/ShareIcon.js +5 -0
- package/dist/components/icons/index.d.ts +1 -0
- package/dist/components/icons/index.js +1 -0
- package/dist/components/launchpad/IconMenu.js +1 -1
- package/dist/components/myHomes/MyHomeCard.js +1 -1
- package/dist/components/myHomes/MyHomes.js +1 -1
- package/dist/components/myProfile/MyProfileBody.d.ts +1 -1
- package/dist/components/myProfile/MyProfileBody.js +6 -2
- package/dist/components/myProfile/index.d.ts +1 -0
- package/dist/components/myProfile/index.js +1 -0
- package/dist/components/myProfile/permissions/ActionCheckbox.d.ts +2 -0
- package/dist/components/myProfile/permissions/ActionCheckbox.js +6 -0
- package/dist/components/myProfile/permissions/ActionLabel.d.ts +5 -0
- package/dist/components/myProfile/permissions/ActionLabel.js +17 -0
- package/dist/components/myProfile/permissions/PermissionsBanner.d.ts +5 -0
- package/dist/components/myProfile/permissions/PermissionsBanner.js +23 -0
- package/dist/components/myProfile/permissions/RoleButton.d.ts +2 -0
- package/dist/components/myProfile/permissions/RoleButton.js +11 -0
- package/dist/components/myProfile/permissions/RolePermissionsTab.d.ts +2 -0
- package/dist/components/myProfile/permissions/RolePermissionsTab.js +19 -0
- package/dist/components/myProfile/permissions/index.d.ts +5 -0
- package/dist/components/myProfile/permissions/index.js +5 -0
- package/dist/components/overlay/Overlay.d.ts +1 -1
- package/dist/components/overlay/Overlay.js +2 -2
- package/dist/components/rooms/GroupCard.d.ts +1 -1
- package/dist/components/rooms/GroupCard.js +3 -3
- package/dist/components/rooms/ItemCard.d.ts +1 -1
- package/dist/components/rooms/ItemCard.js +2 -2
- package/dist/components/sendDocument/RecipientCard.js +1 -1
- package/dist/components/sharedHomePanel/ShareHomeContactList.js +1 -1
- package/dist/helpers/HomeRoles.helper.d.ts +3 -1
- package/dist/helpers/HomeRoles.helper.js +6 -1
- package/dist/helpers/homeAssistant/HomeAssistant.helper.js +6 -7
- package/dist/helpers/myProfile/RolePermissions.helper.d.ts +2 -0
- package/dist/helpers/myProfile/RolePermissions.helper.js +72 -0
- package/dist/helpers/myProfile/index.d.ts +1 -0
- package/dist/helpers/myProfile/index.js +1 -0
- package/dist/hooks/myProfile/index.d.ts +1 -0
- package/dist/hooks/myProfile/index.js +1 -0
- package/dist/hooks/myProfile/useRolePermissionsTab.d.ts +11 -0
- package/dist/hooks/myProfile/useRolePermissionsTab.js +68 -0
- package/dist/index.d.ts +2 -2
- package/dist/index.js +2 -2
- package/dist/interfaces/contacts/ContactCard.interface.d.ts +3 -1
- package/dist/interfaces/contacts/ContactCardHeader.interface.d.ts +3 -1
- package/dist/interfaces/contacts/ContactsContent.interface.d.ts +4 -2
- package/dist/interfaces/contacts/ShareContactByEmail.interface.d.ts +11 -0
- package/dist/interfaces/contacts/ShareContactByEmail.interface.js +1 -0
- package/dist/interfaces/contacts/ShareContactPopover.interface.d.ts +8 -0
- package/dist/interfaces/contacts/ShareContactPopover.interface.js +1 -0
- package/dist/interfaces/contacts/index.d.ts +2 -0
- package/dist/interfaces/contacts/index.js +2 -0
- package/dist/interfaces/forms/dynamicForm/HiddenField.interface.d.ts +2 -0
- package/dist/interfaces/myProfile/MyProfileBody.interface.d.ts +5 -4
- package/dist/interfaces/myProfile/index.d.ts +1 -0
- package/dist/interfaces/myProfile/index.js +1 -0
- package/dist/interfaces/myProfile/permissions/ActionCheckbox.interface.d.ts +8 -0
- package/dist/interfaces/myProfile/permissions/ActionCheckbox.interface.js +1 -0
- package/dist/interfaces/myProfile/permissions/RoleButton.interface.d.ts +7 -0
- package/dist/interfaces/myProfile/permissions/RoleButton.interface.js +1 -0
- package/dist/interfaces/myProfile/permissions/RolePermissionsTab.interface.d.ts +12 -0
- package/dist/interfaces/myProfile/permissions/RolePermissionsTab.interface.js +1 -0
- package/dist/interfaces/myProfile/permissions/index.d.ts +3 -0
- package/dist/interfaces/myProfile/permissions/index.js +3 -0
- package/dist/interfaces/overlay/Overlay.interface.d.ts +2 -1
- package/dist/interfaces/rooms/GroupCard.interface.d.ts +1 -0
- package/dist/interfaces/rooms/ItemCard.interface.d.ts +1 -0
- package/dist/mocks/myProfile/Permissions.mock.d.ts +2 -0
- package/dist/mocks/myProfile/Permissions.mock.js +66 -0
- package/dist/mocks/myProfile/index.d.ts +1 -0
- package/dist/mocks/myProfile/index.js +1 -0
- package/dist/stories/assets/Illustrations.stories.js +2 -2
- package/dist/stories/myProfile/MyProfilePanel.stories.js +3 -4
- package/dist/stories/myProfile/permissions/RolePermissionsTab.stories.d.ts +5 -0
- package/dist/stories/myProfile/permissions/RolePermissionsTab.stories.js +16 -0
- package/dist/theme/colors.d.ts +1 -0
- package/dist/theme/colors.js +1 -0
- package/package.json +1 -1
- package/src/assets/images/index.ts +4 -0
- package/src/assets/images/sms.svg +21 -0
- package/src/assets/images/social.svg +10 -0
- package/src/assets/locales/en/index.json +29 -1
- package/src/components/contacts/ContactCard.tsx +13 -2
- package/src/components/contacts/ContactCardHeader.tsx +33 -8
- package/src/components/contacts/ContactsContent.tsx +4 -0
- package/src/components/contacts/ShareContactPopover.tsx +106 -0
- package/src/components/contacts/index.ts +3 -1
- package/src/components/contacts/shareContactForms/ShareContactByEmail.tsx +50 -0
- package/src/components/contacts/shareContactForms/index.ts +1 -0
- package/src/components/folderPanel/displayFiles/GridFile.tsx +1 -0
- package/src/components/folderPanel/displayFiles/IconMenuWithMove.tsx +1 -1
- package/src/components/folderPanel/displayFiles/ListFile.tsx +1 -0
- package/src/components/folderPanel/displayFiles/MoveModal.tsx +1 -1
- package/src/components/forms/dynamicForm/HiddenField.tsx +16 -2
- package/src/components/headers/TabsHeader.tsx +1 -0
- package/src/components/homeBoard/HomeBoard.tsx +1 -0
- package/src/components/homeBoard/HomeCard.tsx +1 -0
- package/src/components/homeSummary/DocumentMenu.tsx +1 -1
- package/src/components/icons/ShareIcon.tsx +74 -0
- package/src/components/icons/index.ts +1 -0
- package/src/components/launchpad/IconMenu.tsx +1 -1
- package/src/components/myHomes/MyHomeCard.tsx +12 -8
- package/src/components/myHomes/MyHomes.tsx +1 -1
- package/src/components/myProfile/MyProfileBody.tsx +6 -1
- package/src/components/myProfile/index.ts +1 -0
- package/src/components/myProfile/permissions/ActionCheckbox.tsx +22 -0
- package/src/components/myProfile/permissions/ActionLabel.tsx +18 -0
- package/src/components/myProfile/permissions/PermissionsBanner.tsx +35 -0
- package/src/components/myProfile/permissions/RoleButton.tsx +39 -0
- package/src/components/myProfile/permissions/RolePermissionsTab.tsx +111 -0
- package/src/components/myProfile/permissions/index.ts +5 -0
- package/src/components/overlay/Overlay.tsx +2 -0
- package/src/components/rooms/GroupCard.tsx +3 -1
- package/src/components/rooms/ItemCard.tsx +2 -0
- package/src/components/sendDocument/RecipientCard.tsx +1 -0
- package/src/components/sharedHomePanel/ShareHomeContactList.tsx +1 -1
- package/src/helpers/HomeRoles.helper.ts +16 -1
- package/src/helpers/homeAssistant/HomeAssistant.helper.tsx +6 -7
- package/src/helpers/myProfile/RolePermissions.helper.ts +74 -0
- package/src/helpers/myProfile/index.ts +1 -0
- package/src/hooks/myProfile/index.ts +2 -1
- package/src/hooks/myProfile/useRolePermissionsTab.ts +112 -0
- package/src/index.ts +2 -1
- package/src/interfaces/contacts/ContactCard.interface.ts +3 -1
- package/src/interfaces/contacts/ContactCardHeader.interface.ts +4 -2
- package/src/interfaces/contacts/ContactsContent.interface.ts +5 -3
- package/src/interfaces/contacts/ShareContactByEmail.interface.ts +12 -0
- package/src/interfaces/contacts/ShareContactPopover.interface.ts +9 -0
- package/src/interfaces/contacts/index.ts +3 -1
- package/src/interfaces/forms/dynamicForm/HiddenField.interface.ts +2 -0
- package/src/interfaces/myProfile/MyProfileBody.interface.ts +5 -4
- package/src/interfaces/myProfile/index.ts +1 -0
- package/src/interfaces/myProfile/permissions/ActionCheckbox.interface.ts +9 -0
- package/src/interfaces/myProfile/permissions/RoleButton.interface.ts +8 -0
- package/src/interfaces/myProfile/permissions/RolePermissionsTab.interface.ts +19 -0
- package/src/interfaces/myProfile/permissions/index.ts +3 -0
- package/src/interfaces/overlay/Overlay.interface.ts +2 -1
- package/src/interfaces/rooms/GroupCard.interface.ts +1 -0
- package/src/interfaces/rooms/ItemCard.interface.ts +1 -0
- package/src/mocks/myProfile/Permissions.mock.ts +68 -0
- package/src/mocks/myProfile/index.ts +2 -1
- package/src/stories/assets/Illustrations.stories.tsx +4 -0
- package/src/stories/myProfile/MyProfilePanel.stories.tsx +8 -8
- package/src/stories/myProfile/permissions/RolePermissionsTab.stories.tsx +23 -0
- package/src/theme/colors.ts +1 -0
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
2
|
+
var t = {};
|
|
3
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
4
|
+
t[p] = s[p];
|
|
5
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
6
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
7
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
8
|
+
t[p[i]] = s[p[i]];
|
|
9
|
+
}
|
|
10
|
+
return t;
|
|
11
|
+
};
|
|
12
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
13
|
+
import { Text } from '@chakra-ui/react';
|
|
14
|
+
export const ActionLabel = (_a) => {
|
|
15
|
+
var { label } = _a, props = __rest(_a, ["label"]);
|
|
16
|
+
return (_jsx(Text, Object.assign({ fontSize: "10px", fontWeight: "semibold", textTransform: "uppercase" }, props, { children: label })));
|
|
17
|
+
};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { t } from 'i18next';
|
|
3
|
+
import { homeRoles } from '../../../helpers';
|
|
4
|
+
import { Stack, Text } from '@chakra-ui/react';
|
|
5
|
+
export const PermissionsBanner = ({ role }) => {
|
|
6
|
+
const bgColor = homeRoles[role].bg;
|
|
7
|
+
const { title, description } = textsByRole[role];
|
|
8
|
+
return (_jsxs(Stack, { spacing: "1", bg: bgColor, px: "base", py: "6", children: [_jsx(Text, { fontWeight: "semibold", color: "neutral.white", children: title }), _jsx(Text, { color: "neutral.white", children: description })] }));
|
|
9
|
+
};
|
|
10
|
+
const textsByRole = {
|
|
11
|
+
member: {
|
|
12
|
+
title: t('myProfile.permissions.member.title'),
|
|
13
|
+
description: t('myProfile.permissions.member.description'),
|
|
14
|
+
},
|
|
15
|
+
contributor: {
|
|
16
|
+
title: t('myProfile.permissions.contributor.title'),
|
|
17
|
+
description: t('myProfile.permissions.contributor.description'),
|
|
18
|
+
},
|
|
19
|
+
manager: {
|
|
20
|
+
title: t('myProfile.permissions.manager.title'),
|
|
21
|
+
description: t('myProfile.permissions.manager.description'),
|
|
22
|
+
},
|
|
23
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { homeRoles } from '../../../helpers';
|
|
3
|
+
import { Center, Text } from '@chakra-ui/react';
|
|
4
|
+
export const RoleButton = ({ role, onClick, isSelected, showBorder, }) => {
|
|
5
|
+
const bgColor = homeRoles[role].bg;
|
|
6
|
+
const borderColor = showBorder ? 'lightBlue.2' : 'transparent';
|
|
7
|
+
return (_jsx(Center, { as: "button", w: "62px", bg: isSelected ? 'lightGreen.1' : 'neutral.white', transition: "all 0.4s", _hover: {
|
|
8
|
+
bg: 'lightGreen.1',
|
|
9
|
+
cursor: 'pointer',
|
|
10
|
+
}, onClick: onClick, children: _jsx(Center, { py: "base", w: "40px", borderY: "1px solid", borderColor: borderColor, children: _jsx(Center, { bg: bgColor, borderRadius: "4px", h: "26px", w: "26px", children: _jsx(Text, { fontWeight: "semibold", color: 'neutral.white', fontSize: "md", textTransform: "uppercase", children: role.charAt(0).toUpperCase() }) }) }) }));
|
|
11
|
+
};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { t } from 'i18next';
|
|
3
|
+
import { Box, Center, Flex, Stack, Text } from '@chakra-ui/react';
|
|
4
|
+
import { RoleButton, PermissionsBanner, ActionLabel, ActionCheckbox, } from '../..';
|
|
5
|
+
import { rolePermissions } from '../../../helpers';
|
|
6
|
+
import { useRolePermissionsTab } from '../../../hooks';
|
|
7
|
+
export const RolePermissionsTab = ({ selected, onSelect, }) => {
|
|
8
|
+
const { actions, callback, selectedRole, selectedActions, handleRoleChange, handleFeatureChange, handleActionChange, } = useRolePermissionsTab({ selected, onSelect });
|
|
9
|
+
return (_jsxs(Flex, { h: "100%", children: [_jsxs(Box, { bg: "neutral.white", children: [_jsx(RoleButton, { role: "member", isSelected: selectedRole === 'member', onClick: () => handleRoleChange('member'), showBorder: true }), _jsx(RoleButton, { role: "contributor", isSelected: selectedRole === 'contributor', onClick: () => handleRoleChange('contributor') }), _jsx(RoleButton, { role: "manager", isSelected: selectedRole === 'manager', onClick: () => handleRoleChange('manager'), showBorder: true })] }), _jsxs(Box, { width: "100%", children: [_jsx(PermissionsBanner, { role: selectedRole }), _jsx(Center, { bg: "lightBlue.6", py: "base", children: _jsxs(Flex, { w: "100%", children: [_jsxs(Flex, { flex: "1", gap: "base", justify: "flex-end", align: "start", children: [_jsx(ActionLabel, { label: t('myProfile.actions.can'), color: "neutral.white" }), _jsx(Box, { w: "1px", bg: "neutral.white", h: "100%" })] }), _jsx(Flex, { flex: "1", justify: "space-evenly", children: actions.map((action) => {
|
|
10
|
+
const disabledAllCheckbox = selectedRole === 'member' && action !== 'view';
|
|
11
|
+
return (_jsx(ActionCheckbox, { label: action, action: action, isChecked: selectedActions.includes(action), isDisabled: disabledAllCheckbox, onChange: handleActionChange }, action));
|
|
12
|
+
}) })] }) }), _jsx(Stack, { spacing: "base", py: "base", children: rolePermissions.map(({ id, label, permissions }) => {
|
|
13
|
+
return (_jsxs(Flex, { w: "100%", children: [_jsx(Flex, { flex: "1", children: _jsx(Text, { fontFamily: "secondary", ml: "base", children: label }) }), _jsx(Flex, { flex: "1", justify: "space-evenly", children: actions.map((action) => {
|
|
14
|
+
const isDisabled = !permissions[action].includes(selectedRole);
|
|
15
|
+
const isChecked = callback[selectedRole][action].includes(id);
|
|
16
|
+
return (_jsx(ActionCheckbox, { action: action, isChecked: isChecked, isDisabled: isDisabled, onChange: () => handleFeatureChange(action, id) }, action));
|
|
17
|
+
}) })] }, id));
|
|
18
|
+
}) })] })] }));
|
|
19
|
+
};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { OverlayI } from '../../interfaces';
|
|
2
|
-
export declare const Overlay: ({ bg, showOverlay, ...props }: OverlayI) => import("react/jsx-runtime").JSX.Element | null;
|
|
2
|
+
export declare const Overlay: ({ bg, showOverlay, onClick, ...props }: OverlayI) => import("react/jsx-runtime").JSX.Element | null;
|
|
@@ -12,7 +12,7 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
12
12
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
13
13
|
import { Box, keyframes } from '@chakra-ui/react';
|
|
14
14
|
export const Overlay = (_a) => {
|
|
15
|
-
var { bg = '#fdfdfdca', showOverlay = true } = _a, props = __rest(_a, ["bg", "showOverlay"]);
|
|
15
|
+
var { bg = '#fdfdfdca', showOverlay = true, onClick } = _a, props = __rest(_a, ["bg", "showOverlay", "onClick"]);
|
|
16
16
|
if (!showOverlay)
|
|
17
17
|
return null;
|
|
18
18
|
const fadeIn = keyframes({
|
|
@@ -20,5 +20,5 @@ export const Overlay = (_a) => {
|
|
|
20
20
|
'100%': { opacity: 1 },
|
|
21
21
|
});
|
|
22
22
|
const animation = showOverlay && `${fadeIn} 0.2s ease-in-out`;
|
|
23
|
-
return (_jsx(Box, Object.assign({ bg: bg, top: "0", left: "0", right: "0", bottom: "0", animation: animation }, props)));
|
|
23
|
+
return (_jsx(Box, Object.assign({ onClick: onClick, bg: bg, top: "0", left: "0", right: "0", bottom: "0", animation: animation }, props)));
|
|
24
24
|
};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { GroupCardI } from '../../interfaces';
|
|
2
|
-
export declare const GroupCard: ({ items, menuItems, onAddItem, onAddImage, onClickDelete, onClickDetails, title, totalAmount, disabled, ...props }: GroupCardI) => import("react/jsx-runtime").JSX.Element;
|
|
2
|
+
export declare const GroupCard: ({ items, menuItems, onAddItem, onAddImage, onClickDelete, onClickDetails, title, totalAmount, disabled, itemsDisabled, ...props }: GroupCardI) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -18,9 +18,9 @@ import { useGroupCard } from '../../hooks';
|
|
|
18
18
|
import { receiptOrigins } from '../../helpers';
|
|
19
19
|
const storageUrl = import.meta.env.VITE_STORAGE_URL;
|
|
20
20
|
export const GroupCard = (_a) => {
|
|
21
|
-
var { items, menuItems, onAddItem, onAddImage, onClickDelete, onClickDetails, title, totalAmount, disabled } = _a, props = __rest(_a, ["items", "menuItems", "onAddItem", "onAddImage", "onClickDelete", "onClickDetails", "title", "totalAmount", "disabled"]);
|
|
21
|
+
var { items, menuItems, onAddItem, onAddImage, onClickDelete, onClickDetails, title, totalAmount, disabled, itemsDisabled } = _a, props = __rest(_a, ["items", "menuItems", "onAddItem", "onAddImage", "onClickDelete", "onClickDetails", "title", "totalAmount", "disabled", "itemsDisabled"]);
|
|
22
22
|
const { filteredResults, handleAddItem, handleChange, isItemsEmpty, searchValue, totalAmountFormatted, } = useGroupCard({ items, onAddItem, title, totalAmount });
|
|
23
|
-
return (_jsx(TileTooltip, { label: title, children: _jsxs(Box, { backgroundColor: "lightBlue.1", boxShadow: "base", w: "100%", children: [_jsx(GroupCardHeader, { menuItems: menuItems, title: title, totalAmount: totalAmountFormatted }), _jsxs(Flex, { justify: items.length >= 10 ? 'space-between' : 'flex-end', pl: "base", my: "base", align: "center", gap: "base", children: [items.length >= 10 && (_jsx(SearchInput, { value: searchValue, onChange: handleChange })), _jsx(LeftButtonAnimated, { onClick: handleAddItem, label: t('addHomeItem.btnLabel'), disabled: disabled, id: "addingItems" })] }), _jsxs(Box, { pb: "10", px: "base", children: [isItemsEmpty && _jsx(AddItemCard, { onClick: handleAddItem }), !isItemsEmpty && (_jsx(Wrap, { spacing: "base", children: filteredResults.map(({ _id, title, report, images, receipt, metadata, type, subType, room, }) => {
|
|
23
|
+
return (_jsx(TileTooltip, { label: title, children: _jsxs(Box, { backgroundColor: "lightBlue.1", boxShadow: "base", w: "100%", children: [_jsx(GroupCardHeader, { menuItems: menuItems, title: title, totalAmount: totalAmountFormatted }), _jsxs(Flex, { justify: items.length >= 10 ? 'space-between' : 'flex-end', pl: "base", my: "base", align: "center", gap: "base", children: [items.length >= 10 && (_jsx(SearchInput, { value: searchValue, onChange: handleChange })), _jsx(LeftButtonAnimated, { onClick: handleAddItem, label: t('addHomeItem.btnLabel'), disabled: disabled, id: "addingItems" })] }), _jsxs(Box, { pb: "10", px: "base", children: [isItemsEmpty && _jsx(AddItemCard, { disabled: itemsDisabled, onClick: handleAddItem }), !isItemsEmpty && (_jsx(Wrap, { spacing: "base", children: filteredResults.map(({ _id, title, report, images, receipt, metadata, type, subType, room, }) => {
|
|
24
24
|
var _a, _b, _c, _d;
|
|
25
25
|
const reportData = {
|
|
26
26
|
_id,
|
|
@@ -47,6 +47,6 @@ export const GroupCard = (_a) => {
|
|
|
47
47
|
onAddImage(fileMapped);
|
|
48
48
|
}
|
|
49
49
|
};
|
|
50
|
-
return (_jsx(ItemCard, Object.assign({ brandLabel: brand, imageUrl: hasImage ? imageUrl : storeImage, onAddImage: handleImage, onClickDelete: onClickDelete, onClickDetails: onClickDetails }, props, reportData), _id));
|
|
50
|
+
return (_jsx(ItemCard, Object.assign({ brandLabel: brand, imageUrl: hasImage ? imageUrl : storeImage, onAddImage: handleImage, onClickDelete: onClickDelete, onClickDetails: onClickDetails, disabled: itemsDisabled }, props, reportData), _id));
|
|
51
51
|
}) }))] })] }) }));
|
|
52
52
|
};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { ItemCardI } from '../../interfaces';
|
|
2
|
-
export declare const ItemCard: ({ brandLabel, imageUrl, onAddImage, onClickDelete, onClickDetails, onMove, _id, title, subType, room, report, type, onSave, ...props }: ItemCardI) => import("react/jsx-runtime").JSX.Element;
|
|
2
|
+
export declare const ItemCard: ({ brandLabel, imageUrl, onAddImage, onClickDelete, onClickDetails, onMove, _id, title, subType, room, report, type, disabled, onSave, ...props }: ItemCardI) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -16,7 +16,7 @@ import { AddItemImage, MoreHorizontal, MoveModal, IconMenuWithMove, } from '..';
|
|
|
16
16
|
import { getImageAltText } from '../../utils';
|
|
17
17
|
import { useState } from 'react';
|
|
18
18
|
export const ItemCard = (_a) => {
|
|
19
|
-
var { brandLabel, imageUrl, onAddImage, onClickDelete, onClickDetails, onMove, _id = '', title, subType, room, report, type, onSave } = _a, props = __rest(_a, ["brandLabel", "imageUrl", "onAddImage", "onClickDelete", "onClickDetails", "onMove", "_id", "title", "subType", "room", "report", "type", "onSave"]);
|
|
19
|
+
var { brandLabel, imageUrl, onAddImage, onClickDelete, onClickDetails, onMove, _id = '', title, subType, room, report, type, disabled, onSave } = _a, props = __rest(_a, ["brandLabel", "imageUrl", "onAddImage", "onClickDelete", "onClickDetails", "onMove", "_id", "title", "subType", "room", "report", "type", "disabled", "onSave"]);
|
|
20
20
|
const alt = getImageAltText(imageUrl);
|
|
21
21
|
const handleAddImage = (event) => {
|
|
22
22
|
const files = event.target.files;
|
|
@@ -44,5 +44,5 @@ export const ItemCard = (_a) => {
|
|
|
44
44
|
}, children: [_jsx(Box, { textAlign: "right", w: "full", pr: "2", children: _jsx(IconMenuWithMove, { icon: _jsx(MoreHorizontal, { size: 26 }), itemForm: _id, menuItems: [
|
|
45
45
|
{ label: t('groups.menu.details'), handleClick: onClickDetails },
|
|
46
46
|
{ label: t('groups.menu.delete'), handleClick: onClickDelete },
|
|
47
|
-
], onMove: () => handleMove(reportData) }) }), _jsxs(Stack, { px: "base", align: "center", w: "8.75rem", h: "8.75rem", cursor: "pointer", pos: "relative", children: [_jsx(Box, { onClick: () => onClickDetails(_id), pos: "absolute", top: "0", right: "0", bottom: "0", left: "0" }), _jsx(Text, { fontSize: "xs", fontWeight: "medium", noOfLines: 1, textOverflow: "ellipsis", children: title === null || title === void 0 ? void 0 : title.toUpperCase() }), imageUrl ? (_jsx(Image, { src: imageUrl, alt: alt, boxSize: "4.2rem", objectFit: "cover" })) : (_jsx(AddItemImage, { onClick: handleAddImage })), brandLabel && (_jsx(Text, { textAlign: "center", noOfLines: 1, textOverflow: "ellipsis", fontSize: "xs", children: brandLabel }))] }), showMoveModal && (_jsx(MoveModal, Object.assign({}, props, { onSave: handleSave, onClose: () => setShowMoveModal(false), top: "100", left: "260" })))] }));
|
|
47
|
+
], onMove: () => handleMove(reportData), disabled: disabled }) }), _jsxs(Stack, { px: "base", align: "center", w: "8.75rem", h: "8.75rem", cursor: "pointer", pos: "relative", children: [_jsx(Box, { onClick: () => onClickDetails(_id), pos: "absolute", top: "0", right: "0", bottom: "0", left: "0" }), _jsx(Text, { fontSize: "xs", fontWeight: "medium", noOfLines: 1, textOverflow: "ellipsis", children: title === null || title === void 0 ? void 0 : title.toUpperCase() }), imageUrl ? (_jsx(Image, { src: imageUrl, alt: alt, boxSize: "4.2rem", objectFit: "cover" })) : (_jsx(AddItemImage, { onClick: handleAddImage })), brandLabel && (_jsx(Text, { textAlign: "center", noOfLines: 1, textOverflow: "ellipsis", fontSize: "xs", children: brandLabel }))] }), showMoveModal && (_jsx(MoveModal, Object.assign({}, props, { onSave: handleSave, onClose: () => setShowMoveModal(false), top: "100", left: "260" })))] }));
|
|
48
48
|
};
|
|
@@ -5,7 +5,7 @@ import { RecipientContent, RecipientHeader, IconMenu, MoreHorizontal, SelectInpu
|
|
|
5
5
|
export const RecipientCard = ({ hasTitle = true, header, index, isDocument = false, isEditDisabled, menu, onEdit, recipient: { accountTypes, user }, }) => {
|
|
6
6
|
var _a;
|
|
7
7
|
const types = t('shareHome.accountTypes').split(',');
|
|
8
|
-
return (_jsx(Container, { p: "2", position: "relative", children: _jsxs(Stack, { spacing: "4", children: [_jsxs(Flex, { justify: "space-between", align: "center", children: [hasTitle && (_jsx(Header, { header: header, recipient: { accountTypes, user }, isDocument: isDocument })), _jsxs(Flex, { gap: "1", align: "center", children: [!isEditDisabled && (_jsx(SelectInput, { handleClick: (accountType) => onEdit === null || onEdit === void 0 ? void 0 : onEdit({ accountType: accountType, user }), initialValue: accountTypes[0], variant: "accountType", items: types })), !!menu && (_jsx(IconMenu, { icon: _jsx(MoreHorizontal, { size: 32 }), menuItems: menu, itemForm: {
|
|
8
|
+
return (_jsx(Container, { p: "2", position: "relative", children: _jsxs(Stack, { spacing: "4", children: [_jsxs(Flex, { justify: "space-between", align: "center", children: [hasTitle && (_jsx(Header, { header: header, recipient: { accountTypes, user }, isDocument: isDocument })), _jsxs(Flex, { gap: "1", align: "center", children: [!isEditDisabled && (_jsx(SelectInput, { handleClick: (accountType) => onEdit === null || onEdit === void 0 ? void 0 : onEdit({ accountType: accountType, user }), initialValue: accountTypes[0], variant: "accountType", items: types })), !!menu && (_jsx(IconMenu, { icon: _jsx(MoreHorizontal, { size: 32 }), menuItems: menu, disabled: menu.length < 1, itemForm: {
|
|
9
9
|
_id: user.email,
|
|
10
10
|
name: (_a = user.firstName) !== null && _a !== void 0 ? _a : '',
|
|
11
11
|
} }))] })] }), user && _jsx(RecipientContent, Object.assign({ index: index }, user))] }) }));
|
|
@@ -11,7 +11,7 @@ export const ShareHomeContactList = ({ contacts, onChange, onClick, onDone, onSa
|
|
|
11
11
|
? listButton1(onDone)
|
|
12
12
|
: addEmailButton1(() => onSave(selectedContact), selectedContact.email === '');
|
|
13
13
|
const button2 = isAddListSlide ? null : addEmailButton2(onDone);
|
|
14
|
-
return (_jsxs(_Fragment, { children: [_jsxs(Container, { position: "absolute", top: "60px", left: "0", overflow: "hidden", zIndex: "6", w: ['full', '300px'], children: [_jsx(Box, { p: "base", children: _jsx(Text, { children: t('shareHome.contactList') }) }), _jsxs(Flex, { transition: "all 400ms", transform: `translateX(${isAddListSlide ? '0' : '-100%'})`, children: [_jsx(Box, { minW: ['full', '300px'], children: _jsx(ShareHomeAddedContacts, { contacts: filteredContacts, onClick: onClick, showingText: text, search: search, onAddEmail: handleAddEmail, onChange: handleSearch, onSelect: handleFilterByCategory, items: categories }) }), _jsx(Box, { minW: ['full', '300px'], children: _jsx(ShareHomeAddEmail, { contact: selectedContact, onBack: handleBack, onChange: onChange }) })] }), _jsx(Box, { boxShadow: `0 0 10px ${colors.gray['1']}`, py: "base", children: _jsx(FooterButtons, { button1: button1, button2: button2 }) })] }), _jsx(Overlay, { bg: "
|
|
14
|
+
return (_jsxs(_Fragment, { children: [_jsxs(Container, { position: "absolute", top: "60px", left: "0", overflow: "hidden", zIndex: "6", w: ['full', '300px'], children: [_jsx(Box, { p: "base", children: _jsx(Text, { children: t('shareHome.contactList') }) }), _jsxs(Flex, { transition: "all 400ms", transform: `translateX(${isAddListSlide ? '0' : '-100%'})`, children: [_jsx(Box, { minW: ['full', '300px'], children: _jsx(ShareHomeAddedContacts, { contacts: filteredContacts, onClick: onClick, showingText: text, search: search, onAddEmail: handleAddEmail, onChange: handleSearch, onSelect: handleFilterByCategory, items: categories }) }), _jsx(Box, { minW: ['full', '300px'], children: _jsx(ShareHomeAddEmail, { contact: selectedContact, onBack: handleBack, onChange: onChange }) })] }), _jsx(Box, { boxShadow: `0 0 10px ${colors.gray['1']}`, py: "base", children: _jsx(FooterButtons, { button1: button1, button2: button2 }) })] }), _jsx(Overlay, { bg: "overlay", showOverlay: true, position: "fixed", zIndex: "4" })] }));
|
|
15
15
|
};
|
|
16
16
|
const listButton1 = (onClick) => ({
|
|
17
17
|
buttonStyle: 'secondaryFooter',
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
export
|
|
1
|
+
export type RoleType = 'guest' | 'member' | 'partner' | 'contributor' | 'manager' | 'homeowner';
|
|
2
|
+
export type ReducedRoleType = 'member' | 'contributor' | 'manager';
|
|
3
|
+
export declare const homeRoleTypes: RoleType[];
|
|
2
4
|
export declare const homeRoles: {
|
|
3
5
|
[key: string]: {
|
|
4
6
|
[key: string]: string;
|
|
@@ -1,28 +1,27 @@
|
|
|
1
|
-
import { t } from 'i18next';
|
|
2
1
|
import { Fire, House, LargeAppliances, Target, Temperature, Water, } from '../../assets/images';
|
|
3
2
|
export const homeAssistantSteps = [
|
|
4
3
|
{
|
|
5
|
-
title:
|
|
4
|
+
title: 'Smoke & CO2 detectors',
|
|
6
5
|
icon: Fire,
|
|
7
6
|
},
|
|
8
7
|
{
|
|
9
|
-
title:
|
|
8
|
+
title: 'Heating & Cooling',
|
|
10
9
|
icon: Temperature,
|
|
11
10
|
},
|
|
12
11
|
{
|
|
13
|
-
title:
|
|
12
|
+
title: 'Appliances',
|
|
14
13
|
icon: LargeAppliances,
|
|
15
14
|
},
|
|
16
15
|
{
|
|
17
|
-
title:
|
|
16
|
+
title: 'Structure',
|
|
18
17
|
icon: House,
|
|
19
18
|
},
|
|
20
19
|
{
|
|
21
|
-
title:
|
|
20
|
+
title: 'Landscape',
|
|
22
21
|
icon: Water,
|
|
23
22
|
},
|
|
24
23
|
{
|
|
25
|
-
title:
|
|
24
|
+
title: 'Goals',
|
|
26
25
|
icon: Target,
|
|
27
26
|
},
|
|
28
27
|
];
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
export const rolePermissions = [
|
|
2
|
+
{
|
|
3
|
+
id: 'property-data',
|
|
4
|
+
label: 'Property Data',
|
|
5
|
+
permissions: {
|
|
6
|
+
view: ['member', 'contributor', 'manager'],
|
|
7
|
+
add: ['manager'],
|
|
8
|
+
edit: ['manager'],
|
|
9
|
+
delete: [],
|
|
10
|
+
},
|
|
11
|
+
},
|
|
12
|
+
// {
|
|
13
|
+
// id: 'financial-data',
|
|
14
|
+
// label: 'Financial Data',
|
|
15
|
+
// permissions: {
|
|
16
|
+
// view: ['member', 'contributor', 'manager'],
|
|
17
|
+
// add: ['contributor', 'manager'],
|
|
18
|
+
// edit: ['manager'],
|
|
19
|
+
// delete: ['manager'],
|
|
20
|
+
// },
|
|
21
|
+
// },
|
|
22
|
+
{
|
|
23
|
+
id: 'partners',
|
|
24
|
+
label: 'Partners',
|
|
25
|
+
permissions: {
|
|
26
|
+
view: ['member', 'contributor', 'manager'],
|
|
27
|
+
add: ['contributor', 'manager'],
|
|
28
|
+
edit: [],
|
|
29
|
+
delete: ['manager'],
|
|
30
|
+
},
|
|
31
|
+
},
|
|
32
|
+
// {
|
|
33
|
+
// id: 'folders',
|
|
34
|
+
// label: 'Folders',
|
|
35
|
+
// permissions: {
|
|
36
|
+
// view: ['member', 'contributor', 'manager'],
|
|
37
|
+
// add: ['manager'],
|
|
38
|
+
// edit: ['contributor', 'manager'],
|
|
39
|
+
// delete: ['manager'],
|
|
40
|
+
// },
|
|
41
|
+
// },
|
|
42
|
+
{
|
|
43
|
+
id: 'home-items',
|
|
44
|
+
label: 'Home items',
|
|
45
|
+
permissions: {
|
|
46
|
+
view: ['member', 'contributor', 'manager'],
|
|
47
|
+
add: ['contributor', 'manager'],
|
|
48
|
+
edit: ['manager'],
|
|
49
|
+
delete: ['manager'],
|
|
50
|
+
},
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
id: 'rooms',
|
|
54
|
+
label: 'Rooms',
|
|
55
|
+
permissions: {
|
|
56
|
+
view: ['member', 'contributor', 'manager'],
|
|
57
|
+
add: ['contributor', 'manager'],
|
|
58
|
+
edit: ['contributor', 'manager'],
|
|
59
|
+
delete: ['manager'],
|
|
60
|
+
},
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
id: 'rooms-categories',
|
|
64
|
+
label: 'Room Categories',
|
|
65
|
+
permissions: {
|
|
66
|
+
view: [],
|
|
67
|
+
add: ['contributor', 'manager'],
|
|
68
|
+
edit: ['contributor', 'manager'],
|
|
69
|
+
delete: ['contributor', 'manager'],
|
|
70
|
+
},
|
|
71
|
+
},
|
|
72
|
+
];
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ReducedRoleType } from '../../helpers';
|
|
2
|
+
import { ActionsPermitted, RolePermissionObject, RolePermissionsTabI } from '../../interfaces';
|
|
3
|
+
export declare const useRolePermissionsTab: ({ selected, onSelect, }: RolePermissionsTabI) => {
|
|
4
|
+
actions: ActionsPermitted[];
|
|
5
|
+
callback: RolePermissionObject;
|
|
6
|
+
selectedRole: ReducedRoleType;
|
|
7
|
+
selectedActions: ActionsPermitted[];
|
|
8
|
+
handleRoleChange: (role: ReducedRoleType) => void;
|
|
9
|
+
handleFeatureChange: (action: ActionsPermitted, feature: string) => void;
|
|
10
|
+
handleActionChange: (action: ActionsPermitted) => void;
|
|
11
|
+
};
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { useState, useEffect } from 'react';
|
|
2
|
+
import { rolePermissions } from '../../helpers';
|
|
3
|
+
export const useRolePermissionsTab = ({ selected, onSelect, }) => {
|
|
4
|
+
const actions = ['view', 'add', 'edit', 'delete'];
|
|
5
|
+
const selectedActionsFromSelected = () => {
|
|
6
|
+
const selectedActions = [];
|
|
7
|
+
actions.forEach((action) => {
|
|
8
|
+
const featuresByRoleByAction = selected[selectedRole][action];
|
|
9
|
+
if (featuresByRoleByAction.length === rolePermissions.length) {
|
|
10
|
+
selectedActions.push(action);
|
|
11
|
+
}
|
|
12
|
+
});
|
|
13
|
+
return selectedActions;
|
|
14
|
+
};
|
|
15
|
+
const [callback, setCallback] = useState(selected);
|
|
16
|
+
const [selectedRole, setSelectedRole] = useState('member');
|
|
17
|
+
const [selectedActions, setSelectedActions] = useState(selectedActionsFromSelected);
|
|
18
|
+
const handleRoleChange = (role) => setSelectedRole(role);
|
|
19
|
+
const checkIfHasFeature = (action, feature) => {
|
|
20
|
+
const features = callback[selectedRole][action];
|
|
21
|
+
const hasFeature = features.includes(feature);
|
|
22
|
+
if (hasFeature) {
|
|
23
|
+
return features.filter((f) => f !== feature);
|
|
24
|
+
}
|
|
25
|
+
return [...features, feature];
|
|
26
|
+
};
|
|
27
|
+
const handleFeatureChange = (action, feature) => {
|
|
28
|
+
const newCallback = Object.assign(Object.assign({}, callback), { [selectedRole]: Object.assign(Object.assign({}, callback[selectedRole]), { [action]: checkIfHasFeature(action, feature) }) });
|
|
29
|
+
setCallback(newCallback);
|
|
30
|
+
onSelect(newCallback);
|
|
31
|
+
};
|
|
32
|
+
const handleActionChange = (action) => {
|
|
33
|
+
if (selectedActions.includes(action)) {
|
|
34
|
+
const newCallback = Object.assign(Object.assign({}, callback), { [selectedRole]: Object.assign(Object.assign({}, callback[selectedRole]), { [action]: [] }) });
|
|
35
|
+
setCallback(newCallback);
|
|
36
|
+
onSelect(newCallback);
|
|
37
|
+
const filteredActions = selectedActions.filter((a) => a !== action);
|
|
38
|
+
return setSelectedActions(filteredActions);
|
|
39
|
+
}
|
|
40
|
+
const newCallback = Object.assign(Object.assign({}, callback), { [selectedRole]: Object.assign(Object.assign({}, callback[selectedRole]), { [action]: rolePermissions
|
|
41
|
+
.map(({ id, permissions }) => {
|
|
42
|
+
if (permissions[action].includes(selectedRole)) {
|
|
43
|
+
return id;
|
|
44
|
+
}
|
|
45
|
+
return '';
|
|
46
|
+
})
|
|
47
|
+
.filter((id) => id) }) });
|
|
48
|
+
setCallback(newCallback);
|
|
49
|
+
onSelect(newCallback);
|
|
50
|
+
setSelectedActions([...selectedActions, action]);
|
|
51
|
+
};
|
|
52
|
+
useEffect(() => {
|
|
53
|
+
setSelectedActions(selectedActionsFromSelected);
|
|
54
|
+
}, [selectedRole]);
|
|
55
|
+
useEffect(() => {
|
|
56
|
+
setSelectedActions(selectedActionsFromSelected);
|
|
57
|
+
setCallback(selected);
|
|
58
|
+
}, [selected]);
|
|
59
|
+
return {
|
|
60
|
+
actions,
|
|
61
|
+
callback,
|
|
62
|
+
selectedRole,
|
|
63
|
+
selectedActions,
|
|
64
|
+
handleRoleChange,
|
|
65
|
+
handleFeatureChange,
|
|
66
|
+
handleActionChange,
|
|
67
|
+
};
|
|
68
|
+
};
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { ActivateAccount, ActiveSubscription, AddCardBanner, AddFolder, AddHomeContent, AddHomeItem, AddHomeItemHeader, AddMedia, AddPropertyRecords, Address, AddPopup, AddTile, AlertBanner, AphwTile, AppBar, AssignableReceipts, BackHeader, BarDivider, CancelAccount, CatalogPopup, CloudsAnimation, ContactList, ContactsContent, ContainerHeader, CreateDocumentHeader, CreateHouseholdItemHeader, CreditCardContainer, CreditCardError, CustomerTile, DeleteBanner, DisplayFiles, DisplayFilesDetail, DisplayOptions, DisplayReceipts, DocumentMenu, DocumentNameHeader, DocumentPreview, DynamicForm, EditAccountType, EditHomeBody, EditHomeFooter, EditHomeHeader, EditHomePanel, EmailPermissions, EmailValidation, Feedback, FileDetail, FilesUploader, FlowStep, FolderDetail, FolderDetailBody, FolderDetailContent, FolderDetailFooter, FolderDetailHeader, FolderInfo, FolderSharing, FolderTypeSelection, FooterButtons, FooterDrawer, GenericBackHeader, GroupCard, GroupsContainer, GroupsHeader, Header, HelpContent, HomeAssistant, HomeAssistantPanel, HomeBoardGrid, HomeBoardTour, HomeCard, HomeCardWithRecipent, HomeHeader, HomeSharedWith, InboxTile, ItemNameHeader, ItemsReviewBanner, ItemSubTypeSelect, Launchpad, LaunchpadAutofilerBanner, LaunchpadReceiptAutofiler, LaunchpadTour, LeftPanel, MediaDetailsStep, MonthlyCharge, MortgageInfo, MoveModal, MyHomes, MyProfileContent, MyProfileFooter, MyProfilePanel, NewCreditCard, NewCreditCardHeader, NewPassword, NotBeChargedBanner, Overlay, PanelHeader, PartnerActiveSubscription, PartnerCatalogPanel, PartnerContent, PartnerCustomerCode, PartnerDetails, PartnerImages, PartnerPanel, PasswordInput, PaymentReceipts, PdfButton, PeopleConnected, ProfileDetailsTab, ProfilePaymentTab, ProjectList, PropertyRecords, PropertyTaxes, ReadOnlyDynamicForm, ReadOnlyImage, ReadOnlyToggle, ReceiptAutofiler, ReceiptBody, ReceiptContent, ReceiptDetails, ReceiptFilters, ReceiptFooter, ReceiptHeader, ReceiptInfos, ReceiptItem, ReceiptItems, ReceiptPDF, ReceiptsDisplayOptions, ReceiptsFiled, ReceiptsHeader, ReceiptsInfo, ReceiptsReceivedContent, RecipientForm, RecipientsToShare, RecipientTab, RecordsInputs, ResendResetPassword, ResetPassword, ReviewBanner, RightPanel, RoomHeader, RoomsBoardTour, RoomsMenu, RoomsMenuMobile, RoomStep, RoomVideo, SalesTax, SatisfactionTile, SectionHeader, SendCommunication, SharedAccounts, SharedHomeContent, SharedHomeHeader, ShareHome, ShareHomeConnections, ShareHomeForm, ShortPartnerTile, SignIn, SignUp, StepHeader, StorageUsed, Subscription, SubscriptionCard, SubscriptionTable, Summary, TabsHeader, TextInput, ToBeDeletedBody, ToBeDeletedContent, ToBeDeletedFooter, ToBeDeletedHeader, TourButton, Trash, TrendingValue, TrialBanner, TutorialsButton, TwoFactor, TwoFactorSetting, UpdateList, UserDetails, ValueMonitor, VideoPlayer, VideoPlayerModal, WellDone, YtdTile, } from './components';
|
|
1
|
+
export { ActivateAccount, ActiveSubscription, AddCardBanner, AddFolder, AddHomeContent, AddHomeItem, AddHomeItemHeader, AddMedia, AddPropertyRecords, Address, AddPopup, AddTile, AlertBanner, AphwTile, AppBar, AssignableReceipts, BackHeader, BarDivider, CancelAccount, CatalogPopup, CloudsAnimation, ContactList, ContactsContent, ContainerHeader, CreateDocumentHeader, CreateHouseholdItemHeader, CreditCardContainer, CreditCardError, CustomerTile, DeleteBanner, DisplayFiles, DisplayFilesDetail, DisplayOptions, DisplayReceipts, DocumentMenu, DocumentNameHeader, DocumentPreview, DynamicForm, EditAccountType, EditHomeBody, EditHomeFooter, EditHomeHeader, EditHomePanel, EmailPermissions, EmailValidation, Feedback, FileDetail, FilesUploader, FlowStep, FolderDetail, FolderDetailBody, FolderDetailContent, FolderDetailFooter, FolderDetailHeader, FolderInfo, FolderSharing, FolderTypeSelection, FooterButtons, FooterDrawer, GenericBackHeader, GroupCard, GroupsContainer, GroupsHeader, Header, HelpContent, HomeAssistant, HomeAssistantPanel, HomeBoardGrid, HomeBoardTour, HomeCard, HomeCardWithRecipent, HomeHeader, HomeSharedWith, InboxTile, ItemNameHeader, ItemsReviewBanner, ItemSubTypeSelect, Launchpad, LaunchpadAutofilerBanner, LaunchpadReceiptAutofiler, LaunchpadTour, LeftPanel, MediaDetailsStep, MonthlyCharge, MortgageInfo, MoveModal, MyHomes, MyProfileContent, MyProfileFooter, MyProfilePanel, NewCreditCard, NewCreditCardHeader, NewPassword, NotBeChargedBanner, Overlay, PanelHeader, PartnerActiveSubscription, PartnerCatalogPanel, PartnerContent, PartnerCustomerCode, PartnerDetails, PartnerImages, PartnerPanel, PasswordInput, PaymentReceipts, PdfButton, PeopleConnected, ProfileDetailsTab, ProfilePaymentTab, ProjectList, PropertyRecords, PropertyTaxes, ReadOnlyDynamicForm, ReadOnlyImage, ReadOnlyToggle, ReceiptAutofiler, ReceiptBody, ReceiptContent, ReceiptDetails, ReceiptFilters, ReceiptFooter, ReceiptHeader, ReceiptInfos, ReceiptItem, ReceiptItems, ReceiptPDF, ReceiptsDisplayOptions, ReceiptsFiled, ReceiptsHeader, ReceiptsInfo, ReceiptsReceivedContent, RecipientForm, RecipientsToShare, RecipientTab, RecordsInputs, ResendResetPassword, ResetPassword, ReviewBanner, RightPanel, RolePermissionsTab, RoomHeader, RoomsBoardTour, RoomsMenu, RoomsMenuMobile, RoomStep, RoomVideo, SalesTax, SatisfactionTile, SectionHeader, SendCommunication, SharedAccounts, SharedHomeContent, SharedHomeHeader, ShareHome, ShareHomeConnections, ShareHomeForm, ShortPartnerTile, SignIn, SignUp, StepHeader, StorageUsed, Subscription, SubscriptionCard, SubscriptionTable, Summary, TabsHeader, TextInput, ToBeDeletedBody, ToBeDeletedContent, ToBeDeletedFooter, ToBeDeletedHeader, TourButton, Trash, TrendingValue, TrialBanner, TutorialsButton, TwoFactor, TwoFactorSetting, UpdateList, UserDetails, ValueMonitor, VideoPlayer, VideoPlayerModal, WellDone, YtdTile, } from './components';
|
|
2
2
|
export { useCustomToast } from './hooks';
|
|
3
|
-
export { billingProxy, dynamicFormProxy, homeCardProxy, partnerContentProxy, partnerDetailsProxy, paymentMethodProxy, recordsInputsProxy, recordsInputsToDBProxy, userDetailsProxy, confirmAddressProxy } from './proxies';
|
|
3
|
+
export { billingProxy, dynamicFormProxy, homeCardProxy, partnerContentProxy, partnerDetailsProxy, paymentMethodProxy, recordsInputsProxy, recordsInputsToDBProxy, userDetailsProxy, confirmAddressProxy, } from './proxies';
|
|
4
4
|
import theme from './theme';
|
|
5
5
|
export { theme };
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { ActivateAccount, ActiveSubscription, AddCardBanner, AddFolder, AddHomeContent, AddHomeItem, AddHomeItemHeader, AddMedia, AddPropertyRecords, Address, AddPopup, AddTile, AlertBanner, AphwTile, AppBar, AssignableReceipts, BackHeader, BarDivider, CancelAccount, CatalogPopup, CloudsAnimation, ContactList, ContactsContent, ContainerHeader, CreateDocumentHeader, CreateHouseholdItemHeader, CreditCardContainer, CreditCardError, CustomerTile, DeleteBanner, DisplayFiles, DisplayFilesDetail, DisplayOptions, DisplayReceipts, DocumentMenu, DocumentNameHeader, DocumentPreview, DynamicForm, EditAccountType, EditHomeBody, EditHomeFooter, EditHomeHeader, EditHomePanel, EmailPermissions, EmailValidation, Feedback, FileDetail, FilesUploader, FlowStep, FolderDetail, FolderDetailBody, FolderDetailContent, FolderDetailFooter, FolderDetailHeader, FolderInfo, FolderSharing, FolderTypeSelection, FooterButtons, FooterDrawer, GenericBackHeader, GroupCard, GroupsContainer, GroupsHeader, Header, HelpContent, HomeAssistant, HomeAssistantPanel, HomeBoardGrid, HomeBoardTour, HomeCard, HomeCardWithRecipent, HomeHeader, HomeSharedWith, InboxTile, ItemNameHeader, ItemsReviewBanner, ItemSubTypeSelect, Launchpad, LaunchpadAutofilerBanner, LaunchpadReceiptAutofiler, LaunchpadTour, LeftPanel, MediaDetailsStep, MonthlyCharge, MortgageInfo, MoveModal, MyHomes, MyProfileContent, MyProfileFooter, MyProfilePanel, NewCreditCard, NewCreditCardHeader, NewPassword, NotBeChargedBanner, Overlay, PanelHeader, PartnerActiveSubscription, PartnerCatalogPanel, PartnerContent, PartnerCustomerCode, PartnerDetails, PartnerImages, PartnerPanel, PasswordInput, PaymentReceipts, PdfButton, PeopleConnected, ProfileDetailsTab, ProfilePaymentTab, ProjectList, PropertyRecords, PropertyTaxes, ReadOnlyDynamicForm, ReadOnlyImage, ReadOnlyToggle, ReceiptAutofiler, ReceiptBody, ReceiptContent, ReceiptDetails, ReceiptFilters, ReceiptFooter, ReceiptHeader, ReceiptInfos, ReceiptItem, ReceiptItems, ReceiptPDF, ReceiptsDisplayOptions, ReceiptsFiled, ReceiptsHeader, ReceiptsInfo, ReceiptsReceivedContent, RecipientForm, RecipientsToShare, RecipientTab, RecordsInputs, ResendResetPassword, ResetPassword, ReviewBanner, RightPanel, RoomHeader, RoomsBoardTour, RoomsMenu, RoomsMenuMobile, RoomStep, RoomVideo, SalesTax, SatisfactionTile, SectionHeader, SendCommunication, SharedAccounts, SharedHomeContent, SharedHomeHeader, ShareHome, ShareHomeConnections, ShareHomeForm, ShortPartnerTile, SignIn, SignUp, StepHeader, StorageUsed, Subscription, SubscriptionCard, SubscriptionTable, Summary, TabsHeader, TextInput, ToBeDeletedBody, ToBeDeletedContent, ToBeDeletedFooter, ToBeDeletedHeader, TourButton, Trash, TrendingValue, TrialBanner, TutorialsButton, TwoFactor, TwoFactorSetting, UpdateList, UserDetails, ValueMonitor, VideoPlayer, VideoPlayerModal, WellDone, YtdTile, } from './components';
|
|
1
|
+
export { ActivateAccount, ActiveSubscription, AddCardBanner, AddFolder, AddHomeContent, AddHomeItem, AddHomeItemHeader, AddMedia, AddPropertyRecords, Address, AddPopup, AddTile, AlertBanner, AphwTile, AppBar, AssignableReceipts, BackHeader, BarDivider, CancelAccount, CatalogPopup, CloudsAnimation, ContactList, ContactsContent, ContainerHeader, CreateDocumentHeader, CreateHouseholdItemHeader, CreditCardContainer, CreditCardError, CustomerTile, DeleteBanner, DisplayFiles, DisplayFilesDetail, DisplayOptions, DisplayReceipts, DocumentMenu, DocumentNameHeader, DocumentPreview, DynamicForm, EditAccountType, EditHomeBody, EditHomeFooter, EditHomeHeader, EditHomePanel, EmailPermissions, EmailValidation, Feedback, FileDetail, FilesUploader, FlowStep, FolderDetail, FolderDetailBody, FolderDetailContent, FolderDetailFooter, FolderDetailHeader, FolderInfo, FolderSharing, FolderTypeSelection, FooterButtons, FooterDrawer, GenericBackHeader, GroupCard, GroupsContainer, GroupsHeader, Header, HelpContent, HomeAssistant, HomeAssistantPanel, HomeBoardGrid, HomeBoardTour, HomeCard, HomeCardWithRecipent, HomeHeader, HomeSharedWith, InboxTile, ItemNameHeader, ItemsReviewBanner, ItemSubTypeSelect, Launchpad, LaunchpadAutofilerBanner, LaunchpadReceiptAutofiler, LaunchpadTour, LeftPanel, MediaDetailsStep, MonthlyCharge, MortgageInfo, MoveModal, MyHomes, MyProfileContent, MyProfileFooter, MyProfilePanel, NewCreditCard, NewCreditCardHeader, NewPassword, NotBeChargedBanner, Overlay, PanelHeader, PartnerActiveSubscription, PartnerCatalogPanel, PartnerContent, PartnerCustomerCode, PartnerDetails, PartnerImages, PartnerPanel, PasswordInput, PaymentReceipts, PdfButton, PeopleConnected, ProfileDetailsTab, ProfilePaymentTab, ProjectList, PropertyRecords, PropertyTaxes, ReadOnlyDynamicForm, ReadOnlyImage, ReadOnlyToggle, ReceiptAutofiler, ReceiptBody, ReceiptContent, ReceiptDetails, ReceiptFilters, ReceiptFooter, ReceiptHeader, ReceiptInfos, ReceiptItem, ReceiptItems, ReceiptPDF, ReceiptsDisplayOptions, ReceiptsFiled, ReceiptsHeader, ReceiptsInfo, ReceiptsReceivedContent, RecipientForm, RecipientsToShare, RecipientTab, RecordsInputs, ResendResetPassword, ResetPassword, ReviewBanner, RightPanel, RolePermissionsTab, RoomHeader, RoomsBoardTour, RoomsMenu, RoomsMenuMobile, RoomStep, RoomVideo, SalesTax, SatisfactionTile, SectionHeader, SendCommunication, SharedAccounts, SharedHomeContent, SharedHomeHeader, ShareHome, ShareHomeConnections, ShareHomeForm, ShortPartnerTile, SignIn, SignUp, StepHeader, StorageUsed, Subscription, SubscriptionCard, SubscriptionTable, Summary, TabsHeader, TextInput, ToBeDeletedBody, ToBeDeletedContent, ToBeDeletedFooter, ToBeDeletedHeader, TourButton, Trash, TrendingValue, TrialBanner, TutorialsButton, TwoFactor, TwoFactorSetting, UpdateList, UserDetails, ValueMonitor, VideoPlayer, VideoPlayerModal, WellDone, YtdTile, } from './components';
|
|
2
2
|
export { useCustomToast } from './hooks';
|
|
3
|
-
export { billingProxy, dynamicFormProxy, homeCardProxy, partnerContentProxy, partnerDetailsProxy, paymentMethodProxy, recordsInputsProxy, recordsInputsToDBProxy, userDetailsProxy, confirmAddressProxy } from './proxies';
|
|
3
|
+
export { billingProxy, dynamicFormProxy, homeCardProxy, partnerContentProxy, partnerDetailsProxy, paymentMethodProxy, recordsInputsProxy, recordsInputsToDBProxy, userDetailsProxy, confirmAddressProxy, } from './proxies';
|
|
4
4
|
import theme from './theme';
|
|
5
5
|
export { theme };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { MenuItemI } from
|
|
1
|
+
import { MenuItemI, ShareContactPopoverI } from '..';
|
|
2
2
|
export interface InfoContactCardI {
|
|
3
3
|
address: string;
|
|
4
4
|
category: string;
|
|
@@ -14,7 +14,9 @@ export interface InfoContactCardI {
|
|
|
14
14
|
zip: string;
|
|
15
15
|
}
|
|
16
16
|
export interface ContactCardI {
|
|
17
|
+
apiError?: boolean;
|
|
17
18
|
contact: InfoContactCardI;
|
|
18
19
|
index: number;
|
|
19
20
|
menuItems: MenuItemI[];
|
|
21
|
+
onShare: ShareContactPopoverI['onShare'];
|
|
20
22
|
}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
import { InfoContactCardI, MenuItemI } from
|
|
1
|
+
import { InfoContactCardI, MenuItemI, ShareContactPopoverI } from '..';
|
|
2
2
|
export interface ContactCardHeaderI {
|
|
3
|
+
apiError?: boolean;
|
|
3
4
|
contact: InfoContactCardI;
|
|
4
5
|
menuItems: MenuItemI[];
|
|
6
|
+
onShare: ShareContactPopoverI['onShare'];
|
|
5
7
|
}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
|
-
import { InfoContactCardI, MenuItemI } from '..';
|
|
2
|
-
import { ReactNode } from
|
|
1
|
+
import { InfoContactCardI, MenuItemI, ShareContactPopoverI } from '..';
|
|
2
|
+
import { ReactNode } from 'react';
|
|
3
3
|
export interface ContactsContentI {
|
|
4
|
+
apiError?: boolean;
|
|
4
5
|
contacts: InfoContactCardI[];
|
|
5
6
|
handleClose: () => void;
|
|
6
7
|
handleAdd: () => void;
|
|
7
8
|
menuItems: MenuItemI[];
|
|
8
9
|
children?: ReactNode;
|
|
9
10
|
disabled?: boolean;
|
|
11
|
+
onShare: ShareContactPopoverI['onShare'];
|
|
10
12
|
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { InfoContactCardI } from '..';
|
|
2
|
+
interface ShareFormI {
|
|
3
|
+
contact: InfoContactCardI;
|
|
4
|
+
emailTo: string;
|
|
5
|
+
}
|
|
6
|
+
export interface ShareContactByEmailI {
|
|
7
|
+
apiError?: boolean;
|
|
8
|
+
contact: InfoContactCardI;
|
|
9
|
+
onShare: (form: ShareFormI) => void;
|
|
10
|
+
}
|
|
11
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -3,3 +3,5 @@ export * from './ContactCardAddress.interface';
|
|
|
3
3
|
export * from './ContactCardHeader.interface';
|
|
4
4
|
export * from './ContactCardInfo.interface';
|
|
5
5
|
export * from './ContactsContent.interface';
|
|
6
|
+
export * from './ShareContactByEmail.interface';
|
|
7
|
+
export * from './ShareContactPopover.interface';
|
|
@@ -3,3 +3,5 @@ export * from './ContactCardAddress.interface';
|
|
|
3
3
|
export * from './ContactCardHeader.interface';
|
|
4
4
|
export * from './ContactCardInfo.interface';
|
|
5
5
|
export * from './ContactsContent.interface';
|
|
6
|
+
export * from './ShareContactByEmail.interface';
|
|
7
|
+
export * from './ShareContactPopover.interface';
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { ReactNode } from 'react';
|
|
2
2
|
export interface MyProfileBodyI {
|
|
3
|
-
account
|
|
4
|
-
details
|
|
5
|
-
email
|
|
3
|
+
account?: ReactNode;
|
|
4
|
+
details?: ReactNode;
|
|
5
|
+
email?: ReactNode;
|
|
6
6
|
isLoading: boolean;
|
|
7
|
-
payment
|
|
7
|
+
payment?: ReactNode;
|
|
8
|
+
rolePermissions?: ReactNode;
|
|
8
9
|
}
|