@homefile/components-v2 2.7.4 → 2.7.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/dist/components/folderPanel/displayFiles/IconMenuWithMove.js +2 -1
  2. package/dist/components/launchpad/IconMenu.js +2 -1
  3. package/dist/components/receipts/LaunchpadReceiptPanel.d.ts +2 -0
  4. package/dist/components/receipts/LaunchpadReceiptPanel.js +21 -0
  5. package/dist/components/receipts/index.d.ts +1 -0
  6. package/dist/components/receipts/index.js +1 -0
  7. package/dist/components/rooms/GroupsContainer.d.ts +3 -2
  8. package/dist/components/rooms/GroupsContainer.js +1 -1
  9. package/dist/hooks/sendDocument/useDocumentPreview.d.ts +1 -1
  10. package/dist/hooks/useCustomToast.js +1 -1
  11. package/dist/index.d.ts +1 -1
  12. package/dist/index.js +1 -1
  13. package/dist/interfaces/launchpad/IconMenu.interface.d.ts +2 -1
  14. package/dist/interfaces/receipts/LaunchpadReceiptPanel.interface.d.ts +7 -0
  15. package/dist/interfaces/receipts/LaunchpadReceiptPanel.interface.js +1 -0
  16. package/dist/interfaces/receipts/index.d.ts +1 -0
  17. package/dist/interfaces/receipts/index.js +1 -0
  18. package/dist/interfaces/tour/Step.interface.d.ts +2 -1
  19. package/dist/stories/receipts/LaunchpadReceiptPanel.stories.d.ts +17 -0
  20. package/dist/stories/receipts/LaunchpadReceiptPanel.stories.js +22 -0
  21. package/package.json +41 -42
  22. package/src/components/folderPanel/displayFiles/IconMenuWithMove.tsx +2 -1
  23. package/src/components/homeBoard/HomeBoard.tsx +2 -1
  24. package/src/components/launchpad/IconMenu.tsx +2 -1
  25. package/src/components/receipts/LaunchpadReceiptPanel.tsx +49 -0
  26. package/src/components/receipts/index.ts +2 -1
  27. package/src/components/rooms/GroupsContainer.tsx +2 -5
  28. package/src/components/sendDocument/RecipientCard.tsx +1 -1
  29. package/src/hooks/useCustomToast.tsx +1 -1
  30. package/src/index.ts +1 -0
  31. package/src/interfaces/launchpad/IconMenu.interface.ts +3 -1
  32. package/src/interfaces/receipts/LaunchpadReceiptPanel.interface.ts +8 -0
  33. package/src/interfaces/receipts/index.ts +2 -1
  34. package/src/interfaces/tour/Step.interface.ts +3 -1
  35. package/src/stories/myHomes/HomeDetailsContent.stories.tsx +0 -1
  36. package/src/stories/receipts/LaunchpadReceiptPanel.stories.tsx +30 -0
@@ -3,8 +3,9 @@ import { t } from 'i18next';
3
3
  import { MenuButton, IconButton, Menu, MenuItem, MenuList, MenuDivider, } from '@chakra-ui/react';
4
4
  import { ChevronRight, Overlay } from '../..';
5
5
  import { colors } from '../../../theme/colors';
