@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.
Files changed (71) hide show
  1. package/dist/assets/images/shine/house-washing.png +0 -0
  2. package/dist/assets/images/shine/index.d.ts +2 -1
  3. package/dist/assets/images/shine/index.js +2 -1
  4. package/dist/assets/images/shine/index.ts +2 -0
  5. package/dist/assets/locales/en/index.json +3 -2
  6. package/dist/components/forms/dynamicForm/DynamicForm.js +3 -3
  7. package/dist/components/forms/dynamicForm/fields/CheckboxGroupField.d.ts +1 -1
  8. package/dist/components/forms/dynamicForm/fields/CheckboxGroupField.js +2 -2
  9. package/dist/components/forms/dynamicForm/fields/TileBodyFields.d.ts +2 -0
  10. package/dist/components/forms/dynamicForm/fields/TileBodyFields.js +22 -0
  11. package/dist/components/forms/dynamicForm/fields/TileFooterFields.d.ts +2 -0
  12. package/dist/components/forms/dynamicForm/fields/TileFooterFields.js +23 -0
  13. package/dist/components/forms/dynamicForm/fields/TileHeaderFields.d.ts +2 -0
  14. package/dist/components/forms/dynamicForm/fields/TileHeaderFields.js +22 -0
  15. package/dist/components/forms/dynamicForm/fields/index.d.ts +3 -0
  16. package/dist/components/forms/dynamicForm/fields/index.js +3 -0
  17. package/dist/components/forms/dynamicForm/fields/uiFields/TileBody.js +2 -2
  18. package/dist/components/forms/dynamicForm/fields/uiFields/TileBody.tsx +23 -9
  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.tsx +1 -1
  22. package/dist/components/forms/dynamicForm/fields/uiFields/TileCta.js +1 -1
  23. package/dist/components/forms/dynamicForm/fields/uiFields/TileCta.tsx +1 -0
  24. package/dist/components/forms/dynamicForm/fields/uiFields/VerticalIcon.js +2 -2
  25. package/dist/components/forms/dynamicForm/fields/uiFields/VerticalIcon.tsx +5 -3
  26. package/dist/components/homeAssistant/HomeAssistant.d.ts +1 -1
  27. package/dist/components/homeAssistant/HomeAssistant.js +2 -2
  28. package/dist/components/homeAssistant/HomeAssistantButton.js +1 -1
  29. package/dist/components/homeAssistant/HomeMonitorButton.js +1 -1
  30. package/dist/components/homeAssistant/HomeMonitorSteps.js +2 -2
  31. package/dist/components/homeAssistant/panel/HomeAssistantPanel.d.ts +1 -1
  32. package/dist/components/homeAssistant/panel/HomeAssistantPanel.js +3 -3
  33. package/dist/components/homeBoard/HomeBoard.js +4 -4
  34. package/dist/components/launchpad/IconMenu.js +7 -7
  35. package/dist/components/partner/PartnerHeader.d.ts +1 -1
  36. package/dist/components/partner/PartnerHeader.js +2 -2
  37. package/dist/helpers/forms/dynamicForm.helper.js +3 -1
  38. package/dist/interfaces/forms/dynamicForm/DynamicForm.interface.d.ts +2 -2
  39. package/dist/interfaces/homeAssistant/HomeAssistantPanel.interface.d.ts +1 -0
  40. package/dist/interfaces/homeAssistant/HomeAssistantSteps.interface.d.ts +1 -0
  41. package/dist/interfaces/partner/PartnerHeader.interface.d.ts +2 -1
  42. package/dist/mocks/forms/dynamicForm.mock.js +75 -66
  43. package/package.json +1 -1
  44. package/src/assets/images/shine/house-washing.png +0 -0
  45. package/src/assets/images/shine/index.ts +2 -0
  46. package/src/assets/locales/en/index.json +3 -2
  47. package/src/components/forms/dynamicForm/DynamicForm.tsx +22 -12
  48. package/src/components/forms/dynamicForm/fields/CheckboxGroupField.tsx +14 -6
  49. package/src/components/forms/dynamicForm/fields/TileBodyFields.tsx +34 -0
  50. package/src/components/forms/dynamicForm/fields/TileFooterFields.tsx +49 -0
  51. package/src/components/forms/dynamicForm/fields/TileHeaderFields.tsx +40 -0
  52. package/src/components/forms/dynamicForm/fields/index.ts +3 -0
  53. package/src/components/forms/dynamicForm/fields/uiFields/TileBody.tsx +23 -9
  54. package/src/components/forms/dynamicForm/fields/uiFields/TileBodyLogo.tsx +8 -1
  55. package/src/components/forms/dynamicForm/fields/uiFields/TileBodySectionGrid.tsx +1 -1
  56. package/src/components/forms/dynamicForm/fields/uiFields/TileCta.tsx +1 -0
  57. package/src/components/forms/dynamicForm/fields/uiFields/VerticalIcon.tsx +5 -3
  58. package/src/components/homeAssistant/HomeAssistant.tsx +2 -1
  59. package/src/components/homeAssistant/HomeAssistantButton.tsx +1 -1
  60. package/src/components/homeAssistant/HomeMonitorButton.tsx +3 -3
  61. package/src/components/homeAssistant/HomeMonitorSteps.tsx +5 -5
  62. package/src/components/homeAssistant/panel/HomeAssistantPanel.tsx +3 -2
  63. package/src/components/homeBoard/HomeBoard.tsx +11 -1
  64. package/src/components/launchpad/IconMenu.tsx +37 -39
  65. package/src/components/partner/PartnerHeader.tsx +9 -1
  66. package/src/helpers/forms/dynamicForm.helper.ts +4 -0
  67. package/src/interfaces/forms/dynamicForm/DynamicForm.interface.ts +2 -0
  68. package/src/interfaces/homeAssistant/HomeAssistantPanel.interface.ts +1 -0
  69. package/src/interfaces/homeAssistant/HomeAssistantSteps.interface.ts +1 -0
  70. package/src/interfaces/partner/PartnerHeader.interface.ts +2 -1
  71. 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
