@homefile/components-v2 1.6.1 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/animations/CloudsAnimation.d.ts +5 -5
- package/dist/components/animations/CloudsAnimation.js +2 -1
- package/dist/components/animations/HomieAnimation.js +1 -1
- package/dist/components/customToast/CustomToast.js +1 -1
- package/dist/components/customToast/StatusIllustration.js +3 -3
- package/dist/components/forms/dynamicForm/DynamicForm.d.ts +1 -1
- package/dist/components/forms/dynamicForm/DynamicForm.js +16 -2
- package/dist/components/forms/dynamicForm/fields/SingleFields.d.ts +2 -5
- package/dist/components/forms/dynamicForm/fields/SingleFields.js +16 -2
- package/dist/components/forms/dynamicForm/fields/index.d.ts +1 -0
- package/dist/components/forms/dynamicForm/fields/index.js +1 -0
- package/dist/components/forms/dynamicForm/fields/uiFields/TileBody.d.ts +2 -0
- package/dist/components/forms/dynamicForm/fields/uiFields/TileBody.js +18 -0
- package/dist/components/forms/dynamicForm/fields/uiFields/TileBody.tsx +24 -0
- package/dist/components/forms/dynamicForm/fields/uiFields/TileBodyAction.d.ts +2 -0
- package/dist/components/forms/dynamicForm/fields/uiFields/TileBodyAction.js +6 -0
- package/dist/components/forms/dynamicForm/fields/uiFields/TileBodyAction.tsx +11 -0
- package/dist/components/forms/dynamicForm/fields/uiFields/TileBodyHeader.d.ts +3 -0
- package/dist/components/forms/dynamicForm/fields/uiFields/TileBodyHeader.js +5 -0
- package/dist/components/forms/dynamicForm/fields/uiFields/TileBodyHeader.tsx +9 -0
- package/dist/components/forms/dynamicForm/fields/uiFields/TileBodyLogo.d.ts +2 -0
- package/dist/components/forms/dynamicForm/fields/uiFields/TileBodyLogo.js +5 -0
- package/dist/components/forms/dynamicForm/fields/uiFields/TileBodyLogo.tsx +10 -0
- package/dist/components/forms/dynamicForm/fields/uiFields/TileBodySectionGrid.d.ts +2 -0
- package/dist/components/forms/dynamicForm/fields/uiFields/TileBodySectionGrid.js +6 -0
- package/dist/components/forms/dynamicForm/fields/uiFields/TileBodySectionGrid.tsx +11 -0
- package/dist/components/forms/dynamicForm/fields/uiFields/TileCta.d.ts +2 -0
- package/dist/components/forms/dynamicForm/fields/uiFields/TileCta.js +5 -0
- package/dist/components/forms/dynamicForm/fields/uiFields/TileCta.tsx +14 -0
- package/dist/components/forms/dynamicForm/fields/uiFields/VerticalIcon.d.ts +2 -0
- package/dist/components/forms/dynamicForm/fields/uiFields/VerticalIcon.js +5 -0
- package/dist/components/forms/dynamicForm/fields/uiFields/VerticalIcon.tsx +31 -0
- package/dist/components/forms/dynamicForm/fields/uiFields/index.d.ts +7 -0
- package/dist/components/forms/dynamicForm/fields/uiFields/index.js +7 -0
- package/dist/components/forms/dynamicForm/fields/uiFields/index.ts +7 -0
- package/dist/components/homeBoard/ConfirmHomeAddress.js +2 -1
- package/dist/components/icons/DisplayGrid.js +1 -1
- package/dist/components/icons/DisplayItem.js +1 -1
- package/dist/components/icons/DisplayList.js +1 -1
- package/dist/components/icons/Upload.js +1 -1
- package/dist/components/inputs/SelectInputWithBadge.js +3 -3
- package/dist/components/myHomes/steps/MyHomeDetails.js +2 -1
- package/dist/components/myHomes/steps/SearchRecords.js +2 -1
- package/dist/components/overlay/Overlay.js +2 -1
- package/dist/components/partner/adminTiles/satisfactionTile/SatisfactionProgress.js +2 -1
- package/dist/components/sendDocument/RecipientContent.js +3 -1
- package/dist/helpers/forms/dynamicForm.helper.js +7 -1
- package/dist/hooks/homeBoard/useConfirmHomeAddress.d.ts +3 -18
- package/dist/hooks/myHomes/useAddHomeContent.d.ts +3 -18
- package/dist/hooks/myProfile/useTwoFactorSetting.d.ts +3 -18
- package/dist/hooks/partner/preview/usePartnerTilePreview.d.ts +2 -2
- package/dist/interfaces/forms/dynamicForm/DynamicForm.interface.d.ts +9 -4
- package/dist/interfaces/forms/dynamicForm/fields/GroupField.interface.d.ts +6 -1
- package/dist/interfaces/forms/dynamicForm/fields/UIFields.interface.d.ts +20 -0
- package/dist/interfaces/forms/dynamicForm/fields/UIFields.interface.js +1 -0
- package/dist/interfaces/forms/dynamicForm/fields/index.d.ts +1 -0
- package/dist/interfaces/forms/dynamicForm/fields/index.js +1 -0
- package/dist/interfaces/icons/CustomIcon.interface.d.ts +2 -3
- package/dist/interfaces/partner/PartnerFooter.interface.d.ts +0 -1
- package/dist/mocks/forms/dynamicForm.mock.d.ts +1 -0
- package/dist/mocks/forms/dynamicForm.mock.js +159 -0
- package/dist/stories/forms/dynamicForm/DynamicForm.stories.d.ts +1 -0
- package/dist/stories/forms/dynamicForm/DynamicForm.stories.js +9 -3
- package/dist/stories/tour/Bubble.stories.d.ts +1 -1
- package/dist/stories/tour/HomeBoardTour.stories.d.ts +1 -1
- package/dist/stories/tour/LaunchpadTour.stories.d.ts +1 -1
- package/package.json +44 -43
- package/src/components/animations/CloudsAnimation.tsx +2 -1
- package/src/components/animations/HomieAnimation.tsx +1 -1
- package/src/components/customToast/CustomToast.tsx +4 -3
- package/src/components/customToast/StatusIllustration.tsx +3 -3
- package/src/components/forms/dynamicForm/DynamicForm.tsx +14 -0
- package/src/components/forms/dynamicForm/fields/SingleFields.tsx +62 -6
- package/src/components/forms/dynamicForm/fields/index.ts +1 -0
- package/src/components/forms/dynamicForm/fields/uiFields/TileBody.tsx +24 -0
- package/src/components/forms/dynamicForm/fields/uiFields/TileBodyAction.tsx +11 -0
- package/src/components/forms/dynamicForm/fields/uiFields/TileBodyHeader.tsx +9 -0
- package/src/components/forms/dynamicForm/fields/uiFields/TileBodyLogo.tsx +10 -0
- package/src/components/forms/dynamicForm/fields/uiFields/TileBodySectionGrid.tsx +11 -0
- package/src/components/forms/dynamicForm/fields/uiFields/TileCta.tsx +14 -0
- package/src/components/forms/dynamicForm/fields/uiFields/VerticalIcon.tsx +31 -0
- package/src/components/forms/dynamicForm/fields/uiFields/index.ts +7 -0
- package/src/components/homeBoard/ConfirmHomeAddress.tsx +1 -1
- package/src/components/icons/DisplayGrid.tsx +1 -1
- package/src/components/icons/DisplayItem.tsx +1 -1
- package/src/components/icons/DisplayList.tsx +1 -1
- package/src/components/icons/Upload.tsx +1 -1
- package/src/components/inputs/SelectInputWithBadge.tsx +6 -4
- package/src/components/myHomes/steps/MyHomeDetails.tsx +1 -1
- package/src/components/myHomes/steps/SearchRecords.tsx +1 -1
- package/src/components/overlay/Overlay.tsx +2 -1
- package/src/components/partner/adminTiles/satisfactionTile/SatisfactionProgress.tsx +2 -1
- package/src/components/sendDocument/RecipientContent.tsx +15 -7
- package/src/helpers/forms/dynamicForm.helper.ts +12 -0
- package/src/interfaces/forms/dynamicForm/DynamicForm.interface.ts +27 -2
- package/src/interfaces/forms/dynamicForm/fields/GroupField.interface.ts +7 -1
- package/src/interfaces/forms/dynamicForm/fields/UIFields.interface.ts +24 -0
- package/src/interfaces/forms/dynamicForm/fields/index.ts +1 -0
- package/src/interfaces/icons/CustomIcon.interface.ts +2 -3
- package/src/interfaces/partner/PartnerFooter.interface.ts +0 -1
- package/src/mocks/forms/dynamicForm.mock.ts +162 -0
- package/src/stories/forms/dynamicForm/DynamicForm.stories.tsx +14 -3
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { PropsWithChildren } from 'react';
|
|
2
|
-
export declare const moveLeftToRightAirplane: import("@emotion/
|
|
3
|
-
export declare const moveRightToLeft: import("@emotion/
|
|
4
|
-
export declare const moveRightToLeftWithFade: import("@emotion/
|
|
5
|
-
export declare const moveRightToLeftWithFade2: import("@emotion/
|
|
6
|
-
export declare const moveRightToLeftWithFade3: import("@emotion/
|
|
2
|
+
export declare const moveLeftToRightAirplane: import("@emotion/react").Keyframes;
|
|
3
|
+
export declare const moveRightToLeft: import("@emotion/react").Keyframes;
|
|
4
|
+
export declare const moveRightToLeftWithFade: import("@emotion/react").Keyframes;
|
|
5
|
+
export declare const moveRightToLeftWithFade2: import("@emotion/react").Keyframes;
|
|
6
|
+
export declare const moveRightToLeftWithFade3: import("@emotion/react").Keyframes;
|
|
7
7
|
export declare const CloudsAnimation: ({ children }: PropsWithChildren<{}>) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -2,7 +2,8 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
2
2
|
import { Airplane, Cloud1, Cloud2, Cloud3, TreesCrop, TreesCrop2, } from '../../assets/images';
|
|
3
3
|
import { useWindowDimensions } from '../../hooks';
|
|
4
4
|
import { colors } from '../../theme/colors';
|
|
5
|
-
import { Box,
|
|
5
|
+
import { Box, Image } from '@chakra-ui/react';
|
|
6
|
+
import { keyframes } from '@emotion/react';
|
|
6
7
|
import { Fragment } from 'react';
|
|
7
8
|
export const moveLeftToRightAirplane = keyframes `
|
|
8
9
|
0% {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { useRive } from '@rive-app/react-canvas';
|
|
3
|
-
const url =
|
|
3
|
+
const url = import.meta.env.VITE_RIVE_ASSETS;
|
|
4
4
|
export const HomieAnimation = () => {
|
|
5
5
|
const { RiveComponent } = useRive({
|
|
6
6
|
src: `${url}/homie-v2.riv`,
|
|
@@ -8,5 +8,5 @@ export const CustomToast = ({ description, onClose, status = 'success', title, }
|
|
|
8
8
|
success: '#5E42B2',
|
|
9
9
|
error: '#CF3593',
|
|
10
10
|
};
|
|
11
|
-
return (_jsxs(Box, { bg: bgColors[status], borderRadius: "lg", boxShadow: "lg", position: "relative",
|
|
11
|
+
return (_jsxs(Box, { paddingTop: 0, paddingBottom: 0, bg: bgColors[status], borderRadius: "lg", boxShadow: "lg", position: "relative", children: [_jsxs(Flex, { gap: "base", p: "base", align: "center", position: "relative", left: "-26px", children: [_jsx(StatusIllustration, { status: status }), _jsxs(Box, { children: [_jsx(Text, { fontSize: "22px", fontWeight: "medium", color: "neutral.white", lineHeight: "1.1", children: title }), _jsx(Text, { color: "neutral.white", children: description })] })] }), _jsx(Box, { as: "button", "aria-label": t('ariaLabels.close'), onClick: onClose, position: "absolute", top: "8px", right: "8px", children: _jsx(Close, { stroke: colors.neutral.white, size: 20 }) })] }));
|
|
12
12
|
};
|
|
@@ -8,15 +8,15 @@ export const StatusIllustration = ({ status = 'success', }) => {
|
|
|
8
8
|
src: Check,
|
|
9
9
|
alt: t('ariaLabels.success'),
|
|
10
10
|
bg: '#28B5A8',
|
|
11
|
-
height: '
|
|
11
|
+
height: '21px',
|
|
12
12
|
},
|
|
13
13
|
error: {
|
|
14
14
|
src: Exclamation,
|
|
15
15
|
alt: t('ariaLabels.error'),
|
|
16
16
|
bg: '#991365',
|
|
17
|
-
height: '
|
|
17
|
+
height: '28px',
|
|
18
18
|
},
|
|
19
19
|
};
|
|
20
20
|
const { alt, bg, height, src } = props[status];
|
|
21
|
-
return (_jsx(Center, { borderRadius: "full", bg: bg, boxShadow: "xl", w: "
|
|
21
|
+
return (_jsx(Center, { borderRadius: "full", bg: bg, boxShadow: "xl", w: "43px", h: "43px", children: _jsx(Image, { src: src, alt: alt, h: height, w: "auto" }) }));
|
|
22
22
|
};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { DynamicFormI } from '../../../interfaces';
|
|
2
|
-
export declare const DynamicForm: ({ form: fields, onUpload, showTitle, uploadingFieldId, }: DynamicFormI) => import("react/jsx-runtime").JSX.Element;
|
|
2
|
+
export declare const DynamicForm: ({ callback, form: fields, menuItems, onUpload, showTitle, uploadingFieldId, ...props }: DynamicFormI) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,11 +1,23 @@
|
|
|
1
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
2
|
+
var t = {};
|
|
3
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
4
|
+
t[p] = s[p];
|
|
5
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
6
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
7
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
8
|
+
t[p[i]] = s[p[i]];
|
|
9
|
+
}
|
|
10
|
+
return t;
|
|
11
|
+
};
|
|
1
12
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
13
|
import { FormProvider } from 'react-hook-form';
|
|
3
14
|
import { t } from 'i18next';
|
|
4
15
|
import { Stack, Text } from '@chakra-ui/react';
|
|
5
|
-
import { HiddenFieldSection, GroupField, TextField, TextAreaField, SelectField, RatingField, GridField, FieldWithDelete, FileField, SwitchField, DateField, NumberField, CurrencyField, } from '../..';
|
|
16
|
+
import { HiddenFieldSection, GroupField, TextField, TextAreaField, SelectField, RatingField, GridField, FieldWithDelete, FileField, SwitchField, DateField, NumberField, CurrencyField, TileBody, } from '../..';
|
|
6
17
|
import { useDynamicForm } from '../../../hooks';
|
|
7
18
|
import { fieldIcons } from '../../../helpers';
|
|
8
|
-
export const DynamicForm = (
|
|
19
|
+
export const DynamicForm = (_a) => {
|
|
20
|
+
var { callback, form: fields, menuItems, onUpload, showTitle = true, uploadingFieldId } = _a, props = __rest(_a, ["callback", "form", "menuItems", "onUpload", "showTitle", "uploadingFieldId"]);
|
|
9
21
|
const { form, visibleFields, hiddenFields, handleAddAll, handleAdd, handleFilesUpload, handleRemove, } = useDynamicForm({ fields, onUpload });
|
|
10
22
|
return (_jsxs(Stack, { bg: "lightBlue.1", spacing: "0", h: "full", children: [showTitle && (_jsx(Text, { fontFamily: "secondary", px: "base", pt: "4", pb: "2", children: t('forms.itemDetails') })), _jsx(FormProvider, Object.assign({}, form, { children: _jsx(_Fragment, { children: visibleFields === null || visibleFields === void 0 ? void 0 : visibleFields.map((field) => {
|
|
11
23
|
const { canBeHidden, children, description, icon, id, name, options, type, value, } = field;
|
|
@@ -49,6 +61,8 @@ export const DynamicForm = ({ form: fields, onUpload, showTitle = true, uploadin
|
|
|
49
61
|
return (_jsx(FieldWithDelete, Object.assign({}, fieldWithDeleteBaseProps, { children: _jsx(FileField, { icon: baseProps.icon, description: description, onUpload: (files) => handleFilesUpload({ id, files }), uploading: uploadingFieldId === id }) })));
|
|
50
62
|
case 'group':
|
|
51
63
|
return (_jsx(GroupField, { id: id, fields: children, onRemove: handleRemove, canBeHidden: canBeHidden }, id));
|
|
64
|
+
case 'tile-body':
|
|
65
|
+
return (_jsx(TileBody, Object.assign({ callback: callback, fields: children, menuItems: menuItems }, props), id));
|
|
52
66
|
default:
|
|
53
67
|
return null;
|
|
54
68
|
}
|
|
@@ -1,5 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export
|
|
3
|
-
fields?: DynamicFormI['form'];
|
|
4
|
-
}
|
|
5
|
-
export declare const SingleFields: ({ fields }: FieldTypesI) => import("react/jsx-runtime").JSX.Element;
|
|
1
|
+
import { FieldTypesI } from '../../../../interfaces';
|
|
2
|
+
export declare const SingleFields: ({ callback, fields, menuItems }: FieldTypesI) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
2
|
import { fieldIcons } from '../../../../helpers';
|
|
3
|
-
import { GridField, RatingField, TextAreaField, TextField, SelectField, SwitchField, NumberField, DateField, CurrencyField, } from '../../..';
|
|
4
|
-
export const SingleFields = ({ fields }) => {
|
|
3
|
+
import { GridField, RatingField, TextAreaField, TextField, SelectField, SwitchField, NumberField, DateField, CurrencyField, TileBodyHeader, TileBodyLogo, VerticalIcon, TileBodySectionGrid, TileBodyAction, TileCta, } from '../../..';
|
|
4
|
+
export const SingleFields = ({ callback, fields, menuItems }) => {
|
|
5
5
|
return (_jsx(_Fragment, { children: fields === null || fields === void 0 ? void 0 : fields.map(({ children, description, id, name, type, value, icon, options = [], }) => {
|
|
6
6
|
const baseProps = {
|
|
7
7
|
key: id,
|
|
@@ -34,6 +34,20 @@ export const SingleFields = ({ fields }) => {
|
|
|
34
34
|
return _jsx(TextField, Object.assign({}, baseProps, { type: "tel" }));
|
|
35
35
|
case 'textarea':
|
|
36
36
|
return _jsx(TextAreaField, Object.assign({}, baseProps));
|
|
37
|
+
case 'tile-body-section-grid':
|
|
38
|
+
return _jsx(TileBodySectionGrid, { fields: children }, id);
|
|
39
|
+
case 'tile-body-header':
|
|
40
|
+
return (_jsx(TileBodyHeader, { value: String(baseProps.value) }, baseProps.key));
|
|
41
|
+
case 'tile-body-logo':
|
|
42
|
+
return (_jsx(TileBodyLogo, { name: name, value: String(baseProps.value), menuItems: menuItems }, baseProps.key));
|
|
43
|
+
case 'vertical-icon':
|
|
44
|
+
return (_jsx(VerticalIcon, { icon: baseProps.icon, value: String(baseProps.value) }, id));
|
|
45
|
+
case 'tile-body-action':
|
|
46
|
+
return (_jsx(TileBodyAction, { fields: children, callback: callback }, id));
|
|
47
|
+
case 'primary-cta':
|
|
48
|
+
return (_jsx(TileCta, { type: type, value: String(baseProps.value), callback: callback }, id));
|
|
49
|
+
case 'secondary-cta':
|
|
50
|
+
return (_jsx(TileCta, { type: type, value: String(baseProps.value), callback: callback }, id));
|
|
37
51
|
default:
|
|
38
52
|
return null;
|
|
39
53
|
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
2
|
+
var t = {};
|
|
3
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
4
|
+
t[p] = s[p];
|
|
5
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
6
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
7
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
8
|
+
t[p[i]] = s[p[i]];
|
|
9
|
+
}
|
|
10
|
+
return t;
|
|
11
|
+
};
|
|
12
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
13
|
+
import { Box, Stack } from '@chakra-ui/react';
|
|
14
|
+
import { PartnerFooter, SingleFields } from '../../../..';
|
|
15
|
+
export const TileBody = (_a) => {
|
|
16
|
+
var { callback, fields, websiteUrl = '', menuItems } = _a, props = __rest(_a, ["callback", "fields", "websiteUrl", "menuItems"]);
|
|
17
|
+
return (_jsx(Box, { display: "flex", flexDir: "column", bg: "neutral.white", 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 }))] }) }));
|
|
18
|
+
};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { Box, Stack } from '@chakra-ui/react'
|
|
2
|
+
import { TileBodyI } from '@/interfaces'
|
|
3
|
+
import { PartnerFooter, SingleFields } from '@/components'
|
|
4
|
+
|
|
5
|
+
export const TileBody = ({
|
|
6
|
+
callback,
|
|
7
|
+
fields,
|
|
8
|
+
websiteUrl = '',
|
|
9
|
+
menuItems,
|
|
10
|
+
...props
|
|
11
|
+
}: TileBodyI) => {
|
|
12
|
+
return (
|
|
13
|
+
<Box display="flex" flexDir="column" bg="neutral.white" 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} />
|
|
21
|
+
</Stack>
|
|
22
|
+
</Box>
|
|
23
|
+
)
|
|
24
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { Flex } from '@chakra-ui/react';
|
|
3
|
+
import { SingleFields } from '../../../..';
|
|
4
|
+
export const TileBodyAction = ({ fields }) => {
|
|
5
|
+
return (_jsx(Flex, { p: "base", align: "center", gap: "base", children: _jsx(SingleFields, { fields: fields }) }));
|
|
6
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Flex } from '@chakra-ui/react'
|
|
2
|
+
import { SingleFields } from '@/components'
|
|
3
|
+
import { TileBodyI } from '@/interfaces'
|
|
4
|
+
|
|
5
|
+
export const TileBodyAction = ({ fields }: TileBodyI) => {
|
|
6
|
+
return (
|
|
7
|
+
<Flex p="base" align="center" gap="base">
|
|
8
|
+
<SingleFields fields={fields} />
|
|
9
|
+
</Flex>
|
|
10
|
+
)
|
|
11
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { PartnerHeader } from '@/components'
|
|
2
|
+
import { TileBodyLogoI } from '@/interfaces'
|
|
3
|
+
|
|
4
|
+
export const TileBodyLogo = ({
|
|
5
|
+
menuItems,
|
|
6
|
+
name = '',
|
|
7
|
+
value,
|
|
8
|
+
}: TileBodyLogoI) => {
|
|
9
|
+
return <PartnerHeader logo={value} partnerName={name} menuItems={menuItems} />
|
|
10
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { SimpleGrid } from '@chakra-ui/react';
|
|
3
|
+
import { SingleFields } from '../../../..';
|
|
4
|
+
export const TileBodySectionGrid = ({ fields }) => {
|
|
5
|
+
return (_jsx(SimpleGrid, { columns: 3, spacing: "base", p: "base", children: _jsx(SingleFields, { fields: fields }) }));
|
|
6
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { SimpleGrid } from '@chakra-ui/react'
|
|
2
|
+
import { SingleFields } from '@/components'
|
|
3
|
+
import { TileBodyI } from '@/interfaces'
|
|
4
|
+
|
|
5
|
+
export const TileBodySectionGrid = ({ fields }: TileBodyI) => {
|
|
6
|
+
return (
|
|
7
|
+
<SimpleGrid columns={3} spacing="base" p="base">
|
|
8
|
+
<SingleFields fields={fields} />
|
|
9
|
+
</SimpleGrid>
|
|
10
|
+
)
|
|
11
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { Button } from '@chakra-ui/react';
|
|
3
|
+
export const TileCta = ({ callback, type, value }) => {
|
|
4
|
+
return (_jsx(Button, { onClick: () => callback === null || callback === void 0 ? void 0 : callback(value), variant: type === 'primary-cta' ? 'tertiaryFooter' : 'secondaryFooter', fontSize: "sm", children: value }));
|
|
5
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Button } from '@chakra-ui/react'
|
|
2
|
+
import { TileCtaI } from '@/interfaces'
|
|
3
|
+
|
|
4
|
+
export const TileCta = ({ callback, type, value }: TileCtaI) => {
|
|
5
|
+
return (
|
|
6
|
+
<Button
|
|
7
|
+
onClick={() => callback?.(value)}
|
|
8
|
+
variant={type === 'primary-cta' ? 'tertiaryFooter' : 'secondaryFooter'}
|
|
9
|
+
fontSize="sm"
|
|
10
|
+
>
|
|
11
|
+
{value}
|
|
12
|
+
</Button>
|
|
13
|
+
)
|
|
14
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Box, Image, Text } from '@chakra-ui/react';
|
|
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 }) })] }));
|
|
5
|
+
};
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { Box, Image, Text } from '@chakra-ui/react'
|
|
2
|
+
import { VerticalIconI } from '@/interfaces'
|
|
3
|
+
|
|
4
|
+
export const VerticalIcon = ({ icon, value }: VerticalIconI) => {
|
|
5
|
+
return (
|
|
6
|
+
<Box
|
|
7
|
+
bg="neutral.white"
|
|
8
|
+
borderRadius="md"
|
|
9
|
+
border="1px solid"
|
|
10
|
+
borderColor="lightBlue.6"
|
|
11
|
+
display="flex"
|
|
12
|
+
flexDirection="column"
|
|
13
|
+
alignItems="center"
|
|
14
|
+
justifyContent="center"
|
|
15
|
+
>
|
|
16
|
+
<Box h="46px" display="flex" alignItems="center">
|
|
17
|
+
<Image src={icon} alt={value} w="auto" h="80%" />
|
|
18
|
+
</Box>
|
|
19
|
+
<Box pb="2">
|
|
20
|
+
<Text
|
|
21
|
+
fontWeight="semibold"
|
|
22
|
+
textAlign="center"
|
|
23
|
+
fontSize="13px"
|
|
24
|
+
lineHeight="14px"
|
|
25
|
+
>
|
|
26
|
+
{value}
|
|
27
|
+
</Text>
|
|
28
|
+
</Box>
|
|
29
|
+
</Box>
|
|
30
|
+
)
|
|
31
|
+
}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
2
|
import { useSnapshot } from 'valtio';
|
|
3
3
|
import { t } from 'i18next';
|
|
4
|
-
import { Box, Container, Stack, Center, Flex, Button, Text,
|
|
4
|
+
import { Box, Container, Stack, Center, Flex, Button, Text, } from '@chakra-ui/react';
|
|
5
|
+
import { keyframes } from '@emotion/react';
|
|
5
6
|
import { AddressStored, SectionHeader, RadioButton, IncludePublicRecords, WrapperWithShadow, } from '..';
|
|
6
7
|
import { HomeAddress, MagnifyingGlassReport } from '../../assets/images';
|
|
7
8
|
import { confirmAddressProxy } from '../../proxies';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { colors } from '../../theme/colors';
|
|
3
|
-
import { Icon } from '@chakra-ui/
|
|
3
|
+
import { Icon } from '@chakra-ui/icons';
|
|
4
4
|
export const DisplayGrid = ({ stroke = colors.blue[3], }) => {
|
|
5
5
|
return (_jsx(Icon, { children: _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 19.5 19.5", children: _jsxs("g", { fill: "none", stroke: stroke, strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "1.5", "data-name": "Group 14495", children: [_jsx("path", { d: "M.75.75h7.321v7.321H.75Z", "data-name": "Path 10064" }), _jsx("path", { d: "M11.429.75h7.321v7.321h-7.321Z", "data-name": "Path 10065" }), _jsx("path", { d: "M11.429 11.428h7.321v7.321h-7.321Z", "data-name": "Path 10066" }), _jsx("path", { d: "M.75 11.428h7.321v7.321H.75Z", "data-name": "Path 10067" })] }) }) }));
|
|
6
6
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { Icon } from '@chakra-ui/
|
|
2
|
+
import { Icon } from '@chakra-ui/icons';
|
|
3
3
|
import { colors } from '../../theme/colors';
|
|
4
4
|
export const DisplayItem = ({ stroke = colors.blue[3], }) => {
|
|
5
5
|
return (_jsx(Icon, { viewBox: "0 0 200 200", color: "red.500", children: _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 19.79 17.374", children: _jsxs("g", { stroke: stroke, "data-name": "Group 14548", children: [_jsx("path", { fill: "none", strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "1.5", d: "M.75.75h18.29v11.438H.75Z", "data-name": "Path 10082" }), _jsxs("g", { fill: stroke, "data-name": "Rectangle 16845", children: [_jsx("path", { stroke: "none", d: "M.833 14.374h3v3h-3z" }), _jsx("path", { fill: "none", d: "M1.333 14.874h2v2h-2z" })] }), _jsxs("g", { fill: stroke, "data-name": "Rectangle 16846", children: [_jsx("path", { stroke: "none", d: "M5.833 14.374h3v3h-3z" }), _jsx("path", { fill: "none", d: "M6.333 14.874h2v2h-2z" })] }), _jsxs("g", { fill: stroke, "data-name": "Rectangle 16847", children: [_jsx("path", { stroke: "none", d: "M10.833 14.374h3v3h-3z" }), _jsx("path", { fill: "none", d: "M11.333 14.874h2v2h-2z" })] }), _jsxs("g", { fill: stroke, "data-name": "Rectangle 16848", children: [_jsx("path", { stroke: "none", d: "M15.833 14.374h3v3h-3z" }), _jsx("path", { fill: "none", d: "M16.333 14.874h2v2h-2z" })] })] }) }) }));
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { Icon } from '@chakra-ui/
|
|
2
|
+
import { Icon } from '@chakra-ui/icons';
|
|
3
3
|
import { colors } from '../../theme/colors';
|
|
4
4
|
export const DisplayList = ({ stroke = colors.blue[3], }) => {
|
|
5
5
|
return (_jsx(Icon, { viewBox: "0 0 200 200", color: "red.500", children: _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 18 14", children: _jsxs("g", { fill: stroke, "data-name": "Group 14455", children: [_jsx("path", { d: "M5 0h13v2H5z", "data-name": "Rectangle 14122" }), _jsx("path", { d: "M5 6h13v2H5z", "data-name": "Rectangle 14123" }), _jsx("path", { d: "M5 12h13v2H5z", "data-name": "Rectangle 14124" }), _jsx("path", { d: "M0 0h3v2H0z", "data-name": "Rectangle 14122" }), _jsx("path", { d: "M0 6h3v2H0z", "data-name": "Rectangle 14123" }), _jsx("path", { d: "M0 12h3v2H0z", "data-name": "Rectangle 14124" })] }) }) }));
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { Icon } from '@chakra-ui/
|
|
2
|
+
import { Icon } from '@chakra-ui/icons';
|
|
3
3
|
import { colors } from '../../theme/colors';
|
|
4
4
|
export const Upload = ({ stroke = colors.blue[6], }) => {
|
|
5
5
|
return (_jsx(Icon, { viewBox: "0 0 200 200", color: "red.500", children: _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 19.878 19.878", children: _jsxs("g", { fill: "none", stroke: stroke, strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "2", "data-name": "Icon feather-upload", children: [_jsx("path", { d: "M18.878 12.919v3.973a1.986 1.986 0 0 1-1.986 1.986H2.986A1.986 1.986 0 0 1 1 16.892v-3.973", "data-name": "Path 10078" }), _jsx("path", { d: "M14.905 5.966 9.939 1 4.973 5.966", "data-name": "Path 10079" }), _jsx("path", { d: "M9.939 1v11.919", "data-name": "Path 10080" })] }) }) }));
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { useRef, useState } from 'react';
|
|
3
|
-
import { Box, Flex, Menu, MenuButton, MenuItem, MenuList,
|
|
3
|
+
import { Box, Flex, Menu, MenuButton, MenuItem, MenuList, useSize, } from '@chakra-ui/react';
|
|
4
4
|
import { ChevronDown, SelectTextDisplay } from '..';
|
|
5
5
|
export const SelectInputWithBadge = ({ handleClick, height = 'md', initialValue, isDisabled, items, width = '10rem', displaySelectedValue = false, }) => {
|
|
6
6
|
const [selectedValue, setSelectedValue] = useState(initialValue !== null && initialValue !== void 0 ? initialValue : 'All');
|
|
7
7
|
const isLargeWidth = width < '100px';
|
|
8
8
|
const elementRef = useRef(null);
|
|
9
|
-
const dimensions =
|
|
9
|
+
const dimensions = useSize(elementRef);
|
|
10
10
|
return (_jsx(Menu, { children: _jsxs(Box, { w: width, ref: elementRef, children: [_jsx(MenuButton, { w: "full", disabled: isDisabled, bg: "neutral.white", h: `input.${height}`, px: "2", border: "1px", borderRadius: "sm", borderColor: "lightBlue.6", _hover: { borderColor: 'blue.1' }, _focus: { borderColor: 'blue.3' }, _disabled: {
|
|
11
11
|
bg: 'container.transparent',
|
|
12
12
|
color: 'gray.1',
|
|
13
13
|
pointerEvents: 'none',
|
|
14
14
|
svg: { fill: 'gray.1' },
|
|
15
|
-
}, children: _jsxs(Flex, { align: "center", gap: "2", justify: "space-between", children: [_jsx(SelectTextDisplay, { value: selectedValue, displaySelectedValue: displaySelectedValue }), _jsx(ChevronDown, {})] }) }), _jsx(MenuList, { zIndex: "dropdown", minH: "fit-content", maxH: "30rem", overflow: "scroll", w: isLargeWidth ? dimensions === null || dimensions === void 0 ? void 0 : dimensions.
|
|
15
|
+
}, children: _jsxs(Flex, { align: "center", gap: "2", justify: "space-between", children: [_jsx(SelectTextDisplay, { value: selectedValue, displaySelectedValue: displaySelectedValue }), _jsx(ChevronDown, {})] }) }), _jsx(MenuList, { zIndex: "dropdown", minH: "fit-content", maxH: "30rem", overflow: "scroll", w: isLargeWidth ? dimensions === null || dimensions === void 0 ? void 0 : dimensions.width : 'fit-content', children: items === null || items === void 0 ? void 0 : items.map((item) => {
|
|
16
16
|
const isSelectItem = typeof item === 'object';
|
|
17
17
|
const id = isSelectItem ? item._id : item;
|
|
18
18
|
const name = isSelectItem ? item.name : item;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
2
|
import { useSnapshot } from 'valtio';
|
|
3
3
|
import { t } from 'i18next';
|
|
4
|
-
import { Box, Container, Stack, Center, Flex, Button, Text,
|
|
4
|
+
import { Box, Container, Stack, Center, Flex, Button, Text, } from '@chakra-ui/react';
|
|
5
|
+
import { keyframes } from '@emotion/react';
|
|
5
6
|
import { AddressStored, FirstHomeHeader, SectionHeader, TextInput, RadioButton, IncludePublicRecords, WrapperWithShadow, } from '../..';
|
|
6
7
|
import { HomeAddress, RelationshipHome, MagnifyingGlassReport, } from '../../../assets/images';
|
|
7
8
|
import { firstHomeProxy } from '../../../proxies';
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { t } from 'i18next';
|
|
3
|
-
import { Box, Center, CircularProgress, Flex, Image,
|
|
3
|
+
import { Box, Center, CircularProgress, Flex, Image, Stack, } from '@chakra-ui/react';
|
|
4
|
+
import { keyframes } from '@emotion/react';
|
|
4
5
|
import { useSnapshot } from 'valtio';
|
|
5
6
|
import { AnimatedText, MyHomesStepBody, MyHomesStepWrapper } from '../..';
|
|
6
7
|
import { addressProxy } from '../../../proxies';
|
|
@@ -10,7 +10,8 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
10
10
|
return t;
|
|
11
11
|
};
|
|
12
12
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
13
|
-
import { Box
|
|
13
|
+
import { Box } from '@chakra-ui/react';
|
|
14
|
+
import { keyframes } from '@emotion/react';
|
|
14
15
|
export const Overlay = (_a) => {
|
|
15
16
|
var { bg = '#fdfdfdca', showOverlay = true, onClick } = _a, props = __rest(_a, ["bg", "showOverlay", "onClick"]);
|
|
16
17
|
if (!showOverlay)
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { t } from 'i18next';
|
|
3
|
-
import { Box, Flex,
|
|
3
|
+
import { Box, Flex, Stack, Text } from '@chakra-ui/react';
|
|
4
|
+
import { keyframes } from '@emotion/react';
|
|
4
5
|
import { Mark, SatisfactionBar } from '../../..';
|
|
5
6
|
export const SatisfactionProgress = ({ satisfactionPercentage, }) => {
|
|
6
7
|
const sentiments = ['great', 'good', 'ok', 'poor'];
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { Flex, Avatar, Stack, Box, Text } from '@chakra-ui/react';
|
|
3
3
|
import { randomColor } from '../../utils';
|
|
4
|
+
import MoonLoader from 'react-spinners/MoonLoader';
|
|
4
5
|
export const RecipientContent = ({ bgColor, firstName = '', index = 0, lastName = '', phone = '', email = '', }) => {
|
|
5
|
-
|
|
6
|
+
const isPending = firstName === 'Account' && lastName === 'Pending';
|
|
7
|
+
return (_jsxs(Flex, { gap: "2", align: firstName ? 'start' : 'center', children: [isPending && (_jsx(MoonLoader, { color: "#2d2d2d", size: 20, speedMultiplier: 0.5 })), !isPending && (_jsx(Avatar, { size: "sm", bg: bgColor !== null && bgColor !== void 0 ? bgColor : randomColor(index), fontWeight: "bold", color: "neutral.white", name: firstName ? `${firstName} ${lastName}` : '' })), _jsxs(Stack, { w: "full", spacing: "-2", minH: "3rem", justify: "space-between", children: [_jsxs(Box, { children: [firstName && (_jsx(Text, { fontWeight: "medium", textTransform: "capitalize", children: `${firstName} ${lastName}` })), _jsx(Text, { fontSize: "xxs", children: phone })] }), _jsx(Text, { variant: "email", alignSelf: "flex-end", children: email })] })] }));
|
|
6
8
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
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, } from '../../assets/images';
|
|
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, } from '../../assets/images';
|
|
2
2
|
export const fieldIcons = {
|
|
3
3
|
barcode: Barcode,
|
|
4
4
|
billing: Billing,
|
|
@@ -43,4 +43,10 @@ export const fieldIcons = {
|
|
|
43
43
|
target: Target,
|
|
44
44
|
title: CircleFace,
|
|
45
45
|
company: Company,
|
|
46
|
+
'sh-gutter': GutterCleaning,
|
|
47
|
+
'sh-home': HomeCleaning,
|
|
48
|
+
'sh-lights': HolidayLights,
|
|
49
|
+
'sh-pressure': Pressure,
|
|
50
|
+
'sh-roof': RoofCleaning,
|
|
51
|
+
'sh-window': WindowCleaning,
|
|
46
52
|
};
|
|
@@ -4,22 +4,7 @@ export declare const useConfirmHomeAddress: (values: ConfirmAddressFormI | undef
|
|
|
4
4
|
handleSelectRecords: (event: ChangeEvent<HTMLInputElement>) => void;
|
|
5
5
|
handleSubmit: () => void;
|
|
6
6
|
isOwner: boolean;
|
|
7
|
-
group: import("
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
tabIndex?: number;
|
|
11
|
-
style?: React.CSSProperties;
|
|
12
|
-
} & import("react").RefAttributes<any>;
|
|
13
|
-
ownRadio: import("@chakra-ui/react-types").InputDOMProps & import("react").AriaAttributes & import("react").DOMAttributes<HTMLInputElement> & import("@chakra-ui/react-types").DataAttributes & {
|
|
14
|
-
id?: string;
|
|
15
|
-
role?: React.AriaRole;
|
|
16
|
-
tabIndex?: number;
|
|
17
|
-
style?: React.CSSProperties;
|
|
18
|
-
} & import("react").RefAttributes<any>;
|
|
19
|
-
rentRadio: import("@chakra-ui/react-types").InputDOMProps & import("react").AriaAttributes & import("react").DOMAttributes<HTMLInputElement> & import("@chakra-ui/react-types").DataAttributes & {
|
|
20
|
-
id?: string;
|
|
21
|
-
role?: React.AriaRole;
|
|
22
|
-
tabIndex?: number;
|
|
23
|
-
style?: React.CSSProperties;
|
|
24
|
-
} & import("react").RefAttributes<any>;
|
|
7
|
+
group: import("@chakra-ui/utils").DOMAttributes<import("@chakra-ui/utils").DOMElement> & import("react").RefAttributes<any>;
|
|
8
|
+
ownRadio: import("@chakra-ui/utils").InputDOMAttributes & import("react").RefAttributes<any>;
|
|
9
|
+
rentRadio: import("@chakra-ui/utils").InputDOMAttributes & import("react").RefAttributes<any>;
|
|
25
10
|
};
|