@homefile/components-v2 1.6.0 → 1.6.1

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 (24) hide show
  1. package/dist/assets/locales/en/index.json +1 -0
  2. package/dist/components/homeAssistant/HomeMonitorButton.d.ts +1 -1
  3. package/dist/components/homeAssistant/HomeMonitorButton.js +4 -4
  4. package/dist/components/homeAssistant/HomeMonitorSteps.d.ts +1 -1
  5. package/dist/components/homeAssistant/HomeMonitorSteps.js +2 -2
  6. package/dist/components/homeAssistant/monitorAlerts/HomefileMonitoring.d.ts +1 -0
  7. package/dist/components/homeAssistant/monitorAlerts/HomefileMonitoring.js +7 -0
  8. package/dist/components/homeAssistant/monitorAlerts/Notifications.js +1 -1
  9. package/dist/components/homeAssistant/monitorAlerts/index.d.ts +1 -0
  10. package/dist/components/homeAssistant/monitorAlerts/index.js +1 -0
  11. package/dist/index.d.ts +1 -1
  12. package/dist/index.js +1 -1
  13. package/dist/interfaces/homeAssistant/HomeMonitorSteps.interface.d.ts +3 -1
  14. package/dist/stories/homeAssistant/HomeMonitor.stories.js +3 -10
  15. package/package.json +1 -1
  16. package/src/assets/locales/en/index.json +1 -0
  17. package/src/components/homeAssistant/HomeMonitorButton.tsx +56 -29
  18. package/src/components/homeAssistant/HomeMonitorSteps.tsx +2 -0
  19. package/src/components/homeAssistant/monitorAlerts/HomefileMonitoring.tsx +16 -0
  20. package/src/components/homeAssistant/monitorAlerts/Notifications.tsx +1 -1
  21. package/src/components/homeAssistant/monitorAlerts/index.ts +1 -0
  22. package/src/index.ts +1 -0
  23. package/src/interfaces/homeAssistant/HomeMonitorSteps.interface.ts +3 -1
  24. package/src/stories/homeAssistant/HomeMonitor.stories.tsx +5 -16
@@ -400,6 +400,7 @@
400
400
  },
401
401
  "details": "Provide details about your home’s",
402
402
  "homeMonitor": "Home Monitor",
