@homefile/components-v2 2.2.2 → 2.2.4

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 (66) hide show
  1. package/dist/assets/locales/en/index.json +3 -2
  2. package/dist/components/forms/dynamicForm/DynamicForm.js +3 -3
  3. package/dist/components/forms/dynamicForm/fields/CheckboxGroupField.d.ts +1 -1
  4. package/dist/components/forms/dynamicForm/fields/CheckboxGroupField.js +2 -2
  5. package/dist/components/forms/dynamicForm/fields/TileBodyFields.d.ts +2 -0
  6. package/dist/components/forms/dynamicForm/fields/TileBodyFields.js +22 -0
  7. package/dist/components/forms/dynamicForm/fields/TileFooterFields.d.ts +2 -0
  8. package/dist/components/forms/dynamicForm/fields/TileFooterFields.js +23 -0
  9. package/dist/components/forms/dynamicForm/fields/TileHeaderFields.d.ts +2 -0
  10. package/dist/components/forms/dynamicForm/fields/TileHeaderFields.js +22 -0
  11. package/dist/components/forms/dynamicForm/fields/index.d.ts +3 -0
  12. package/dist/components/forms/dynamicForm/fields/index.js +3 -0
  13. package/dist/components/forms/dynamicForm/fields/uiFields/TileBody.js +2 -2
  14. package/dist/components/forms/dynamicForm/fields/uiFields/TileBody.tsx +23 -9
  15. package/dist/components/forms/dynamicForm/fields/uiFields/TileBodyAction.js +1 -1
  16. package/dist/components/forms/dynamicForm/fields/uiFields/TileBodyAction.tsx +1 -1
  17. package/dist/components/forms/dynamicForm/fields/uiFields/TileBodyHeader.js +1 -1
  18. package/dist/components/forms/dynamicForm/fields/uiFields/TileBodyHeader.tsx +1 -1
  19. package/dist/components/forms/dynamicForm/fields/uiFields/TileBodyLogo.js +1 -1
  20. package/dist/components/forms/dynamicForm/fields/uiFields/TileBodyLogo.tsx +8 -1
  21. package/dist/components/forms/dynamicForm/fields/uiFields/TileBodySectionGrid.js +1 -1
  22. package/dist/components/forms/dynamicForm/fields/uiFields/TileBodySectionGrid.tsx +2 -2
  23. package/dist/components/forms/dynamicForm/fields/uiFields/TileCta.js +1 -1
  24. package/dist/components/forms/dynamicForm/fields/uiFields/TileCta.tsx +1 -0
  25. package/dist/components/forms/dynamicForm/fields/uiFields/VerticalIcon.js +2 -2
  26. package/dist/components/forms/dynamicForm/fields/uiFields/VerticalIcon.tsx +5 -3
  27. package/dist/components/homeAssistant/HomeAssistant.d.ts +1 -1
  28. package/dist/components/homeAssistant/HomeAssistant.js +2 -2
  29. package/dist/components/homeAssistant/panel/HomeAssistantPanel.d.ts +1 -1
  30. package/dist/components/homeAssistant/panel/HomeAssistantPanel.js +3 -3
  31. package/dist/components/homeBoard/HomeBoard.js +3 -3
  32. package/dist/components/partner/PartnerFooter.js +1 -1
  33. package/dist/components/partner/PartnerHeader.d.ts +1 -1
  34. package/dist/components/partner/PartnerHeader.js +2 -2
  35. package/dist/helpers/forms/dynamicForm.helper.js +2 -1
  36. package/dist/interfaces/forms/dynamicForm/DynamicForm.interface.d.ts +1 -1
  37. package/dist/interfaces/homeAssistant/HomeAssistantPanel.interface.d.ts +1 -0
  38. package/dist/interfaces/homeAssistant/HomeAssistantSteps.interface.d.ts +1 -0
  39. package/dist/interfaces/partner/PartnerHeader.interface.d.ts +2 -1
  40. package/dist/mocks/forms/dynamicForm.mock.js +66 -66
  41. package/package.json +1 -1
  42. package/src/assets/locales/en/index.json +3 -2
  43. package/src/components/forms/dynamicForm/DynamicForm.tsx +22 -13
  44. package/src/components/forms/dynamicForm/fields/CheckboxGroupField.tsx +13 -6
  45. package/src/components/forms/dynamicForm/fields/TileBodyFields.tsx +34 -0
  46. package/src/components/forms/dynamicForm/fields/TileFooterFields.tsx +49 -0
  47. package/src/components/forms/dynamicForm/fields/TileHeaderFields.tsx +40 -0
  48. package/src/components/forms/dynamicForm/fields/index.ts +3 -0
  49. package/src/components/forms/dynamicForm/fields/uiFields/TileBody.tsx +23 -9
  50. package/src/components/forms/dynamicForm/fields/uiFields/TileBodyAction.tsx +1 -1
  51. package/src/components/forms/dynamicForm/fields/uiFields/TileBodyHeader.tsx +1 -1
  52. package/src/components/forms/dynamicForm/fields/uiFields/TileBodyLogo.tsx +8 -1
  53. package/src/components/forms/dynamicForm/fields/uiFields/TileBodySectionGrid.tsx +2 -2
  54. package/src/components/forms/dynamicForm/fields/uiFields/TileCta.tsx +1 -0
  55. package/src/components/forms/dynamicForm/fields/uiFields/VerticalIcon.tsx +5 -3
  56. package/src/components/homeAssistant/HomeAssistant.tsx +2 -1
  57. package/src/components/homeAssistant/panel/HomeAssistantPanel.tsx +3 -2
  58. package/src/components/homeBoard/HomeBoard.tsx +10 -0
  59. package/src/components/partner/PartnerFooter.tsx +1 -1
  60. package/src/components/partner/PartnerHeader.tsx +9 -1
  61. package/src/helpers/forms/dynamicForm.helper.ts +2 -0
  62. package/src/interfaces/forms/dynamicForm/DynamicForm.interface.ts +1 -0
  63. package/src/interfaces/homeAssistant/HomeAssistantPanel.interface.ts +1 -0
  64. package/src/interfaces/homeAssistant/HomeAssistantSteps.interface.ts +1 -0
  65. package/src/interfaces/partner/PartnerHeader.interface.ts +2 -1
  66. package/src/mocks/forms/dynamicForm.mock.ts +66 -66
@@ -112,7 +112,8 @@
112
112
  "send": "Send",
113
113
  "share": "Share",
114
114
  "skip": "Skip for now",
115
- "saveStep": "Save Step"
115
+ "saveStep": "Save Step",
116
+ "finish": "Finish"
116
117
  },
