@homefile/components-v2 2.1.0 → 2.2.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.
Files changed (79) hide show
  1. package/dist/assets/images/ia.svg +15 -16
  2. package/dist/assets/images/index.d.ts +2 -1
  3. package/dist/assets/images/index.js +2 -1
  4. package/dist/assets/images/index.ts +2 -0
  5. package/dist/assets/images/pressure-washer.svg +16 -0
  6. package/dist/assets/locales/en/index.json +8 -7
  7. package/dist/components/animations/HomieAnimation.d.ts +3 -1
  8. package/dist/components/animations/HomieAnimation.js +2 -2
  9. package/dist/components/contacts/ContactsContent.js +1 -1
  10. package/dist/components/forms/dynamicForm/DynamicForm.js +3 -1
  11. package/dist/components/forms/dynamicForm/fields/CheckboxGroupField.d.ts +2 -0
  12. package/dist/components/forms/dynamicForm/fields/CheckboxGroupField.js +18 -0
  13. package/dist/components/forms/dynamicForm/fields/SingleFields.js +3 -3
  14. package/dist/components/forms/dynamicForm/fields/index.d.ts +1 -0
  15. package/dist/components/forms/dynamicForm/fields/index.js +1 -0
  16. package/dist/components/forms/dynamicForm/fields/uiFields/TileBodyAction.d.ts +1 -1
  17. package/dist/components/forms/dynamicForm/fields/uiFields/TileBodyAction.js +2 -2
  18. package/dist/components/forms/dynamicForm/fields/uiFields/TileBodyAction.tsx +2 -2
  19. package/dist/components/forms/dynamicForm/fields/uiFields/TileCta.d.ts +1 -1
  20. package/dist/components/forms/dynamicForm/fields/uiFields/TileCta.js +15 -2
  21. package/dist/components/forms/dynamicForm/fields/uiFields/TileCta.tsx +3 -2
  22. package/dist/components/homeAssistant/HomeAssistantTutorial.js +1 -1
  23. package/dist/components/homeAssistant/HomeAssistantWrapper.js +1 -1
  24. package/dist/components/homeAssistant/HomeMonitorButton.d.ts +1 -1
  25. package/dist/components/homeAssistant/HomeMonitorButton.js +3 -8
  26. package/dist/components/homeAssistant/HomeMonitorSteps.js +18 -4
  27. package/dist/components/homeAssistant/monitorAlerts/HomefileMonitoring.js +1 -1
  28. package/dist/components/homeAssistant/panel/ApplianceSteps.js +4 -1
  29. package/dist/components/homeAssistant/panel/HomeAssistantPanel.js +14 -1
  30. package/dist/components/homeBoard/HomeBoard.js +7 -2
  31. package/dist/components/inputs/SelectButton.js +1 -1
  32. package/dist/components/launchpad/IconMenu.d.ts +1 -1
  33. package/dist/components/launchpad/IconMenu.js +2 -2
  34. package/dist/helpers/forms/dynamicForm.helper.js +2 -1
  35. package/dist/interfaces/forms/dynamicForm/DynamicForm.interface.d.ts +2 -2
  36. package/dist/interfaces/forms/dynamicForm/fields/UIFields.interface.d.ts +14 -3
  37. package/dist/interfaces/homeAssistant/ApplianceSteps.interface.d.ts +1 -2
  38. package/dist/interfaces/homeAssistant/HomeMonitorSteps.interface.d.ts +0 -1
  39. package/dist/interfaces/launchpad/IconMenu.interface.d.ts +2 -0
  40. package/dist/mocks/forms/dynamicForm.mock.js +66 -0
  41. package/dist/mocks/homeAssistant/homeAssistantForms.js +6 -0
  42. package/dist/stories/animations/HomieAnimation.stories.d.ts +1 -0
  43. package/dist/stories/animations/HomieAnimation.stories.js +1 -0
  44. package/dist/stories/assets/Illustrations.stories.js +2 -2
  45. package/dist/stories/forms/dynamicForm/DynamicForm.stories.js +1 -3
  46. package/package.json +1 -1
  47. package/src/assets/images/ia.svg +15 -16
  48. package/src/assets/images/index.ts +2 -0
  49. package/src/assets/images/pressure-washer.svg +16 -0
  50. package/src/assets/locales/en/index.json +8 -7
  51. package/src/components/animations/HomieAnimation.tsx +2 -2
  52. package/src/components/contacts/ContactsContent.tsx +1 -1
  53. package/src/components/forms/dynamicForm/DynamicForm.tsx +11 -0
  54. package/src/components/forms/dynamicForm/fields/CheckboxGroupField.tsx +65 -0
  55. package/src/components/forms/dynamicForm/fields/SingleFields.tsx +12 -2
  56. package/src/components/forms/dynamicForm/fields/index.ts +1 -0
  57. package/src/components/forms/dynamicForm/fields/uiFields/TileBodyAction.tsx +2 -2
  58. package/src/components/forms/dynamicForm/fields/uiFields/TileCta.tsx +3 -2
  59. package/src/components/homeAssistant/HomeAssistantTutorial.tsx +3 -0
  60. package/src/components/homeAssistant/HomeAssistantWrapper.tsx +0 -5
  61. package/src/components/homeAssistant/HomeMonitorButton.tsx +3 -17
  62. package/src/components/homeAssistant/HomeMonitorSteps.tsx +36 -10
  63. package/src/components/homeAssistant/monitorAlerts/HomefileMonitoring.tsx +1 -1
  64. package/src/components/homeAssistant/panel/ApplianceSteps.tsx +7 -1
  65. package/src/components/homeAssistant/panel/HomeAssistantPanel.tsx +21 -3
  66. package/src/components/homeBoard/HomeBoard.tsx +23 -0
  67. package/src/components/inputs/SelectButton.tsx +3 -1
  68. package/src/components/launchpad/IconMenu.tsx +4 -1
  69. package/src/helpers/forms/dynamicForm.helper.ts +2 -0
  70. package/src/interfaces/forms/dynamicForm/DynamicForm.interface.ts +3 -0
  71. package/src/interfaces/forms/dynamicForm/fields/UIFields.interface.ts +18 -3
  72. package/src/interfaces/homeAssistant/ApplianceSteps.interface.ts +1 -1
  73. package/src/interfaces/homeAssistant/HomeMonitorSteps.interface.ts +0 -1
  74. package/src/interfaces/launchpad/IconMenu.interface.ts +2 -0
  75. package/src/mocks/forms/dynamicForm.mock.ts +67 -0
  76. package/src/mocks/homeAssistant/homeAssistantForms.ts +6 -0
  77. package/src/stories/animations/HomieAnimation.stories.tsx +1 -0
  78. package/src/stories/assets/Illustrations.stories.tsx +2 -0
  79. package/src/stories/forms/dynamicForm/DynamicForm.stories.tsx +6 -3
