@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.
- package/dist/assets/locales/en/index.json +1 -0
- package/dist/components/homeAssistant/HomeMonitorButton.d.ts +1 -1
- package/dist/components/homeAssistant/HomeMonitorButton.js +4 -4
- package/dist/components/homeAssistant/HomeMonitorSteps.d.ts +1 -1
- package/dist/components/homeAssistant/HomeMonitorSteps.js +2 -2
- package/dist/components/homeAssistant/monitorAlerts/HomefileMonitoring.d.ts +1 -0
- package/dist/components/homeAssistant/monitorAlerts/HomefileMonitoring.js +7 -0
- package/dist/components/homeAssistant/monitorAlerts/Notifications.js +1 -1
- package/dist/components/homeAssistant/monitorAlerts/index.d.ts +1 -0
- package/dist/components/homeAssistant/monitorAlerts/index.js +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/interfaces/homeAssistant/HomeMonitorSteps.interface.d.ts +3 -1
- package/dist/stories/homeAssistant/HomeMonitor.stories.js +3 -10
- package/package.json +1 -1
- package/src/assets/locales/en/index.json +1 -0
- package/src/components/homeAssistant/HomeMonitorButton.tsx +56 -29
- package/src/components/homeAssistant/HomeMonitorSteps.tsx +2 -0
- package/src/components/homeAssistant/monitorAlerts/HomefileMonitoring.tsx +16 -0
- package/src/components/homeAssistant/monitorAlerts/Notifications.tsx +1 -1
- package/src/components/homeAssistant/monitorAlerts/index.ts +1 -0
- package/src/index.ts +1 -0
- package/src/interfaces/homeAssistant/HomeMonitorSteps.interface.ts +3 -1
- package/src/stories/homeAssistant/HomeMonitor.stories.tsx +5 -16
|
@@ -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
|
-
|
|
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
|
-
|
|
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: "
|
|
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 }));
|
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,
|
|
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 {
|
|
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(
|
|
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,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
|
-
<
|
|
20
|
-
|
|
21
|
-
|
|
21
|
+
<Box position="relative">
|
|
22
|
+
<Box
|
|
23
|
+
position="relative"
|
|
24
|
+
bg="neutral.white"
|
|
22
25
|
borderRadius="lg"
|
|
23
26
|
boxShadow="lg"
|
|
24
|
-
|
|
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
|
-
<
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
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
|
+
}
|
package/src/index.ts
CHANGED
|
@@ -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 {
|
|
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
|
-
<
|
|
32
|
+
<HomefileMonitoring />
|
|
39
33
|
<Notifications date="10-10-24" local="TX - Houston" />
|
|
40
34
|
</Flex>
|
|
41
35
|
<HomeMonitorSteps
|
|
42
|
-
|
|
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
|
-
}
|