- <Menu isLazy>
23
- {({ isOpen }) => (
24
- <>
25
- <Overlay
26
- bg="overlay"
27
- showOverlay={isOpen}
28
- position="fixed"
29
- zIndex={zIndex}
30
- />
31
- <MenuButton
32
- as={IconButton}
33
- aria-label="Options"
34
- icon={icon}
35
- variant={variant}
36
- w={width}
37
- disabled={disabled}
38
- marginTop="0 !important"
39
- onClick={onClick}
40
- />
41
- <MenuList zIndex="5">
42
- {menuItems?.map(({ handleClick, label }) => (
43
- <MenuItem
44
- key={label}
45
- onClick={() => handleClick(itemForm)}
46
- _hover={{
47
- bg: 'lightGreen.1',
48
- }}
49
- _focus={{
50
- bg: 'lightGreen.1',
51
- }}
52
- >
53
- {label}
54
- </MenuItem>
55
- ))}
56
- </MenuList>
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 justify="space-between" align="center" p="base" bg="white">
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
@@ -10,4 +10,5 @@ export interface HomeAssistantPanelI {
10
10
  onSave: (form: ReportI[]) => void
11
11
  backDisabled: boolean
12
12
  nextDisabled: boolean
13
+ hasCompleted: boolean
13
14
  }
@@ -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,6 +1,7 @@
1
- import { MenuItemI } from "@/interfaces"
1
+ import { MenuItemI } from '@/interfaces'
2
2
 
3
3
  export interface PartnerHeaderI {
4
+ borderColor?: string
4
5
  logo: string
5
6
  menuItems?: MenuItemI[]
6
7
  partnerName: string
@@ -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