403
+ "homeMonitoring": "Homefile is monitoring your home.",
403
404
  "monitorAlerts": {
404
405
  "collapse": "Collapse Alert",
405
406
  "homeAction": "Home Action",
@@ -1,2 +1,2 @@
1
1
  import { HomeMonitorButtonI } from '../../interfaces';
2
- export declare const HomeMonitorButton: ({ currentStep, onStepClick, status, step, }: HomeMonitorButtonI) => import("react/jsx-runtime").JSX.Element;
2
+ export declare const HomeMonitorButton: ({ currentStep, menuItems, onStepClick, status, step, }: HomeMonitorButtonI) => import("react/jsx-runtime").JSX.Element;
@@ -1,14 +1,15 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { Box, Center, Image, Stack, Text } from '@chakra-ui/react';
3
3
  import { getIconAltText } from '../../utils';
4
- export const HomeMonitorButton = ({ currentStep, onStepClick, status, step, }) => {
4
+ import { IconMenu, MoreHorizontal } from '..';
5
+ export const HomeMonitorButton = ({ currentStep, menuItems, onStepClick, status = 'ok', step, }) => {
5
6
  const iconAltText = getIconAltText(step.icon);
6
7
  const handleClick = () => {
7
- console.log({ status });
8
8
  if (status !== 'ok')
9
9
  onStepClick(currentStep);
10
10
  };
11
- return (_jsx(Box, { children: _jsxs(Stack, Object.assign({ as: "button", spacing: "2", borderRadius: "lg", boxShadow: "lg", border: "1px solid transparent", w: "90px", align: "center", h: "96px", py: "base", bg: "neutral.white" }, setStyles(status), { onClick: handleClick, children: [_jsx(Center, { h: "60%", children: _jsx(Image, { src: step.icon, alt: iconAltText, w: "auto", h: "28px" }) }), _jsx(Center, { h: "40%", children: _jsx(Text, { fontSize: "xs", textTransform: "uppercase", textAlign: "center", lineHeight: "14px", children: step.title }) })] })) }));
11
+ const isDisabled = Number(menuItems.length) === 0;
12
+ return (_jsxs(Box, { position: "relative", children: [_jsxs(Box, { position: "relative", bg: "neutral.white", borderRadius: "lg", boxShadow: "lg", zIndex: "2", children: [_jsx(Box, { bg: status === 'alert' ? 'error.2' : 'green.1', boxSize: "10px", borderRadius: "full", position: "absolute", top: "6px", left: "6px", zIndex: "8" }), _jsxs(Stack, Object.assign({ position: "relative", zIndex: "2", as: "button", spacing: "2", border: "1px solid transparent", w: "90px", align: "center", h: "96px", py: "base" }, setStyles(status), { onClick: handleClick, children: [_jsx(Center, { h: "60%", marginTop: "2", children: _jsx(Image, { src: step.icon, alt: iconAltText, w: "auto", h: "28px" }) }), _jsx(Center, { h: "40%", children: _jsx(Text, { fontSize: "xs", textTransform: "uppercase", textAlign: "center", lineHeight: "14px", children: step.title }) })] }))] }), _jsx(Box, { position: "absolute", top: "-2px", right: "4px", zIndex: "4", children: _jsx(IconMenu, { icon: _jsx(MoreHorizontal, { size: 26 }), itemForm: currentStep, menuItems: menuItems, disabled: isDisabled }) })] }));
12
13
  };
13
14
  const setStyles = (status) => {
14
15
  switch (status) {
@@ -24,7 +25,6 @@ const setStyles = (status) => {
24
25
  };
25
26
  case 'ok':
26
27
  return {
27
- cursor: 'not-allowed',
28
28
  filter: 'grayscale(1) opacity(0.6)',
29
29
  };
30
30
  }
@@ -1,2 +1,2 @@
1
1
  import { HomeMonitortStepsI } from '../../interfaces';
2
- export declare const HomeMonitorSteps: ({ onStepClick, stepsWithAlerts, }: HomeMonitortStepsI) => import("react/jsx-runtime").JSX.Element;
2
+ export declare const HomeMonitorSteps: ({ menuItems, onStepClick, stepsWithAlerts, }: HomeMonitortStepsI) => import("react/jsx-runtime").JSX.Element;
@@ -2,8 +2,8 @@ import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { Box, Flex } from '@chakra-ui/react';
3
3
  import { HomeMonitorButton } from '..';
4
4
  import { homeAssistantSteps } from '../../helpers';
5
- export const HomeMonitorSteps = ({ onStepClick, stepsWithAlerts, }) => {
6
- return (_jsx(Flex, { gap: "base", children: homeAssistantSteps.map((step, index) => (_jsx(Box, { flex: "auto", children: _jsx(HomeMonitorButton, { currentStep: index + 1, onStepClick: onStepClick, status: getStatus(index + 1, stepsWithAlerts), step: step }) }, step.title))) }));
5
+ export const HomeMonitorSteps = ({ menuItems, onStepClick, stepsWithAlerts, }) => {
6
+ return (_jsx(Flex, { gap: "base", children: homeAssistantSteps.map((step, index) => (_jsx(Box, { flex: "auto", children: _jsx(HomeMonitorButton, { currentStep: index + 1, menuItems: menuItems, onStepClick: onStepClick, status: getStatus(index + 1, stepsWithAlerts), step: step }) }, step.title))) }));
7
7
  };
8
8
  const getStatus = (index, stepsWithAlerts) => {
9
9
  const hasAlert = stepsWithAlerts.includes(index);
@@ -0,0 +1 @@
1
+ export declare const HomefileMonitoring: () => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,7 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { t } from 'i18next';
3
+ import { Box, Flex, Text } from '@chakra-ui/react';
4
+ import { HomieAnimation } from '../..';
5
+ export const HomefileMonitoring = () => {
6
+ return (_jsx(Box, { p: "base", borderRadius: "lg", bg: "#C5E9F4", h: "66px", zIndex: "2", flex: "1", children: _jsxs(Flex, { align: "center", children: [_jsx(Box, { boxSize: "47px", children: _jsx(HomieAnimation, {}) }), _jsx(Text, { children: t('homeAssistant.homeMonitoring') })] }) }));
7
+ };
@@ -2,7 +2,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { Stack, Flex, Center, Text } from '@chakra-ui/react';
3
3
  import { t } from 'i18next';
4
4
  export const Notifications = ({ date = '', local = '' }) => {
5
- return (_jsxs(Stack, { spacing: "base", minH: "full", zIndex: "2", children: [_jsxs(Flex, { justify: "space-between", children: [_jsx(CustomText, { children: date }), _jsx(CustomText, { children: local })] }), _jsx(Center, { w: "188px", h: "full", border: "1px dashed", borderColor: "blue.1", borderRadius: "sm", children: _jsx(Text, { fontSize: "sm", fontFamily: "secondary", children: t('homeAssistant.notifications') }) })] }));
5
+ return (_jsxs(Stack, { spacing: "base", minH: "full", zIndex: "2", children: [_jsxs(Flex, { justify: "space-between", children: [_jsx(CustomText, { children: date }), _jsx(CustomText, { children: local })] }), _jsx(Center, { w: "188px", h: "243px", border: "1px dashed", borderColor: "blue.1", borderRadius: "sm", children: _jsx(Text, { fontSize: "sm", fontFamily: "secondary", children: t('homeAssistant.notifications') }) })] }));
6
6
  };
7
7
  const CustomText = ({ children = '' }) => {
8
8
  return (_jsx(Text, { fontSize: "sm", fontFamily: "secondary", textTransform: "uppercase", children: children }));
@@ -3,5 +3,6 @@ export * from './AlertHeader';
3
3
  export * from './AlertTemplate';
4
4
  export * from './AlertTitle';
5
5
  export * from './BaseAlertCard';
6
+ export * from './HomefileMonitoring';
6
7
  export * from './MonitorAlerts';
7
8
  export * from './Notifications';
@@ -3,5 +3,6 @@ export * from './AlertHeader';
3
3
  export * from './AlertTemplate';
4
4
  export * from './AlertTitle';
5
5
  export * from './BaseAlertCard';
6
+ export * from './HomefileMonitoring';
6
7
  export * from './MonitorAlerts';
7
8
  export * from './Notifications';
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, 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, HomeMonitor, HomeMonitorSteps, HomeSharedWith, InboxTile, ItemNameHeader, ItemsReviewBanner, ItemSubTypeSelect, Launchpad, LaunchpadAutofilerBanner, LaunchpadReceiptAutofiler, LaunchpadTour, LeftPanel, MediaDetailsStep, MonitorAlerts, MonthlyCharge, MortgageInfo, MoveModal, MyHomes, MyProfileContent, MyProfileFooter, MyProfilePanel, NewCreditCard, NewCreditCardHeader, NewPassword, NotBeChargedBanner, Notifications, 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, 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, HomefileMonitoring, HomeHeader, HomeMonitor, HomeMonitorSteps, HomeSharedWith, InboxTile, ItemNameHeader, ItemsReviewBanner, ItemSubTypeSelect, Launchpad, LaunchpadAutofilerBanner, LaunchpadReceiptAutofiler, LaunchpadTour, LeftPanel, MediaDetailsStep, MonitorAlerts, MonthlyCharge, MortgageInfo, MoveModal, MyHomes, MyProfileContent, MyProfileFooter, MyProfilePanel, NewCreditCard, NewCreditCardHeader, NewPassword, NotBeChargedBanner, Notifications, 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, 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, HomeMonitor, HomeMonitorSteps, HomeSharedWith, InboxTile, ItemNameHeader, ItemsReviewBanner, ItemSubTypeSelect, Launchpad, LaunchpadAutofilerBanner, LaunchpadReceiptAutofiler, LaunchpadTour, LeftPanel, MediaDetailsStep, MonitorAlerts, MonthlyCharge, MortgageInfo, MoveModal, MyHomes, MyProfileContent, MyProfileFooter, MyProfilePanel, NewCreditCard, NewCreditCardHeader, NewPassword, NotBeChargedBanner, Notifications, 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, 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, HomefileMonitoring, HomeHeader, HomeMonitor, HomeMonitorSteps, HomeSharedWith, InboxTile, ItemNameHeader, ItemsReviewBanner, ItemSubTypeSelect, Launchpad, LaunchpadAutofilerBanner, LaunchpadReceiptAutofiler, LaunchpadTour, LeftPanel, MediaDetailsStep, MonitorAlerts, MonthlyCharge, MortgageInfo, MoveModal, MyHomes, MyProfileContent, MyProfileFooter, MyProfilePanel, NewCreditCard, NewCreditCardHeader, NewPassword, NotBeChargedBanner, Notifications, 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,12 @@
1
- import { HomeAssistantStepI } from '..';
1
+ import { HomeAssistantStepI, MenuItemI } from '..';
2
2
  export interface HomeMonitortStepsI {
3
+ menuItems: MenuItemI[];
3
4
  stepsWithAlerts: number[];
4
5
  onStepClick: (step: number) => void;
5
6
  }
6
7
  export interface HomeMonitorButtonI {
7
8
  currentStep: number;
9
+ menuItems: HomeMonitortStepsI['menuItems'];
8
10
  onStepClick: HomeMonitortStepsI['onStepClick'];
9
11
  status: 'alert' | 'ok';
10
12
  step: HomeAssistantStepI;
@@ -1,8 +1,8 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { HomeMonitor, HomeMonitorSteps, MonitorAlerts, Notifications, } from '../../components';
2
+ import { HomefileMonitoring, HomeMonitor, HomeMonitorSteps, Notifications, } from '../../components';
3
3
  import { Box, Flex, Stack } from '@chakra-ui/react';
4
4
  import { action } from '@storybook/addon-actions';
5
- import { useState } from 'react';
5
+ import { menuMock } from '../../mocks';
6
6
  export default {
7
7
  title: 'Components/HomeAssistant',
8
8
  component: HomeMonitor,
@@ -11,15 +11,8 @@ export default {
11
11
  ],
12
12
  };
13
13
  export const HomeMonitorComponent = () => {
14
- const [alertId, setAlertId] = useState('smoke-detector-battery');
15
14
  const handleAlertClick = (step) => {
16
- setAlertId(stepAlerts[step]);
17
15
  action('onStepClick')(step);
18
16
  };
19
- return (_jsx(HomeMonitor, { children: _jsxs(Stack, { spacing: "base", children: [_jsxs(Flex, { gap: "base", children: [_jsx(MonitorAlerts, { alertId: alertId }), _jsx(Notifications, { date: "10-10-24", local: "TX - Houston" })] }), _jsx(HomeMonitorSteps, { stepsWithAlerts: [2, 3, 5], onStepClick: handleAlertClick })] }) }));
20
- };
21
- const stepAlerts = {
22
- 2: 'smoke-detector-expired',
23
- 3: 'change-air-filter',
24
- 5: 'smoke-detector-battery',
17
+ return (_jsx(HomeMonitor, { children: _jsxs(Stack, { spacing: "base", children: [_jsxs(Flex, { gap: "base", children: [_jsx(HomefileMonitoring, {}), _jsx(Notifications, { date: "10-10-24", local: "TX - Houston" })] }), _jsx(HomeMonitorSteps, { menuItems: menuMock, stepsWithAlerts: [], onStepClick: handleAlertClick })] }) }));
25
18
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@homefile/components-v2",
3
- "version": "1.6.0",
3
+ "version": "1.6.1",
4
4
  "author": "Homefile",
5
5
  "license": "UNLICENSED",
6
6
  "typings": "dist/index.d.ts",
@@ -400,6 +400,7 @@
400
400
  },
401
401
  "details": "Provide details about your home’s",
402
402
  "homeMonitor": "Home Monitor",
403
+ "homeMonitoring": "Homefile is monitoring your home.",
403
404
  "monitorAlerts": {
404
405
  "collapse": "Collapse Alert",
405
406
  "homeAction": "Home Action",
@@ -1,49 +1,77 @@
1
1
  import { Box, Center, Image, Stack, Text } from '@chakra-ui/react'
2
2
  import { HomeMonitorButtonI } from '@/interfaces'
3
3
  import { getIconAltText } from '@/utils'
4
+ import { IconMenu, MoreHorizontal } from '@/components'
4
5
 
5
6
  export const HomeMonitorButton = ({
6
7
  currentStep,
8
+ menuItems,
7
9
  onStepClick,
8
- status,
10
+ status = 'ok',
9
11
  step,
10
12
  }: HomeMonitorButtonI) => {
11
13
  const iconAltText = getIconAltText(step.icon)
12
14
  const handleClick = () => {
13
- console.log({ status })
14
15
  if (status !== 'ok') onStepClick(currentStep)
15
16
  }
16
17
 
18
+ const isDisabled = Number(menuItems.length) === 0
19
+
17
20
  return (
18
- <Box>
19
- <Stack
20
- as="button"
21
- spacing="2"
21
+ <Box position="relative">
22
+ <Box
23
+ position="relative"
24
+ bg="neutral.white"
22
25
  borderRadius="lg"
23
26
  boxShadow="lg"
24
- border="1px solid transparent"
25
- w="90px"
26
- align="center"
27
- h="96px"
28
- py="base"
29
- bg="neutral.white"
30
- {...setStyles(status)}
31
- onClick={handleClick}
27
+ zIndex="2"
32
28
  >
33
- <Center h="60%">
34
- <Image src={step.icon} alt={iconAltText} w="auto" h="28px" />
35
- </Center>
36
- <Center h="40%">
37
- <Text
38
- fontSize="xs"
39
- textTransform="uppercase"
40
- textAlign="center"
41
- lineHeight="14px"
42
- >
43
- {step.title}
44
- </Text>
45
- </Center>
46
- </Stack>
29
+ <Box
30
+ bg={status === 'alert' ? 'error.2' : 'green.1'}
31
+ boxSize="10px"
32
+ borderRadius="full"
33
+ position="absolute"
34
+ top="6px"
35
+ left="6px"
36
+ zIndex="8"
37
+ />
38
+
39
+ <Stack
40
+ position="relative"
41
+ zIndex="2"
42
+ as="button"
43
+ spacing="2"
44
+ border="1px solid transparent"
45
+ w="90px"
46
+ align="center"
47
+ h="96px"
48
+ py="base"
49
+ {...setStyles(status)}
50
+ onClick={handleClick}
51
+ >
52
+ <Center h="60%" marginTop="2">
53
+ <Image src={step.icon} alt={iconAltText} w="auto" h="28px" />
54
+ </Center>
55
+ <Center h="40%">
56
+ <Text
57
+ fontSize="xs"
58
+ textTransform="uppercase"
59
+ textAlign="center"
60
+ lineHeight="14px"
61
+ >
62
+ {step.title}
63
+ </Text>
64
+ </Center>
65
+ </Stack>
66
+ </Box>
67
+ <Box position="absolute" top="-2px" right="4px" zIndex="4">
68
+ <IconMenu
69
+ icon={<MoreHorizontal size={26} />}
70
+ itemForm={currentStep}
71
+ menuItems={menuItems}
72
+ disabled={isDisabled}
73
+ />
74
+ </Box>
47
75
  </Box>
48
76
  )
49
77
  }
@@ -62,7 +90,6 @@ const setStyles = (status: HomeMonitorButtonI['status']) => {
62
90
  }
63
91
  case 'ok':
64
92
  return {
65
- cursor: 'not-allowed',
66
93
  filter: 'grayscale(1) opacity(0.6)',
67
94
  }
68
95
  }
@@ -4,6 +4,7 @@ import { HomeMonitorButton } from '@/components'
4
4
  import { homeAssistantSteps } from '@/helpers'
5
5
 
6
6
  export const HomeMonitorSteps = ({
7
+ menuItems,
7
8
  onStepClick,
8
9
  stepsWithAlerts,
9
10
  }: HomeMonitortStepsI) => {
@@ -13,6 +14,7 @@ export const HomeMonitorSteps = ({
13
14
  <Box key={step.title} flex="auto">
14
15
  <HomeMonitorButton
15
16
  currentStep={index + 1}
17
+ menuItems={menuItems}
16
18
  onStepClick={onStepClick}
17
19
  status={getStatus(index + 1, stepsWithAlerts)}
18
20
  step={step}
@@ -0,0 +1,16 @@
1
+ import { t } from 'i18next'
2
+ import { Box, Flex, Text } from '@chakra-ui/react'
3
+ import { HomieAnimation } from '@/components'
4
+
5
+ export const HomefileMonitoring = () => {
6
+ return (
7
+ <Box p="base" borderRadius="lg" bg="#C5E9F4" h="66px" zIndex="2" flex="1">
8
+ <Flex align="center">
9
+ <Box boxSize="47px">
10
+ <HomieAnimation />
11
+ </Box>
12
+ <Text>{t('homeAssistant.homeMonitoring')}</Text>
13
+ </Flex>
14
+ </Box>
15
+ )
16
+ }
@@ -10,7 +10,7 @@ export const Notifications = ({ date = '', local = '' }) => {
10
10
  </Flex>
11
11
  <Center
12
12
  w="188px"
13
- h="full"
13
+ h="243px"
14
14
  border="1px dashed"
15
15
  borderColor="blue.1"
16
16
  borderRadius="sm"
@@ -3,5 +3,6 @@ export * from './AlertHeader'
3
3
  export * from './AlertTemplate'
4
4
  export * from './AlertTitle'
5
5
  export * from './BaseAlertCard'
6
+ export * from './HomefileMonitoring'
6
7
  export * from './MonitorAlerts'
7
8
  export * from './Notifications'
package/src/index.ts CHANGED
@@ -71,6 +71,7 @@ export {
71
71
  HomeBoardTour,
72
72
  HomeCard,
73
73
  HomeCardWithRecipent,
74
+ HomefileMonitoring,
74
75
  HomeHeader,
75
76
  HomeMonitor,
76
77
  HomeMonitorSteps,
@@ -1,12 +1,14 @@
1
- import { HomeAssistantStepI } from '@/interfaces'
1
+ import { HomeAssistantStepI, MenuItemI } from '@/interfaces'
2
2
 
3
3
  export interface HomeMonitortStepsI {
4
+ menuItems: MenuItemI[]
4
5
  stepsWithAlerts: number[]
5
6
  onStepClick: (step: number) => void
6
7
  }
7
8
 
8
9
  export interface HomeMonitorButtonI {
9
10
  currentStep: number
11
+ menuItems: HomeMonitortStepsI['menuItems']
10
12
  onStepClick: HomeMonitortStepsI['onStepClick']
11
13
  status: 'alert' | 'ok'
12
14
  step: HomeAssistantStepI
@@ -1,14 +1,13 @@
1
1
  import { Meta } from '@storybook/react'
2
2
  import {
3
+ HomefileMonitoring,
3
4
  HomeMonitor,
4
5
  HomeMonitorSteps,
5
- MonitorAlerts,
6
6
  Notifications,
7
7
  } from '@/components'
8
8
  import { Box, Flex, Stack } from '@chakra-ui/react'
9
9
  import { action } from '@storybook/addon-actions'
10
- import { MonitorAlertsType } from '@/interfaces'
11
- import { useState } from 'react'
10
+ import { menuMock } from '@/mocks'
12
11
 
13
12
  export default {
14
13
  title: 'Components/HomeAssistant',
@@ -23,32 +22,22 @@ export default {
23
22
  } as Meta
24
23
 
25
24
  export const HomeMonitorComponent = () => {
26
- const [alertId, setAlertId] = useState<MonitorAlertsType>(
27
- 'smoke-detector-battery'
28
- )
29
-
30
25
  const handleAlertClick = (step: number) => {
31
- setAlertId(stepAlerts[step])
32
26
  action('onStepClick')(step)
33
27
  }
34
28
  return (
35
29
  <HomeMonitor>
36
30
  <Stack spacing="base">
37
31
  <Flex gap="base">
38
- <MonitorAlerts alertId={alertId} />
32
+ <HomefileMonitoring />
39
33
  <Notifications date="10-10-24" local="TX - Houston" />
40
34
  </Flex>
41
35
  <HomeMonitorSteps
42
- stepsWithAlerts={[2, 3, 5]}
36
+ menuItems={menuMock}
37
+ stepsWithAlerts={[]}
43
38
  onStepClick={handleAlertClick}
44
39
  />
45
40
  </Stack>
46
41
  </HomeMonitor>
47
42
  )
48
43
  }
49
-
50
- const stepAlerts: Record<number, MonitorAlertsType> = {
51
- 2: 'smoke-detector-expired',
52
- 3: 'change-air-filter',
53
- 5: 'smoke-detector-battery',
54
- }