@homefile/components-v2 2.8.9 → 2.8.11
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/components/contacts/ContactCard.js +4 -4
- package/dist/components/contacts/ContactCardHeader.js +1 -1
- package/dist/components/forms/dynamicForm/ItemFormPanel/ItemFormPanel.js +1 -1
- package/dist/components/forms/dynamicForm/ItemFormPanel/ItemFormTabs.js +1 -2
- package/dist/components/launchpad/Panel.d.ts +1 -1
- package/dist/components/launchpad/Panel.js +14 -2
- package/dist/interfaces/launchpad/LeftPanel.interface.d.ts +3 -2
- package/package.json +1 -1
- package/src/components/contacts/ContactCard.tsx +29 -21
- package/src/components/contacts/ContactCardHeader.tsx +8 -6
- package/src/components/forms/dynamicForm/ItemFormPanel/ItemFormPanel.tsx +2 -8
- package/src/components/forms/dynamicForm/ItemFormPanel/ItemFormTabs.tsx +1 -6
- package/src/components/launchpad/Panel.tsx +2 -0
- package/src/interfaces/launchpad/LeftPanel.interface.ts +4 -3
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { Box, Container, Flex, Stack } from '@chakra-ui/react';
|
|
3
|
-
import { ContactCardHeader, ContactCardInfo, ContactCardAddress, } from '..';
|
|
3
|
+
import { ContactCardHeader, ContactCardInfo, ContactCardAddress, IconMenu, MoreHorizontal, } from '..';
|
|
4
4
|
import { colors } from '../../theme/colors';
|
|
5
5
|
export const ContactCard = ({ apiError, contact, index, menuItems, onClick, showAvatar, showHeader = true, }) => {
|
|
6
6
|
const hasOnClick = typeof onClick === 'function';
|
|
7
|
-
return (_jsx(Container, { maxW: "none", textAlign: "start", onClick: () => onClick === null || onClick === void 0 ? void 0 : onClick(Object.assign(Object.assign({}, contact), { index })), transition: "background-color 0.3s", _hover: {
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
return (_jsxs(Box, { position: "relative", w: "100%", children: [_jsx(Container, { maxW: "none", textAlign: "start", onClick: () => onClick === null || onClick === void 0 ? void 0 : onClick(Object.assign(Object.assign({}, contact), { index })), transition: "background-color 0.3s", _hover: {
|
|
8
|
+
bg: hasOnClick ? 'lightGreen.1' : 'neutral.white',
|
|
9
|
+
}, cursor: hasOnClick ? 'pointer' : 'default', children: _jsxs(Stack, { pb: "base", pt: "1", px: "base", spacing: "base", children: [showHeader && (_jsx(ContactCardHeader, { apiError: apiError, contact: contact })), _jsx(CardBody, { contact, index, showAvatar })] }) }), _jsx(Box, { position: "absolute", right: "1", top: "0", zIndex: "overlay", children: _jsx(IconMenu, { icon: _jsx(MoreHorizontal, { size: 32 }), itemForm: contact, menuItems: menuItems, disabled: Number(menuItems === null || menuItems === void 0 ? void 0 : menuItems.length) < 1 }) })] }));
|
|
10
10
|
};
|
|
11
11
|
const CardBody = ({ contact, index, showAvatar, }) => {
|
|
12
12
|
return (_jsxs(Flex, { justify: "space-between", align: "stretch", gap: "base", children: [_jsx(ContactCardInfo, Object.assign({}, contact, { index, showAvatar })), _jsx(Box, { borderLeft: `1px solid ${colors.lightBlue[1]}`, w: "45%", pl: "base", children: _jsx(ContactCardAddress, Object.assign({}, contact)) })] }));
|
|
@@ -6,5 +6,5 @@ import { IconMenu, MoreHorizontal } from '..';
|
|
|
6
6
|
export const ContactCardHeader = ({ contact, menuItems = [], }) => {
|
|
7
7
|
var _a;
|
|
8
8
|
const { category, title } = contact;
|
|
9
|
-
return (_jsxs(Flex, { align: "center", justify: "space-between", children: [_jsxs(Flex, { align: "center", gap: "base", children: [_jsx(Image, { src: Contacts, boxSize: "1rem", "aria-label": (_a = t('ariaLabels.contact')) !== null && _a !== void 0 ? _a : ' ' }), _jsxs(Flex, { align: "center", gap: "base", children: [_jsx(Text, { fontSize: "xs", children: category.toUpperCase() }), title && (_jsx(Text, { fontSize: "xs", color: "gray.4", children: "|" })), _jsx(Text, { fontSize: "xs", children: title.toUpperCase() })] })] }), _jsx(IconMenu, { icon: _jsx(MoreHorizontal, { size: 32 }), itemForm: contact, menuItems: menuItems, disabled: menuItems.length < 1 })] }));
|
|
9
|
+
return (_jsxs(Flex, { align: "center", justify: "space-between", children: [_jsxs(Flex, { align: "center", gap: "base", children: [_jsx(Image, { src: Contacts, boxSize: "1rem", "aria-label": (_a = t('ariaLabels.contact')) !== null && _a !== void 0 ? _a : ' ' }), _jsxs(Flex, { align: "center", gap: "base", children: [_jsx(Text, { fontSize: "xs", children: category.toUpperCase() }), title && (_jsx(Text, { fontSize: "xs", color: "gray.4", children: "|" })), _jsx(Text, { fontSize: "xs", children: title.toUpperCase() })] })] }), !!menuItems.length && (_jsx(IconMenu, { icon: _jsx(MoreHorizontal, { size: 32 }), itemForm: contact, menuItems: menuItems, disabled: menuItems.length < 1 }))] }));
|
|
10
10
|
};
|
|
@@ -2,5 +2,5 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
2
2
|
import { DrawerBody, DrawerHeader, DrawerContent, DrawerFooter, Box, } from '@chakra-ui/react';
|
|
3
3
|
import { PanelHeader, FooterDrawer, ItemNameHeader, ItemFormFooter, Overlay, } from '../../..';
|
|
4
4
|
export const ItemFormPanel = ({ children, itemName, onClose, onSaveItemName, onSubmitForm, panelIcon, panelTitle, showFooter = false, showOverlay = false, }) => {
|
|
5
|
-
return (_jsxs(DrawerContent, { bg: "lightBlue.1",
|
|
5
|
+
return (_jsxs(DrawerContent, { bg: "lightBlue.1", children: [_jsx(DrawerHeader, { p: "0", children: _jsx(PanelHeader, { handleCloseButton: onClose, icon: panelIcon, title: panelTitle }) }), _jsxs(DrawerBody, { p: "0", pb: "12", overflowX: "hidden", bg: "lightBlue.1", children: [_jsx(ItemNameHeader, { id: "item-name", onSave: onSaveItemName, value: itemName }), _jsxs(Box, { position: "relative", children: [_jsx(Overlay, { showOverlay: showOverlay, position: "absolute", w: "inherit", h: "inherit", zIndex: "9" }), children] })] }), _jsx(FooterDrawer, { isOpen: showFooter, children: _jsx(DrawerFooter, { w: "100%", children: _jsx(ItemFormFooter, { onSave: onSubmitForm, onCancel: onClose }) }) })] }));
|
|
6
6
|
};
|
|
@@ -11,7 +11,6 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
11
11
|
};
|
|
12
12
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
13
13
|
import { t } from 'i18next';
|
|
14
|
-
import { Box } from '@chakra-ui/react';
|
|
15
14
|
import { DynamicForm, TabsHeader, ItemFormTabImage } from '../../..';
|
|
16
15
|
import { v4 as uuidv4 } from 'uuid';
|
|
17
16
|
export const ItemFormTabs = (_a) => {
|
|
@@ -20,7 +19,7 @@ export const ItemFormTabs = (_a) => {
|
|
|
20
19
|
const tabList = [
|
|
21
20
|
{
|
|
22
21
|
label: t('createDocument.tabs.tab1'),
|
|
23
|
-
component:
|
|
22
|
+
component: _jsx(DynamicForm, { form: formWithIds }),
|
|
24
23
|
},
|
|
25
24
|
{
|
|
26
25
|
label: t('createDocument.tabs.tab2'),
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { PanelI } from '../../interfaces';
|
|
2
|
-
export declare const Panel: ({ children, isOpen, onClose, overlay, placement, size, }: PanelI) => import("react/jsx-runtime").JSX.Element;
|
|
2
|
+
export declare const Panel: ({ children, isOpen, onClose, overlay, placement, size, ...props }: PanelI) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,9 +1,21 @@
|
|
|
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
|
+
};
|
|
1
12
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
13
|
import { Drawer, DrawerOverlay } from '@chakra-ui/react';
|
|
3
14
|
import { useWindowDimensions } from '../../hooks';
|
|
4
15
|
import { MOBILE_WIDTH } from '../../utils';
|
|
5
|
-
export const Panel = (
|
|
16
|
+
export const Panel = (_a) => {
|
|
17
|
+
var { children, isOpen, onClose, overlay = true, placement = 'right', size = 'md' } = _a, props = __rest(_a, ["children", "isOpen", "onClose", "overlay", "placement", "size"]);
|
|
6
18
|
const { windowDimensions: { width }, } = useWindowDimensions();
|
|
7
19
|
const isMobile = width < MOBILE_WIDTH;
|
|
8
|
-
return (_jsxs(Drawer, { placement: placement, onClose: onClose, isOpen: isOpen, size: isMobile ? 'full' : size, children: [overlay && _jsx(DrawerOverlay, { zIndex: "1399" }), children] }));
|
|
20
|
+
return (_jsxs(Drawer, Object.assign({}, props, { placement: placement, onClose: onClose, isOpen: isOpen, size: isMobile ? 'full' : size, children: [overlay && _jsx(DrawerOverlay, { zIndex: "1399" }), children] })));
|
|
9
21
|
};
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import { DrawerProps } from '@chakra-ui/react';
|
|
2
|
+
import { ReactNode } from 'react';
|
|
3
|
+
export interface LeftPanelI extends DrawerProps {
|
|
3
4
|
children: ReactNode;
|
|
4
5
|
isOpen: boolean;
|
|
5
6
|
onClose: () => void;
|
package/package.json
CHANGED
|
@@ -4,6 +4,8 @@ import {
|
|
|
4
4
|
ContactCardHeader,
|
|
5
5
|
ContactCardInfo,
|
|
6
6
|
ContactCardAddress,
|
|
7
|
+
IconMenu,
|
|
8
|
+
MoreHorizontal,
|
|
7
9
|
} from '@/components'
|
|
8
10
|
import { colors } from '@/theme/colors'
|
|
9
11
|
|
|
@@ -18,27 +20,33 @@ export const ContactCard = ({
|
|
|
18
20
|
}: ContactCardI) => {
|
|
19
21
|
const hasOnClick = typeof onClick === 'function'
|
|
20
22
|
return (
|
|
21
|
-
<
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
apiError={apiError}
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
23
|
+
<Box position="relative" w="100%">
|
|
24
|
+
<Container
|
|
25
|
+
maxW="none"
|
|
26
|
+
textAlign="start"
|
|
27
|
+
onClick={() => onClick?.({ ...contact, index })}
|
|
28
|
+
transition="background-color 0.3s"
|
|
29
|
+
_hover={{
|
|
30
|
+
bg: hasOnClick ? 'lightGreen.1' : 'neutral.white',
|
|
31
|
+
}}
|
|
32
|
+
cursor={hasOnClick ? 'pointer' : 'default'}
|
|
33
|
+
>
|
|
34
|
+
<Stack pb="base" pt="1" px="base" spacing="base">
|
|
35
|
+
{showHeader && (
|
|
36
|
+
<ContactCardHeader apiError={apiError} contact={contact} />
|
|
37
|
+
)}
|
|
38
|
+
<CardBody {...{ contact, index, showAvatar }} />
|
|
39
|
+
</Stack>
|
|
40
|
+
</Container>
|
|
41
|
+
<Box position="absolute" right="1" top="0" zIndex="overlay">
|
|
42
|
+
<IconMenu
|
|
43
|
+
icon={<MoreHorizontal size={32} />}
|
|
44
|
+
itemForm={contact}
|
|
45
|
+
menuItems={menuItems}
|
|
46
|
+
disabled={Number(menuItems?.length) < 1}
|
|
47
|
+
/>
|
|
48
|
+
</Box>
|
|
49
|
+
</Box>
|
|
42
50
|
)
|
|
43
51
|
}
|
|
44
52
|
|
|
@@ -27,12 +27,14 @@ export const ContactCardHeader = ({
|
|
|
27
27
|
<Text fontSize="xs">{title.toUpperCase()}</Text>
|
|
28
28
|
</Flex>
|
|
29
29
|
</Flex>
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
30
|
+
{!!menuItems.length && (
|
|
31
|
+
<IconMenu
|
|
32
|
+
icon={<MoreHorizontal size={32} />}
|
|
33
|
+
itemForm={contact}
|
|
34
|
+
menuItems={menuItems}
|
|
35
|
+
disabled={menuItems.length < 1}
|
|
36
|
+
/>
|
|
37
|
+
)}
|
|
36
38
|
</Flex>
|
|
37
39
|
)
|
|
38
40
|
}
|
|
@@ -27,7 +27,7 @@ export const ItemFormPanel = ({
|
|
|
27
27
|
showOverlay = false,
|
|
28
28
|
}: PropsWithChildren<ItemFormPanelI>) => {
|
|
29
29
|
return (
|
|
30
|
-
<DrawerContent bg="lightBlue.1"
|
|
30
|
+
<DrawerContent bg="lightBlue.1">
|
|
31
31
|
<DrawerHeader p="0">
|
|
32
32
|
<PanelHeader
|
|
33
33
|
handleCloseButton={onClose}
|
|
@@ -36,13 +36,7 @@ export const ItemFormPanel = ({
|
|
|
36
36
|
/>
|
|
37
37
|
</DrawerHeader>
|
|
38
38
|
|
|
39
|
-
<DrawerBody
|
|
40
|
-
p="0"
|
|
41
|
-
pb="12"
|
|
42
|
-
overflowX="hidden"
|
|
43
|
-
overflowY="scroll"
|
|
44
|
-
bg="lightBlue.1"
|
|
45
|
-
>
|
|
39
|
+
<DrawerBody p="0" pb="12" overflowX="hidden" bg="lightBlue.1">
|
|
46
40
|
<ItemNameHeader
|
|
47
41
|
id="item-name"
|
|
48
42
|
onSave={onSaveItemName}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { t } from 'i18next'
|
|
2
|
-
import { Box } from '@chakra-ui/react'
|
|
3
2
|
import { DynamicForm, TabsHeader, ItemFormTabImage } from '@/components'
|
|
4
3
|
import { ItemFormTabsI } from '@/interfaces'
|
|
5
4
|
import { v4 as uuidv4 } from 'uuid'
|
|
@@ -13,11 +12,7 @@ export const ItemFormTabs = ({ form = [], ...props }: ItemFormTabsI) => {
|
|
|
13
12
|
const tabList = [
|
|
14
13
|
{
|
|
15
14
|
label: t('createDocument.tabs.tab1'),
|
|
16
|
-
component:
|
|
17
|
-
<Box overflow="scroll" minH="100vh">
|
|
18
|
-
<DynamicForm form={formWithIds} />
|
|
19
|
-
</Box>
|
|
20
|
-
),
|
|
15
|
+
component: <DynamicForm form={formWithIds} />,
|
|
21
16
|
},
|
|
22
17
|
{
|
|
23
18
|
label: t('createDocument.tabs.tab2'),
|
|
@@ -10,6 +10,7 @@ export const Panel = ({
|
|
|
10
10
|
overlay = true,
|
|
11
11
|
placement = 'right',
|
|
12
12
|
size = 'md',
|
|
13
|
+
...props
|
|
13
14
|
}: PanelI) => {
|
|
14
15
|
const {
|
|
15
16
|
windowDimensions: { width },
|
|
@@ -17,6 +18,7 @@ export const Panel = ({
|
|
|
17
18
|
const isMobile = width < MOBILE_WIDTH
|
|
18
19
|
return (
|
|
19
20
|
<Drawer
|
|
21
|
+
{...props}
|
|
20
22
|
placement={placement}
|
|
21
23
|
onClose={onClose}
|
|
22
24
|
isOpen={isOpen}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { DrawerProps } from '@chakra-ui/react'
|
|
2
|
+
import { ReactNode } from 'react'
|
|
2
3
|
|
|
3
|
-
export interface LeftPanelI {
|
|
4
|
+
export interface LeftPanelI extends DrawerProps {
|
|
4
5
|
children: ReactNode
|
|
5
6
|
isOpen: boolean
|
|
6
7
|
onClose: () => void
|
|
7
8
|
overlay?: boolean
|
|
8
9
|
size?: string
|
|
9
|
-
}
|
|
10
|
+
}
|