@@ -48,7 +48,6 @@ export const HomeAssistantWrapper = ({
48
48
  h="80px"
49
49
  top="80px"
50
50
  animation={`${moveRightToLeftWithFade} 400s linear infinite`}
51
- zIndex="1"
52
51
  />
53
52
  <Image
54
53
  src={Cloud2}
@@ -57,7 +56,6 @@ export const HomeAssistantWrapper = ({
57
56
  h="112px"
58
57
  top="150px"
59
58
  animation={`${moveRightToLeft} 200s linear infinite`}
60
- zIndex="1"
61
59
  />
62
60
  <Image
63
61
  src={Cloud3}
@@ -66,7 +64,6 @@ export const HomeAssistantWrapper = ({
66
64
  h="160px"
67
65
  top="200px"
68
66
  animation={`${moveRightToLeft} 130s linear infinite`}
69
- zIndex="1"
70
67
  />
71
68
  {showAirplane && (
72
69
  <Image
@@ -76,7 +73,6 @@ export const HomeAssistantWrapper = ({
76
73
  h="40px"
77
74
  top="85px"
78
75
  animation={`${moveLeftToRightAirplane} 500s cubic-bezier(1, 1, 1, 500) infinite`}
79
- zIndex="1"
80
76
  />
81
77
  )}
82
78
  <Image
@@ -87,7 +83,6 @@ export const HomeAssistantWrapper = ({
87
83
  right="2"
88
84
  w="auto"
89
85
  h="70px"
90
- zIndex="1"
91
86
  />
92
87
  </Box>
93
88
  </TileTooltip>
@@ -1,24 +1,18 @@
1
1
  import { Box, Center, Image, Stack, Text } from '@chakra-ui/react'
2
2
  import { HomeMonitorButtonI } from '@/interfaces'
3
3
  import { getIconAltText } from '@/utils'
4
- import { IconMenu, MoreHorizontal } from '@/components'
5
4
 
6
5
  export const HomeMonitorButton = ({
7
6
  currentStep,
8
- menuItems,
9
7
  onStepClick,
10
8
  status = 'ok',
11
9
  step,
12
10
  }: HomeMonitorButtonI) => {
11
+ const buttonId = `homeMonitorButton-${currentStep}`
13
12
  const iconAltText = getIconAltText(step.icon)
14
- const handleClick = () => {
15
- if (status !== 'ok') onStepClick(currentStep)
16
- }
17
-
18
- const isDisabled = Number(menuItems.length) === 0
19
13
 
20
14
  return (
21
- <Box position="relative">
15
+ <Box position="relative" id={buttonId}>
22
16
  <Box
23
17
  position="relative"
24
18
  bg="neutral.white"
@@ -47,7 +41,7 @@ export const HomeMonitorButton = ({
47
41
  h="96px"
48
42
  py="base"
49
43
  {...setStyles(status)}
50
- onClick={handleClick}
44
+ onClick={() => onStepClick(currentStep)}
51
45
  >
52
46
  <Center h="60%" marginTop="2">
53
47
  <Image src={step.icon} alt={iconAltText} w="auto" h="28px" />
@@ -64,14 +58,6 @@ export const HomeMonitorButton = ({
64
58
  </Center>
65
59
  </Stack>
66
60
  </Box>
67
- <Box position="absolute" top="-2px" right="4px" zIndex="4">
68
- <IconMenu
69
- icon={<MoreHorizontal size={26} />}
70
- itemForm={currentStep}
71
- menuItems={menuItems}
72
- disabled={isDisabled}
73
- />
74
- </Box>
75
61
  </Box>
76
62
  )
77
63
  }
@@ -1,24 +1,50 @@
1
1
  import { Box, Flex } from '@chakra-ui/react'
2
2
  import { HomeMonitortStepsI } from '@/interfaces'
3
- import { HomeMonitorButton } from '@/components'
3
+ import { HomeMonitorButton, IconMenu, MoreHorizontal } from '@/components'
4
4
  import { homeAssistantSteps } from '@/helpers'
5
+ import { useComponentStyles } from '@/hooks'
6
+ import { useState } from 'react'
5
7
 
6
8
  export const HomeMonitorSteps = ({
7
- menuItems,
9
+ menuItems = [],
8
10
  onStepClick,
9
11
  stepsWithAlerts,
10
12
  }: HomeMonitortStepsI) => {
13
+ const ids = [
14
+ 'homeMonitorButton-1',
15
+ 'homeMonitorButton-2',
16
+ 'homeMonitorButton-3',
17
+ 'homeMonitorButton-4',
18
+ 'homeMonitorButton-5',
19
+ 'homeMonitorButton-6',
20
+ ]
21
+ const [selectedId, setSelectedId] = useState<string>('')
22
+ const isDisabled = menuItems.length === 0
23
+
24
+ useComponentStyles({ ids, selectedId, zIndex: '2' })
25
+ const handleStepClick = (step: number) => onStepClick(step)
11
26
  return (
12
27
  <Flex gap="base">
13
28
  {homeAssistantSteps.map((step, index) => (
14
- <Box key={step.title} flex="auto">
15
- <HomeMonitorButton
16
- currentStep={index + 1}
17
- menuItems={menuItems}
18
- onStepClick={onStepClick}
19
- status={getStatus(index + 1, stepsWithAlerts)}
20
- step={step}
21
- />
29
+ <Box key={step?.title} position="relative">
30
+ <Box flex="auto">
31
+ <HomeMonitorButton
32
+ currentStep={index + 1}
33
+ onStepClick={handleStepClick}
34
+ status={getStatus(index + 1, stepsWithAlerts)}
35
+ step={step}
36
+ />
37
+ <Box position="absolute" top="-2px" right="4px" zIndex="1400">
38
+ <IconMenu
39
+ zIndex="2"
40
+ icon={<MoreHorizontal size={26} />}
41
+ itemForm={index + 1}
42
+ menuItems={menuItems}
43
+ disabled={isDisabled}
44
+ onClick={() => setSelectedId(`homeMonitorButton-${index + 1}`)}
45
+ />
46
+ </Box>
47
+ </Box>
22
48
  </Box>
23
49
  ))}
24
50
  </Flex>
@@ -7,7 +7,7 @@ export const HomefileMonitoring = () => {
7
7
  <Box p="base" borderRadius="lg" bg="#C5E9F4" h="66px" zIndex="2" flex="1">
8
8
  <Flex align="center">
9
9
  <Box boxSize="47px">
10
- <HomieAnimation />
10
+ <HomieAnimation animation="homie-v3" />
11
11
  </Box>
12
12
  <Text>{t('homeAssistant.homeMonitoring')}</Text>
13
13
  </Flex>
@@ -14,13 +14,18 @@ import {
14
14
  Microwave,
15
15
  Range,
16
16
  } from '@/assets/images'
17
- import { useState } from 'react'
17
+ import { useState, useEffect } from 'react'
18
18
 
19
19
  export const ApplianceSteps = ({
20
20
  addedAppliances = [],
21
21
  onClick,
22
22
  }: ApplianceStepsI) => {
23
23
  const [appliances, setAppliances] = useState<string[]>(addedAppliances)
24
+
25
+ useEffect(() => {
26
+ setAppliances(addedAppliances)
27
+ }, [addedAppliances])
28
+
24
29
  const handleClick = (id: string) => {
25
30
  if (appliances.includes(id)) {
26
31
  const newAppliances = appliances.filter((appliance) => appliance !== id)
@@ -31,6 +36,7 @@ export const ApplianceSteps = ({
31
36
  setAppliances([...appliances, id])
32
37
  onClick([...appliances, id])
33
38
  }
39
+
34
40
  return (
35
41
  <Stack spacing="base" bg="lightBlue.2" p="base">
36
42
  <Text fontFamily="secondary" fontSize="sm">
@@ -1,4 +1,4 @@
1
- import { PropsWithChildren } from 'react'
1
+ import { PropsWithChildren, useState, useEffect } from 'react'
2
2
  import { FormProvider } from 'react-hook-form'
3
3
  import { t } from 'i18next'
4
4
  import {
@@ -17,7 +17,7 @@ import {
17
17
  HomeAssistantPanelStep,
18
18
  PanelHeader,
19
19
  } from '@/components'
20
- import { HomeAssistantPanelI } from '@/interfaces'
20
+ import { AppliancesType, HomeAssistantPanelI } from '@/interfaces'
21
21
  import { homeAssistantSteps } from '@/helpers'
22
22
  import { useSimpleDynamicForm } from '@/hooks'
23
23
 
@@ -33,9 +33,22 @@ export const HomeAssistantPanel = ({
33
33
  backDisabled,
34
34
  nextDisabled,
35
35
  }: PropsWithChildren<HomeAssistantPanelI>) => {
36
+ const [addedAppliances, updateAddedAppliances] = useState<AppliancesType[]>([])
36
37
  const { title } = homeAssistantSteps[currentStep - 1]
37
38
  const text = `${t('homeAssistant.details')} ${title.toLowerCase()}:`
38
39
  const isAppliances = currentStep === 4
40
+
41
+ useEffect(() => {
42
+ if (isAppliances) {
43
+ const targetAppliances = currentForm.find(
44
+ (field) =>
45
+ field.name?.toLocaleLowerCase() === 'appliances list' &&
46
+ field.type === 'hidden'
47
+ )?.value as AppliancesType[]
48
+ updateAddedAppliances(targetAppliances)
49
+ }
50
+ }, [currentForm, isAppliances])
51
+
39
52
  const { form, updatedFields } = useSimpleDynamicForm({
40
53
  fields: currentForm,
41
54
  })
@@ -52,7 +65,12 @@ export const HomeAssistantPanel = ({
52
65
  <DrawerBody p="0">
53
66
  <HomeAssistantPanelStep currentStep={currentStep} />
54
67
  {children}
55
- {isAppliances && <ApplianceSteps onClick={onApplianceClick} />}
68
+ {isAppliances && (
69
+ <ApplianceSteps
70
+ onClick={onApplianceClick}
71
+ addedAppliances={addedAppliances}
72
+ />
73
+ )}
56
74
  <Stack spacing="base" p="base">
57
75
  <Text fontFamily="secondary" fontSize="sm">
58
76
  {text}
@@ -51,6 +51,10 @@ import {
51
51
  EditHomeFooter,
52
52
  HomeAssistant,
53
53
  HomeAssistantPanel,
54
+ HomeMonitor,
55
+ HomefileMonitoring,
56
+ Notifications,
57
+ HomeMonitorSteps,
54
58
  } from '@/components'
55
59
  import {
56
60
  HomeCards,
@@ -329,6 +333,25 @@ export const HomeBoard = () => {
329
333
  taxes={taxesMock}
330
334
  title="Travis County Property Taxes"
331
335
  />
336
+ <HomeMonitor>
337
+ <Stack spacing="base">
338
+ <Flex gap="base">
339
+ <HomefileMonitoring />
340
+ <Notifications date="10-10-24" local="TX - Houston" />
341
+ </Flex>
342
+ <HomeMonitorSteps
343
+ menuItems={[
344
+ {
345
+ label: 'Details',
346
+ handleClick: handleHomeAssistantClick,
347
+ },
348
+ ]}
349
+ stepsWithAlerts={[]}
350
+ onStepClick={() => null}
351
+ />
352
+ </Stack>
353
+ </HomeMonitor>
354
+
332
355
  <Stack spacing="base">
333
356
  <ReceiptAutofiler
334
357
  onClick={() => null}
@@ -64,7 +64,9 @@ export const SelectButton = ({
64
64
  >
65
65
  <Flex align="center" gap="4" justify="space-between">
66
66
  <Text {...textVariants[variant]}>{selectedValue}</Text>
67
- <ChevronDown {...iconVariants[variant]} />
67
+ <Flex flexShrink={0}>
68
+ <ChevronDown {...iconVariants[variant]} />
69
+ </Flex>
68
70
  </Flex>
69
71
  </MenuButton>
70
72
  )
@@ -13,8 +13,10 @@ export const IconMenu = <T extends unknown>({
13
13
  icon,
14
14
  itemForm,
15
15
  menuItems,
16
+ onClick,
16
17
  variant = 'menuIcon',
17
18
  width = 'fit-content',
19
+ zIndex,
18
20
  }: IconMenuI<T>) => {
19
21
  return (
20
22
  <Menu isLazy>
@@ -24,7 +26,7 @@ export const IconMenu = <T extends unknown>({
24
26
  bg="overlay"
25
27
  showOverlay={isOpen}
26
28
  position="fixed"
27
- zIndex="4"
29
+ zIndex={zIndex}
28
30
  />
29
31
  <MenuButton
30
32
  as={IconButton}
@@ -34,6 +36,7 @@ export const IconMenu = <T extends unknown>({
34
36
  w={width}
35
37
  disabled={disabled}
36
38
  marginTop="0 !important"
39
+ onClick={onClick}
37
40
  />
38
41
  <MenuList zIndex="5">
39
42
  {menuItems?.map(({ handleClick, label }) => (
@@ -47,6 +47,7 @@ import {
47
47
  HolidayLights,
48
48
  GutterCleaning,
49
49
  HomeCleaning,
50
+ PressureWasher,
50
51
  } from '@/assets/images'
51
52
  import { IconTypes } from '@/interfaces'
52
53
 
@@ -86,6 +87,7 @@ export const fieldIcons: Record<IconTypes, string> = {
86
87
  heater: Heater,
87
88
  light: Light,
88
89
  plate: Plate,
90
+ 'pressure-washer': PressureWasher,
89
91
  pool: Pool2,
90
92
  roof: Roof2,
91
93
  umbrella: Closet,
@@ -2,12 +2,14 @@ import { FolderFileI, MenuItemI, PartnerFooterI, TileCtaI } from '@/interfaces'
2
2
 
3
3
  type KindTypes =
4
4
  | 'checkbox'
5
+ | 'checkbox-group'
5
6
  | 'currency'
6
7
  | 'date'
7
8
  | 'email'
8
9
  | 'file'
9
10
  | 'grid'
10
11
  | 'group'
12
+ | 'hidden'
11
13
  | 'number'
12
14
  | 'radio'
13
15
  | 'rating'
@@ -72,6 +74,7 @@ export type IconTypes =
72
74
  | 'mobile-drop'
73
75
  | 'light'
74
76
  | 'plate'
77
+ | 'pressure-washer'
75
78
  | 'house'
76
79
  | 'target'
77
80
  | 'title'
@@ -1,4 +1,4 @@
1
- import { DynamicFormI, MenuItemI, PartnerFooterI } from '@/interfaces'
1
+ import { DynamicFormI, MenuItemI, PartnerFooterI, ReportI } from '@/interfaces'
2
2
 
3
3
  export interface TileBodyLogoI {
4
4
  menuItems?: MenuItemI[]
@@ -17,8 +17,23 @@ export interface VerticalIconI {
17
17
  value: string
18
18
  }
19
19
 
20
- export interface TileCtaI {
21
- callback?: (value: string) => void
20
+ interface TileCtaCallbackI {
21
+ id: string
22
+ value: string
23
+ name?: string
24
+ link?: string
25
+ icon?: string
26
+ description?: string
27
+ canBeHidden?: boolean
28
+ visible?: boolean
29
+ }
30
+
31
+ export interface TileCtaI
32
+ extends Pick<
33
+ ReportI,
34
+ 'id' | 'name' | 'link' | 'icon' | 'description' | 'canBeHidden' | 'visible'
35
+ > {
36
+ callback?: (form: TileCtaCallbackI) => void
22
37
  type: 'primary-cta' | 'secondary-cta'
23
38
  value: string
24
39
  }
@@ -3,7 +3,7 @@ export interface ApplianceStepsI {
3
3
  onClick: (selectedSteps: string[]) => void
4
4
  }
5
5
 
6
- type AppliancesType =
6
+ export type AppliancesType =
7
7
  | 'fridge'
8
8
  | 'freezer'
9
9
  | 'washer'
@@ -8,7 +8,6 @@ export interface HomeMonitortStepsI {
8
8
 
9
9
  export interface HomeMonitorButtonI {
10
10
  currentStep: number
11
- menuItems: HomeMonitortStepsI['menuItems']
12
11
  onStepClick: HomeMonitortStepsI['onStepClick']
13
12
  status: 'alert' | 'ok'
14
13
  step: HomeAssistantStepI
@@ -8,6 +8,8 @@ export interface IconMenuI<T> {
8
8
  icon?: JSX.Element
9
9
  itemForm?: T
10
10
  menuItems?: MenuItemI[]
11
+ onClick?: () => void
11
12
  variant?: string
12
13
  width?: string
14
+ zIndex?: string
13
15
  }
@@ -13,6 +13,7 @@ export const formFieldsMock: ReportI[] = [
13
13
  visible: false,
14
14
  icon: 'barcode',
15
15
  },
16
+
16
17
  {
17
18
  id: faker.database.mongodbObjectId(),
18
19
  name: 'Receipt',
@@ -191,6 +192,72 @@ export const formFieldsMock: ReportI[] = [
191
192
  visible: false,
192
193
  icon: 'book',
193
194
  },
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
+ },
194
261
  ]
195
262
 
196
263
  export const contactFieldsMock: ReportI[] = [
@@ -164,6 +164,12 @@ export const homeAssitantStep3FormMock: ReportI[] = [
164
164
  ]
165
165
 
166
166
  export const homeAssitantStep4FormMock: ReportI[] = [
167
+ {
168
+ id: faker.database.mongodbObjectId(),
169
+ name: 'Appliances List',
170
+ value: ['fridge', 'dish-washer', 'hood', 'oven'],
171
+ type: 'hidden',
172
+ },
167
173
  {
168
174
  id: faker.database.mongodbObjectId(),
169
175
  name: 'Heater',
@@ -15,3 +15,4 @@ export default {
15
15
  } as Meta
16
16
 
17
17
  export const Homie = () => <HomieAnimation />
18
+ export const HomieLarge = () => <HomieAnimation animation="homie-v3" />
@@ -121,6 +121,7 @@ import {
121
121
  Plus,
122
122
  Pool,
123
123
  Pool2,
124
+ PressureWasher,
124
125
  Porch,
125
126
  Price,
126
127
  Profile,
@@ -360,6 +361,7 @@ export const Illustrations = () => {
360
361
  <IconWrapper icon={Plus} name="Plus" />
361
362
  <IconWrapper icon={Pool} name="Pool" />
362
363
  <IconWrapper icon={Pool2} name="Pool2" />
364
+ <IconWrapper icon={PressureWasher} name="PressureWasher" />
363
365
  <IconWrapper icon={Price} name="Price" />
364
366
  <IconWrapper icon={Profile} name="Profile" />
365
367
  <IconWrapper icon={ProgressReport} name="ProgressReport" />
@@ -9,8 +9,6 @@ export default {
9
9
  title: 'Components/Forms/DynamicForm',
10
10
  component: DynamicForm,
11
11
  args: {
12
- callback: action('callback'),
13
- onUpload: action('onUpload'),
14
12
  menuItems: menuMock,
15
13
  socialLinks: socialLinksMock,
16
14
  websiteUrl: 'http://www.audreyscheckdesign.com',
@@ -28,7 +26,12 @@ export const DynamicFormComponent = (args: DynamicFormI) => {
28
26
  export const DynamicUIFormComponent = (args: DynamicFormI) => {
29
27
  return (
30
28
  <Box m="base" w={['full', '320px']}>
31
- <DynamicForm {...args} form={tileUIMock} showTitle={false} />
29
+ <DynamicForm
30
+ {...args}
31
+ form={tileUIMock}
32
+ showTitle={false}
33
+ callback={action('callback')}
34
+ />
32
35
  </Box>
33
36
  )
34
37
  }