@homefile/components-v2 2.2.1 → 2.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/images/shine/house-washing.png +0 -0
- package/dist/assets/images/shine/index.d.ts +2 -1
- package/dist/assets/images/shine/index.js +2 -1
- package/dist/assets/images/shine/index.ts +2 -0
- package/dist/assets/locales/en/index.json +3 -2
- package/dist/components/forms/dynamicForm/DynamicForm.js +3 -3
- package/dist/components/forms/dynamicForm/fields/CheckboxGroupField.d.ts +1 -1
- package/dist/components/forms/dynamicForm/fields/CheckboxGroupField.js +2 -2
- package/dist/components/forms/dynamicForm/fields/TileBodyFields.d.ts +2 -0
- package/dist/components/forms/dynamicForm/fields/TileBodyFields.js +22 -0
- package/dist/components/forms/dynamicForm/fields/TileFooterFields.d.ts +2 -0
- package/dist/components/forms/dynamicForm/fields/TileFooterFields.js +23 -0
- package/dist/components/forms/dynamicForm/fields/TileHeaderFields.d.ts +2 -0
- package/dist/components/forms/dynamicForm/fields/TileHeaderFields.js +22 -0
- package/dist/components/forms/dynamicForm/fields/index.d.ts +3 -0
- package/dist/components/forms/dynamicForm/fields/index.js +3 -0
- package/dist/components/forms/dynamicForm/fields/uiFields/TileBody.js +2 -2
- package/dist/components/forms/dynamicForm/fields/uiFields/TileBody.tsx +23 -9
- package/dist/components/forms/dynamicForm/fields/uiFields/TileBodyLogo.js +1 -1
- package/dist/components/forms/dynamicForm/fields/uiFields/TileBodyLogo.tsx +8 -1
- package/dist/components/forms/dynamicForm/fields/uiFields/TileBodySectionGrid.tsx +1 -1
- package/dist/components/forms/dynamicForm/fields/uiFields/TileCta.js +1 -1
- package/dist/components/forms/dynamicForm/fields/uiFields/TileCta.tsx +1 -0
- package/dist/components/forms/dynamicForm/fields/uiFields/VerticalIcon.js +2 -2
- package/dist/components/forms/dynamicForm/fields/uiFields/VerticalIcon.tsx +5 -3
- package/dist/components/homeAssistant/HomeAssistant.d.ts +1 -1
- package/dist/components/homeAssistant/HomeAssistant.js +2 -2
- package/dist/components/homeAssistant/HomeAssistantButton.js +1 -1
- package/dist/components/homeAssistant/HomeMonitorButton.js +1 -1
- package/dist/components/homeAssistant/HomeMonitorSteps.js +2 -2
- package/dist/components/homeAssistant/panel/HomeAssistantPanel.d.ts +1 -1
- package/dist/components/homeAssistant/panel/HomeAssistantPanel.js +3 -3
- package/dist/components/homeBoard/HomeBoard.js +4 -4
- package/dist/components/launchpad/IconMenu.js +7 -7
- package/dist/components/partner/PartnerHeader.d.ts +1 -1
- package/dist/components/partner/PartnerHeader.js +2 -2
- package/dist/helpers/forms/dynamicForm.helper.js +3 -1
- package/dist/interfaces/forms/dynamicForm/DynamicForm.interface.d.ts +2 -2
- package/dist/interfaces/homeAssistant/HomeAssistantPanel.interface.d.ts +1 -0
- package/dist/interfaces/homeAssistant/HomeAssistantSteps.interface.d.ts +1 -0
- package/dist/interfaces/partner/PartnerHeader.interface.d.ts +2 -1
- package/dist/mocks/forms/dynamicForm.mock.js +75 -66
- package/package.json +1 -1
- package/src/assets/images/shine/house-washing.png +0 -0
- package/src/assets/images/shine/index.ts +2 -0
- package/src/assets/locales/en/index.json +3 -2
- package/src/components/forms/dynamicForm/DynamicForm.tsx +22 -12
- package/src/components/forms/dynamicForm/fields/CheckboxGroupField.tsx +14 -6
- package/src/components/forms/dynamicForm/fields/TileBodyFields.tsx +34 -0
- package/src/components/forms/dynamicForm/fields/TileFooterFields.tsx +49 -0
- package/src/components/forms/dynamicForm/fields/TileHeaderFields.tsx +40 -0
- package/src/components/forms/dynamicForm/fields/index.ts +3 -0
- package/src/components/forms/dynamicForm/fields/uiFields/TileBody.tsx +23 -9
- package/src/components/forms/dynamicForm/fields/uiFields/TileBodyLogo.tsx +8 -1
- package/src/components/forms/dynamicForm/fields/uiFields/TileBodySectionGrid.tsx +1 -1
- package/src/components/forms/dynamicForm/fields/uiFields/TileCta.tsx +1 -0
- package/src/components/forms/dynamicForm/fields/uiFields/VerticalIcon.tsx +5 -3
- package/src/components/homeAssistant/HomeAssistant.tsx +2 -1
- package/src/components/homeAssistant/HomeAssistantButton.tsx +1 -1
- package/src/components/homeAssistant/HomeMonitorButton.tsx +3 -3
- package/src/components/homeAssistant/HomeMonitorSteps.tsx +5 -5
- package/src/components/homeAssistant/panel/HomeAssistantPanel.tsx +3 -2
- package/src/components/homeBoard/HomeBoard.tsx +11 -1
- package/src/components/launchpad/IconMenu.tsx +37 -39
- package/src/components/partner/PartnerHeader.tsx +9 -1
- package/src/helpers/forms/dynamicForm.helper.ts +4 -0
- package/src/interfaces/forms/dynamicForm/DynamicForm.interface.ts +2 -0
- package/src/interfaces/homeAssistant/HomeAssistantPanel.interface.ts +1 -0
- package/src/interfaces/homeAssistant/HomeAssistantSteps.interface.ts +1 -0
- package/src/interfaces/partner/PartnerHeader.interface.ts +2 -1
- package/src/mocks/forms/dynamicForm.mock.ts +75 -66
|
@@ -84,6 +84,8 @@ import {
|
|
|
84
84
|
homeAssitantStep4FormMock,
|
|
85
85
|
homeAssitantStep5FormMock,
|
|
86
86
|
homeAssitantStep6FormMock,
|
|
87
|
+
tileUIMock,
|
|
88
|
+
socialLinksMock,
|
|
87
89
|
} from '@/mocks'
|
|
88
90
|
import { useHomeBoard, useWindowDimensions } from '@/hooks'
|
|
89
91
|
import { Painting } from '@/assets/images'
|
|
@@ -271,6 +273,7 @@ export const HomeBoard = () => {
|
|
|
271
273
|
onSave={() => {}}
|
|
272
274
|
backDisabled={false}
|
|
273
275
|
nextDisabled={false}
|
|
276
|
+
hasCompleted={true}
|
|
274
277
|
/>
|
|
275
278
|
),
|
|
276
279
|
}
|
|
@@ -334,7 +337,7 @@ export const HomeBoard = () => {
|
|
|
334
337
|
title="Travis County Property Taxes"
|
|
335
338
|
/>
|
|
336
339
|
<HomeMonitor>
|
|
337
|
-
<Stack spacing="base">
|
|
340
|
+
<Stack spacing="base" w="full" px="base">
|
|
338
341
|
<Flex gap="base">
|
|
339
342
|
<HomefileMonitoring />
|
|
340
343
|
<Notifications date="10-10-24" local="TX - Houston" />
|
|
@@ -351,6 +354,13 @@ export const HomeBoard = () => {
|
|
|
351
354
|
/>
|
|
352
355
|
</Stack>
|
|
353
356
|
</HomeMonitor>
|
|
357
|
+
<DynamicForm
|
|
358
|
+
form={tileUIMock}
|
|
359
|
+
menuItems={menuMock}
|
|
360
|
+
socialLinks={socialLinksMock}
|
|
361
|
+
showTitle={false}
|
|
362
|
+
websiteUrl="http://www.audreyscheckdesign.com"
|
|
363
|
+
/>
|
|
354
364
|
|
|
355
365
|
<Stack spacing="base">
|
|
356
366
|
<ReceiptAutofiler
|
|
@@ -4,6 +4,7 @@ import {
|
|
|
4
4
|
Menu,
|
|
5
5
|
MenuItem,
|
|
6
6
|
MenuList,
|
|
7
|
+
Box,
|
|
7
8
|
} from '@chakra-ui/react'
|
|
8
9
|
import { IconMenuI } from '@/interfaces'
|
|
9
10
|
import { Overlay } from '@/components'
|
|
@@ -16,46 +17,43 @@ export const IconMenu = <T extends unknown>({
|
|
|
16
17
|
onClick,
|
|
17
18
|
variant = 'menuIcon',
|
|
18
19
|
width = 'fit-content',
|
|
19
|
-
zIndex,
|
|
20
|
+
zIndex = '999',
|
|
20
21
|
}: IconMenuI<T>) => {
|
|
21
22
|
return (
|
|
22
|
-
<
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
bg="overlay"
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
</>
|
|
58
|
-
)}
|
|
59
|
-
</Menu>
|
|
23
|
+
<Box zIndex={zIndex}>
|
|
24
|
+
<Menu isLazy>
|
|
25
|
+
{({ isOpen }) => (
|
|
26
|
+
<>
|
|
27
|
+
<Overlay bg="overlay" showOverlay={isOpen} position="fixed" />
|
|
28
|
+
<MenuButton
|
|
29
|
+
as={IconButton}
|
|
30
|
+
aria-label="Options"
|
|
31
|
+
icon={icon}
|
|
32
|
+
variant={variant}
|
|
33
|
+
w={width}
|
|
34
|
+
disabled={disabled}
|
|
35
|
+
marginTop="0 !important"
|
|
36
|
+
onClick={onClick}
|
|
37
|
+
/>
|
|
38
|
+
<MenuList zIndex="5">
|
|
39
|
+
{menuItems?.map(({ handleClick, label }) => (
|
|
40
|
+
<MenuItem
|
|
41
|
+
key={label}
|
|
42
|
+
onClick={() => handleClick(itemForm)}
|
|
43
|
+
_hover={{
|
|
44
|
+
bg: 'lightGreen.1',
|
|
45
|
+
}}
|
|
46
|
+
_focus={{
|
|
47
|
+
bg: 'lightGreen.1',
|
|
48
|
+
}}
|
|
49
|
+
>
|
|
50
|
+
{label}
|
|
51
|
+
</MenuItem>
|
|
52
|
+
))}
|
|
53
|
+
</MenuList>
|
|
54
|
+
</>
|
|
55
|
+
)}
|
|
56
|
+
</Menu>
|
|
57
|
+
</Box>
|
|
60
58
|
)
|
|
61
59
|
}
|
|
@@ -3,13 +3,21 @@ import { MoreHorizontal, IconMenu, HeaderPartnerLogo } from '@/components'
|
|
|
3
3
|
import { PartnerHeaderI } from '@/interfaces'
|
|
4
4
|
|
|
5
5
|
export const PartnerHeader = ({
|
|
6
|
+
borderColor = 'transparent',
|
|
6
7
|
logo,
|
|
7
8
|
menuItems = [],
|
|
8
9
|
partnerName,
|
|
9
10
|
}: PartnerHeaderI) => {
|
|
10
11
|
const isDisabled = menuItems.length === 0
|
|
11
12
|
return (
|
|
12
|
-
<Flex
|
|
13
|
+
<Flex
|
|
14
|
+
justify="space-between"
|
|
15
|
+
align="center"
|
|
16
|
+
p="base"
|
|
17
|
+
bg="neutral.white"
|
|
18
|
+
borderBottom="1px solid"
|
|
19
|
+
borderColor={borderColor}
|
|
20
|
+
>
|
|
13
21
|
<HeaderPartnerLogo alt={`${partnerName} logo`} logo={logo} />
|
|
14
22
|
<IconMenu
|
|
15
23
|
icon={<MoreHorizontal size={38} />}
|
|
@@ -11,6 +11,7 @@ import {
|
|
|
11
11
|
Registry,
|
|
12
12
|
ShareWith,
|
|
13
13
|
Calendar,
|
|
14
|
+
Contacts,
|
|
14
15
|
Tools2,
|
|
15
16
|
Billing,
|
|
16
17
|
Calc,
|
|
@@ -47,6 +48,7 @@ import {
|
|
|
47
48
|
HolidayLights,
|
|
48
49
|
GutterCleaning,
|
|
49
50
|
HomeCleaning,
|
|
51
|
+
HouseWashing,
|
|
50
52
|
PressureWasher,
|
|
51
53
|
} from '@/assets/images'
|
|
52
54
|
import { IconTypes } from '@/interfaces'
|
|
@@ -57,6 +59,7 @@ export const fieldIcons: Record<IconTypes, string> = {
|
|
|
57
59
|
book: Book,
|
|
58
60
|
calc: Calc,
|
|
59
61
|
check: CheckPen,
|
|
62
|
+
contact: Contacts,
|
|
60
63
|
date: Calendar,
|
|
61
64
|
default: GenericField,
|
|
62
65
|
goldbars: GoldenBars,
|
|
@@ -98,6 +101,7 @@ export const fieldIcons: Record<IconTypes, string> = {
|
|
|
98
101
|
company: Company,
|
|
99
102
|
'sh-gutter': GutterCleaning,
|
|
100
103
|
'sh-home': HomeCleaning,
|
|
104
|
+
'sh-house': HouseWashing,
|
|
101
105
|
'sh-lights': HolidayLights,
|
|
102
106
|
'sh-pressure': Pressure,
|
|
103
107
|
'sh-roof': RoofCleaning,
|
|
@@ -43,6 +43,7 @@ export type IconTypes =
|
|
|
43
43
|
| 'calendar'
|
|
44
44
|
| 'check'
|
|
45
45
|
| 'co2'
|
|
46
|
+
| 'contact'
|
|
46
47
|
| 'date'
|
|
47
48
|
| 'default'
|
|
48
49
|
| 'detector'
|
|
@@ -88,6 +89,7 @@ export type UIIconTypes =
|
|
|
88
89
|
| 'sh-lights'
|
|
89
90
|
| 'sh-gutter'
|
|
90
91
|
| 'sh-home'
|
|
92
|
+
| 'sh-house'
|
|
91
93
|
|
|
92
94
|
export type ValueTypes = string | string[] | number | boolean
|
|
93
95
|
export type OptionsTypes = string[] | number[] | null
|
|
@@ -3,6 +3,72 @@ import { ReportI } from '@/interfaces'
|
|
|
3
3
|
import { faker } from '@faker-js/faker'
|
|
4
4
|
|
|
5
5
|
export const formFieldsMock: ReportI[] = [
|
|
6
|
+
{
|
|
7
|
+
id: faker.database.mongodbObjectId(),
|
|
8
|
+
name: 'Services',
|
|
9
|
+
description: faker.lorem.sentence(),
|
|
10
|
+
comments: faker.lorem.sentence(),
|
|
11
|
+
value: 'Select the services you are requesting support for?',
|
|
12
|
+
type: 'checkbox-group',
|
|
13
|
+
visible: true,
|
|
14
|
+
icon: 'pressure-washer',
|
|
15
|
+
children: [
|
|
16
|
+
{
|
|
17
|
+
id: faker.database.mongodbObjectId(),
|
|
18
|
+
name: 'Pressure Washing',
|
|
19
|
+
description: faker.lorem.sentence(),
|
|
20
|
+
comments: faker.lorem.sentence(),
|
|
21
|
+
value: true,
|
|
22
|
+
type: 'checkbox',
|
|
23
|
+
visible: true,
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
id: faker.database.mongodbObjectId(),
|
|
27
|
+
name: 'Window Cleaning',
|
|
28
|
+
description: faker.lorem.sentence(),
|
|
29
|
+
comments: faker.lorem.sentence(),
|
|
30
|
+
value: false,
|
|
31
|
+
type: 'checkbox',
|
|
32
|
+
visible: true,
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
id: faker.database.mongodbObjectId(),
|
|
36
|
+
name: 'Roof Cleaning',
|
|
37
|
+
description: faker.lorem.sentence(),
|
|
38
|
+
comments: faker.lorem.sentence(),
|
|
39
|
+
value: false,
|
|
40
|
+
type: 'checkbox',
|
|
41
|
+
visible: true,
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
id: faker.database.mongodbObjectId(),
|
|
45
|
+
name: 'Holiday Lights',
|
|
46
|
+
description: faker.lorem.sentence(),
|
|
47
|
+
comments: faker.lorem.sentence(),
|
|
48
|
+
value: true,
|
|
49
|
+
type: 'checkbox',
|
|
50
|
+
visible: true,
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
id: faker.database.mongodbObjectId(),
|
|
54
|
+
name: 'Gutter Cleaning',
|
|
55
|
+
description: faker.lorem.sentence(),
|
|
56
|
+
comments: faker.lorem.sentence(),
|
|
57
|
+
value: true,
|
|
58
|
+
type: 'checkbox',
|
|
59
|
+
visible: true,
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
id: faker.database.mongodbObjectId(),
|
|
63
|
+
name: 'Exterior Cleaning',
|
|
64
|
+
description: faker.lorem.sentence(),
|
|
65
|
+
comments: faker.lorem.sentence(),
|
|
66
|
+
value: true,
|
|
67
|
+
type: 'checkbox',
|
|
68
|
+
visible: false,
|
|
69
|
+
},
|
|
70
|
+
],
|
|
71
|
+
},
|
|
6
72
|
{
|
|
7
73
|
id: faker.database.mongodbObjectId(),
|
|
8
74
|
name: 'Serial #',
|
|
@@ -192,72 +258,6 @@ export const formFieldsMock: ReportI[] = [
|
|
|
192
258
|
visible: false,
|
|
193
259
|
icon: 'book',
|
|
194
260
|
},
|
|
195
|
-
{
|
|
196
|
-
id: faker.database.mongodbObjectId(),
|
|
197
|
-
name: 'Services',
|
|
198
|
-
description: faker.lorem.sentence(),
|
|
199
|
-
comments: faker.lorem.sentence(),
|
|
200
|
-
value: 'Select the services you are requesting support for?',
|
|
201
|
-
type: 'checkbox-group',
|
|
202
|
-
visible: true,
|
|
203
|
-
icon: 'pressure-washer',
|
|
204
|
-
children: [
|
|
205
|
-
{
|
|
206
|
-
id: faker.database.mongodbObjectId(),
|
|
207
|
-
name: 'Pressure Washing',
|
|
208
|
-
description: faker.lorem.sentence(),
|
|
209
|
-
comments: faker.lorem.sentence(),
|
|
210
|
-
value: true,
|
|
211
|
-
type: 'checkbox',
|
|
212
|
-
visible: true,
|
|
213
|
-
},
|
|
214
|
-
{
|
|
215
|
-
id: faker.database.mongodbObjectId(),
|
|
216
|
-
name: 'Window Cleaning',
|
|
217
|
-
description: faker.lorem.sentence(),
|
|
218
|
-
comments: faker.lorem.sentence(),
|
|
219
|
-
value: false,
|
|
220
|
-
type: 'checkbox',
|
|
221
|
-
visible: true,
|
|
222
|
-
},
|
|
223
|
-
{
|
|
224
|
-
id: faker.database.mongodbObjectId(),
|
|
225
|
-
name: 'Roof Cleaning',
|
|
226
|
-
description: faker.lorem.sentence(),
|
|
227
|
-
comments: faker.lorem.sentence(),
|
|
228
|
-
value: false,
|
|
229
|
-
type: 'checkbox',
|
|
230
|
-
visible: true,
|
|
231
|
-
},
|
|
232
|
-
{
|
|
233
|
-
id: faker.database.mongodbObjectId(),
|
|
234
|
-
name: 'Holiday Lights',
|
|
235
|
-
description: faker.lorem.sentence(),
|
|
236
|
-
comments: faker.lorem.sentence(),
|
|
237
|
-
value: true,
|
|
238
|
-
type: 'checkbox',
|
|
239
|
-
visible: true,
|
|
240
|
-
},
|
|
241
|
-
{
|
|
242
|
-
id: faker.database.mongodbObjectId(),
|
|
243
|
-
name: 'Gutter Cleaning',
|
|
244
|
-
description: faker.lorem.sentence(),
|
|
245
|
-
comments: faker.lorem.sentence(),
|
|
246
|
-
value: true,
|
|
247
|
-
type: 'checkbox',
|
|
248
|
-
visible: true,
|
|
249
|
-
},
|
|
250
|
-
{
|
|
251
|
-
id: faker.database.mongodbObjectId(),
|
|
252
|
-
name: 'Exterior Cleaning',
|
|
253
|
-
description: faker.lorem.sentence(),
|
|
254
|
-
comments: faker.lorem.sentence(),
|
|
255
|
-
value: true,
|
|
256
|
-
type: 'checkbox',
|
|
257
|
-
visible: false,
|
|
258
|
-
},
|
|
259
|
-
],
|
|
260
|
-
},
|
|
261
261
|
]
|
|
262
262
|
|
|
263
263
|
export const contactFieldsMock: ReportI[] = [
|
|
@@ -496,6 +496,15 @@ export const tileUIMock: ReportI[] = [
|
|
|
496
496
|
type: 'vertical-icon',
|
|
497
497
|
icon: 'sh-gutter',
|
|
498
498
|
},
|
|
499
|
+
{
|
|
500
|
+
id: faker.database.mongodbObjectId(),
|
|
501
|
+
name: '',
|
|
502
|
+
description: '',
|
|
503
|
+
comments: '',
|
|
504
|
+
value: 'House Washing',
|
|
505
|
+
type: 'vertical-icon',
|
|
506
|
+
icon: 'sh-house',
|
|
507
|
+
},
|
|
499
508
|
],
|
|
500
509
|
},
|
|
501
510
|
|