117
118
  "createDocument": {
118
119
  "tabs": {
@@ -400,7 +401,7 @@
400
401
  },
401
402
  "details": "Provide details about your home’s",
402
403
  "homeMonitor": "Homie",
403
- "homeMonitoring": "Homie is monitoring your home.",
404
+ "homeMonitoring": "Homie is learning about your home.",
404
405
  "monitorAlerts": {
405
406
  "collapse": "Collapse Alert",
406
407
  "homeAction": "Home Action",
@@ -13,14 +13,14 @@ import { createElement as _createElement } from "react";
13
13
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
14
14
  import { FormProvider } from 'react-hook-form';
15
15
  import { t } from 'i18next';
16
- import { Stack, Text } from '@chakra-ui/react';
16
+ import { Box, Stack, Text } from '@chakra-ui/react';
17
17
  import { HiddenFieldSection, GroupField, TextField, TextAreaField, SelectField, RatingField, GridField, FieldWithDelete, FileField, SwitchField, DateField, NumberField, CurrencyField, TileBody, CheckboxGroupField, } from '../..';
18
18
  import { useDynamicForm } from '../../../hooks';
19
19
  import { fieldIcons } from '../../../helpers';
20
20
  export const DynamicForm = (_a) => {
21
21
  var { callback, form: fields, menuItems, onUpload, showTitle = true, title, uploadingFieldId } = _a, props = __rest(_a, ["callback", "form", "menuItems", "onUpload", "showTitle", "title", "uploadingFieldId"]);
22
22
  const { form, visibleFields, hiddenFields, handleAddAll, handleAdd, handleFilesUpload, handleRemove, } = useDynamicForm({ fields, onUpload });
23
- return (_jsxs(Stack, { bg: "lightBlue.1", spacing: "0", h: "full", children: [showTitle && (_jsx(Text, { fontFamily: "secondary", px: "base", pt: "4", pb: "2", children: title ? title : t('forms.itemDetails') })), _jsx(FormProvider, Object.assign({}, form, { children: _jsx(_Fragment, { children: visibleFields === null || visibleFields === void 0 ? void 0 : visibleFields.map((field) => {
23
+ return (_jsxs(Stack, { bg: "lightBlue.1", spacing: "0", h: "full", overflowX: "hidden", children: [showTitle && (_jsx(Box, { px: "base", pt: "4", pb: "2", borderBottom: "1px dashed", borderColor: "lightBlue.6", children: _jsx(Text, { fontFamily: "secondary", children: title ? title : t('forms.itemDetails') }) })), _jsx(FormProvider, Object.assign({}, form, { children: _jsx(_Fragment, { children: visibleFields === null || visibleFields === void 0 ? void 0 : visibleFields.map((field) => {
24
24
  const { canBeHidden, children, description, icon, id, name, options, type, value, } = field;
25
25
  const baseProps = {
26
26
  id,
@@ -63,7 +63,7 @@ export const DynamicForm = (_a) => {
63
63
  case 'group':
64
64
  return (_jsx(GroupField, { id: id, fields: children, onRemove: handleRemove, canBeHidden: canBeHidden }, id));
65
65
  case 'checkbox-group':
66
- return (_jsx(CheckboxGroupField, { id: id, children: children, value: value, description: description, icon: baseProps.icon }, id));
66
+ return (_jsx(FieldWithDelete, Object.assign({}, fieldWithDeleteBaseProps, { children: _jsx(CheckboxGroupField, { id: id, children: children, description: description, icon: baseProps.icon }, id) })));
67
67
  case 'tile-body':
68
68
  return (_createElement(TileBody, Object.assign({}, props, { key: id, callback: callback, fields: children, menuItems: menuItems })));
69
69
  default:
@@ -1,2 +1,2 @@
1
1
  import { ReportI } from '../../../../interfaces';
2
- export declare const CheckboxGroupField: ({ children, icon, id, value, description }: Pick<ReportI, "children" | "icon" | "id" | "value" | "description">) => import("react/jsx-runtime").JSX.Element;
2
+ export declare const CheckboxGroupField: ({ children, icon, id, description, }: Pick<ReportI, "children" | "icon" | "id" | "description">) => import("react/jsx-runtime").JSX.Element;
@@ -2,14 +2,14 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { Box, Checkbox, CheckboxGroup, Flex, SimpleGrid, Text, } from '@chakra-ui/react';
3
3
  import { FormIcon } from '../../..';
4
4
  import { Controller, useFormContext } from 'react-hook-form';
5
- export const CheckboxGroupField = ({ children, icon, id, value, description }) => {
5
+ export const CheckboxGroupField = ({ children, icon, id, description, }) => {
6
6
  const { control } = useFormContext();
7
7
  const defaultValues = children === null || children === void 0 ? void 0 : children.map((child) => {
8
8
  if (child.value) {
9
9
  return child.name;
10
10
  }
11
11
  }).filter((value) => value);
12
- return (_jsxs(Box, { children: [_jsx(Box, { p: "base", borderBottom: "1px dashed", borderColor: "lightBlue.6", children: _jsx(Text, { fontFamily: "secondary", fontSize: "sm", children: description }) }), _jsxs(Flex, { p: "base", gap: "base", children: [_jsx(FormIcon, { icon: icon }), _jsx(Controller, { control: control, name: id, defaultValue: defaultValues, render: ({ field: { onChange } }) => {
12
+ return (_jsxs(Box, { flex: "auto", position: "relative", children: [_jsx(Box, { pb: "base", children: _jsx(Text, { fontFamily: "secondary", fontSize: "sm", children: description }) }), _jsx(Box, { position: "absolute", borderBottom: "1px dashed", borderColor: "lightBlue.6", h: "1px", left: "-13px", right: "-52px" }), _jsxs(Flex, { py: "base", gap: "base", children: [_jsx(FormIcon, { icon: icon }), _jsx(Controller, { control: control, name: id, defaultValue: defaultValues, render: ({ field: { onChange } }) => {
13
13
  return (_jsx(CheckboxGroup, { defaultValue: defaultValues, onChange: onChange, children: _jsx(SimpleGrid, { columns: 2, spacing: "base", w: "full", children: children === null || children === void 0 ? void 0 : children.map((child) => {
14
14
  const { id, name, value } = child;
15
15
  return (_jsx(Checkbox, { value: String(name), isChecked: Boolean(value), children: _jsx(Text, { fontSize: "sm", children: name }) }, id));
@@ -0,0 +1,2 @@
1
+ import { FieldTypesI } from '../../../../interfaces';
2
+ export declare const TileBodyFields: ({ fields }: FieldTypesI) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,22 @@
1
+ import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { fieldIcons } from '../../../../helpers';
3
+ import { VerticalIcon, TileBodySectionGrid } from '../../..';
4
+ export const TileBodyFields = ({ fields }) => {
5
+ return (_jsx(_Fragment, { children: fields === null || fields === void 0 ? void 0 : fields.map(({ children, id, name, type, value, icon }) => {
6
+ const baseProps = {
7
+ key: id,
8
+ id,
9
+ icon: icon ? fieldIcons[icon] : undefined,
10
+ placeholder: name,
11
+ value,
12
+ };
13
+ switch (type) {
14
+ case 'tile-body-section-grid':
15
+ return _jsx(TileBodySectionGrid, { fields: children }, id);
16
+ case 'vertical-icon':
17
+ return (_jsx(VerticalIcon, { icon: baseProps.icon, value: String(baseProps.value) }, id));
18
+ default:
19
+ return null;
20
+ }
21
+ }) }));
22
+ };
@@ -0,0 +1,2 @@
1
+ import { FieldTypesI } from '../../../../interfaces';
2
+ export declare const TileFooterFields: ({ callback, fields }: FieldTypesI) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,23 @@
1
+ import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { fieldIcons } from '../../../../helpers';
3
+ import { TileBodyAction, TileCta } from '../../..';
4
+ export const TileFooterFields = ({ callback, fields }) => {
5
+ return (_jsx(_Fragment, { children: fields === null || fields === void 0 ? void 0 : fields.map(({ children, description, id, name, type, value, icon, link }) => {
6
+ const baseProps = {
7
+ key: id,
8
+ id,
9
+ icon: icon ? fieldIcons[icon] : undefined,
10
+ placeholder: name,
11
+ value,
12
+ };
13
+ switch (type) {
14
+ case 'tile-body-action':
15
+ return (_jsx(TileBodyAction, { fields: children, callback: callback }, id));
16
+ case 'primary-cta':
17
+ case 'secondary-cta':
18
+ return (_jsx(TileCta, { callback: callback, description: description, icon: icon, id: id, name: name, type: type, link: link, value: String(baseProps.value) }, id));
19
+ default:
20
+ return null;
21
+ }
22
+ }) }));
23
+ };
@@ -0,0 +1,2 @@
1
+ import { FieldTypesI } from '../../../../interfaces';
2
+ export declare const TileHeaderFields: ({ fields, menuItems }: FieldTypesI) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,22 @@
1
+ import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { fieldIcons } from '../../../../helpers';
3
+ import { TileBodyHeader, TileBodyLogo } from '../../..';
4
+ export const TileHeaderFields = ({ fields, menuItems }) => {
5
+ return (_jsx(_Fragment, { children: fields === null || fields === void 0 ? void 0 : fields.map(({ id, name, type, value, icon }) => {
6
+ const baseProps = {
7
+ key: id,
8
+ id,
9
+ icon: icon ? fieldIcons[icon] : undefined,
10
+ placeholder: name,
11
+ value,
12
+ };
13
+ switch (type) {
14
+ case 'tile-body-header':
15
+ return (_jsx(TileBodyHeader, { value: String(baseProps.value) }, baseProps.key));
16
+ case 'tile-body-logo':
17
+ return (_jsx(TileBodyLogo, { name: name, value: String(baseProps.value), menuItems: menuItems }, baseProps.key));
18
+ default:
19
+ return null;
20
+ }
21
+ }) }));
22
+ };
@@ -14,4 +14,7 @@ export * from './SelectField';
14
14
  export * from './SingleFields';
15
15
  export * from './TextAreaField';
16
16
  export * from './TextField';
17
+ export * from './TileBodyFields';
18
+ export * from './TileFooterFields';
19
+ export * from './TileHeaderFields';
17
20
  export * from './uiFields';
@@ -14,4 +14,7 @@ export * from './SelectField';
14
14
  export * from './SingleFields';
15
15
  export * from './TextAreaField';
16
16
  export * from './TextField';
17
+ export * from './TileBodyFields';
18
+ export * from './TileFooterFields';
19
+ export * from './TileHeaderFields';
17
20
  export * from './uiFields';
@@ -11,8 +11,8 @@ var __rest = (this && this.__rest) || function (s, e) {
11
11
  };
12
12
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
13
13
  import { Box, Stack } from '@chakra-ui/react';
14
- import { PartnerFooter, SingleFields } from '../../../..';
14
+ import { PartnerFooter, TileBodyFields, TileFooterFields, TileHeaderFields, } from '../../../..';
15
15
  export const TileBody = (_a) => {
16
16
  var { callback, fields, websiteUrl = '', menuItems } = _a, props = __rest(_a, ["callback", "fields", "websiteUrl", "menuItems"]);
17
- return (_jsx(Box, { display: "flex", flexGrow: 1, flexDir: "column", bg: "#f6f8f9", boxShadow: "lg", children: _jsxs(Stack, { spacing: "0", flex: "1", children: [_jsx(SingleFields, { callback: callback, fields: fields, menuItems: menuItems }), _jsx(PartnerFooter, Object.assign({}, props, { websiteUrl: websiteUrl }))] }) }));
17
+ return (_jsx(Box, { display: "flex", flexGrow: 1, flexDir: "column", bg: "neutral.white", boxShadow: "lg", children: _jsxs(Stack, { spacing: "0", flex: "1", justify: "space-between", children: [_jsx(Box, { children: _jsx(TileHeaderFields, { fields: fields, menuItems: menuItems }) }), _jsx(TileBodyFields, { fields: fields }), _jsxs(Stack, { spacing: "0", bg: "lightBlue.1", pt: "base", children: [_jsx(TileFooterFields, { callback: callback, fields: fields }), _jsx(PartnerFooter, Object.assign({}, props, { websiteUrl: websiteUrl }))] })] }) }));
18
18
  };
@@ -1,6 +1,12 @@
1
1
  import { Box, Stack } from '@chakra-ui/react'
2
2
  import { TileBodyI } from '@/interfaces'
3
- import { PartnerFooter, SingleFields } from '@/components'
3
+ import {
4
+ PartnerFooter,
5
+ SingleFields,
6
+ TileBodyFields,
7
+ TileFooterFields,
8
+ TileHeaderFields,
9
+ } from '@/components'
4
10
 
5
11
  export const TileBody = ({
6
12
  callback,
@@ -10,14 +16,22 @@ export const TileBody = ({
10
16
  ...props
11
17
  }: TileBodyI) => {
12
18
  return (
13
- <Box display="flex" flexGrow={1} flexDir="column" bg="#f6f8f9" boxShadow="lg">
14
- <Stack spacing="0" flex="1">
15
- <SingleFields
16
- callback={callback}
17
- fields={fields}
18
- menuItems={menuItems}
19
- />
20
- <PartnerFooter {...props} websiteUrl={websiteUrl} />
19
+ <Box
20
+ display="flex"
21
+ flexGrow={1}
22
+ flexDir="column"
23
+ bg="neutral.white"
24
+ boxShadow="lg"
25
+ >
26
+ <Stack spacing="0" flex="1" justify="space-between">
27
+ <Box>
28
+ <TileHeaderFields fields={fields} menuItems={menuItems} />
29
+ </Box>
30
+ <TileBodyFields fields={fields} />
31
+ <Stack spacing="0" bg="lightBlue.1" pt="base">
32
+ <TileFooterFields callback={callback} fields={fields} />
33
+ <PartnerFooter {...props} websiteUrl={websiteUrl} />
34
+ </Stack>
21
35
  </Stack>
22
36
  </Box>
23
37
  )
@@ -2,5 +2,5 @@ import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { Flex } from '@chakra-ui/react';
3
3
  import { SingleFields } from '../../../..';
4
4
  export const TileBodyAction = ({ callback, fields }) => {
5
- return (_jsx(Flex, { p: "base", align: "center", gap: "base", background: "#f6f8f9", children: _jsx(SingleFields, { fields: fields, callback: callback }) }));
5
+ return (_jsx(Flex, { p: "base", align: "center", gap: "base", children: _jsx(SingleFields, { fields: fields, callback: callback }) }));
6
6
  };
@@ -4,7 +4,7 @@ import { TileBodyI } from '@/interfaces'
4
4
 
5
5
  export const TileBodyAction = ({ callback, fields }: TileBodyI) => {
6
6
  return (
7
- <Flex p="base" align="center" gap="base" background={"#f6f8f9"}>
7
+ <Flex p="base" align="center" gap="base">
8
8
  <SingleFields fields={fields} callback={callback} />
9
9
  </Flex>
10
10
  )
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { Box, Text } from '@chakra-ui/react';
3
3
  export const TileBodyHeader = ({ value = '' }) => {
4
- return (_jsx(Box, { borderTop: "1px solid #dbdbdb", p: "base", background: "#ffffff", children: _jsx(Text, { fontWeight: "semibold", children: value }) }));
4
+ return (_jsx(Box, { p: "base", children: _jsx(Text, { fontWeight: "semibold", children: value }) }));
5
5
  };
@@ -2,7 +2,7 @@ import { Box, Text } from '@chakra-ui/react'
2
2
 
3
3
  export const TileBodyHeader = ({ value = '' }) => {
4
4
  return (
5
- <Box borderTop={"1px solid #dbdbdb"} p="base" background={"#ffffff"}>
5
+ <Box p="base">
6
6
  <Text fontWeight="semibold">{value}</Text>
7
7
  </Box>
8
8
  )
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { PartnerHeader } from '../../../..';
3
3
  export const TileBodyLogo = ({ menuItems, name = '', value, }) => {
4
- return _jsx(PartnerHeader, { logo: value, partnerName: name, menuItems: menuItems });
4
+ return (_jsx(PartnerHeader, { borderColor: "lightBlue.6", logo: value, partnerName: name, menuItems: menuItems }));
5
5
  };
@@ -6,5 +6,12 @@ export const TileBodyLogo = ({
6
6
  name = '',
7
7
  value,
8
8
  }: TileBodyLogoI) => {
9
- return <PartnerHeader logo={value} partnerName={name} menuItems={menuItems} />
9
+ return (
10
+ <PartnerHeader
11
+ borderColor="lightBlue.6"
12
+ logo={value}
13
+ partnerName={name}
14
+ menuItems={menuItems}
15
+ />
16
+ )
10
17
  }
@@ -2,5 +2,5 @@ import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { SimpleGrid } from '@chakra-ui/react';
3
3
  import { SingleFields } from '../../../..';
4
4
  export const TileBodySectionGrid = ({ fields }) => {
5
- return (_jsx(SimpleGrid, { columns: 3, spacing: "base", p: "base", background: "#ffffff", children: _jsx(SingleFields, { fields: fields }) }));
5
+ return (_jsx(SimpleGrid, { columns: 3, spacing: "base", p: "base", children: _jsx(SingleFields, { fields: fields }) }));
6
6
  };
@@ -1,10 +1,10 @@
1
- import { SimpleGrid } from '@chakra-ui/react'
1
+ import { Center, SimpleGrid } from '@chakra-ui/react'
2
2
  import { SingleFields } from '@/components'
3
3
  import { TileBodyI } from '@/interfaces'
4
4
 
5
5
  export const TileBodySectionGrid = ({ fields }: TileBodyI) => {
6
6
  return (
7
- <SimpleGrid columns={3} spacing="base" p="base" background={"#ffffff"}>
7
+ <SimpleGrid columns={3} spacing="base" p="base">
8
8
  <SingleFields fields={fields} />
9
9
  </SimpleGrid>
10
10
  )
@@ -14,5 +14,5 @@ import { Button } from '@chakra-ui/react';
14
14
  export const TileCta = (_a) => {
15
15
  var { callback } = _a, props = __rest(_a, ["callback"]);
16
16
  const { type, value } = props;
17
- return (_jsx(Button, { onClick: () => callback === null || callback === void 0 ? void 0 : callback(Object.assign({}, props)), variant: type === 'primary-cta' ? 'tertiaryFooter' : 'secondaryFooter', fontSize: "sm", children: value }));
17
+ return (_jsx(Button, { onClick: () => callback === null || callback === void 0 ? void 0 : callback(Object.assign({}, props)), variant: type === 'primary-cta' ? 'tertiaryFooter' : 'secondaryFooter', fontSize: "sm", maxW: "full", children: value }));
18
18
  };
@@ -8,6 +8,7 @@ export const TileCta = ({ callback, ...props }: TileCtaI) => {
8
8
  onClick={() => callback?.({ ...props })}
9
9
  variant={type === 'primary-cta' ? 'tertiaryFooter' : 'secondaryFooter'}
10
10
  fontSize="sm"
11
+ maxW="full"
11
12
  >
12
13
  {value}
13
14
  </Button>
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { Box, Image, Text } from '@chakra-ui/react';
2
+ import { Box, Center, Image, Text } from '@chakra-ui/react';
3
3
  export const VerticalIcon = ({ icon, value }) => {
4
- return (_jsxs(Box, { bg: "neutral.white", borderRadius: "md", border: "1px solid", borderColor: "lightBlue.6", display: "flex", flexDirection: "column", alignItems: "center", justifyContent: "center", children: [_jsx(Box, { h: "46px", display: "flex", alignItems: "center", children: _jsx(Image, { src: icon, alt: value, w: "auto", h: "80%" }) }), _jsx(Box, { pb: "2", children: _jsx(Text, { fontWeight: "semibold", textAlign: "center", fontSize: "13px", lineHeight: "14px", children: value }) })] }));
4
+ return (_jsxs(Box, { bg: "neutral.white", borderRadius: "md", border: "1px solid", borderColor: "lightBlue.6", display: "flex", flexDirection: "column", alignItems: "center", justifyContent: "center", minH: "110px", children: [_jsx(Box, { h: "46px", display: "flex", alignItems: "center", children: _jsx(Image, { src: icon, alt: value, w: "auto", h: "80%" }) }), _jsx(Center, { pb: "2", children: _jsx(Text, { fontWeight: "semibold", textAlign: "center", fontSize: "13px", lineHeight: "14px", w: "70%", children: value }) })] }));
5
5
  };
@@ -1,4 +1,4 @@
1
- import { Box, Image, Text } from '@chakra-ui/react'
1
+ import { Box, Center, Image, Text } from '@chakra-ui/react'
2
2
  import { VerticalIconI } from '@/interfaces'
3
3
 
4
4
  export const VerticalIcon = ({ icon, value }: VerticalIconI) => {
@@ -12,20 +12,22 @@ export const VerticalIcon = ({ icon, value }: VerticalIconI) => {
12
12
  flexDirection="column"
13
13
  alignItems="center"
14
14
  justifyContent="center"
15
+ minH="110px"
15
16
  >
16
17
  <Box h="46px" display="flex" alignItems="center">
17
18
  <Image src={icon} alt={value} w="auto" h="80%" />
18
19
  </Box>
19
- <Box pb="2">
20
+ <Center pb="2">
20
21
  <Text
21
22
  fontWeight="semibold"
22
23
  textAlign="center"
23
24
  fontSize="13px"
24
25
  lineHeight="14px"
26
+ w="70%"
25
27
  >
26
28
  {value}
27
29
  </Text>
28
- </Box>
30
+ </Center>
29
31
  </Box>
30
32
  )
31
33
  }
@@ -1,2 +1,2 @@
1
1
  import { HomeAssistantStepsI } from '../../interfaces';
2
- export declare const HomeAssistant: ({ showTutorial, tutorialUrl, ...props }: HomeAssistantStepsI) => import("react/jsx-runtime").JSX.Element;
2
+ export declare const HomeAssistant: ({ showTutorial, tutorialUrl, onStart, ...props }: HomeAssistantStepsI) => import("react/jsx-runtime").JSX.Element;
@@ -14,8 +14,8 @@ import { useState } from 'react';
14
14
  import { t } from 'i18next';
15
15
  import { HomeAssistantSteps, HomeAssistantTutorial, HomeAssistantWrapper, } from '..';
16
16
  export const HomeAssistant = (_a) => {
17
- var { showTutorial = false, tutorialUrl = '' } = _a, props = __rest(_a, ["showTutorial", "tutorialUrl"]);
17
+ var { showTutorial = false, tutorialUrl = '', onStart } = _a, props = __rest(_a, ["showTutorial", "tutorialUrl", "onStart"]);
18
18
  const [startSetup, setStartSetup] = useState(false);
19
19
  const showAirplane = props.currentStep === 6 && (!showTutorial || startSetup);
20
- return (_jsxs(HomeAssistantWrapper, { showAirplane: showAirplane, title: t('homeAssistant.title'), children: [!startSetup && showTutorial && (_jsx(HomeAssistantTutorial, { onStart: () => setStartSetup(true), videoUrl: tutorialUrl })), (startSetup || !showTutorial) && _jsx(HomeAssistantSteps, Object.assign({}, props))] }));
20
+ return (_jsxs(HomeAssistantWrapper, { showAirplane: showAirplane, title: t('homeAssistant.title'), children: [!startSetup && showTutorial && (_jsx(HomeAssistantTutorial, { onStart: onStart ? onStart : () => setStartSetup(true), videoUrl: tutorialUrl })), (startSetup || !showTutorial) && _jsx(HomeAssistantSteps, Object.assign({}, props))] }));
21
21
  };
@@ -1,3 +1,3 @@
1
1
  import { PropsWithChildren } from 'react';
2
2
  import { HomeAssistantPanelI } from '../../../interfaces';
3
- export declare const HomeAssistantPanel: ({ children, currentForm, currentStep, onApplianceClick, onBack, onClose, onNext, onSave, backDisabled, nextDisabled, }: PropsWithChildren<HomeAssistantPanelI>) => import("react/jsx-runtime").JSX.Element;
3
+ export declare const HomeAssistantPanel: ({ children, currentForm, currentStep, onApplianceClick, onBack, onClose, onNext, onSave, backDisabled, nextDisabled, hasCompleted }: PropsWithChildren<HomeAssistantPanelI>) => import("react/jsx-runtime").JSX.Element;
@@ -7,7 +7,7 @@ import { IA } from '../../../assets/images';
7
7
  import { ApplianceSteps, SimpleDynamicForm, FooterButtons, HomeAssistantPanelStep, PanelHeader, } from '../..';
8
8
  import { homeAssistantSteps } from '../../../helpers';
9
9
  import { useSimpleDynamicForm } from '../../../hooks';
10
- export const HomeAssistantPanel = ({ children, currentForm, currentStep, onApplianceClick, onBack, onClose, onNext, onSave, backDisabled, nextDisabled, }) => {
10
+ export const HomeAssistantPanel = ({ children, currentForm, currentStep, onApplianceClick, onBack, onClose, onNext, onSave, backDisabled, nextDisabled, hasCompleted }) => {
11
11
  const [addedAppliances, updateAddedAppliances] = useState([]);
12
12
  const { title } = homeAssistantSteps[currentStep - 1];
13
13
  const text = `${t('homeAssistant.details')} ${title.toLowerCase()}:`;
@@ -33,9 +33,9 @@ export const HomeAssistantPanel = ({ children, currentForm, currentStep, onAppli
33
33
  isDisabled: backDisabled,
34
34
  }, button2: {
35
35
  buttonStyle: 'primaryFooter',
36
- label: t('buttons.saveStep'),
36
+ label: !hasCompleted && currentStep === 6 ? t('buttons.finish') : t('buttons.saveStep'),
37
37
  onClick: () => onSave(updatedFields),
38
- }, button3: {
38
+ }, button3: (!hasCompleted && currentStep === 6) ? undefined : {
39
39
  buttonStyle: 'primaryFooter',
40
40
  label: t('buttons.next'),
41
41
  onClick: onNext,
@@ -11,7 +11,7 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
11
11
  import { Box, DrawerBody, DrawerContent, DrawerHeader, Flex, Stack, } from '@chakra-ui/react';
12
12
  import { HomeHeader, HomeCardWithRecipent, AddFolder, EditAccountType, FolderSharing, RightPanel, HomeBoardTour, RoomsMenu, ContactsContent, AppBar, BarDivider, ContactList, PeopleConnected, StorageUsed, TourButton, Trash, TutorialsButton, FolderTypeSelection, DisplayFiles, DisplayOptions, FilesUploader, FolderDetailBody, FolderDetailContent, FolderDetailFooter, FolderDetailHeader, FolderInfo, SharedAccounts, ReceiptAutofiler, HomeBoardGrid, ShortPartnerTile, ValueMonitor, TrendingValue, ReceiptsFiled, PropertyTaxes, AddHomeItem, SendCommunication, PartnerCatalogPanel, DynamicForm, PanelHeader, EditHomePanel, HomeCard, EditHomeFooter, HomeAssistant, HomeAssistantPanel, HomeMonitor, HomefileMonitoring, Notifications, HomeMonitorSteps, } from '..';
13
13
  import { HomeCards, recipientsDb, FoldersDB, selectOptions, RoomsList, RoomsToAdd, } from '../../helpers';
14
- import { ContactsMock, DisplayFilesMock, formFieldsMock, homeBoardRecorsMock, lineChartData, menuMock, partnerCatalogMock, sharedAccountsMock, socialLinksMock2, taxesMock, userMock, videoMock, homeAssitantStep1FormMock, homeAssitantStep2FormMock, homeAssitantStep3FormMock, homeAssitantStep4FormMock, homeAssitantStep5FormMock, homeAssitantStep6FormMock, } from '../../mocks';
14
+ import { ContactsMock, DisplayFilesMock, formFieldsMock, homeBoardRecorsMock, lineChartData, menuMock, partnerCatalogMock, sharedAccountsMock, socialLinksMock2, taxesMock, userMock, videoMock, homeAssitantStep1FormMock, homeAssitantStep2FormMock, homeAssitantStep3FormMock, homeAssitantStep4FormMock, homeAssitantStep5FormMock, homeAssitantStep6FormMock, tileUIMock, socialLinksMock, } from '../../mocks';
15
15
  import { useHomeBoard, useWindowDimensions } from '../../hooks';
16
16
  import { Painting } from '../../assets/images';
17
17
  const forms = {
@@ -48,7 +48,7 @@ export const HomeBoard = () => {
48
48
  ], onShareContacts: () => null, onDeleteContacts: () => null })),
49
49
  PartnerCatalog: (_jsx(PartnerCatalogPanel, { onClose: onRightClose, onPartnerAdd: () => null, partners: partnerCatalogMock })),
50
50
  AddHouseholdItem: (_jsxs(DrawerContent, { bg: "lightBlue.1", children: [_jsx(DrawerHeader, { p: "0", children: _jsx(PanelHeader, { handleCloseButton: handleClose, icon: Painting, title: "Add Household Item" }) }), _jsx(DrawerBody, { children: _jsx(DynamicForm, { form: formFieldsMock }) })] })),
51
- HomeAssistant: (_jsx(HomeAssistantPanel, { currentStep: homeAssistantCurrentStep, currentForm: currentHomeAssistantForm, onNext: handleHomeAssistantFormChange, onBack: handleHomeAssistantBack, onApplianceClick: () => null, onClose: onRightClose, onSave: () => { }, backDisabled: false, nextDisabled: false })),
51
+ HomeAssistant: (_jsx(HomeAssistantPanel, { currentStep: homeAssistantCurrentStep, currentForm: currentHomeAssistantForm, onNext: handleHomeAssistantFormChange, onBack: handleHomeAssistantBack, onApplianceClick: () => null, onClose: onRightClose, onSave: () => { }, backDisabled: false, nextDisabled: false, hasCompleted: true })),
52
52
  };
53
53
  const panelSize = currentComponent === 'PartnerCatalog' ? 'lg' : 'md';
54
54
  return (_jsxs(Box, { overflowX: "hidden", children: [_jsx(RightPanel, { overlay: showOverlay, isOpen: isRightOpen, onClose: onRightClose, size: panelSize, children: rightPanelComponents[currentComponent] }), _jsxs(Flex, { w: "full", minH: "100dvh", children: [_jsx(RoomsMenu, { activeRoom: "homeboard", handleAddRoom: (id) => __awaiter(void 0, void 0, void 0, function* () { return console.log(id); }), handleClick: () => null, handleHomeClick: () => null, rooms: RoomsList, roomsToAdd: RoomsToAdd }), _jsxs(Box, { w: "full", children: [_jsx(AppBarComponent, { setActiveTour: setActiveTour }), _jsxs(Stack, { spacing: "base", p: "base", children: [_jsx(HomeHeader, { buttonLabel: "Partner catalog", onBack: () => null, homeName: homeName, onAdd: () => null }), _jsxs(HomeBoardGrid, { children: [_jsx(HomeCardWithRecipent, { address: HomeCards[0].address, handleEdit: handleEditHomeClick, handleDeleteAccountType: (email) => email, handleSubmitAccountType: (form) => form, _id: HomeCards[0]._id, image: HomeCards[0].image, loading: false, name: HomeCards[0].name, menu: menuMock, addImage: () => null, recipients: recipientsDb, records: homeBoardRecorsMock }), _jsx(HomeAssistant, { currentPanel: homeAssistantCurrentStep, currentStep: 6, onStepClick: handleHomeAssistantClick }), _jsx(PropertyTaxes, { estimatedTaxValue: 1000, menuItems: menuMock, taxes: taxesMock, title: "Travis County Property Taxes" }), _jsx(HomeMonitor, { children: _jsxs(Stack, { spacing: "base", w: "full", px: "base", children: [_jsxs(Flex, { gap: "base", children: [_jsx(HomefileMonitoring, {}), _jsx(Notifications, { date: "10-10-24", local: "TX - Houston" })] }), _jsx(HomeMonitorSteps, { menuItems: [
@@ -56,7 +56,7 @@ export const HomeBoard = () => {
56
56
  label: 'Details',
57
57
  handleClick: handleHomeAssistantClick,
58
58
  },
59
- ], stepsWithAlerts: [], onStepClick: () => null })] }) }), _jsxs(Stack, { spacing: "base", children: [_jsx(ReceiptAutofiler, { onClick: () => null, totalReceipts: 36, totalTitle: "Receipts Received", forwardTo: "reciepts@homefile.cloud", onFilter: () => null, children: _jsx(ReceiptsFiled, { incidentalItemsNumber: 0, incidentalSpent: 0, inventoryItemsNumber: 0, inventorySpent: 0, total: 0 }) }), _jsx(ValueMonitor, { menuItems: menuMock, balance: "+3%", totalValue: 323421, year: "2023", yearValue: 5684 })] }), _jsx(ShortPartnerTile, { _id: "1", buttonText: "Contact Audrey Scheck", description: "Full-service design firm focusing on residential remodels, furnishing, and styling.", onClick: () => null, socialLinks: socialLinksMock2, logo: "https://static.wixstatic.com/media/258105_8e04439070694f278e4787a310ea9f4b~mv2.png", partnerName: "Audrey Scheck", websiteUrl: "" }), _jsx(TrendingValue, { chartData: lineChartData, marketValue: 894000, menuItems: menuMock, mortgageBalance: 220532, purchasePrice: 220532, roi: "+234%" }), _jsx(ShortPartnerTile, { _id: "2", buttonText: "Contact Audrey Scheck", description: "Full-service design firm focusing on residential remodels, furnishing, and styling.", onClick: () => null, socialLinks: socialLinksMock2, logo: "https://static.wixstatic.com/media/258105_8e04439070694f278e4787a310ea9f4b~mv2.png", partnerName: "Audrey Scheck", websiteUrl: "" }), _jsx(FolderSharing, { folders: FoldersDB, handleAddNewFolder: handleNewFolder, handleFolderClick: handleFolderClick, handleSelect: () => null, initialSelectItem: selectOptions[0], menuItems: menuMock, selectItems: selectOptions }), _jsxs(Stack, { spacing: "base", children: [_jsx(AddHomeItem, { handleClick: () => null }), _jsx(SendCommunication, { documentList: [] })] }), _jsx(ShortPartnerTile, { _id: "3", buttonText: "Contact Audrey Scheck", description: "Full-service design firm focusing on residential remodels, furnishing, and styling.", onClick: () => null, socialLinks: socialLinksMock2, logo: "https://static.wixstatic.com/media/258105_8e04439070694f278e4787a310ea9f4b~mv2.png", partnerName: "Audrey Scheck", websiteUrl: "" })] })] })] })] }), _jsx(HomeBoardTour, { currentStep: currentStep, handleClose: handleClose, handleStep: handleStep, meetStepUrl: videoMock, isActive: activeTour })] }));
59
+ ], stepsWithAlerts: [], onStepClick: () => null })] }) }), _jsx(DynamicForm, { form: tileUIMock, menuItems: menuMock, socialLinks: socialLinksMock, showTitle: false, websiteUrl: "http://www.audreyscheckdesign.com" }), _jsxs(Stack, { spacing: "base", children: [_jsx(ReceiptAutofiler, { onClick: () => null, totalReceipts: 36, totalTitle: "Receipts Received", forwardTo: "reciepts@homefile.cloud", onFilter: () => null, children: _jsx(ReceiptsFiled, { incidentalItemsNumber: 0, incidentalSpent: 0, inventoryItemsNumber: 0, inventorySpent: 0, total: 0 }) }), _jsx(ValueMonitor, { menuItems: menuMock, balance: "+3%", totalValue: 323421, year: "2023", yearValue: 5684 })] }), _jsx(ShortPartnerTile, { _id: "1", buttonText: "Contact Audrey Scheck", description: "Full-service design firm focusing on residential remodels, furnishing, and styling.", onClick: () => null, socialLinks: socialLinksMock2, logo: "https://static.wixstatic.com/media/258105_8e04439070694f278e4787a310ea9f4b~mv2.png", partnerName: "Audrey Scheck", websiteUrl: "" }), _jsx(TrendingValue, { chartData: lineChartData, marketValue: 894000, menuItems: menuMock, mortgageBalance: 220532, purchasePrice: 220532, roi: "+234%" }), _jsx(ShortPartnerTile, { _id: "2", buttonText: "Contact Audrey Scheck", description: "Full-service design firm focusing on residential remodels, furnishing, and styling.", onClick: () => null, socialLinks: socialLinksMock2, logo: "https://static.wixstatic.com/media/258105_8e04439070694f278e4787a310ea9f4b~mv2.png", partnerName: "Audrey Scheck", websiteUrl: "" }), _jsx(FolderSharing, { folders: FoldersDB, handleAddNewFolder: handleNewFolder, handleFolderClick: handleFolderClick, handleSelect: () => null, initialSelectItem: selectOptions[0], menuItems: menuMock, selectItems: selectOptions }), _jsxs(Stack, { spacing: "base", children: [_jsx(AddHomeItem, { handleClick: () => null }), _jsx(SendCommunication, { documentList: [] })] }), _jsx(ShortPartnerTile, { _id: "3", buttonText: "Contact Audrey Scheck", description: "Full-service design firm focusing on residential remodels, furnishing, and styling.", onClick: () => null, socialLinks: socialLinksMock2, logo: "https://static.wixstatic.com/media/258105_8e04439070694f278e4787a310ea9f4b~mv2.png", partnerName: "Audrey Scheck", websiteUrl: "" })] })] })] })] }), _jsx(HomeBoardTour, { currentStep: currentStep, handleClose: handleClose, handleStep: handleStep, meetStepUrl: videoMock, isActive: activeTour })] }));
60
60
  };
61
61
  export const AppBarComponent = ({ setActiveTour = (value) => { } }) => {
62
62
  const handleTour = () => {
@@ -10,5 +10,5 @@ export const PartnerFooter = ({ socialLinks = [], websiteUrl, urlText, }) => {
10
10
  return;
11
11
  window.open(url, '_blank');
12
12
  };
13
- return (_jsxs(Flex, { background: "#f6f8f9", align: "center", justify: "space-between", p: "base", children: [_jsx(Link, { href: websiteUrl, isExternal: true, children: _jsx(Text, { fontSize: "xs", color: "blue.3", children: urlText !== null && urlText !== void 0 ? urlText : cleanedWebsiteUrl }) }), hasSocialLinks && (_jsx(Flex, { align: "center", gap: "1", children: socialLinks === null || socialLinks === void 0 ? void 0 : socialLinks.map(({ name, link }) => (_jsx(IconButton, { variant: "unstyled", w: "fit-content", "aria-label": "Instagram", icon: SocialIcons({ size: 20, name }), onClick: () => handleSocialClick(link) }, name))) }))] }));
13
+ return (_jsxs(Flex, { align: "center", justify: "space-between", p: "base", children: [_jsx(Link, { href: websiteUrl, isExternal: true, children: _jsx(Text, { fontSize: "xs", color: "blue.3", children: urlText !== null && urlText !== void 0 ? urlText : cleanedWebsiteUrl }) }), hasSocialLinks && (_jsx(Flex, { align: "center", gap: "1", children: socialLinks === null || socialLinks === void 0 ? void 0 : socialLinks.map(({ name, link }) => (_jsx(IconButton, { variant: "unstyled", w: "fit-content", "aria-label": "Instagram", icon: SocialIcons({ size: 20, name }), onClick: () => handleSocialClick(link) }, name))) }))] }));
14
14
  };
@@ -1,2 +1,2 @@
1
1
  import { PartnerHeaderI } from '../../interfaces';
2
- export declare const PartnerHeader: ({ logo, menuItems, partnerName, }: PartnerHeaderI) => import("react/jsx-runtime").JSX.Element;
2
+ export declare const PartnerHeader: ({ borderColor, logo, menuItems, partnerName, }: PartnerHeaderI) => import("react/jsx-runtime").JSX.Element;
@@ -1,7 +1,7 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { Flex } from '@chakra-ui/react';
3
3
  import { MoreHorizontal, IconMenu, HeaderPartnerLogo } from '..';
4
- export const PartnerHeader = ({ logo, menuItems = [], partnerName, }) => {
4
+ export const PartnerHeader = ({ borderColor = 'transparent', logo, menuItems = [], partnerName, }) => {
5
5
  const isDisabled = menuItems.length === 0;
6
- return (_jsxs(Flex, { justify: "space-between", align: "center", p: "base", bg: "white", children: [_jsx(HeaderPartnerLogo, { alt: `${partnerName} logo`, logo: logo }), _jsx(IconMenu, { icon: _jsx(MoreHorizontal, { size: 38 }), menuItems: menuItems, disabled: isDisabled })] }));
6
+ return (_jsxs(Flex, { justify: "space-between", align: "center", p: "base", bg: "neutral.white", borderBottom: "1px solid", borderColor: borderColor, children: [_jsx(HeaderPartnerLogo, { alt: `${partnerName} logo`, logo: logo }), _jsx(IconMenu, { icon: _jsx(MoreHorizontal, { size: 38 }), menuItems: menuItems, disabled: isDisabled })] }));
7
7
  };
@@ -1,10 +1,11 @@
1
- import { Paint, Receipt, Barcode, GoldenBars, Heart, Rating, Notes, Book, ImgIcon, Registry, ShareWith, Calendar, 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, Company, Pressure, WindowCleaning, RoofCleaning, HolidayLights, GutterCleaning, HomeCleaning, HouseWashing, PressureWasher, } 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, Pool2, Closet, Structure, GlassWater, Roof2, Target, CircleFace, Company, Pressure, WindowCleaning, RoofCleaning, HolidayLights, GutterCleaning, HomeCleaning, HouseWashing, PressureWasher, } from '../../assets/images';
2
2
  export const fieldIcons = {
3
3
  barcode: Barcode,
4
4
  billing: Billing,
5
5
  book: Book,
6
6
  calc: Calc,
7
7
  check: CheckPen,
8
+ contact: Contacts,
8
9
  date: Calendar,
9
10
  default: GenericField,
10
11
  goldbars: GoldenBars,
@@ -1,7 +1,7 @@
1
1
  import { FolderFileI, MenuItemI, PartnerFooterI, TileCtaI } from '../..';
2
2
  type KindTypes = 'checkbox' | 'checkbox-group' | 'currency' | 'date' | 'email' | 'file' | 'grid' | 'group' | 'hidden' | 'number' | 'radio' | 'rating' | 'select' | 'string' | 'switch' | 'telephone' | 'text' | 'textarea' | 'default' | UIKindTypes;
3
3
  type UIKindTypes = 'tile-body' | 'tile-body-logo' | 'tile-body-header' | 'tile-body-section' | 'tile-body-section-grid' | 'tile-form' | 'tile-body-action' | 'vertical-icon' | 'primary-cta' | 'secondary-cta';
4
- export type IconTypes = 'barcode' | 'battery' | 'billing' | 'book' | 'calc' | 'calendar' | 'check' | 'co2' | 'date' | 'default' | 'detector' | 'electricity' | 'goldbars' | 'heart' | 'image' | 'notes' | 'palette' | 'people' | 'price' | 'rating' | 'receipt' | 'registry' | 'sprinkler' | 'tools' | 'wind' | '68' | 'calendar2' | 'water' | 'calendar-drop' | 'umbrella' | 'heater' | 'roof' | 'foundation' | 'solar-panel' | 'pool' | 'drop' | 'mobile-drop' | 'light' | 'plate' | 'pressure-washer' | 'house' | 'target' | 'title' | 'company' | UIIconTypes;
4
+ export type IconTypes = 'barcode' | 'battery' | 'billing' | 'book' | 'calc' | 'calendar' | 'check' | 'co2' | 'contact' | 'date' | 'default' | 'detector' | 'electricity' | 'goldbars' | 'heart' | 'image' | 'notes' | 'palette' | 'people' | 'price' | 'rating' | 'receipt' | 'registry' | 'sprinkler' | 'tools' | 'wind' | '68' | 'calendar2' | 'water' | 'calendar-drop' | 'umbrella' | 'heater' | 'roof' | 'foundation' | 'solar-panel' | 'pool' | 'drop' | 'mobile-drop' | 'light' | 'plate' | 'pressure-washer' | 'house' | 'target' | 'title' | 'company' | UIIconTypes;
5
5
  export type UIIconTypes = 'sh-pressure' | 'sh-window' | 'sh-roof' | 'sh-lights' | 'sh-gutter' | 'sh-home' | 'sh-house';
6
6
  export type ValueTypes = string | string[] | number | boolean;
7
7
  export type OptionsTypes = string[] | number[] | null;
@@ -9,4 +9,5 @@ export interface HomeAssistantPanelI {
9
9
  onSave: (form: ReportI[]) => void;
10
10
  backDisabled: boolean;
11
11
  nextDisabled: boolean;
12
+ hasCompleted: boolean;
12
13
  }
@@ -4,4 +4,5 @@ export interface HomeAssistantStepsI {
4
4
  showTutorial?: boolean;
5
5
  currentPanel?: number;
6
6
  tutorialUrl?: string;
7
+ onStart?: () => void;
7
8
  }
@@ -1,5 +1,6 @@
1
- import { MenuItemI } from "..";
1
+ import { MenuItemI } from '..';
2
2
  export interface PartnerHeaderI {
3
+ borderColor?: string;
3
4
  logo: string;
4
5
  menuItems?: MenuItemI[];
5
6
  partnerName: string;