@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.
Files changed (79) hide show
  1. package/dist/assets/images/appliances/index.d.ts +3 -1
  2. package/dist/assets/images/appliances/index.js +3 -1
  3. package/dist/assets/images/appliances/index.ts +4 -0
  4. package/dist/assets/images/appliances/tank-water.svg +21 -0
  5. package/dist/assets/images/appliances/tankless-water.svg +21 -0
  6. package/dist/assets/images/home-assistant/battery-smoke-detector.svg +38 -0
  7. package/dist/assets/images/home-assistant/co2-detector.svg +15 -0
  8. package/dist/assets/images/home-assistant/fire-extinguisher.svg +34 -0
  9. package/dist/assets/images/home-assistant/furnace.svg +27 -0
  10. package/dist/assets/images/home-assistant/heat-pump.svg +30 -0
  11. package/dist/assets/images/home-assistant/in-wall.svg +26 -0
  12. package/dist/assets/images/home-assistant/index.d.ts +12 -0
  13. package/dist/assets/images/home-assistant/index.js +12 -0
  14. package/dist/assets/images/home-assistant/index.ts +25 -0
  15. package/dist/assets/images/home-assistant/landscape-lights.svg +23 -0
  16. package/dist/assets/images/home-assistant/other.svg +22 -0
  17. package/dist/assets/images/home-assistant/sprinkler-system.svg +11 -0
  18. package/dist/assets/images/home-assistant/sprinkler-system2.svg +23 -0
  19. package/dist/assets/images/home-assistant/wired-smoke-detector.svg +24 -0
  20. package/dist/assets/images/index.d.ts +3 -1
  21. package/dist/assets/images/index.js +3 -1
  22. package/dist/assets/images/index.ts +3 -0
  23. package/dist/assets/images/jacuzzi.svg +38 -0
  24. package/dist/components/forms/dynamicForm/fields/HomeInitialSetup.js +3 -3
  25. package/dist/components/propertyTiles/propertyRecords/RecordsRow.d.ts +3 -1
  26. package/dist/components/propertyTiles/propertyRecords/RecordsRow.js +2 -2
  27. package/dist/components/propertyTiles/propertyRecords/RecordsSession.d.ts +1 -1
  28. package/dist/components/propertyTiles/propertyRecords/RecordsSession.js +3 -3
  29. package/dist/components/wizard/WizardInitialOptions.js +2 -22
  30. package/dist/components/wizard/WizardStepOptions.d.ts +2 -0
  31. package/dist/components/wizard/WizardStepOptions.js +20 -0
  32. package/dist/components/wizard/index.d.ts +2 -0
  33. package/dist/components/wizard/index.js +2 -0
  34. package/dist/helpers/forms/dynamicForm.helper.js +87 -61
  35. package/dist/helpers/index.d.ts +1 -0
  36. package/dist/helpers/index.js +1 -0
  37. package/dist/helpers/propertyTiles/PropertyRecords.helper.d.ts +2 -1
  38. package/dist/helpers/propertyTiles/PropertyRecords.helper.js +29 -12
  39. package/dist/helpers/wizard/optionsStyles.d.ts +7 -0
  40. package/dist/helpers/wizard/optionsStyles.js +20 -0
  41. package/dist/interfaces/forms/dynamicForm/DynamicForm.interface.d.ts +1 -1
  42. package/dist/interfaces/propertyTiles/RecordsSession.interface.d.ts +3 -0
  43. package/dist/mocks/forms/dynamicForm.mock.js +280 -0
  44. package/dist/mocks/propertyTiles/details.d.ts +3 -1
  45. package/dist/mocks/propertyTiles/details.js +3 -1
  46. package/dist/stories/assets/Illustrations.stories.js +4 -3
  47. package/package.json +1 -1
  48. package/src/assets/images/appliances/index.ts +4 -0
  49. package/src/assets/images/appliances/tank-water.svg +21 -0
  50. package/src/assets/images/appliances/tankless-water.svg +21 -0
  51. package/src/assets/images/home-assistant/battery-smoke-detector.svg +38 -0
  52. package/src/assets/images/home-assistant/co2-detector.svg +15 -0
  53. package/src/assets/images/home-assistant/fire-extinguisher.svg +34 -0
  54. package/src/assets/images/home-assistant/furnace.svg +27 -0
  55. package/src/assets/images/home-assistant/heat-pump.svg +30 -0
  56. package/src/assets/images/home-assistant/in-wall.svg +26 -0
  57. package/src/assets/images/home-assistant/index.ts +25 -0
  58. package/src/assets/images/home-assistant/landscape-lights.svg +23 -0
  59. package/src/assets/images/home-assistant/other.svg +22 -0
  60. package/src/assets/images/home-assistant/sprinkler-system.svg +11 -0
  61. package/src/assets/images/home-assistant/sprinkler-system2.svg +23 -0
  62. package/src/assets/images/home-assistant/wired-smoke-detector.svg +24 -0
  63. package/src/assets/images/index.ts +3 -0
  64. package/src/assets/images/jacuzzi.svg +38 -0
  65. package/src/components/forms/dynamicForm/fields/HomeInitialSetup.tsx +13 -2
  66. package/src/components/propertyTiles/propertyRecords/RecordsRow.tsx +10 -2
  67. package/src/components/propertyTiles/propertyRecords/RecordsSession.tsx +7 -4
  68. package/src/components/wizard/WizardInitialOptions.tsx +2 -23
  69. package/src/components/wizard/WizardStepOptions.tsx +96 -0
  70. package/src/components/wizard/index.ts +2 -0
  71. package/src/helpers/forms/dynamicForm.helper.ts +115 -61
  72. package/src/helpers/index.ts +1 -0
  73. package/src/helpers/propertyTiles/PropertyRecords.helper.ts +30 -9
  74. package/src/helpers/wizard/optionsStyles.ts +20 -0
  75. package/src/interfaces/forms/dynamicForm/DynamicForm.interface.ts +29 -0
  76. package/src/interfaces/propertyTiles/RecordsSession.interface.ts +3 -0
  77. package/src/mocks/forms/dynamicForm.mock.ts +285 -0
  78. package/src/mocks/propertyTiles/details.ts +10 -1
  79. 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, Fragment as _Fragment } from "react/jsx-runtime";
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(_Fragment, {});
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"]) => import("react/jsx-runtime").JSX.Element;
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: "base", p: "base", borderBottom: "1px solid", borderColor: showLine ? 'lightBlue.2' : 'transparent', children: rows }));
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
- } }, setStyles(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 })] }))] }));
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,2 @@
1
+ import { DynamicFormI } from '../../interfaces';
2
+ export declare const WizardStepOptions: ({ form, title, callback }: DynamicFormI) => import("react/jsx-runtime").JSX.Element;
@@ -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,4 +1,6 @@
1
1
  export * from './ControlledWizard';
