@homefile/components-v2 2.33.0 → 2.34.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/images/appliances/index.d.ts +3 -1
- package/dist/assets/images/appliances/index.js +3 -1
- package/dist/assets/images/appliances/index.ts +4 -0
- package/dist/assets/images/appliances/tank-water.svg +21 -0
- package/dist/assets/images/appliances/tankless-water.svg +21 -0
- package/dist/assets/images/home-assistant/battery-smoke-detector.svg +38 -0
- package/dist/assets/images/home-assistant/co2-detector.svg +15 -0
- package/dist/assets/images/home-assistant/fire-extinguisher.svg +34 -0
- package/dist/assets/images/home-assistant/furnace.svg +27 -0
- package/dist/assets/images/home-assistant/heat-pump.svg +30 -0
- package/dist/assets/images/home-assistant/in-wall.svg +26 -0
- package/dist/assets/images/home-assistant/index.d.ts +12 -0
- package/dist/assets/images/home-assistant/index.js +12 -0
- package/dist/assets/images/home-assistant/index.ts +25 -0
- package/dist/assets/images/home-assistant/landscape-lights.svg +23 -0
- package/dist/assets/images/home-assistant/other.svg +22 -0
- package/dist/assets/images/home-assistant/sprinkler-system.svg +11 -0
- package/dist/assets/images/home-assistant/sprinkler-system2.svg +23 -0
- package/dist/assets/images/home-assistant/wired-smoke-detector.svg +24 -0
- package/dist/assets/images/index.d.ts +3 -1
- package/dist/assets/images/index.js +3 -1
- package/dist/assets/images/index.ts +3 -0
- package/dist/assets/images/jacuzzi.svg +38 -0
- package/dist/components/forms/dynamicForm/fields/HomeInitialSetup.js +3 -3
- package/dist/components/propertyTiles/propertyRecords/RecordsRow.d.ts +3 -1
- package/dist/components/propertyTiles/propertyRecords/RecordsRow.js +2 -2
- package/dist/components/propertyTiles/propertyRecords/RecordsSession.d.ts +1 -1
- package/dist/components/propertyTiles/propertyRecords/RecordsSession.js +3 -3
- package/dist/components/wizard/WizardInitialOptions.js +2 -22
- package/dist/components/wizard/WizardStepOptions.d.ts +2 -0
- package/dist/components/wizard/WizardStepOptions.js +20 -0
- package/dist/components/wizard/index.d.ts +2 -0
- package/dist/components/wizard/index.js +2 -0
- package/dist/helpers/forms/dynamicForm.helper.js +87 -61
- package/dist/helpers/index.d.ts +1 -0
- package/dist/helpers/index.js +1 -0
- package/dist/helpers/propertyTiles/PropertyRecords.helper.d.ts +2 -1
- package/dist/helpers/propertyTiles/PropertyRecords.helper.js +29 -12
- package/dist/helpers/wizard/optionsStyles.d.ts +7 -0
- package/dist/helpers/wizard/optionsStyles.js +20 -0
- package/dist/interfaces/forms/dynamicForm/DynamicForm.interface.d.ts +1 -1
- package/dist/interfaces/propertyTiles/RecordsSession.interface.d.ts +3 -0
- package/dist/mocks/forms/dynamicForm.mock.js +280 -0
- package/dist/mocks/propertyTiles/details.d.ts +3 -1
- package/dist/mocks/propertyTiles/details.js +3 -1
- package/dist/stories/assets/Illustrations.stories.js +4 -3
- package/package.json +1 -1
- package/src/assets/images/appliances/index.ts +4 -0
- package/src/assets/images/appliances/tank-water.svg +21 -0
- package/src/assets/images/appliances/tankless-water.svg +21 -0
- package/src/assets/images/home-assistant/battery-smoke-detector.svg +38 -0
- package/src/assets/images/home-assistant/co2-detector.svg +15 -0
- package/src/assets/images/home-assistant/fire-extinguisher.svg +34 -0
- package/src/assets/images/home-assistant/furnace.svg +27 -0
- package/src/assets/images/home-assistant/heat-pump.svg +30 -0
- package/src/assets/images/home-assistant/in-wall.svg +26 -0
- package/src/assets/images/home-assistant/index.ts +25 -0
- package/src/assets/images/home-assistant/landscape-lights.svg +23 -0
- package/src/assets/images/home-assistant/other.svg +22 -0
- package/src/assets/images/home-assistant/sprinkler-system.svg +11 -0
- package/src/assets/images/home-assistant/sprinkler-system2.svg +23 -0
- package/src/assets/images/home-assistant/wired-smoke-detector.svg +24 -0
- package/src/assets/images/index.ts +3 -0
- package/src/assets/images/jacuzzi.svg +38 -0
- package/src/components/forms/dynamicForm/fields/HomeInitialSetup.tsx +13 -2
- package/src/components/propertyTiles/propertyRecords/RecordsRow.tsx +10 -2
- package/src/components/propertyTiles/propertyRecords/RecordsSession.tsx +7 -4
- package/src/components/wizard/WizardInitialOptions.tsx +2 -23
- package/src/components/wizard/WizardStepOptions.tsx +96 -0
- package/src/components/wizard/index.ts +2 -0
- package/src/helpers/forms/dynamicForm.helper.ts +115 -61
- package/src/helpers/index.ts +1 -0
- package/src/helpers/propertyTiles/PropertyRecords.helper.ts +30 -9
- package/src/helpers/wizard/optionsStyles.ts +20 -0
- package/src/interfaces/forms/dynamicForm/DynamicForm.interface.ts +29 -0
- package/src/interfaces/propertyTiles/RecordsSession.interface.ts +3 -0
- package/src/mocks/forms/dynamicForm.mock.ts +285 -0
- package/src/mocks/propertyTiles/details.ts +10 -1
- package/src/stories/assets/Illustrations.stories.tsx +33 -0
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="31.037" viewBox="0 0 32 31.037">
|
|
2
|
+
<defs>
|
|
3
|
+
<clipPath id="clip-path">
|
|
4
|
+
<rect id="Retângulo_27142" data-name="Retângulo 27142" width="26.493" height="10.495" transform="translate(0 0)" fill="#c5cecd"/>
|
|
5
|
+
</clipPath>
|
|
6
|
+
<clipPath id="clip-path-2">
|
|
7
|
+
<rect id="Retângulo_27141" data-name="Retângulo 27141" width="32" height="31.037" fill="none"/>
|
|
8
|
+
</clipPath>
|
|
9
|
+
</defs>
|
|
10
|
+
<g id="Grupo_24362" data-name="Grupo 24362" transform="translate(-596.729 -430)">
|
|
11
|
+
<g id="Grupo_23842" data-name="Grupo 23842" transform="translate(600 434.131)">
|
|
12
|
+
<g id="Grupo_23841" data-name="Grupo 23841" transform="translate(0 0.001)" clip-path="url(#clip-path)">
|
|
13
|
+
<path id="Caminho_18617" data-name="Caminho 18617" d="M25.212,5.132a1.283,1.283,0,0,1,0,2.566H17.633v2.8H15.361V7.7H9.123v2.8H6.843V7.7H1.285a1.283,1.283,0,1,1,0-2.566H13.712a1.283,1.283,0,0,0,0-2.566H6.021A1.283,1.283,0,1,1,6.021,0H23.076a1.283,1.283,0,1,1,0,2.566H20.923a1.283,1.283,0,1,0,0,2.566Z" transform="translate(0 0)" fill="#c5cecd"/>
|
|
14
|
+
</g>
|
|
15
|
+
</g>
|
|
16
|
+
<g id="Grupo_23840" data-name="Grupo 23840" transform="translate(596.729 430)">
|
|
17
|
+
<g id="Grupo_23838" data-name="Grupo 23838" clip-path="url(#clip-path-2)">
|
|
18
|
+
<path id="União_101" data-name="União 101" d="M20.684,3.014V0H31.118c.022.352.04.706.04,1.061a15.5,15.5,0,0,1-.126,1.953Zm-7.2,0V0h7.2V3.014Zm-13.354,0A15.545,15.545,0,0,1,0,1.061C0,.706.016.352.04,0H13.48V3.014Z" transform="translate(0.421 13.976)" fill="#76e7f6" stroke="rgba(0,0,0,0)" stroke-miterlimit="10" stroke-width="1"/>
|
|
19
|
+
<path id="União_100" data-name="União 100" d="M0,0H13.354V0h7.2V0H30.905A15.576,15.576,0,0,1,15.451,13.626,15.574,15.574,0,0,1,0,0ZM13.354,3.014h0Z" transform="translate(0.548 16.988)" fill="#00c0b7" stroke="rgba(0,0,0,0)" stroke-miterlimit="10" stroke-width="1"/>
|
|
20
|
+
<g id="Grupo_23940" data-name="Grupo 23940">
|
|
21
|
+
<path id="Caminho_18600" data-name="Caminho 18600" d="M54.972,94.129A1.592,1.592,0,0,1,53.38,92.54h.842a.75.75,0,0,0,1.5,0h.842a1.592,1.592,0,0,1-1.592,1.589" transform="translate(76.226 120.107) rotate(180)" fill="#fff"/>
|
|
22
|
+
<path id="Caminho_18601" data-name="Caminho 18601" d="M63.309,94.129A1.591,1.591,0,0,1,61.72,92.54h.842a.748.748,0,0,0,1.5,0H64.9a1.592,1.592,0,0,1-1.592,1.589" transform="translate(82.223 120.107) rotate(180)" fill="#fff"/>
|
|
23
|
+
<path id="Caminho_18602" data-name="Caminho 18602" d="M71.642,94.129A1.592,1.592,0,0,1,70.05,92.54h.842a.748.748,0,0,0,1.5,0h.842a1.591,1.591,0,0,1-1.589,1.589" transform="translate(88.216 120.107) rotate(180)" fill="#fff"/>
|
|
24
|
+
</g>
|
|
25
|
+
<path id="Caminho_18603" data-name="Caminho 18603" d="M15.082,73.042A1.594,1.594,0,0,1,13.49,71.45h.842a.75.75,0,1,0,1.5,0h.842a1.594,1.594,0,0,1-1.592,1.592" transform="translate(26.138 92.1) rotate(180)" fill="#fff"/>
|
|
26
|
+
<path id="Caminho_18604" data-name="Caminho 18604" d="M23.419,73.042A1.592,1.592,0,0,1,21.83,71.45h.842a.748.748,0,1,0,1.5,0h.842a1.594,1.594,0,0,1-1.592,1.592" transform="translate(32.137 92.1) rotate(180)" fill="#fff"/>
|
|
27
|
+
<path id="Caminho_18605" data-name="Caminho 18605" d="M31.752,73.042A1.594,1.594,0,0,1,30.16,71.45H31a.748.748,0,1,0,1.5,0h.842a1.592,1.592,0,0,1-1.589,1.592" transform="translate(38.128 92.1) rotate(180)" fill="#fff"/>
|
|
28
|
+
<path id="Caminho_18606" data-name="Caminho 18606" d="M29.532,87.612A1.594,1.594,0,0,1,27.94,86.02h.842a.75.75,0,1,0,1.5,0h.842a1.594,1.594,0,0,1-1.592,1.592" transform="translate(41.757 110.33) rotate(180)" fill="#fff"/>
|
|
29
|
+
<path id="Caminho_18607" data-name="Caminho 18607" d="M37.869,87.612A1.592,1.592,0,0,1,36.28,86.02h.842a.748.748,0,1,0,1.5,0h.842a1.594,1.594,0,0,1-1.592,1.592" transform="translate(47.756 110.33) rotate(180)" fill="#fff"/>
|
|
30
|
+
<path id="Caminho_18608" data-name="Caminho 18608" d="M84.129,76.319A1.591,1.591,0,0,1,82.54,74.73h.842a.748.748,0,0,0,1.5,0h.842a1.592,1.592,0,0,1-1.592,1.589" transform="translate(110.904 92.513) rotate(180)" fill="#fff"/>
|
|
31
|
+
<path id="Caminho_18609" data-name="Caminho 18609" d="M92.462,76.319A1.592,1.592,0,0,1,90.87,74.73h.842a.748.748,0,0,0,1.5,0h.842a1.591,1.591,0,0,1-1.589,1.589" transform="translate(116.896 92.513) rotate(180)" fill="#fff"/>
|
|
32
|
+
<path id="Caminho_18692" data-name="Caminho 18692" d="M92.462,76.319A1.592,1.592,0,0,1,90.87,74.73h.842a.748.748,0,0,0,1.5,0h.842a1.591,1.591,0,0,1-1.589,1.589" transform="translate(110.896 95.513) rotate(180)" fill="#fff"/>
|
|
33
|
+
<path id="Caminho_18611" data-name="Caminho 18611" d="M77.747,1.84Z" transform="translate(-54.289)" fill="#00c0b7"/>
|
|
34
|
+
<path id="Caminho_18612" data-name="Caminho 18612" d="M32,19.849" transform="translate(0 -4.811)" fill="#00c0b7"/>
|
|
35
|
+
</g>
|
|
36
|
+
</g>
|
|
37
|
+
</g>
|
|
38
|
+
</svg>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { jsx as _jsx
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { Stack } from '@chakra-ui/react';
|
|
3
|
-
import { WizardTextBody, WizardInitialOptions } from '../../..';
|
|
3
|
+
import { WizardTextBody, WizardInitialOptions, WizardStepOptions, } from '../../..';
|
|
4
4
|
export const HomeInitialSetup = ({ fields, callback }) => {
|
|
5
5
|
return (_jsx(Stack, { bg: "neutral.white", spacing: "10", children: fields === null || fields === void 0 ? void 0 : fields.map(({ children = [], id, label = '', type, value, description }) => {
|
|
6
6
|
switch (type) {
|
|
@@ -9,7 +9,7 @@ export const HomeInitialSetup = ({ fields, callback }) => {
|
|
|
9
9
|
case 'home-wizard-initial-setup':
|
|
10
10
|
return (_jsx(WizardInitialOptions, { form: children, title: String(value), callback: callback }, id));
|
|
11
11
|
case 'home-wizard-step-options':
|
|
12
|
-
return _jsx(
|
|
12
|
+
return (_jsx(WizardStepOptions, { form: children, title: String(value), callback: callback }, id));
|
|
13
13
|
default:
|
|
14
14
|
return null;
|
|
15
15
|
}
|
|
@@ -1,2 +1,4 @@
|
|
|
1
1
|
import { RecordsSessionI } from '../../../interfaces';
|
|
2
|
-
export declare const RecordsRow: ({ label, value }: RecordsSessionI["details"]
|
|
2
|
+
export declare const RecordsRow: ({ label, value, textAlign, }: RecordsSessionI["details"] & {
|
|
3
|
+
textAlign?: "left" | "right";
|
|
4
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { GridItem, Text } from '@chakra-ui/react';
|
|
3
|
-
export const RecordsRow = ({ label, value }) => {
|
|
4
|
-
return (_jsxs(_Fragment, { children: [_jsx(GridItem, { children: _jsx(Text, { fontFamily: "secondary", color: "gray.2", textTransform: "capitalize", children: label }) }), _jsx(GridItem, { children: _jsx(Text, { fontFamily: "secondary", textTransform: "capitalize", children: value }) })] }));
|
|
3
|
+
export const RecordsRow = ({ label, value, textAlign = 'left', }) => {
|
|
4
|
+
return (_jsxs(_Fragment, { children: [_jsx(GridItem, { children: _jsx(Text, { fontFamily: "secondary", color: "gray.2", textTransform: "capitalize", children: label }) }), _jsx(GridItem, { children: _jsx(Text, { fontFamily: "secondary", textTransform: "capitalize", textAlign: textAlign, children: value }) })] }));
|
|
5
5
|
};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { RecordsSessionI } from '../../../interfaces';
|
|
2
|
-
export declare const RecordsSession: ({ details, showLine, }: RecordsSessionI) => import("react/jsx-runtime").JSX.Element;
|
|
2
|
+
export declare const RecordsSession: ({ details, showLine, gap, textAlign, p, }: RecordsSessionI) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { Grid } from '@chakra-ui/react';
|
|
3
3
|
import { RecordsRow } from '../..';
|
|
4
|
-
export const RecordsSession = ({ details, showLine = false, }) => {
|
|
5
|
-
const rows = Object.entries(details).map(([label, value = '']) => (_jsx(RecordsRow, { label: label, value: value }, label)));
|
|
6
|
-
return (_jsx(Grid, { templateColumns: "repeat(2, 1fr)", gridGap:
|
|
4
|
+
export const RecordsSession = ({ details, showLine = false, gap = 'base', textAlign = 'left', p = 'base', }) => {
|
|
5
|
+
const rows = Object.entries(details !== null && details !== void 0 ? details : {}).map(([label, value = '']) => (_jsx(RecordsRow, { label: label, value: value, textAlign: textAlign }, label)));
|
|
6
|
+
return (_jsx(Grid, { templateColumns: "repeat(2, 1fr)", gridGap: gap, p: p, borderBottom: "1px solid", borderColor: showLine ? 'lightBlue.2' : 'transparent', children: rows }));
|
|
7
7
|
};
|
|
@@ -2,7 +2,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
2
2
|
import { Container, SimpleGrid, Stack, Text, Image, Flex, } from '@chakra-ui/react';
|
|
3
3
|
import { Controller, useFormContext } from 'react-hook-form';
|
|
4
4
|
import { CheckInCircle } from '../../assets/images';
|
|
5
|
-
import { fieldIcons } from '../../helpers';
|
|
5
|
+
import { fieldIcons, setOptionButtonStyles } from '../../helpers';
|
|
6
6
|
export const WizardInitialOptions = ({ form, title, callback, }) => {
|
|
7
7
|
const { control } = useFormContext();
|
|
8
8
|
return (_jsxs(Stack, { spacing: "base", bg: "lightBlue.1", p: "base", children: [_jsx(Text, { fontFamily: "secondary", fontSize: "sm", children: title }), _jsx(SimpleGrid, { columns: 2, spacing: "base", children: form.map((field) => {
|
|
@@ -14,27 +14,7 @@ export const WizardInitialOptions = ({ form, title, callback, }) => {
|
|
|
14
14
|
return (_jsxs(Container, { position: "relative", children: [value && (_jsx(Image, { src: CheckInCircle, alt: "check", w: "22px", h: "auto", position: "absolute", top: "-4px", left: "-2px", boxShadow: "lg", borderRadius: "full" })), _jsxs(Stack, Object.assign({ as: "button", p: "base", onClick: () => {
|
|
15
15
|
onChange(!value);
|
|
16
16
|
callback === null || callback === void 0 ? void 0 : callback(Object.assign(Object.assign({}, field), { value: !value }));
|
|
17
|
-
} },
|
|
17
|
+
} }, setOptionButtonStyles(value), { children: [_jsxs(Flex, { gap: "2", w: "full", align: "center", children: [_jsx(Image, { src: iconSrc, alt: "icon", h: "16px", w: "auto" }), label && (_jsx(Text, { fontWeight: "bold", fontSize: "xs", textTransform: "capitalize", fontFamily: "secondary", children: label }))] }), _jsx(Text, { fontFamily: "secondary", textAlign: "left", children: description })] }))] }));
|
|
18
18
|
} }, id));
|
|
19
19
|
}) })] }));
|
|
20
20
|
};
|
|
21
|
-
const setStyles = (completed = false) => {
|
|
22
|
-
switch (completed) {
|
|
23
|
-
case true:
|
|
24
|
-
return {
|
|
25
|
-
bg: 'lightGreen.7',
|
|
26
|
-
transition: 'all 0.3s',
|
|
27
|
-
_hover: {
|
|
28
|
-
bg: 'lightGreen.8',
|
|
29
|
-
},
|
|
30
|
-
};
|
|
31
|
-
case false:
|
|
32
|
-
return {
|
|
33
|
-
bg: 'neutral.white',
|
|
34
|
-
transition: 'all 0.3s',
|
|
35
|
-
_hover: {
|
|
36
|
-
bg: 'lightGreen.7',
|
|
37
|
-
},
|
|
38
|
-
};
|
|
39
|
-
}
|
|
40
|
-
};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Container, SimpleGrid, Stack, Text, Image, Center, } from '@chakra-ui/react';
|
|
3
|
+
import { Controller, useFormContext } from 'react-hook-form';
|
|
4
|
+
import { CheckInCircle } from '../../assets/images';
|
|
5
|
+
import { fieldIcons, setOptionButtonStyles } from '../../helpers';
|
|
6
|
+
export const WizardStepOptions = ({ form, title, callback }) => {
|
|
7
|
+
const { control } = useFormContext();
|
|
8
|
+
return (_jsxs(Stack, { spacing: "base", bg: "lightBlue.1", p: "base", children: [_jsx(Text, { fontFamily: "secondary", fontSize: "sm", children: title }), _jsx(SimpleGrid, { columns: 6, spacing: "base", gridAutoRows: "1fr", alignItems: "stretch", children: form.map((field) => {
|
|
9
|
+
const { id, value, label, icon } = field;
|
|
10
|
+
return (_jsx(Controller, { control: control, name: id, defaultValue: value, render: ({ field: { value, onChange } }) => {
|
|
11
|
+
const iconSrc = icon
|
|
12
|
+
? fieldIcons[icon]
|
|
13
|
+
: undefined;
|
|
14
|
+
return (_jsxs(Container, { position: "relative", children: [value && (_jsx(Image, { src: CheckInCircle, alt: "check", w: "22px", h: "auto", position: "absolute", top: "-4px", left: "-2px", boxShadow: "lg", borderRadius: "full" })), _jsxs(Stack, Object.assign({ as: "button", py: "base", w: "full", h: "full", onClick: () => {
|
|
15
|
+
onChange(!value);
|
|
16
|
+
callback === null || callback === void 0 ? void 0 : callback(Object.assign(Object.assign({}, field), { value: !value }));
|
|
17
|
+
} }, setOptionButtonStyles(value), { children: [_jsx(Center, { h: "60%", children: _jsx(Image, { src: iconSrc, alt: "icon", w: "auto", maxW: "36px", h: "28px" }) }), _jsx(Center, { h: "40%", px: "1", children: _jsx(Text, { fontSize: "11px", textTransform: "uppercase", textAlign: "center", lineHeight: "11px", children: label }) })] }))] }));
|
|
18
|
+
} }, id));
|
|
19
|
+
}) })] }));
|
|
20
|
+
};
|
|
@@ -1,85 +1,111 @@
|
|
|
1
|
-
import { Paint, Receipt, Barcode, GoldenBars, Heart, Rating, Notes, Book, ImgIcon, Registry, ShareWith, Calendar, Contacts, Tools2, Billing, Calc, CheckPen, GenericField, Price, Battery2, Co2, Detector, Electricity, Sprinkler, SixtyEight, DropCalendar, MobileDrop, SolarPanel, Calendar2, Drop, Wind, Foundation, Heater, Light, Plate,
|
|
1
|
+
import { Paint, Receipt, Barcode, GoldenBars, Heart, Rating, Notes, Book, ImgIcon, Registry, ShareWith, Calendar, Contacts, Tools2, Billing, Calc, CheckPen, GenericField, Price, Battery2, Co2, Detector, Electricity, Sprinkler, SixtyEight, DropCalendar, MobileDrop, SolarPanel, Calendar2, Drop, Wind, Foundation, Heater, Light, Plate, Pool, Closet, Structure, GlassWater, Roof2, Target, CircleFace, Pressure, WindowCleaning, RoofCleaning, HolidayLights, GutterCleaning, HomeCleaning, HouseWashing, PressureWasher, BookOpened, Company2, AADisease, AADressing, AALawn, AAMowing, AAWeed, AApest, FilterSize, Wallet, Fire, Plant, LifePreserver, BOCFilter, BOCGreen, BOCRenovation, BOCRepair, BOCService, BOCWarranty, MRBoxes, MRClock, MRCouch, MRHand, MRMakeReady, MRRental, Cleaning, GearTime, YellowFolder, Warranty, Flower, Jacuzzi, MagnifyingGlassPerson, } from '../../assets/images';
|
|
2
|
+
import { CookTop, Dishwasher, Dryer, Freezer, Fridge, Hood, Microwave, Oven, Range, Washer, tankWater, tanklessWater, } from '../../assets/images/appliances';
|
|
3
|
+
import { BatterySmokeDetector, Co2Detector, FireExtinguisher, Furnace, HeatPump, InWall, LandscapeLights, Other, SprinklerSystem, SprinklerSystem2, WiredSmokeDetector, } from '../../assets/images/home-assistant';
|
|
2
4
|
export const fieldIcons = {
|
|
5
|
+
'68': SixtyEight,
|
|
6
|
+
'aa-disease': AADisease,
|
|
7
|
+
'aa-dressing': AADressing,
|
|
8
|
+
'aa-fertilization': AALawn,
|
|
9
|
+
'aa-mowing': AAMowing,
|
|
10
|
+
'aa-pest': AApest,
|
|
11
|
+
'aa-weed': AAWeed,
|
|
12
|
+
'battery-smoke-detector': BatterySmokeDetector,
|
|
13
|
+
'boc-filter': BOCFilter,
|
|
14
|
+
'boc-green': BOCGreen,
|
|
15
|
+
'boc-renovation': BOCRenovation,
|
|
16
|
+
'boc-repair': BOCRepair,
|
|
17
|
+
'boc-service': BOCService,
|
|
18
|
+
'boc-warranty': BOCWarranty,
|
|
19
|
+
'book-opened': BookOpened,
|
|
20
|
+
'calendar-drop': DropCalendar,
|
|
21
|
+
'co2-detector': Co2Detector,
|
|
22
|
+
'dish-washer': Dishwasher,
|
|
23
|
+
'filter-size': FilterSize,
|
|
24
|
+
'fire-extinguisher': FireExtinguisher,
|
|
25
|
+
'heat-pump': HeatPump,
|
|
26
|
+
'in-wall': InWall,
|
|
27
|
+
'landscape-lights': LandscapeLights,
|
|
28
|
+
'life-preserver': LifePreserver,
|
|
29
|
+
'mobile-drop': MobileDrop,
|
|
30
|
+
'mr-boxes': MRBoxes,
|
|
31
|
+
'mr-clock': MRClock,
|
|
32
|
+
'mr-couch': MRCouch,
|
|
33
|
+
'mr-hand': MRHand,
|
|
34
|
+
'mr-make-ready': MRMakeReady,
|
|
35
|
+
'mr-rental': MRRental,
|
|
36
|
+
'pressure-washer': PressureWasher,
|
|
37
|
+
'search-person': MagnifyingGlassPerson,
|
|
38
|
+
'sh-gutter': GutterCleaning,
|
|
39
|
+
'sh-home': HomeCleaning,
|
|
40
|
+
'sh-house': HouseWashing,
|
|
41
|
+
'sh-lights': HolidayLights,
|
|
42
|
+
'sh-pressure': Pressure,
|
|
43
|
+
'sh-roof': RoofCleaning,
|
|
44
|
+
'sh-window': WindowCleaning,
|
|
45
|
+
'solar-panel': SolarPanel,
|
|
46
|
+
'sprinkler-system': SprinklerSystem,
|
|
47
|
+
'sprinkler-system2': SprinklerSystem2,
|
|
48
|
+
'tank-water': tankWater,
|
|
49
|
+
'tankless-water': tanklessWater,
|
|
50
|
+
'wired-smoke-detector': WiredSmokeDetector,
|
|
3
51
|
barcode: Barcode,
|
|
52
|
+
battery: Battery2,
|
|
4
53
|
billing: Billing,
|
|
5
54
|
book: Book,
|
|
6
|
-
'book-opened': BookOpened,
|
|
7
55
|
calc: Calc,
|
|
56
|
+
calendar: Calendar,
|
|
57
|
+
calendar2: Calendar2,
|
|
8
58
|
check: CheckPen,
|
|
59
|
+
cleaning: Cleaning,
|
|
60
|
+
co2: Co2,
|
|
61
|
+
company: Company2,
|
|
9
62
|
contact: Contacts,
|
|
63
|
+
'cook-top': CookTop,
|
|
10
64
|
date: Calendar,
|
|
11
65
|
default: GenericField,
|
|
66
|
+
detector: Detector,
|
|
67
|
+
drop: Drop,
|
|
68
|
+
dryer: Dryer,
|
|
69
|
+
electricity: Electricity,
|
|
70
|
+
fire: Fire,
|
|
71
|
+
flower: Flower,
|
|
72
|
+
folder: YellowFolder,
|
|
73
|
+
foundation: Foundation,
|
|
74
|
+
freezer: Freezer,
|
|
75
|
+
fridge: Fridge,
|
|
76
|
+
furnace: Furnace,
|
|
77
|
+
gear: GearTime,
|
|
12
78
|
goldbars: GoldenBars,
|
|
13
79
|
heart: Heart,
|
|
80
|
+
heater: Heater,
|
|
81
|
+
hood: Hood,
|
|
82
|
+
house: Structure,
|
|
14
83
|
image: ImgIcon,
|
|
84
|
+
jacuzzi: Jacuzzi,
|
|
85
|
+
light: Light,
|
|
86
|
+
microwave: Microwave,
|
|
15
87
|
notes: Notes,
|
|
88
|
+
other: Other,
|
|
89
|
+
oven: Oven,
|
|
16
90
|
palette: Paint,
|
|
17
91
|
people: ShareWith,
|
|
92
|
+
plant: Plant,
|
|
93
|
+
plate: Plate,
|
|
94
|
+
pool: Pool,
|
|
18
95
|
price: Price,
|
|
96
|
+
range: Range,
|
|
19
97
|
rating: Rating,
|
|
20
98
|
receipt: Receipt,
|
|
21
99
|
registry: Registry,
|
|
22
|
-
tools: Tools2,
|
|
23
|
-
battery: Battery2,
|
|
24
|
-
calendar: Calendar,
|
|
25
|
-
co2: Co2,
|
|
26
|
-
detector: Detector,
|
|
27
|
-
electricity: Electricity,
|
|
28
|
-
sprinkler: Sprinkler,
|
|
29
|
-
'68': SixtyEight,
|
|
30
|
-
'calendar-drop': DropCalendar,
|
|
31
|
-
'mobile-drop': MobileDrop,
|
|
32
|
-
'solar-panel': SolarPanel,
|
|
33
|
-
calendar2: Calendar2,
|
|
34
|
-
drop: Drop,
|
|
35
|
-
fire: Fire,
|
|
36
|
-
wind: Wind,
|
|
37
|
-
foundation: Foundation,
|
|
38
|
-
heater: Heater,
|
|
39
|
-
'life-preserver': LifePreserver,
|
|
40
|
-
light: Light,
|
|
41
|
-
plant: Plant,
|
|
42
|
-
plate: Plate,
|
|
43
|
-
'pressure-washer': PressureWasher,
|
|
44
|
-
pool: Pool2,
|
|
45
100
|
roof: Roof2,
|
|
46
|
-
|
|
47
|
-
warranty: Warranty,
|
|
48
|
-
water: GlassWater,
|
|
49
|
-
house: Structure,
|
|
101
|
+
sprinkler: Sprinkler,
|
|
50
102
|
target: Target,
|
|
51
103
|
title: CircleFace,
|
|
52
|
-
|
|
104
|
+
tools: Tools2,
|
|
105
|
+
umbrella: Closet,
|
|
53
106
|
wallet: Wallet,
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
'sh-gutter': GutterCleaning,
|
|
59
|
-
'sh-home': HomeCleaning,
|
|
60
|
-
'sh-house': HouseWashing,
|
|
61
|
-
'sh-lights': HolidayLights,
|
|
62
|
-
'sh-pressure': Pressure,
|
|
63
|
-
'sh-roof': RoofCleaning,
|
|
64
|
-
'sh-window': WindowCleaning,
|
|
65
|
-
'aa-mowing': AAMowing,
|
|
66
|
-
'aa-fertilization': AALawn,
|
|
67
|
-
'aa-disease': AADisease,
|
|
68
|
-
'aa-weed': AAWeed,
|
|
69
|
-
'aa-dressing': AADressing,
|
|
70
|
-
'aa-pest': AApest,
|
|
71
|
-
'filter-size': FilterSize,
|
|
72
|
-
'boc-service': BOCService,
|
|
73
|
-
'boc-filter': BOCFilter,
|
|
74
|
-
'boc-repair': BOCRepair,
|
|
75
|
-
'boc-renovation': BOCRenovation,
|
|
76
|
-
'boc-green': BOCGreen,
|
|
77
|
-
'boc-warranty': BOCWarranty,
|
|
78
|
-
'mr-boxes': MRBoxes,
|
|
79
|
-
'mr-clock': MRClock,
|
|
80
|
-
'mr-couch': MRCouch,
|
|
81
|
-
'mr-hand': MRHand,
|
|
82
|
-
'mr-make-ready': MRMakeReady,
|
|
83
|
-
'mr-rental': MRRental,
|
|
84
|
-
cleaning: Cleaning,
|
|
107
|
+
warranty: Warranty,
|
|
108
|
+
washer: Washer,
|
|
109
|
+
water: GlassWater,
|
|
110
|
+
wind: Wind,
|
|
85
111
|
};
|
package/dist/helpers/index.d.ts
CHANGED
package/dist/helpers/index.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { PropertyDetails } from '../../interfaces';
|
|
2
2
|
export declare const propertyRecordsToDB: Record<string, Record<string, string | Record<string, string>>>;
|
|
3
|
-
export declare const propertyRecordsSessions: (data: Partial<PropertyDetails>) => Record<string, Array<Record<string, string | undefined
|
|
3
|
+
export declare const propertyRecordsSessions: (data: Partial<PropertyDetails>) => Record<string, Array<Record<string, string | undefined>>>;
|
|
4
|
+
export declare const propertyRecordsWizardSessions: (data: Partial<PropertyDetails>) => Record<string, Record<string, string | undefined>>;
|
|
4
5
|
export declare const propertyRecordIcons: Record<string, string>;
|
|
5
6
|
export declare const dbDataParser: (key: string, value: string) => boolean | number | string;
|
|
@@ -61,14 +61,14 @@ export const propertyRecordsToDB = {
|
|
|
61
61
|
},
|
|
62
62
|
};
|
|
63
63
|
export const propertyRecordsSessions = (data) => {
|
|
64
|
-
var _a, _b, _c, _d;
|
|
64
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
65
65
|
const flookRisk = (data === null || data === void 0 ? void 0 : data.floodZone)
|
|
66
66
|
? {
|
|
67
67
|
'Flood Zone': (data === null || data === void 0 ? void 0 : data.floodZone) ? 'Yes' : 'No',
|
|
68
68
|
Description: 'floodZoneDescription',
|
|
69
69
|
'Flood Type': capitalize(data === null || data === void 0 ? void 0 : data.floodZoneType),
|
|
70
70
|
}
|
|
71
|
-
:
|
|
71
|
+
: {};
|
|
72
72
|
return {
|
|
73
73
|
summary: [
|
|
74
74
|
{
|
|
@@ -100,10 +100,10 @@ export const propertyRecordsSessions = (data) => {
|
|
|
100
100
|
},
|
|
101
101
|
{
|
|
102
102
|
Basement: capitalize(data === null || data === void 0 ? void 0 : data.basementType),
|
|
103
|
-
'% Finished': capitalize(data === null || data === void 0 ? void 0 : data.basementFinishedPercent),
|
|
103
|
+
'% Finished': capitalize((_a = data === null || data === void 0 ? void 0 : data.basementFinishedPercent) !== null && _a !== void 0 ? _a : ''),
|
|
104
104
|
'Finished Sqft': capitalize(data === null || data === void 0 ? void 0 : data.basementSquareFeet),
|
|
105
|
-
'% Unfinished': (100 - Number((
|
|
106
|
-
'Unfinished Sqft': capitalize(data === null || data === void 0 ? void 0 : data.basementSquareFeetUnFinished),
|
|
105
|
+
'% Unfinished': (100 - Number((_b = data === null || data === void 0 ? void 0 : data.basementFinishedPercent) !== null && _b !== void 0 ? _b : 100)).toString(),
|
|
106
|
+
'Unfinished Sqft': capitalize((_c = data === null || data === void 0 ? void 0 : data.basementSquareFeetUnFinished) !== null && _c !== void 0 ? _c : ''),
|
|
107
107
|
},
|
|
108
108
|
],
|
|
109
109
|
structure: [
|
|
@@ -119,8 +119,8 @@ export const propertyRecordsSessions = (data) => {
|
|
|
119
119
|
Garage: capitalize(data === null || data === void 0 ? void 0 : data.garageType),
|
|
120
120
|
'Garage Sqft': capitalize(data === null || data === void 0 ? void 0 : data.garageSquareFeet),
|
|
121
121
|
'% Finished': capitalize(data === null || data === void 0 ? void 0 : data.garageSquareFeet),
|
|
122
|
-
'Finished Sqft': capitalize(data === null || data === void 0 ? void 0 : data.garageSquareFeetFinished),
|
|
123
|
-
'% Unfinished': capitalize(data === null || data === void 0 ? void 0 : data.garageSquareFeetUnfinished),
|
|
122
|
+
'Finished Sqft': capitalize((_d = data === null || data === void 0 ? void 0 : data.garageSquareFeetFinished) !== null && _d !== void 0 ? _d : ''),
|
|
123
|
+
'% Unfinished': capitalize((_e = data === null || data === void 0 ? void 0 : data.garageSquareFeetUnfinished) !== null && _e !== void 0 ? _e : ''),
|
|
124
124
|
'Parking Spaces': capitalize(data === null || data === void 0 ? void 0 : data.parkingSpaces),
|
|
125
125
|
'RV Parking': (data === null || data === void 0 ? void 0 : data.rvParking) ? 'Yes' : 'No',
|
|
126
126
|
},
|
|
@@ -133,19 +133,36 @@ export const propertyRecordsSessions = (data) => {
|
|
|
133
133
|
Pool: `${(data === null || data === void 0 ? void 0 : data.pool) ? 'Yes' : 'No'} - ${data === null || data === void 0 ? void 0 : data.poolArea} sqft`,
|
|
134
134
|
},
|
|
135
135
|
{
|
|
136
|
-
Sewage: capitalize(data === null || data === void 0 ? void 0 : data.utilitiesSewageUsage),
|
|
137
|
-
Water: capitalize(data === null || data === void 0 ? void 0 : data.utilitiesWaterSource),
|
|
136
|
+
Sewage: capitalize((_f = data === null || data === void 0 ? void 0 : data.utilitiesSewageUsage) !== null && _f !== void 0 ? _f : ''),
|
|
137
|
+
Water: capitalize((_g = data === null || data === void 0 ? void 0 : data.utilitiesWaterSource) !== null && _g !== void 0 ? _g : ''),
|
|
138
138
|
},
|
|
139
139
|
],
|
|
140
140
|
community: [
|
|
141
141
|
{
|
|
142
|
-
Name: capitalize((
|
|
143
|
-
Type: capitalize((
|
|
144
|
-
Location: capitalize((
|
|
142
|
+
Name: capitalize((_h = data === null || data === void 0 ? void 0 : data.neighborhood) === null || _h === void 0 ? void 0 : _h.name),
|
|
143
|
+
Type: capitalize((_j = data === null || data === void 0 ? void 0 : data.neighborhood) === null || _j === void 0 ? void 0 : _j.type),
|
|
144
|
+
Location: capitalize((_k = data === null || data === void 0 ? void 0 : data.neighborhood) === null || _k === void 0 ? void 0 : _k.center),
|
|
145
145
|
},
|
|
146
146
|
],
|
|
147
147
|
};
|
|
148
148
|
};
|
|
149
|
+
export const propertyRecordsWizardSessions = (data) => {
|
|
150
|
+
var _a, _b;
|
|
151
|
+
return {
|
|
152
|
+
purchasePrice: {
|
|
153
|
+
Type: capitalize(data === null || data === void 0 ? void 0 : data.propertyUse),
|
|
154
|
+
'Year Built': capitalize(data === null || data === void 0 ? void 0 : data.yearBuilt),
|
|
155
|
+
Lot: capitalize(data === null || data === void 0 ? void 0 : data.lotSquareFeet),
|
|
156
|
+
Subdivision: `${capitalize((_a = data === null || data === void 0 ? void 0 : data.neighborhood) === null || _a === void 0 ? void 0 : _a.name) || ''} - ${capitalize((_b = data === null || data === void 0 ? void 0 : data.neighborhood) === null || _b === void 0 ? void 0 : _b.type) || ''}`,
|
|
157
|
+
},
|
|
158
|
+
assessedValue: {
|
|
159
|
+
Bedrooms: capitalize(data === null || data === void 0 ? void 0 : data.bedrooms),
|
|
160
|
+
Bathrooms: capitalize(data === null || data === void 0 ? void 0 : data.bathrooms),
|
|
161
|
+
'Half Bath': capitalize(data === null || data === void 0 ? void 0 : data.partialBathrooms),
|
|
162
|
+
'Total Sqft': String(data === null || data === void 0 ? void 0 : data.buildingSquareFeet),
|
|
163
|
+
},
|
|
164
|
+
};
|
|
165
|
+
};
|
|
149
166
|
export const propertyRecordIcons = {
|
|
150
167
|
summary: House,
|
|
151
168
|
interior: Building,
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export const setOptionButtonStyles = (completed = false) => {
|
|
2
|
+
switch (completed) {
|
|
3
|
+
case true:
|
|
4
|
+
return {
|
|
5
|
+
bg: 'lightGreen.7',
|
|
6
|
+
transition: 'all 0.3s',
|
|
7
|
+
_hover: {
|
|
8
|
+
bg: 'lightGreen.8',
|
|
9
|
+
},
|
|
10
|
+
};
|
|
11
|
+
case false:
|
|
12
|
+
return {
|
|
13
|
+
bg: 'neutral.white',
|
|
14
|
+
transition: 'all 0.3s',
|
|
15
|
+
_hover: {
|
|
16
|
+
bg: 'lightGreen.7',
|
|
17
|
+
},
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
};
|
|
@@ -2,7 +2,7 @@ import { AIGridFieldI, AlertFieldType, AlertTabType, FolderFileI, MenuItemI, Par
|
|
|
2
2
|
export type KindTypes = 'ai-image' | 'ai-grid' | 'checkbox' | 'checkbox-agreement' | 'checkbox-group' | 'collapsible' | 'currency' | 'date' | 'email' | 'file' | 'grid' | 'group' | 'hidden' | 'notes' | 'number' | 'radio' | 'rating' | 'select' | 'string' | 'switch' | 'telephone' | 'text' | 'textarea' | 'default' | 'video' | UIKindTypes | HomeItemTypes | AlertTabType | AlertFieldType | WizardTypes;
|
|
3
3
|
export type UIKindTypes = 'tile-body' | 'tile-body-logo' | 'tile-body-header' | 'tile-body-section' | 'tile-body-section-grid' | 'tile-body-partner-image' | 'tile-body-description' | 'tile-form' | 'tile-body-action' | 'vertical-icon' | 'primary-cta' | 'secondary-cta';
|
|
4
4
|
export type HomeItemTypes = 'appliances' | 'images' | 'guidelines' | 'item-related' | 'item-icon-btn';
|
|
5
|
-
export type IconTypes = '68' | 'barcode' | 'battery' | 'billing' | 'book-opened' | 'book' | 'calc' | 'calendar-drop' | 'calendar' | 'calendar2' | 'check' | 'co2' | 'company' | 'contact' | 'date' | 'default' | 'detector' | 'drop' | 'electricity' | 'fire' | 'flower' | 'folder' | 'foundation' | 'gear' | 'goldbars' | 'heart' | 'heater' | 'house' | 'image' | 'life-preserver' | 'light' | 'mobile-drop' | 'notes' | 'palette' | 'people' | 'plant' | 'plate' | 'pool' | 'pressure-washer' | 'price' | 'rating' | 'receipt' | 'registry' | 'roof' | 'search-person' | 'solar-panel' | 'sprinkler' | 'target' | 'title' | 'tools' | 'umbrella' | 'wallet' | 'warranty' | 'water' | 'wind' | UIIconTypes;
|
|
5
|
+
export type IconTypes = '68' | 'barcode' | 'battery' | 'billing' | 'book-opened' | 'book' | 'calc' | 'calendar-drop' | 'calendar' | 'calendar2' | 'check' | 'co2' | 'company' | 'contact' | 'date' | 'default' | 'detector' | 'drop' | 'electricity' | 'fire' | 'flower' | 'folder' | 'foundation' | 'gear' | 'goldbars' | 'heart' | 'heater' | 'house' | 'image' | 'life-preserver' | 'light' | 'mobile-drop' | 'notes' | 'palette' | 'people' | 'plant' | 'plate' | 'pool' | 'pressure-washer' | 'price' | 'rating' | 'receipt' | 'registry' | 'roof' | 'search-person' | 'solar-panel' | 'sprinkler' | 'target' | 'title' | 'tools' | 'umbrella' | 'wallet' | 'warranty' | 'water' | 'wind' | 'battery-smoke-detector' | 'cooktop' | 'dish-washer' | 'dryer' | 'filter-size' | 'fire-extinguisher' | 'freezer' | 'fridge' | 'furnace' | 'hood' | 'in-wall' | 'jacuzzi' | 'landscape-lights' | 'microwave' | 'mr-boxes' | 'mr-clock' | 'mr-couch' | 'mr-hand' | 'mr-make-ready' | 'mr-rental' | 'other' | 'oven' | 'range' | 'sprinkler-system' | 'sprinkler-system2' | 'tank-water' | 'tankless-water' | 'washer' | 'wired-smoke-detector' | UIIconTypes;
|
|
6
6
|
export type UIIconTypes = 'sh-pressure' | 'sh-window' | 'sh-roof' | 'sh-lights' | 'sh-gutter' | 'sh-home' | 'sh-house' | 'aa-mowing' | 'aa-fertilization' | 'aa-disease' | 'aa-weed' | 'aa-dressing' | 'aa-pest' | 'boc-service' | 'boc-filter' | 'boc-repair' | 'boc-renovation' | 'boc-green' | 'boc-warranty' | 'filter-size' | string;
|
|
7
7
|
export type WizardTypes = 'home-wizard' | 'home-wizard-header' | 'home-wizard-initial-setup' | 'home-wizard-step-options';
|
|
8
8
|
export type ValueTypes = string | string[] | number | boolean;
|