6
+ import { Fragment } from 'react/jsx-runtime';
6
7
  export const IconMenuWithMove = ({ disabled = false, icon, itemForm, menuItems, onMove, }) => {
7
- return (_jsx(Menu, { isLazy: true, children: ({ isOpen }) => (_jsxs(_Fragment, { children: [_jsx(Overlay, { bg: "overlay", showOverlay: isOpen, position: "fixed", zIndex: "4" }), _jsx(MenuButton, { as: IconButton, "aria-label": "Options", icon: icon, variant: "menuIcon", w: "fit-content", disabled: disabled }), _jsxs(MenuList, { zIndex: "5", children: [menuItems === null || menuItems === void 0 ? void 0 : menuItems.map(({ handleClick, label }) => (_jsx(MenuItem, { onClick: () => handleClick(itemForm), _hover: {
8
+ return (_jsx(Menu, { isLazy: true, children: ({ isOpen }) => (_jsxs(_Fragment, { children: [_jsx(Overlay, { bg: "overlay", showOverlay: isOpen, position: "fixed", zIndex: "4" }), _jsx(MenuButton, { as: IconButton, "aria-label": "Options", icon: _jsx(Fragment, { children: icon }), variant: "menuIcon", w: "fit-content", disabled: disabled }), _jsxs(MenuList, { zIndex: "5", children: [menuItems === null || menuItems === void 0 ? void 0 : menuItems.map(({ handleClick, label }) => (_jsx(MenuItem, { onClick: () => handleClick(itemForm), _hover: {
8
9
  bg: 'lightGreen.1',
9
10
  }, _focus: {
10
11
  bg: 'lightGreen.1',
@@ -1,8 +1,9 @@
1
1
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { MenuButton, IconButton, Menu, MenuItem, MenuList, Box, } from '@chakra-ui/react';
3
3
  import { Overlay } from '..';
4
+ import { Fragment } from 'react/jsx-runtime';
4
5
  export const IconMenu = ({ disabled = false, icon, itemForm, menuItems, onClick, variant = 'menuIcon', width = 'fit-content', zIndex = '999', }) => {
5
- return (_jsx(Box, { zIndex: zIndex, children: _jsx(Menu, { isLazy: true, children: ({ isOpen }) => (_jsxs(_Fragment, { children: [_jsx(Overlay, { bg: "overlay", showOverlay: isOpen, position: "fixed" }), _jsx(MenuButton, { as: IconButton, "aria-label": "Options", icon: icon, variant: variant, w: width, disabled: disabled, marginTop: "0 !important", onClick: onClick }), _jsx(MenuList, { zIndex: "5", children: menuItems === null || menuItems === void 0 ? void 0 : menuItems.map(({ handleClick, label }) => (_jsx(MenuItem, { onClick: () => handleClick(itemForm), _hover: {
6
+ return (_jsx(Box, { zIndex: zIndex, children: _jsx(Menu, { isLazy: true, children: ({ isOpen }) => (_jsxs(_Fragment, { children: [_jsx(Overlay, { bg: "overlay", showOverlay: isOpen, position: "fixed" }), _jsx(MenuButton, { as: IconButton, "aria-label": "Options", icon: _jsx(Fragment, { children: icon }), variant: variant, w: width, disabled: disabled, marginTop: "0 !important", onClick: onClick }), _jsx(MenuList, { zIndex: "5", children: menuItems === null || menuItems === void 0 ? void 0 : menuItems.map(({ handleClick, label }) => (_jsx(MenuItem, { onClick: () => handleClick(itemForm), _hover: {
6
7
  bg: 'lightGreen.1',
7
8
  }, _focus: {
8
9
  bg: 'lightGreen.1',
@@ -0,0 +1,2 @@
1
+ import { LaunchpadReceiptPanelI } from '../../interfaces';
2
+ export declare const LaunchpadReceiptPanel: ({ ...props }: LaunchpadReceiptPanelI) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +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
+ };
12
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
13
+ import { t } from 'i18next';
14
+ import { DrawerContent, DrawerHeader, DrawerBody, DrawerFooter } from '@chakra-ui/react';
15
+ import { Receipts } from '../../assets/images';
16
+ import { PanelHeader, Loading, AssignableReceipts, FooterDrawer } from '..';
17
+ export const LaunchpadReceiptPanel = (_a) => {
18
+ var props = __rest(_a, []);
19
+ const { receipts, rightOptions, onRightSelectChange, leftOptions, onLeftSelectChange, onItemSelectedChange, isLoading, handleClose, footerButtons } = props;
20
+ return (_jsxs(DrawerContent, { bg: "lightBlue.2", children: [_jsx(DrawerHeader, { p: "0", children: _jsx(PanelHeader, { handleCloseButton: handleClose, title: t('receipts.title'), icon: Receipts }) }), _jsx(DrawerBody, { p: "0", children: isLoading ? (_jsx(Loading, {})) : (_jsx(AssignableReceipts, { receipts: receipts, rightOptions: rightOptions, onRightSelectChange: onRightSelectChange, leftOptions: leftOptions, onLeftSelectChange: onLeftSelectChange, onItemSelectedChange: onItemSelectedChange, isSelectDisabled: false })) }), _jsx(DrawerFooter, { children: _jsx(FooterDrawer, { isOpen: true, children: footerButtons }) })] }));
21
+ };
@@ -13,3 +13,4 @@ export * from './ReceiptsReceivedContent';
13
13
  export * from './SalesTax';
14
14
  export * from './Summary';
15
15
  export * from './TotalHeader';
16
+ export * from './LaunchpadReceiptPanel';
@@ -13,3 +13,4 @@ export * from './ReceiptsReceivedContent';
13
13
  export * from './SalesTax';
14
14
  export * from './Summary';
15
15
  export * from './TotalHeader';
16
+ export * from './LaunchpadReceiptPanel';
@@ -1,3 +1,4 @@
1
- export declare const GroupsContainer: ({ children, }: {
2
- children?: JSX.Element | JSX.Element[];
1
+ import { ReactNode } from 'react';
2
+ export declare const GroupsContainer: ({ children }: {
3
+ children?: ReactNode;
3
4
  }) => import("react/jsx-runtime").JSX.Element;
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { Stack } from '@chakra-ui/react';
3
- export const GroupsContainer = ({ children, }) => {
3
+ export const GroupsContainer = ({ children }) => {
4
4
  return (_jsx(Stack, { spacing: "10", bgGradient: "linear(to-b, lightBlue.6, transparent)", py: "2", px: "base", children: children }));
5
5
  };
@@ -10,6 +10,6 @@ export declare const useDocumentPreview: ({ handleClose, handleSend, }: Document
10
10
  columnsDesktop: number;
11
11
  columnsMobile: number;
12
12
  columnWidth: number;
13
- contentRef: import("react").RefObject<HTMLDivElement>;
13
+ contentRef: import("react").RefObject<HTMLDivElement | null>;
14
14
  };
15
15
  export {};
@@ -4,7 +4,7 @@ import { useToast } from '@chakra-ui/react';
4
4
  import { CustomToast } from '../components';
5
5
  export const useCustomToast = () => {
6
6
  const chakraToast = useToast();
7
- const toastIdRef = useRef();
7
+ const toastIdRef = useRef(null);
8
8
  const close = () => {
9
9
  if (toastIdRef.current) {
10
10
  chakraToast.close(toastIdRef.current);
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export { ActivateAccount, ActiveSubscription, AddCardBanner, AddEditContactPanel, 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, Dialog, 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, HomeDetailsContent, HomefileMonitoring, HomeHeader, HomeMonitor, HomeMonitorSteps, HomeSharedWith, InboxForwardBanner, InboxTile, ItemNameHeader, ItemsReviewBanner, ItemSubTypeSelect, Launchpad, LaunchpadAutofilerBanner, LaunchpadReceiptAutofiler, LaunchpadTour, LeftPanel, MediaDetailsStep, MessagePanel, MessageChatPanel, MonitorAlerts, MonthlyCharge, MortgageInfo, MoveModal, MyHomes, MyProfileBody, MyProfileContent, MyProfileFooter, MyProfileHeader, MyProfilePanel, NewCreditCard, NewCreditCardHeader, NewPassword, NotBeChargedBanner, Notifications, NotificationsReminder, NotificationsPanel, NotificationCard, 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, ShareContactsContent, SharedAccounts, SharedHomeContent, SharedHomeHeader, ShareHome, ShareHomeConnections, ShareHomeForm, ShineTile, 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, ViewContactPanel, VideoPlayer, VideoPlayerModal, WellDone, YtdTile, } from './components';
1
+ export { ActivateAccount, ActiveSubscription, AddCardBanner, AddEditContactPanel, 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, Dialog, 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, HomeDetailsContent, HomefileMonitoring, HomeHeader, HomeMonitor, HomeMonitorSteps, HomeSharedWith, InboxForwardBanner, InboxTile, ItemNameHeader, ItemsReviewBanner, ItemSubTypeSelect, Launchpad, LaunchpadAutofilerBanner, LaunchpadReceiptAutofiler, LaunchpadReceiptPanel, LaunchpadTour, LeftPanel, MediaDetailsStep, MessagePanel, MessageChatPanel, MonitorAlerts, MonthlyCharge, MortgageInfo, MoveModal, MyHomes, MyProfileBody, MyProfileContent, MyProfileFooter, MyProfileHeader, MyProfilePanel, NewCreditCard, NewCreditCardHeader, NewPassword, NotBeChargedBanner, Notifications, NotificationsReminder, NotificationsPanel, NotificationCard, 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, ShareContactsContent, SharedAccounts, SharedHomeContent, SharedHomeHeader, ShareHome, ShareHomeConnections, ShareHomeForm, ShineTile, 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, ViewContactPanel, VideoPlayer, VideoPlayerModal, WellDone, YtdTile, } from './components';
2
2
  export { useCustomToast } from './hooks';
3
3
  export { randomColor } from './utils';
4
4
  export { billingProxy, dynamicFormProxy, homeCardProxy, partnerContentProxy, partnerDetailsProxy, paymentMethodProxy, recordsInputsProxy, recordsInputsToDBProxy, userDetailsProxy, confirmAddressProxy, } from './proxies';
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- export { ActivateAccount, ActiveSubscription, AddCardBanner, AddEditContactPanel, 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, Dialog, 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, HomeDetailsContent, HomefileMonitoring, HomeHeader, HomeMonitor, HomeMonitorSteps, HomeSharedWith, InboxForwardBanner, InboxTile, ItemNameHeader, ItemsReviewBanner, ItemSubTypeSelect, Launchpad, LaunchpadAutofilerBanner, LaunchpadReceiptAutofiler, LaunchpadTour, LeftPanel, MediaDetailsStep, MessagePanel, MessageChatPanel, MonitorAlerts, MonthlyCharge, MortgageInfo, MoveModal, MyHomes, MyProfileBody, MyProfileContent, MyProfileFooter, MyProfileHeader, MyProfilePanel, NewCreditCard, NewCreditCardHeader, NewPassword, NotBeChargedBanner, Notifications, NotificationsReminder, NotificationsPanel, NotificationCard, 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, ShareContactsContent, SharedAccounts, SharedHomeContent, SharedHomeHeader, ShareHome, ShareHomeConnections, ShareHomeForm, ShineTile, 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, ViewContactPanel, VideoPlayer, VideoPlayerModal, WellDone, YtdTile, } from './components';
1
+ export { ActivateAccount, ActiveSubscription, AddCardBanner, AddEditContactPanel, 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, Dialog, 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, HomeDetailsContent, HomefileMonitoring, HomeHeader, HomeMonitor, HomeMonitorSteps, HomeSharedWith, InboxForwardBanner, InboxTile, ItemNameHeader, ItemsReviewBanner, ItemSubTypeSelect, Launchpad, LaunchpadAutofilerBanner, LaunchpadReceiptAutofiler, LaunchpadReceiptPanel, LaunchpadTour, LeftPanel, MediaDetailsStep, MessagePanel, MessageChatPanel, MonitorAlerts, MonthlyCharge, MortgageInfo, MoveModal, MyHomes, MyProfileBody, MyProfileContent, MyProfileFooter, MyProfileHeader, MyProfilePanel, NewCreditCard, NewCreditCardHeader, NewPassword, NotBeChargedBanner, Notifications, NotificationsReminder, NotificationsPanel, NotificationCard, 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, ShareContactsContent, SharedAccounts, SharedHomeContent, SharedHomeHeader, ShareHome, ShareHomeConnections, ShareHomeForm, ShineTile, 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, ViewContactPanel, VideoPlayer, VideoPlayerModal, WellDone, YtdTile, } from './components';
2
2
  export { useCustomToast } from './hooks';
3
3
  export { randomColor } from './utils';
4
4
  export { billingProxy, dynamicFormProxy, homeCardProxy, partnerContentProxy, partnerDetailsProxy, paymentMethodProxy, recordsInputsProxy, recordsInputsToDBProxy, userDetailsProxy, confirmAddressProxy, } from './proxies';
@@ -1,10 +1,11 @@
1
+ import { ReactNode } from 'react';
1
2
  export interface MenuItemI {
2
3
  handleClick: (form: any) => void;
3
4
  label: string;
4
5
  }
5
6
  export interface IconMenuI<T> {
6
7
  disabled?: boolean;
7
- icon?: JSX.Element;
8
+ icon?: ReactNode;
8
9
  itemForm?: T;
9
10
  menuItems?: MenuItemI[];
10
11
  onClick?: () => void;
@@ -0,0 +1,7 @@
1
+ import { ReactElement } from "react";
2
+ import { AssignableReceiptsI } from "./AssignableReceipts.interface";
3
+ export interface LaunchpadReceiptPanelI extends AssignableReceiptsI {
4
+ handleClose: () => void;
5
+ footerButtons: ReactElement;
6
+ isLoading: boolean;
7
+ }
@@ -14,3 +14,4 @@ export * from './AssignableReceiptCard.interface';
14
14
  export * from './autofiler';
15
15
  export * from './displayReceipts';
16
16
  export * from './receipt';
17
+ export * from './LaunchpadReceiptPanel.interface';
@@ -14,3 +14,4 @@ export * from './AssignableReceiptCard.interface';
14
14
  export * from './autofiler';
15
15
  export * from './displayReceipts';
16
16
  export * from './receipt';
17
+ export * from './LaunchpadReceiptPanel.interface';
@@ -1,10 +1,11 @@
1
+ import { ReactNode } from 'react';
1
2
  export interface StepI {
2
3
  [key: string]: {
3
4
  arrowBottom?: 'bottom' | 'bottom-left' | 'bottom-right';
4
5
  arrowLeft?: 'left' | 'left-top' | 'left-bottom';
5
6
  arrowRight?: 'right' | 'right-top' | 'right-bottom';
6
7
  arrowTop?: 'top' | 'top-left' | 'top-right';
7
- component: JSX.Element;
8
+ component: ReactNode;
8
9
  leftRef?: string | number;
9
10
  topRef?: string | number;
10
11
  bottomRef?: string | number;
@@ -0,0 +1,17 @@
1
+ import { Meta } from '@storybook/react';
2
+ import { LaunchpadReceiptPanelI } from '../../interfaces';
3
+ declare const _default: Meta<LaunchpadReceiptPanelI>;
4
+ export default _default;
5
+ export declare const LaunchpadReceiptPanelComponent: {
6
+ (args: LaunchpadReceiptPanelI): import("react/jsx-runtime").JSX.Element;
7
+ args: {
8
+ isSelectDisabled: boolean;
9
+ receipts: import("../../interfaces").ReceiptDetailsDBI[];
10
+ leftOptions: string[];
11
+ rightOptions: string[];
12
+ onItemSelectedChange: import("@storybook/addon-actions").HandlerFunction;
13
+ handleClose: () => null;
14
+ isLoading: boolean;
15
+ footerButtons: import("react/jsx-runtime").JSX.Element;
16
+ };
17
+ };
@@ -0,0 +1,22 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { LaunchpadReceiptPanel, FooterButtons, RightPanel } from '../../components';
3
+ import { receiptsReceivedMock } from '../../mocks';
4
+ import { action } from '@storybook/addon-actions';
5
+ import { ButtonsFooter } from '../../helpers';
6
+ export default {
7
+ title: 'Components/Receipts',
8
+ component: LaunchpadReceiptPanel,
9
+ };
10
+ export const LaunchpadReceiptPanelComponent = (args) => {
11
+ return (_jsx(RightPanel, { onClose: () => null, isOpen: true, size: "md", children: _jsx(LaunchpadReceiptPanel, Object.assign({}, args)) }));
12
+ };
13
+ LaunchpadReceiptPanelComponent.args = {
14
+ isSelectDisabled: false,
15
+ receipts: receiptsReceivedMock,
16
+ leftOptions: ['Project', 'Room', 'Folder'],
17
+ rightOptions: ['Kitchen', 'Landscape', 'Bedroom'],
18
+ onItemSelectedChange: action('onItemSelectedChange'),
19
+ handleClose: () => null,
20
+ isLoading: false,
21
+ footerButtons: _jsx(FooterButtons, { button1: ButtonsFooter.button1 })
22
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@homefile/components-v2",
3
- "version": "2.7.4",
3
+ "version": "2.7.6",
4
4
  "author": "Homefile",
5
5
  "license": "UNLICENSED",
6
6
  "typings": "dist/index.d.ts",
@@ -22,66 +22,65 @@
22
22
  "src"
23
23
  ],
24
24
  "devDependencies": {
25
- "@chakra-ui/storybook-addon": "^5.2.5",
26
- "@chromatic-com/storybook": "^3.2.2",
27
- "@faker-js/faker": "^9.0.3",
28
- "@storybook/addon-a11y": "^8.4.7",
29
- "@storybook/addon-essentials": "^8.4.7",
30
- "@storybook/addon-interactions": "^8.4.7",
31
- "@storybook/addon-links": "^8.4.7",
32
- "@storybook/addon-onboarding": "^8.4.7",
33
- "@storybook/addon-viewport": "^8.4.7",
34
- "@storybook/blocks": "^8.4.7",
35
- "@storybook/react": "^8.4.7",
36
- "@storybook/react-vite": "^8.4.7",
37
- "@storybook/test": "^8.4.7",
38
- "@types/node": "^22.7.6",
39
- "@types/react": "^18.3.11",
40
- "@types/react-dom": "^18.3.1",
41
- "@vitejs/plugin-react": "^4.3.2",
25
+ "@chromatic-com/storybook": "^3.2.4",
26
+ "@faker-js/faker": "^9.4.0",
27
+ "@storybook/addon-a11y": "^8.5.0",
28
+ "@storybook/addon-essentials": "^8.5.0",
29
+ "@storybook/addon-interactions": "^8.5.0",
30
+ "@storybook/addon-links": "^8.5.0",
31
+ "@storybook/addon-viewport": "^8.5.0",
32
+ "@storybook/blocks": "^8.5.0",
33
+ "@storybook/react": "^8.5.0",
34
+ "@storybook/react-vite": "^8.5.0",
35
+ "@storybook/test": "^8.5.0",
36
+ "@types/node": "^22.10.7",
37
+ "@types/react": "^19.0.7",
38
+ "@types/react-dom": "^19.0.3",
39
+ "@vitejs/plugin-react": "^4.3.4",
42
40
  "axe-playwright": "^2.0.3",
43
41
  "copyfiles": "^2.4.1",
44
42
  "git-commit-msg-linter": "^5.0.4",
45
- "husky": "^9.1.6",
43
+ "husky": "^9.1.7",
46
44
  "jest": "^29.7.0",
47
45
  "json-loader": "^0.5.7",
48
46
  "rimraf": "^6.0.1",
49
- "semantic-release": "^24.1.2",
50
- "storybook": "^8.4.7",
51
- "storybook-react-i18next": "^3.1.8",
47
+ "semantic-release": "^24.2.1",
48
+ "storybook": "^8.5.0",
49
+ "storybook-react-i18next": "^3.2.1",
52
50
  "tsconfig-replace-paths": "^0.0.14",
53
51
  "tscpaths": "^0.0.9",
54
- "typescript": "^5.6.3",
55
- "vite": "^5.4.9"
52
+ "typescript": "^5.7.3",
53
+ "vite": "^6.0.9"
56
54
  },
57
55
  "dependencies": {
58
56
  "@chakra-ui/icons": "^2.2.4",
59
57
  "@chakra-ui/react": "^2.10.3",
60
58
  "@emotion/react": "^11.13.3",
61
59
  "@emotion/styled": "^11.13.0",
62
- "@fontsource/assistant": "^5.1.0",
63
- "@fontsource/poppins": "^5.1.0",
60
+ "@fontsource/assistant": "^5.1.1",
61
+ "@fontsource/poppins": "^5.1.1",
64
62
  "@hassanmojab/react-modern-calendar-datepicker": "^3.1.7",
65
- "@hookform/resolvers": "^3.3.1",
66
- "@rive-app/react-canvas": "^4.14.5",
67
- "axios": "^1.7.7",
63
+ "@hookform/resolvers": "^3.10.0",
64
+ "@rive-app/react-canvas": "^4.17.6",
65
+ "@storybook/addon-themes": "^8.5.0",
66
+ "axios": "^1.7.9",
68
67
  "date-fns": "^4.1.0",
69
68
  "framer-motion": "^11.11.9",
70
- "i18next": "^23.16.0",
71
- "i18next-browser-languagedetector": "^8.0.0",
72
- "i18next-http-backend": "^2.6.2",
73
- "react": "^18.2.0",
74
- "react-dom": "^18.2.0",
75
- "react-dropzone": "^14.2.9",
76
- "react-hook-form": "^7.53.0",
77
- "react-i18next": "^15.0.3",
78
- "react-icons": "^5.3.0",
69
+ "i18next": "^24.2.1",
70
+ "i18next-browser-languagedetector": "^8.0.2",
71
+ "i18next-http-backend": "^3.0.1",
72
+ "react": "^19.0.0",
73
+ "react-dom": "^19.0.0",
74
+ "react-dropzone": "^14.3.5",
75
+ "react-hook-form": "^7.54.2",
76
+ "react-i18next": "^15.4.0",
77
+ "react-icons": "^5.4.0",
79
78
  "react-modern-calendar-datepicker": "^3.1.6",
80
79
  "react-quill": "^2.0.0",
81
- "react-spinners": "^0.14.1",
82
- "recharts": "^2.13.0",
83
- "valtio": "^2.1.0",
84
- "yup": "^1.2.0"
80
+ "react-spinners": "^0.15.0",
81
+ "recharts": "^2.15.0",
82
+ "valtio": "^2.1.2",
83
+ "yup": "^1.6.1"
85
84
  },
86
85
  "scripts": {
87
86
  "start": "storybook dev -p 6007",
@@ -10,6 +10,7 @@ import {
10
10
  import { IconMenuWithMoveI } from '@/interfaces'
11
11
  import { ChevronRight, Overlay } from '@/components'
12
12
  import { colors } from '@/theme/colors'
13
+ import { Fragment } from 'react/jsx-runtime'
13
14
 
14
15
  export const IconMenuWithMove = <T extends unknown>({
15
16
  disabled = false,
@@ -31,7 +32,7 @@ export const IconMenuWithMove = <T extends unknown>({
31
32
  <MenuButton
32
33
  as={IconButton}
33
34
  aria-label="Options"
34
- icon={icon}
35
+ icon={<Fragment>{icon}</Fragment>}
35
36
  variant="menuIcon"
36
37
  w="fit-content"
37
38
  disabled={disabled}
@@ -94,6 +94,7 @@ import { useHomeBoard, useWindowDimensions } from '@/hooks'
94
94
  import { Painting } from '@/assets/images'
95
95
 
96
96
  import { ReportI } from '@/interfaces'
97
+ import { ReactNode } from 'react'
97
98
 
98
99
  const forms: Record<number, ReportI[]> = {
99
100
  1: homeAssitantStep1FormMock,
@@ -131,7 +132,7 @@ export const HomeBoard = () => {
131
132
 
132
133
  const currentHomeAssistantForm = forms[homeAssistantCurrentStep]
133
134
 
134
- const rightPanelComponents: { [key: string]: JSX.Element } = {
135
+ const rightPanelComponents: { [key: string]: ReactNode } = {
135
136
  AddFolder: (
136
137
  <AddFolder
137
138
  handleClose={onRightClose}
@@ -8,6 +8,7 @@ import {
8
8
  } from '@chakra-ui/react'
9
9
  import { IconMenuI } from '@/interfaces'
10
10
  import { Overlay } from '@/components'
11
+ import { Fragment } from 'react/jsx-runtime'
11
12
 
12
13
  export const IconMenu = <T extends unknown>({
13
14
  disabled = false,
@@ -28,7 +29,7 @@ export const IconMenu = <T extends unknown>({
28
29
  <MenuButton
29
30
  as={IconButton}
30
31
  aria-label="Options"
31
- icon={icon}
32
+ icon={<Fragment>{icon}</Fragment>}
32
33
  variant={variant}
33
34
  w={width}
34
35
  disabled={disabled}
@@ -0,0 +1,49 @@
1
+ import { t } from 'i18next'
2
+ import { DrawerContent, DrawerHeader, DrawerBody, DrawerFooter } from '@chakra-ui/react'
3
+ import { Receipts } from '@/assets/images'
4
+ import {
5
+ PanelHeader,
6
+ Loading,
7
+ AssignableReceipts,
8
+ FooterDrawer
9
+ } from '@/components'
10
+ import { LaunchpadReceiptPanelI } from '@/interfaces'
11
+
12
+ export const LaunchpadReceiptPanel = ({...props}: LaunchpadReceiptPanelI) => {
13
+ const {receipts, rightOptions, onRightSelectChange, leftOptions, onLeftSelectChange, onItemSelectedChange, isLoading, handleClose, footerButtons} = props
14
+
15
+ return (
16
+ <DrawerContent bg="lightBlue.2">
17
+ <DrawerHeader p="0">
18
+ <PanelHeader
19
+ handleCloseButton={handleClose}
20
+ title={t('receipts.title')}
21
+ icon={Receipts}
22
+ />
23
+ </DrawerHeader>
24
+ <DrawerBody p="0">
25
+ {
26
+ isLoading ? (
27
+ <Loading />
28
+ ) : (
29
+
30
+ <AssignableReceipts
31
+ receipts={receipts}
32
+ rightOptions={rightOptions}
33
+ onRightSelectChange={onRightSelectChange}
34
+ leftOptions={leftOptions}
35
+ onLeftSelectChange={onLeftSelectChange}
36
+ onItemSelectedChange={onItemSelectedChange}
37
+ isSelectDisabled={false}
38
+ />
39
+ )
40
+ }
41
+ </DrawerBody>
42
+ <DrawerFooter>
43
+ <FooterDrawer isOpen={true}>
44
+ {footerButtons}
45
+ </FooterDrawer>
46
+ </DrawerFooter>
47
+ </DrawerContent>
48
+ )
49
+ }
@@ -12,4 +12,5 @@ export * from './ReceiptsInfo'
12
12
  export * from './ReceiptsReceivedContent'
13
13
  export * from './SalesTax'
14
14
  export * from './Summary'
15
- export * from './TotalHeader'
15
+ export * from './TotalHeader'
16
+ export * from './LaunchpadReceiptPanel'
@@ -1,10 +1,7 @@
1
1
  import { Stack } from '@chakra-ui/react'
2
+ import { ReactNode } from 'react'
2
3
 
3
- export const GroupsContainer = ({
4
- children,
5
- }: {
6
- children?: JSX.Element | JSX.Element[]
7
- }) => {
4
+ export const GroupsContainer = ({ children }: { children?: ReactNode }) => {
8
5
  return (
9
6
  <Stack
10
7
  spacing="10"
@@ -66,7 +66,7 @@ const Header = ({
66
66
  recipient: { accountTypes },
67
67
  isDocument,
68
68
  }: Pick<RecipientCardI, 'header' | 'recipient' | 'isDocument'>) => {
69
- if (header) return header as JSX.Element
69
+ if (header) return header
70
70
  return (
71
71
  <RecipientHeader
72
72
  accountType={accountTypes.join(', ')}
@@ -4,7 +4,7 @@ import { CustomToast } from '@/components'
4
4
 
5
5
  export const useCustomToast = () => {
6
6
  const chakraToast = useToast()
7
- const toastIdRef = useRef<ToastId | undefined>()
7
+ const toastIdRef = useRef<ToastId | undefined>(null)
8
8
 
9
9
  const close = () => {
10
10
  if (toastIdRef.current) {
package/src/index.ts CHANGED
@@ -86,6 +86,7 @@ export {
86
86
  Launchpad,
87
87
  LaunchpadAutofilerBanner,
88
88
  LaunchpadReceiptAutofiler,
89
+ LaunchpadReceiptPanel,
89
90
  LaunchpadTour,
90
91
  LeftPanel,
91
92
  MediaDetailsStep,
@@ -1,3 +1,5 @@
1
+ import { ReactNode } from 'react'
2
+
1
3
  export interface MenuItemI {
2
4
  handleClick: (form: any) => void
3
5
  label: string
@@ -5,7 +7,7 @@ export interface MenuItemI {
5
7
 
6
8
  export interface IconMenuI<T> {
7
9
  disabled?: boolean
8
- icon?: JSX.Element
10
+ icon?: ReactNode
9
11
  itemForm?: T
10
12
  menuItems?: MenuItemI[]
11
13
  onClick?: () => void
@@ -0,0 +1,8 @@
1
+ import { ReactElement } from "react";
2
+ import { AssignableReceiptsI } from "./AssignableReceipts.interface";
3
+
4
+ export interface LaunchpadReceiptPanelI extends AssignableReceiptsI {
5
+ handleClose: () => void
6
+ footerButtons: ReactElement
7
+ isLoading: boolean
8
+ }
@@ -13,4 +13,5 @@ export * from './TotalHeader.interface'
13
13
  export * from './AssignableReceiptCard.interface'
14
14
  export * from './autofiler'
15
15
  export * from './displayReceipts'
16
- export * from './receipt'
16
+ export * from './receipt'
17
+ export * from './LaunchpadReceiptPanel.interface'
@@ -1,10 +1,12 @@
1
+ import { ReactNode } from 'react'
2
+
1
3
  export interface StepI {
2
4
  [key: string]: {
3
5
  arrowBottom?: 'bottom' | 'bottom-left' | 'bottom-right'
4
6
  arrowLeft?: 'left' | 'left-top' | 'left-bottom'
5
7
  arrowRight?: 'right' | 'right-top' | 'right-bottom'
6
8
  arrowTop?: 'top' | 'top-left' | 'top-right'
7
- component: JSX.Element
9
+ component: ReactNode
8
10
  leftRef?: string | number
9
11
  topRef?: string | number
10
12
  bottomRef?: string | number
@@ -1,5 +1,4 @@
1
1
  import { Meta } from '@storybook/react'
2
- import { Drawer } from '@chakra-ui/react'
3
2
  import { HomeDetailsContent, FooterButtons, RightPanel } from '@/components'
4
3
  import { HomeCards, ButtonsFooter } from '@/helpers'
5
4
  import { HomeDetailsContentI } from '@/interfaces'
@@ -0,0 +1,30 @@
1
+ import { Meta } from '@storybook/react'
2
+ import { LaunchpadReceiptPanel, FooterButtons, RightPanel } from '@/components'
3
+ import { LaunchpadReceiptPanelI } from '@/interfaces'
4
+ import { receiptsReceivedMock } from '@/mocks'
5
+ import { action } from '@storybook/addon-actions'
6
+ import { ButtonsFooter } from '@/helpers'
7
+
8
+ export default {
9
+ title: 'Components/Receipts',
10
+ component: LaunchpadReceiptPanel,
11
+ } as Meta<LaunchpadReceiptPanelI>
12
+
13
+ export const LaunchpadReceiptPanelComponent = (args: LaunchpadReceiptPanelI) => {
14
+ return (
15
+ <RightPanel onClose={() => null} isOpen size="md">
16
+ <LaunchpadReceiptPanel {...args} />
17
+ </RightPanel>
18
+ )
19
+ }
20
+
21
+ LaunchpadReceiptPanelComponent.args = {
22
+ isSelectDisabled: false,
23
+ receipts: receiptsReceivedMock,
24
+ leftOptions: ['Project', 'Room', 'Folder'],
25
+ rightOptions: ['Kitchen', 'Landscape', 'Bedroom'],
26
+ onItemSelectedChange: action('onItemSelectedChange'),
27
+ handleClose: () => null,
28
+ isLoading: false,
29
+ footerButtons: <FooterButtons button1={ButtonsFooter.button1}/>
30
+ }