@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.
@@ -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
- 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, menuItems: menuItems })), _jsx(CardBody, { contact, index, showAvatar })] }) }));
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", zIndex: 4, children: [_jsx(DrawerHeader, { p: "0", children: _jsx(PanelHeader, { handleCloseButton: onClose, icon: panelIcon, title: panelTitle }) }), _jsxs(DrawerBody, { p: "0", pb: "12", overflowX: "hidden", overflowY: "scroll", 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 }) }) })] }));
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: (_jsx(Box, { overflow: "scroll", minH: "100vh", children: _jsx(DynamicForm, { form: formWithIds }) })),
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 = ({ children, isOpen, onClose, overlay = true, placement = 'right', size = 'md', }) => {
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 { ReactNode } from "react";
2
- export interface LeftPanelI {
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@homefile/components-v2",
3
- "version": "2.8.9",
3
+ "version": "2.8.11",
4
4
  "author": "Homefile",
5
5
  "license": "UNLICENSED",
6
6
  "typings": "dist/index.d.ts",
@@ -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
- <Container
22
- maxW="none"
23
- textAlign="start"
24
- onClick={() => onClick?.({ ...contact, index })}
25
- transition="background-color 0.3s"
26
- _hover={{
27
- bg: hasOnClick ? 'lightGreen.1' : 'neutral.white',
28
- }}
29
- cursor={hasOnClick ? 'pointer' : 'default'}
30
- >
31
- <Stack pb="base" pt="1" px="base" spacing="base">
32
- {showHeader && (
33
- <ContactCardHeader
34
- apiError={apiError}
35
- contact={contact}
36
- menuItems={menuItems}
37
- />
38
- )}
39
- <CardBody {...{ contact, index, showAvatar }} />
40
- </Stack>
41
- </Container>
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
- <IconMenu
31
- icon={<MoreHorizontal size={32} />}
32
- itemForm={contact}
33
- menuItems={menuItems}
34
- disabled={menuItems.length < 1}
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" zIndex={4}>
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 { ReactNode } from "react"
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
+ }