2
2
  export * from './WizardInitialOptions';
3
+ export * from './WizardStepOptions';
4
+ export * from './WizardSuccessHeader';
3
5
  export * from './WizardTextHeader';
4
6
  export * from './WizardTextBody';
@@ -1,4 +1,6 @@
1
1
  export * from './ControlledWizard';
2
2
  export * from './WizardInitialOptions';
3
+ export * from './WizardStepOptions';
4
+ export * from './WizardSuccessHeader';
3
5
  export * from './WizardTextHeader';
4
6
  export * from './WizardTextBody';
@@ -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, Pool2, 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, MagnifyingGlassPerson, } from '../../assets/images';
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
- umbrella: Closet,
47
- warranty: Warranty,
48
- water: GlassWater,
49
- house: Structure,
101
+ sprinkler: Sprinkler,
50
102
  target: Target,
51
103
  title: CircleFace,
52
- company: Company2,
104
+ tools: Tools2,
105
+ umbrella: Closet,
53
106
  wallet: Wallet,
54
- gear: GearTime,
55
- folder: YellowFolder,
56
- flower: Flower,
57
- 'search-person': MagnifyingGlassPerson,
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
  };
@@ -22,3 +22,4 @@ export * from './SignIn.helper';
22
22
  export * from './SignUp.helper';
23
23
  export * from './tour';
24
24
  export * from './HomeRoles.helper';
25
+ export * from './wizard/optionsStyles';
@@ -22,3 +22,4 @@ export * from './SignIn.helper';
22
22
  export * from './SignUp.helper';
23
23
  export * from './tour';
24
24
  export * from './HomeRoles.helper';
25
+ export * from './wizard/optionsStyles';
@@ -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> | null>>;
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
- : null;
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((_a = data === null || data === void 0 ? void 0 : data.basementFinishedPercent) !== null && _a !== void 0 ? _a : 100)).toString(),
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((_b = data === null || data === void 0 ? void 0 : data.neighborhood) === null || _b === void 0 ? void 0 : _b.name),
143
- Type: capitalize((_c = data === null || data === void 0 ? void 0 : data.neighborhood) === null || _c === void 0 ? void 0 : _c.type),
144
- Location: capitalize((_d = data === null || data === void 0 ? void 0 : data.neighborhood) === null || _d === void 0 ? void 0 : _d.center),
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,7 @@
1
+ export declare const setOptionButtonStyles: (completed?: boolean) => {
2
+ bg: string;
3
+ transition: string;
4
+ _hover: {
5
+ bg: string;
6
+ };
7
+ };
@@ -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;
@@ -1,4 +1,7 @@
1
1
  export interface RecordsSessionI {
2
2
  details: Record<string, string | undefined>;
3
3
  showLine?: boolean;
4
+ textAlign?: 'left' | 'right';
5
+ gap?: string | number;
6
+ p?: string | number;
4
7
  }