@homefile/components-v2 1.6.0 → 2.0.0
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/animations/CloudsAnimation.d.ts +5 -5
- package/dist/components/animations/CloudsAnimation.js +2 -1
- package/dist/components/animations/HomieAnimation.js +1 -1
- 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/components/homeBoard/ConfirmHomeAddress.js +2 -1
- package/dist/components/icons/DisplayGrid.js +1 -1
- package/dist/components/icons/DisplayItem.js +1 -1
- package/dist/components/icons/DisplayList.js +1 -1
- package/dist/components/icons/Upload.js +1 -1
- package/dist/components/inputs/SelectInputWithBadge.js +3 -3
- package/dist/components/myHomes/steps/MyHomeDetails.js +2 -1
- package/dist/components/myHomes/steps/SearchRecords.js +2 -1
- package/dist/components/overlay/Overlay.js +2 -1
- package/dist/components/partner/adminTiles/satisfactionTile/SatisfactionProgress.js +2 -1
- package/dist/hooks/homeBoard/useConfirmHomeAddress.d.ts +3 -18
- package/dist/hooks/myHomes/useAddHomeContent.d.ts +3 -18
- package/dist/hooks/myProfile/useTwoFactorSetting.d.ts +3 -18
- package/dist/hooks/partner/preview/usePartnerTilePreview.d.ts +2 -2
- 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/interfaces/icons/CustomIcon.interface.d.ts +2 -3
- package/dist/stories/homeAssistant/HomeMonitor.stories.js +3 -10
- package/dist/stories/tour/Bubble.stories.d.ts +1 -1
- package/dist/stories/tour/HomeBoardTour.stories.d.ts +1 -1
- package/dist/stories/tour/LaunchpadTour.stories.d.ts +1 -1
- package/package.json +44 -43
- package/src/assets/locales/en/index.json +1 -0
- package/src/components/animations/CloudsAnimation.tsx +2 -1
- package/src/components/animations/HomieAnimation.tsx +1 -1
- 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/components/homeBoard/ConfirmHomeAddress.tsx +1 -1
- package/src/components/icons/DisplayGrid.tsx +1 -1
- package/src/components/icons/DisplayItem.tsx +1 -1
- package/src/components/icons/DisplayList.tsx +1 -1
- package/src/components/icons/Upload.tsx +1 -1
- package/src/components/inputs/SelectInputWithBadge.tsx +6 -4
- package/src/components/myHomes/steps/MyHomeDetails.tsx +1 -1
- package/src/components/myHomes/steps/SearchRecords.tsx +1 -1
- package/src/components/overlay/Overlay.tsx +2 -1
- package/src/components/partner/adminTiles/satisfactionTile/SatisfactionProgress.tsx +2 -1
- package/src/index.ts +1 -0
- package/src/interfaces/homeAssistant/HomeMonitorSteps.interface.ts +3 -1
- package/src/interfaces/icons/CustomIcon.interface.ts +2 -3
- package/src/stories/homeAssistant/HomeMonitor.stories.tsx +5 -16
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { PropsWithChildren } from 'react';
|
|
2
|
-
export declare const moveLeftToRightAirplane: import("@emotion/
|
|
3
|
-
export declare const moveRightToLeft: import("@emotion/
|
|
4
|
-
export declare const moveRightToLeftWithFade: import("@emotion/
|
|
5
|
-
export declare const moveRightToLeftWithFade2: import("@emotion/
|
|
6
|
-
export declare const moveRightToLeftWithFade3: import("@emotion/
|
|
2
|
+
export declare const moveLeftToRightAirplane: import("@emotion/react").Keyframes;
|
|
3
|
+
export declare const moveRightToLeft: import("@emotion/react").Keyframes;
|
|
4
|
+
export declare const moveRightToLeftWithFade: import("@emotion/react").Keyframes;
|
|
5
|
+
export declare const moveRightToLeftWithFade2: import("@emotion/react").Keyframes;
|
|
6
|
+
export declare const moveRightToLeftWithFade3: import("@emotion/react").Keyframes;
|
|
7
7
|
export declare const CloudsAnimation: ({ children }: PropsWithChildren<{}>) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -2,7 +2,8 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
2
2
|
import { Airplane, Cloud1, Cloud2, Cloud3, TreesCrop, TreesCrop2, } from '../../assets/images';
|
|
3
3
|
import { useWindowDimensions } from '../../hooks';
|
|
4
4
|
import { colors } from '../../theme/colors';
|
|
5
|
-
import { Box,
|
|
5
|
+
import { Box, Image } from '@chakra-ui/react';
|
|
6
|
+
import { keyframes } from '@emotion/react';
|
|
6
7
|
import { Fragment } from 'react';
|
|
7
8
|
export const moveLeftToRightAirplane = keyframes `
|
|
8
9
|
0% {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { useRive } from '@rive-app/react-canvas';
|
|
3
|
-
const url =
|
|
3
|
+
const url = import.meta.env.VITE_RIVE_ASSETS;
|
|
4
4
|
export const HomieAnimation = () => {
|
|
5
5
|
const { RiveComponent } = useRive({
|
|
6
6
|
src: `${url}/homie-v2.riv`,
|
|
@@ -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 }));
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
2
|
import { useSnapshot } from 'valtio';
|
|
3
3
|
import { t } from 'i18next';
|
|
4
|
-
import { Box, Container, Stack, Center, Flex, Button, Text,
|
|
4
|
+
import { Box, Container, Stack, Center, Flex, Button, Text, } from '@chakra-ui/react';
|
|
5
|
+
import { keyframes } from '@emotion/react';
|
|
5
6
|
import { AddressStored, SectionHeader, RadioButton, IncludePublicRecords, WrapperWithShadow, } from '..';
|
|
6
7
|
import { HomeAddress, MagnifyingGlassReport } from '../../assets/images';
|
|
7
8
|
import { confirmAddressProxy } from '../../proxies';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { colors } from '../../theme/colors';
|
|
3
|
-
import { Icon } from '@chakra-ui/
|
|
3
|
+
import { Icon } from '@chakra-ui/icons';
|
|
4
4
|
export const DisplayGrid = ({ stroke = colors.blue[3], }) => {
|
|
5
5
|
return (_jsx(Icon, { children: _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 19.5 19.5", children: _jsxs("g", { fill: "none", stroke: stroke, strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "1.5", "data-name": "Group 14495", children: [_jsx("path", { d: "M.75.75h7.321v7.321H.75Z", "data-name": "Path 10064" }), _jsx("path", { d: "M11.429.75h7.321v7.321h-7.321Z", "data-name": "Path 10065" }), _jsx("path", { d: "M11.429 11.428h7.321v7.321h-7.321Z", "data-name": "Path 10066" }), _jsx("path", { d: "M.75 11.428h7.321v7.321H.75Z", "data-name": "Path 10067" })] }) }) }));
|
|
6
6
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { Icon } from '@chakra-ui/
|
|
2
|
+
import { Icon } from '@chakra-ui/icons';
|
|
3
3
|
import { colors } from '../../theme/colors';
|
|
4
4
|
export const DisplayItem = ({ stroke = colors.blue[3], }) => {
|
|
5
5
|
return (_jsx(Icon, { viewBox: "0 0 200 200", color: "red.500", children: _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 19.79 17.374", children: _jsxs("g", { stroke: stroke, "data-name": "Group 14548", children: [_jsx("path", { fill: "none", strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "1.5", d: "M.75.75h18.29v11.438H.75Z", "data-name": "Path 10082" }), _jsxs("g", { fill: stroke, "data-name": "Rectangle 16845", children: [_jsx("path", { stroke: "none", d: "M.833 14.374h3v3h-3z" }), _jsx("path", { fill: "none", d: "M1.333 14.874h2v2h-2z" })] }), _jsxs("g", { fill: stroke, "data-name": "Rectangle 16846", children: [_jsx("path", { stroke: "none", d: "M5.833 14.374h3v3h-3z" }), _jsx("path", { fill: "none", d: "M6.333 14.874h2v2h-2z" })] }), _jsxs("g", { fill: stroke, "data-name": "Rectangle 16847", children: [_jsx("path", { stroke: "none", d: "M10.833 14.374h3v3h-3z" }), _jsx("path", { fill: "none", d: "M11.333 14.874h2v2h-2z" })] }), _jsxs("g", { fill: stroke, "data-name": "Rectangle 16848", children: [_jsx("path", { stroke: "none", d: "M15.833 14.374h3v3h-3z" }), _jsx("path", { fill: "none", d: "M16.333 14.874h2v2h-2z" })] })] }) }) }));
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { Icon } from '@chakra-ui/
|
|
2
|
+
import { Icon } from '@chakra-ui/icons';
|
|
3
3
|
import { colors } from '../../theme/colors';
|
|
4
4
|
export const DisplayList = ({ stroke = colors.blue[3], }) => {
|
|
5
5
|
return (_jsx(Icon, { viewBox: "0 0 200 200", color: "red.500", children: _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 18 14", children: _jsxs("g", { fill: stroke, "data-name": "Group 14455", children: [_jsx("path", { d: "M5 0h13v2H5z", "data-name": "Rectangle 14122" }), _jsx("path", { d: "M5 6h13v2H5z", "data-name": "Rectangle 14123" }), _jsx("path", { d: "M5 12h13v2H5z", "data-name": "Rectangle 14124" }), _jsx("path", { d: "M0 0h3v2H0z", "data-name": "Rectangle 14122" }), _jsx("path", { d: "M0 6h3v2H0z", "data-name": "Rectangle 14123" }), _jsx("path", { d: "M0 12h3v2H0z", "data-name": "Rectangle 14124" })] }) }) }));
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { Icon } from '@chakra-ui/
|
|
2
|
+
import { Icon } from '@chakra-ui/icons';
|
|
3
3
|
import { colors } from '../../theme/colors';
|
|
4
4
|
export const Upload = ({ stroke = colors.blue[6], }) => {
|
|
5
5
|
return (_jsx(Icon, { viewBox: "0 0 200 200", color: "red.500", children: _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 19.878 19.878", children: _jsxs("g", { fill: "none", stroke: stroke, strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "2", "data-name": "Icon feather-upload", children: [_jsx("path", { d: "M18.878 12.919v3.973a1.986 1.986 0 0 1-1.986 1.986H2.986A1.986 1.986 0 0 1 1 16.892v-3.973", "data-name": "Path 10078" }), _jsx("path", { d: "M14.905 5.966 9.939 1 4.973 5.966", "data-name": "Path 10079" }), _jsx("path", { d: "M9.939 1v11.919", "data-name": "Path 10080" })] }) }) }));
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { useRef, useState } from 'react';
|
|
3
|
-
import { Box, Flex, Menu, MenuButton, MenuItem, MenuList,
|
|
3
|
+
import { Box, Flex, Menu, MenuButton, MenuItem, MenuList, useSize, } from '@chakra-ui/react';
|
|
4
4
|
import { ChevronDown, SelectTextDisplay } from '..';
|
|
5
5
|
export const SelectInputWithBadge = ({ handleClick, height = 'md', initialValue, isDisabled, items, width = '10rem', displaySelectedValue = false, }) => {
|
|
6
6
|
const [selectedValue, setSelectedValue] = useState(initialValue !== null && initialValue !== void 0 ? initialValue : 'All');
|
|
7
7
|
const isLargeWidth = width < '100px';
|
|
8
8
|
const elementRef = useRef(null);
|
|
9
|
-
const dimensions =
|
|
9
|
+
const dimensions = useSize(elementRef);
|
|
10
10
|
return (_jsx(Menu, { children: _jsxs(Box, { w: width, ref: elementRef, children: [_jsx(MenuButton, { w: "full", disabled: isDisabled, bg: "neutral.white", h: `input.${height}`, px: "2", border: "1px", borderRadius: "sm", borderColor: "lightBlue.6", _hover: { borderColor: 'blue.1' }, _focus: { borderColor: 'blue.3' }, _disabled: {
|
|
11
11
|
bg: 'container.transparent',
|
|
12
12
|
color: 'gray.1',
|
|
13
13
|
pointerEvents: 'none',
|
|
14
14
|
svg: { fill: 'gray.1' },
|
|
15
|
-
}, children: _jsxs(Flex, { align: "center", gap: "2", justify: "space-between", children: [_jsx(SelectTextDisplay, { value: selectedValue, displaySelectedValue: displaySelectedValue }), _jsx(ChevronDown, {})] }) }), _jsx(MenuList, { zIndex: "dropdown", minH: "fit-content", maxH: "30rem", overflow: "scroll", w: isLargeWidth ? dimensions === null || dimensions === void 0 ? void 0 : dimensions.
|
|
15
|
+
}, children: _jsxs(Flex, { align: "center", gap: "2", justify: "space-between", children: [_jsx(SelectTextDisplay, { value: selectedValue, displaySelectedValue: displaySelectedValue }), _jsx(ChevronDown, {})] }) }), _jsx(MenuList, { zIndex: "dropdown", minH: "fit-content", maxH: "30rem", overflow: "scroll", w: isLargeWidth ? dimensions === null || dimensions === void 0 ? void 0 : dimensions.width : 'fit-content', children: items === null || items === void 0 ? void 0 : items.map((item) => {
|
|
16
16
|
const isSelectItem = typeof item === 'object';
|
|
17
17
|
const id = isSelectItem ? item._id : item;
|
|
18
18
|
const name = isSelectItem ? item.name : item;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
2
|
import { useSnapshot } from 'valtio';
|
|
3
3
|
import { t } from 'i18next';
|
|
4
|
-
import { Box, Container, Stack, Center, Flex, Button, Text,
|
|
4
|
+
import { Box, Container, Stack, Center, Flex, Button, Text, } from '@chakra-ui/react';
|
|
5
|
+
import { keyframes } from '@emotion/react';
|
|
5
6
|
import { AddressStored, FirstHomeHeader, SectionHeader, TextInput, RadioButton, IncludePublicRecords, WrapperWithShadow, } from '../..';
|
|
6
7
|
import { HomeAddress, RelationshipHome, MagnifyingGlassReport, } from '../../../assets/images';
|
|
7
8
|
import { firstHomeProxy } from '../../../proxies';
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { t } from 'i18next';
|
|
3
|
-
import { Box, Center, CircularProgress, Flex, Image,
|
|
3
|
+
import { Box, Center, CircularProgress, Flex, Image, Stack, } from '@chakra-ui/react';
|
|
4
|
+
import { keyframes } from '@emotion/react';
|
|
4
5
|
import { useSnapshot } from 'valtio';
|
|
5
6
|
import { AnimatedText, MyHomesStepBody, MyHomesStepWrapper } from '../..';
|
|
6
7
|
import { addressProxy } from '../../../proxies';
|
|
@@ -10,7 +10,8 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
10
10
|
return t;
|
|
11
11
|
};
|
|
12
12
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
13
|
-
import { Box
|
|
13
|
+
import { Box } from '@chakra-ui/react';
|
|
14
|
+
import { keyframes } from '@emotion/react';
|
|
14
15
|
export const Overlay = (_a) => {
|
|
15
16
|
var { bg = '#fdfdfdca', showOverlay = true, onClick } = _a, props = __rest(_a, ["bg", "showOverlay", "onClick"]);
|
|
16
17
|
if (!showOverlay)
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { t } from 'i18next';
|
|
3
|
-
import { Box, Flex,
|
|
3
|
+
import { Box, Flex, Stack, Text } from '@chakra-ui/react';
|
|
4
|
+
import { keyframes } from '@emotion/react';
|
|
4
5
|
import { Mark, SatisfactionBar } from '../../..';
|
|
5
6
|
export const SatisfactionProgress = ({ satisfactionPercentage, }) => {
|
|
6
7
|
const sentiments = ['great', 'good', 'ok', 'poor'];
|
|
@@ -4,22 +4,7 @@ export declare const useConfirmHomeAddress: (values: ConfirmAddressFormI | undef
|
|
|
4
4
|
handleSelectRecords: (event: ChangeEvent<HTMLInputElement>) => void;
|
|
5
5
|
handleSubmit: () => void;
|
|
6
6
|
isOwner: boolean;
|
|
7
|
-
group: import("
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
tabIndex?: number;
|
|
11
|
-
style?: React.CSSProperties;
|
|
12
|
-
} & import("react").RefAttributes<any>;
|
|
13
|
-
ownRadio: import("@chakra-ui/react-types").InputDOMProps & import("react").AriaAttributes & import("react").DOMAttributes<HTMLInputElement> & import("@chakra-ui/react-types").DataAttributes & {
|
|
14
|
-
id?: string;
|
|
15
|
-
role?: React.AriaRole;
|
|
16
|
-
tabIndex?: number;
|
|
17
|
-
style?: React.CSSProperties;
|
|
18
|
-
} & import("react").RefAttributes<any>;
|
|
19
|
-
rentRadio: import("@chakra-ui/react-types").InputDOMProps & import("react").AriaAttributes & import("react").DOMAttributes<HTMLInputElement> & import("@chakra-ui/react-types").DataAttributes & {
|
|
20
|
-
id?: string;
|
|
21
|
-
role?: React.AriaRole;
|
|
22
|
-
tabIndex?: number;
|
|
23
|
-
style?: React.CSSProperties;
|
|
24
|
-
} & import("react").RefAttributes<any>;
|
|
7
|
+
group: import("@chakra-ui/utils").DOMAttributes<import("@chakra-ui/utils").DOMElement> & import("react").RefAttributes<any>;
|
|
8
|
+
ownRadio: import("@chakra-ui/utils").InputDOMAttributes & import("react").RefAttributes<any>;
|
|
9
|
+
rentRadio: import("@chakra-ui/utils").InputDOMAttributes & import("react").RefAttributes<any>;
|
|
25
10
|
};
|
|
@@ -8,22 +8,7 @@ export declare const useAddHouseContent: (values: HomeFormI | undefined, callbac
|
|
|
8
8
|
handleSelectRecords: (event: ChangeEvent<HTMLInputElement>) => void;
|
|
9
9
|
handleSubmit: () => void;
|
|
10
10
|
isOwner: boolean;
|
|
11
|
-
group: import("
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
tabIndex?: number;
|
|
15
|
-
style?: React.CSSProperties;
|
|
16
|
-
} & import("react").RefAttributes<any>;
|
|
17
|
-
ownRadio: import("@chakra-ui/react-types").InputDOMProps & import("react").AriaAttributes & import("react").DOMAttributes<HTMLInputElement> & import("@chakra-ui/react-types").DataAttributes & {
|
|
18
|
-
id?: string;
|
|
19
|
-
role?: React.AriaRole;
|
|
20
|
-
tabIndex?: number;
|
|
21
|
-
style?: React.CSSProperties;
|
|
22
|
-
} & import("react").RefAttributes<any>;
|
|
23
|
-
rentRadio: import("@chakra-ui/react-types").InputDOMProps & import("react").AriaAttributes & import("react").DOMAttributes<HTMLInputElement> & import("@chakra-ui/react-types").DataAttributes & {
|
|
24
|
-
id?: string;
|
|
25
|
-
role?: React.AriaRole;
|
|
26
|
-
tabIndex?: number;
|
|
27
|
-
style?: React.CSSProperties;
|
|
28
|
-
} & import("react").RefAttributes<any>;
|
|
11
|
+
group: import("@chakra-ui/utils").DOMAttributes<import("@chakra-ui/utils").DOMElement> & import("react").RefAttributes<any>;
|
|
12
|
+
ownRadio: import("@chakra-ui/utils").InputDOMAttributes & import("react").RefAttributes<any>;
|
|
13
|
+
rentRadio: import("@chakra-ui/utils").InputDOMAttributes & import("react").RefAttributes<any>;
|
|
29
14
|
};
|
|
@@ -6,18 +6,8 @@ export declare const useTwoFactorSetting: ({ defaultValue, email, onChange, sms,
|
|
|
6
6
|
sms: string | undefined;
|
|
7
7
|
'2fa': boolean;
|
|
8
8
|
}, any>;
|
|
9
|
-
emailRadio: import("@chakra-ui/
|
|
10
|
-
|
|
11
|
-
role?: React.AriaRole;
|
|
12
|
-
tabIndex?: number;
|
|
13
|
-
style?: React.CSSProperties;
|
|
14
|
-
} & import("react").RefAttributes<any>;
|
|
15
|
-
group: import("react").AriaAttributes & import("react").DOMAttributes<import("@chakra-ui/react-types").DOMElement> & import("@chakra-ui/react-types").DataAttributes & {
|
|
16
|
-
id?: string;
|
|
17
|
-
role?: React.AriaRole;
|
|
18
|
-
tabIndex?: number;
|
|
19
|
-
style?: React.CSSProperties;
|
|
20
|
-
} & import("react").RefAttributes<any>;
|
|
9
|
+
emailRadio: import("@chakra-ui/utils").InputDOMAttributes & import("react").RefAttributes<any>;
|
|
10
|
+
group: import("@chakra-ui/utils").DOMAttributes<import("@chakra-ui/utils").DOMElement> & import("react").RefAttributes<any>;
|
|
21
11
|
handleEmailValidation: (value?: string) => boolean;
|
|
22
12
|
handlePhoneValidation: (value?: string) => boolean;
|
|
23
13
|
handleSubmit: import("react-hook-form").UseFormHandleSubmit<{
|
|
@@ -28,10 +18,5 @@ export declare const useTwoFactorSetting: ({ defaultValue, email, onChange, sms,
|
|
|
28
18
|
is2faEnabled: boolean;
|
|
29
19
|
radioValue: string | number;
|
|
30
20
|
showButtons: boolean;
|
|
31
|
-
smsRadio: import("@chakra-ui/
|
|
32
|
-
id?: string;
|
|
33
|
-
role?: React.AriaRole;
|
|
34
|
-
tabIndex?: number;
|
|
35
|
-
style?: React.CSSProperties;
|
|
36
|
-
} & import("react").RefAttributes<any>;
|
|
21
|
+
smsRadio: import("@chakra-ui/utils").InputDOMAttributes & import("react").RefAttributes<any>;
|
|
37
22
|
};
|
|
@@ -6,9 +6,9 @@ export declare const usePartnerTilePreview: () => {
|
|
|
6
6
|
};
|
|
7
7
|
company: {
|
|
8
8
|
readonly address: {
|
|
9
|
-
readonly apartmentNumber?: string;
|
|
9
|
+
readonly apartmentNumber?: string | undefined;
|
|
10
10
|
readonly city: string;
|
|
11
|
-
readonly obs?: string;
|
|
11
|
+
readonly obs?: string | undefined;
|
|
12
12
|
readonly state: string;
|
|
13
13
|
readonly street: string;
|
|
14
14
|
readonly number: string;
|
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,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { CSSProperties } from 'react';
|
|
1
|
+
import { CSSProperties, ElementType } from 'react';
|
|
3
2
|
export interface IconsI {
|
|
4
3
|
color?: string;
|
|
5
4
|
size?: number | string;
|
|
6
5
|
style?: CSSProperties;
|
|
7
|
-
type
|
|
6
|
+
type?: ElementType;
|
|
8
7
|
}
|
|
@@ -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
|
};
|
|
@@ -5,7 +5,7 @@ export default _default;
|
|
|
5
5
|
export declare const BubbleComponent: {
|
|
6
6
|
(args: BubbleI): import("react/jsx-runtime").JSX.Element;
|
|
7
7
|
args: {
|
|
8
|
-
handleStep: import("@vitest/spy").Mock<any
|
|
8
|
+
handleStep: import("@vitest/spy").Mock<(...args: any[]) => any>;
|
|
9
9
|
steps: {
|
|
10
10
|
homeboard: {
|
|
11
11
|
topRef: number;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@homefile/components-v2",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.0",
|
|
4
4
|
"author": "Homefile",
|
|
5
5
|
"license": "UNLICENSED",
|
|
6
6
|
"typings": "dist/index.d.ts",
|
|
@@ -22,66 +22,67 @@
|
|
|
22
22
|
"src"
|
|
23
23
|
],
|
|
24
24
|
"devDependencies": {
|
|
25
|
-
"@chakra-ui/storybook-addon": "^5.
|
|
26
|
-
"@chromatic-com/storybook": "^
|
|
27
|
-
"@faker-js/faker": "^
|
|
28
|
-
"@storybook/addon-a11y": "^8.
|
|
29
|
-
"@storybook/addon-essentials": "^8.
|
|
30
|
-
"@storybook/addon-interactions": "^8.
|
|
31
|
-
"@storybook/addon-links": "^8.
|
|
32
|
-
"@storybook/addon-onboarding": "^8.
|
|
33
|
-
"@storybook/addon-viewport": "^8.
|
|
34
|
-
"@storybook/blocks": "^8.
|
|
35
|
-
"@storybook/builder-vite": "^8.
|
|
25
|
+
"@chakra-ui/storybook-addon": "^5.2.5",
|
|
26
|
+
"@chromatic-com/storybook": "^2.0.2",
|
|
27
|
+
"@faker-js/faker": "^9.0.3",
|
|
28
|
+
"@storybook/addon-a11y": "^8.3.5",
|
|
29
|
+
"@storybook/addon-essentials": "^8.3.5",
|
|
30
|
+
"@storybook/addon-interactions": "^8.3.5",
|
|
31
|
+
"@storybook/addon-links": "^8.3.5",
|
|
32
|
+
"@storybook/addon-onboarding": "^8.3.5",
|
|
33
|
+
"@storybook/addon-viewport": "^8.3.5",
|
|
34
|
+
"@storybook/blocks": "^8.3.5",
|
|
35
|
+
"@storybook/builder-vite": "^8.3.5",
|
|
36
36
|
"@storybook/jest": "^0.2.3",
|
|
37
|
-
"@storybook/react": "^8.
|
|
38
|
-
"@storybook/react-vite": "^8.
|
|
39
|
-
"@storybook/test": "^8.
|
|
40
|
-
"@types/node": "^
|
|
41
|
-
"@types/react": "^18.3.
|
|
42
|
-
"@types/react-dom": "^18.3.
|
|
43
|
-
"@vitejs/plugin-react": "^4.
|
|
44
|
-
"axe-playwright": "^2.0.
|
|
37
|
+
"@storybook/react": "^8.3.5",
|
|
38
|
+
"@storybook/react-vite": "^8.3.5",
|
|
39
|
+
"@storybook/test": "^8.3.5",
|
|
40
|
+
"@types/node": "^22.7.6",
|
|
41
|
+
"@types/react": "^18.3.11",
|
|
42
|
+
"@types/react-dom": "^18.3.1",
|
|
43
|
+
"@vitejs/plugin-react": "^4.3.2",
|
|
44
|
+
"axe-playwright": "^2.0.3",
|
|
45
45
|
"copyfiles": "^2.4.1",
|
|
46
46
|
"git-commit-msg-linter": "^5.0.4",
|
|
47
|
-
"husky": "^9.1.
|
|
47
|
+
"husky": "^9.1.6",
|
|
48
48
|
"jest": "^29.7.0",
|
|
49
49
|
"json-loader": "^0.5.7",
|
|
50
|
-
"rimraf": "^
|
|
51
|
-
"semantic-release": "^24.
|
|
52
|
-
"storybook": "^8.
|
|
53
|
-
"storybook-react-i18next": "^3.1.
|
|
50
|
+
"rimraf": "^6.0.1",
|
|
51
|
+
"semantic-release": "^24.1.2",
|
|
52
|
+
"storybook": "^8.3.5",
|
|
53
|
+
"storybook-react-i18next": "^3.1.7",
|
|
54
54
|
"tsconfig-replace-paths": "^0.0.14",
|
|
55
55
|
"tscpaths": "^0.0.9",
|
|
56
|
-
"typescript": "^5.
|
|
57
|
-
"vite": "^5.
|
|
56
|
+
"typescript": "^5.6.3",
|
|
57
|
+
"vite": "^5.4.9"
|
|
58
58
|
},
|
|
59
59
|
"dependencies": {
|
|
60
|
-
"@chakra-ui/
|
|
61
|
-
"@
|
|
62
|
-
"@emotion/
|
|
63
|
-
"@
|
|
64
|
-
"@fontsource/
|
|
60
|
+
"@chakra-ui/icons": "^2.2.4",
|
|
61
|
+
"@chakra-ui/react": "^2.10.3",
|
|
62
|
+
"@emotion/react": "^11.13.3",
|
|
63
|
+
"@emotion/styled": "^11.13.0",
|
|
64
|
+
"@fontsource/assistant": "^5.1.0",
|
|
65
|
+
"@fontsource/poppins": "^5.1.0",
|
|
65
66
|
"@hassanmojab/react-modern-calendar-datepicker": "^3.1.7",
|
|
66
67
|
"@hookform/resolvers": "^3.3.1",
|
|
67
68
|
"@rive-app/react-canvas": "^4.14.5",
|
|
68
|
-
"axios": "^1.7.
|
|
69
|
-
"date-fns": "^
|
|
70
|
-
"framer-motion": "^11.
|
|
71
|
-
"i18next": "^23.
|
|
69
|
+
"axios": "^1.7.7",
|
|
70
|
+
"date-fns": "^4.1.0",
|
|
71
|
+
"framer-motion": "^11.11.9",
|
|
72
|
+
"i18next": "^23.16.0",
|
|
72
73
|
"i18next-browser-languagedetector": "^8.0.0",
|
|
73
|
-
"i18next-http-backend": "^2.
|
|
74
|
+
"i18next-http-backend": "^2.6.2",
|
|
74
75
|
"react": "^18.2.0",
|
|
75
76
|
"react-dom": "^18.2.0",
|
|
76
|
-
"react-dropzone": "^14.2.
|
|
77
|
-
"react-hook-form": "^7.
|
|
78
|
-
"react-i18next": "^15.0.
|
|
79
|
-
"react-icons": "^5.
|
|
77
|
+
"react-dropzone": "^14.2.9",
|
|
78
|
+
"react-hook-form": "^7.53.0",
|
|
79
|
+
"react-i18next": "^15.0.3",
|
|
80
|
+
"react-icons": "^5.3.0",
|
|
80
81
|
"react-modern-calendar-datepicker": "^3.1.6",
|
|
81
82
|
"react-quill": "^2.0.0",
|
|
82
83
|
"react-spinners": "^0.14.1",
|
|
83
|
-
"recharts": "^2.
|
|
84
|
-
"valtio": "^1.
|
|
84
|
+
"recharts": "^2.13.0",
|
|
85
|
+
"valtio": "^2.1.0",
|
|
85
86
|
"yup": "^1.2.0"
|
|
86
87
|
},
|
|
87
88
|
"scripts": {
|
|
@@ -8,7 +8,8 @@ import {
|
|
|
8
8
|
} from '@/assets/images'
|
|
9
9
|
import { useWindowDimensions } from '@/hooks'
|
|
10
10
|
import { colors } from '@/theme/colors'
|
|
11
|
-
import { Box,
|
|
11
|
+
import { Box, Image } from '@chakra-ui/react'
|
|
12
|
+
import { keyframes } from '@emotion/react'
|
|
12
13
|
import { Fragment, PropsWithChildren } from 'react'
|
|
13
14
|
|
|
14
15
|
export const moveLeftToRightAirplane = keyframes`
|
|
@@ -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
|
+
}
|
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
MenuButton,
|
|
7
7
|
MenuItem,
|
|
8
8
|
MenuList,
|
|
9
|
-
|
|
9
|
+
useSize,
|
|
10
10
|
} from '@chakra-ui/react'
|
|
11
11
|
import { ChevronDown, SelectTextDisplay } from '@/components'
|
|
12
12
|
import { SelectI } from '@/interfaces'
|
|
@@ -20,10 +20,12 @@ export const SelectInputWithBadge = ({
|
|
|
20
20
|
width = '10rem',
|
|
21
21
|
displaySelectedValue = false,
|
|
22
22
|
}: SelectI) => {
|
|
23
|
-
const [selectedValue, setSelectedValue] = useState<string>(
|
|
23
|
+
const [selectedValue, setSelectedValue] = useState<string>(
|
|
24
|
+
initialValue ?? 'All'
|
|
25
|
+
)
|
|
24
26
|
const isLargeWidth = width < '100px'
|
|
25
27
|
const elementRef = useRef<HTMLDivElement>(null)
|
|
26
|
-
const dimensions =
|
|
28
|
+
const dimensions = useSize(elementRef)
|
|
27
29
|
|
|
28
30
|
return (
|
|
29
31
|
<Menu>
|
|
@@ -59,7 +61,7 @@ export const SelectInputWithBadge = ({
|
|
|
59
61
|
minH="fit-content"
|
|
60
62
|
maxH="30rem"
|
|
61
63
|
overflow="scroll"
|
|
62
|
-
w={isLargeWidth ? dimensions?.
|
|
64
|
+
w={isLargeWidth ? dimensions?.width : 'fit-content'}
|
|
63
65
|
>
|
|
64
66
|
{items?.map((item) => {
|
|
65
67
|
const isSelectItem = typeof item === 'object'
|
|
@@ -5,9 +5,9 @@ import {
|
|
|
5
5
|
CircularProgress,
|
|
6
6
|
Flex,
|
|
7
7
|
Image,
|
|
8
|
-
keyframes,
|
|
9
8
|
Stack,
|
|
10
9
|
} from '@chakra-ui/react'
|
|
10
|
+
import { keyframes } from '@emotion/react'
|
|
11
11
|
import { useSnapshot } from 'valtio'
|
|
12
12
|
import { AnimatedText, MyHomesStepBody, MyHomesStepWrapper } from '@/components'
|
|
13
13
|
import { addressProxy } from '@/proxies'
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { t } from 'i18next'
|
|
2
|
-
import { Box, Flex,
|
|
2
|
+
import { Box, Flex, Stack, Text } from '@chakra-ui/react'
|
|
3
|
+
import { keyframes } from '@emotion/react'
|
|
3
4
|
import { Mark, SatisfactionBar } from '@/components'
|
|
4
5
|
import { SatisfactionProgressI, SatisfactionTypes } from '@/interfaces'
|
|
5
6
|
|
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,9 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { CSSProperties } from 'react'
|
|
1
|
+
import { CSSProperties, ElementType } from 'react'
|
|
3
2
|
|
|
4
3
|
export interface IconsI {
|
|
5
4
|
color?: string
|
|
6
5
|
size?: number | string
|
|
7
6
|
style?: CSSProperties
|
|
8
|
-
type
|
|
7
|
+
type?: ElementType
|
|
9
8
|
}
|
|
@@ -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
|
-
}
|