@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
@@ -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, Pressure, WindowCleaning, RoofCleaning, HolidayLights, GutterCleaning, HomeCleaning, } 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, PressureWasher, } from '../../assets/images';
2
2
  export const fieldIcons = {
3
3
  barcode: Barcode,
4
4
  billing: Billing,
@@ -35,6 +35,7 @@ export const fieldIcons = {
35
35
  heater: Heater,
36
36
  light: Light,
37
37
  plate: Plate,
38
+ 'pressure-washer': PressureWasher,
38
39
  pool: Pool2,
39
40
  roof: Roof2,
40
41
  umbrella: Closet,
@@ -1,7 +1,7 @@
1
1
  import { FolderFileI, MenuItemI, PartnerFooterI, TileCtaI } from '../..';
2
- type KindTypes = 'checkbox' | 'currency' | 'date' | 'email' | 'file' | 'grid' | 'group' | 'number' | 'radio' | 'rating' | 'select' | 'string' | 'switch' | 'telephone' | 'text' | 'textarea' | 'default' | UIKindTypes;
2
+ type KindTypes = 'checkbox' | 'checkbox-group' | 'currency' | 'date' | 'email' | 'file' | 'grid' | 'group' | 'hidden' | 'number' | 'radio' | 'rating' | 'select' | 'string' | 'switch' | 'telephone' | 'text' | 'textarea' | 'default' | UIKindTypes;
3
3
  type UIKindTypes = 'tile-body' | 'tile-body-logo' | 'tile-body-header' | 'tile-body-section' | 'tile-body-section-grid' | 'tile-form' | 'tile-body-action' | 'vertical-icon' | 'primary-cta' | 'secondary-cta';
4
- export type IconTypes = 'barcode' | 'battery' | 'billing' | 'book' | 'calc' | 'calendar' | 'check' | 'co2' | 'date' | 'default' | 'detector' | 'electricity' | 'goldbars' | 'heart' | 'image' | 'notes' | 'palette' | 'people' | 'price' | 'rating' | 'receipt' | 'registry' | 'sprinkler' | 'tools' | 'wind' | '68' | 'calendar2' | 'water' | 'calendar-drop' | 'umbrella' | 'heater' | 'roof' | 'foundation' | 'solar-panel' | 'pool' | 'drop' | 'mobile-drop' | 'light' | 'plate' | 'house' | 'target' | 'title' | 'company' | UIIconTypes;
4
+ export type IconTypes = 'barcode' | 'battery' | 'billing' | 'book' | 'calc' | 'calendar' | 'check' | 'co2' | 'date' | 'default' | 'detector' | 'electricity' | 'goldbars' | 'heart' | 'image' | 'notes' | 'palette' | 'people' | 'price' | 'rating' | 'receipt' | 'registry' | 'sprinkler' | 'tools' | 'wind' | '68' | 'calendar2' | 'water' | 'calendar-drop' | 'umbrella' | 'heater' | 'roof' | 'foundation' | 'solar-panel' | 'pool' | 'drop' | 'mobile-drop' | 'light' | 'plate' | 'pressure-washer' | 'house' | 'target' | 'title' | 'company' | UIIconTypes;
5
5
  export type UIIconTypes = 'sh-pressure' | 'sh-window' | 'sh-roof' | 'sh-lights' | 'sh-gutter' | 'sh-home';
6
6
  export type ValueTypes = string | string[] | number | boolean;
7
7
  export type OptionsTypes = string[] | number[] | null;
@@ -1,4 +1,4 @@
1
- import { DynamicFormI, MenuItemI, PartnerFooterI } from '../../..';
1
+ import { DynamicFormI, MenuItemI, PartnerFooterI, ReportI } from '../../..';
2
2
  export interface TileBodyLogoI {
3
3
  menuItems?: MenuItemI[];
4
4
  name?: string;
@@ -13,8 +13,19 @@ export interface VerticalIconI {
13
13
  icon?: string;
14
14
  value: string;
15
15
  }
16
- export interface TileCtaI {
17
- callback?: (value: string) => void;
16
+ interface TileCtaCallbackI {
17
+ id: string;
18
+ value: string;
19
+ name?: string;
20
+ link?: string;
21
+ icon?: string;
22
+ description?: string;
23
+ canBeHidden?: boolean;
24
+ visible?: boolean;
25
+ }
26
+ export interface TileCtaI extends Pick<ReportI, 'id' | 'name' | 'link' | 'icon' | 'description' | 'canBeHidden' | 'visible'> {
27
+ callback?: (form: TileCtaCallbackI) => void;
18
28
  type: 'primary-cta' | 'secondary-cta';
19
29
  value: string;
20
30
  }
31
+ export {};
@@ -2,5 +2,4 @@ export interface ApplianceStepsI {
2
2
  addedAppliances?: AppliancesType[];
3
3
  onClick: (selectedSteps: string[]) => void;
4
4
  }
5
- type AppliancesType = 'fridge' | 'freezer' | 'washer' | 'dryer' | 'dish-washer' | 'cook-top' | 'oven' | 'range' | 'hood' | 'microwave';
6
- export {};
5
+ export type AppliancesType = 'fridge' | 'freezer' | 'washer' | 'dryer' | 'dish-washer' | 'cook-top' | 'oven' | 'range' | 'hood' | 'microwave';
@@ -6,7 +6,6 @@ export interface HomeMonitortStepsI {
6
6
  }
7
7
  export interface HomeMonitorButtonI {
8
8
  currentStep: number;
9
- menuItems: HomeMonitortStepsI['menuItems'];
10
9
  onStepClick: HomeMonitortStepsI['onStepClick'];
11
10
  status: 'alert' | 'ok';
12
11
  step: HomeAssistantStepI;
@@ -7,6 +7,8 @@ export interface IconMenuI<T> {
7
7
  icon?: JSX.Element;
8
8
  itemForm?: T;
9
9
  menuItems?: MenuItemI[];
10
+ onClick?: () => void;
10
11
  variant?: string;
11
12
  width?: string;
13
+ zIndex?: string;
12
14
  }
@@ -189,6 +189,72 @@ export const formFieldsMock = [
189
189
  visible: false,
190
190
  icon: 'book',
191
191
  },
192
+ {
193
+ id: faker.database.mongodbObjectId(),
194
+ name: 'Services',
195
+ description: faker.lorem.sentence(),
196
+ comments: faker.lorem.sentence(),
197
+ value: 'Select the services you are requesting support for?',
198
+ type: 'checkbox-group',
199
+ visible: true,
200
+ icon: 'pressure-washer',
201
+ children: [
202
+ {
203
+ id: faker.database.mongodbObjectId(),
204
+ name: 'Pressure Washing',
205
+ description: faker.lorem.sentence(),
206
+ comments: faker.lorem.sentence(),
207
+ value: true,
208
+ type: 'checkbox',
209
+ visible: true,
210
+ },
211
+ {
212
+ id: faker.database.mongodbObjectId(),
213
+ name: 'Window Cleaning',
214
+ description: faker.lorem.sentence(),
215
+ comments: faker.lorem.sentence(),
216
+ value: false,
217
+ type: 'checkbox',
218
+ visible: true,
219
+ },
220
+ {
221
+ id: faker.database.mongodbObjectId(),
222
+ name: 'Roof Cleaning',
223
+ description: faker.lorem.sentence(),
224
+ comments: faker.lorem.sentence(),
225
+ value: false,
226
+ type: 'checkbox',
227
+ visible: true,
228
+ },
229
+ {
230
+ id: faker.database.mongodbObjectId(),
231
+ name: 'Holiday Lights',
232
+ description: faker.lorem.sentence(),
233
+ comments: faker.lorem.sentence(),
234
+ value: true,
235
+ type: 'checkbox',
236
+ visible: true,
237
+ },
238
+ {
239
+ id: faker.database.mongodbObjectId(),
240
+ name: 'Gutter Cleaning',
241
+ description: faker.lorem.sentence(),
242
+ comments: faker.lorem.sentence(),
243
+ value: true,
244
+ type: 'checkbox',
245
+ visible: true,
246
+ },
247
+ {
248
+ id: faker.database.mongodbObjectId(),
249
+ name: 'Exterior Cleaning',
250
+ description: faker.lorem.sentence(),
251
+ comments: faker.lorem.sentence(),
252
+ value: true,
253
+ type: 'checkbox',
254
+ visible: false,
255
+ },
256
+ ],
257
+ },
192
258
  ];
193
259
  export const contactFieldsMock = [
194
260
  {
@@ -158,6 +158,12 @@ export const homeAssitantStep3FormMock = [
158
158
  },
159
159
  ];
160
160
  export const homeAssitantStep4FormMock = [
161
+ {
162
+ id: faker.database.mongodbObjectId(),
163
+ name: 'Appliances List',
164
+ value: ['fridge', 'dish-washer', 'hood', 'oven'],
165
+ type: 'hidden',
166
+ },
161
167
  {
162
168
  id: faker.database.mongodbObjectId(),
163
169
  name: 'Heater',
@@ -2,3 +2,4 @@ import { Meta } from '@storybook/react';
2
2
  declare const _default: Meta;
3
3
  export default _default;
4
4
  export declare const Homie: () => import("react/jsx-runtime").JSX.Element;
5
+ export declare const HomieLarge: () => import("react/jsx-runtime").JSX.Element;
@@ -9,3 +9,4 @@ export default {
9
9
  ],
10
10
  };
11
11
  export const Homie = () => _jsx(HomieAnimation, {});
12
+ export const HomieLarge = () => _jsx(HomieAnimation, { animation: "homie-v3" });
@@ -1,12 +1,12 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { Center, Grid, Image, Text } from '@chakra-ui/react';
3
- import { AlertDelete, AlertDeletePurple, Arrow, Balustrades, Barcode, Batery, Bathroom, Battery, Battery2, Bedding, Bedroom, Billing, BillingAddress, BlueFolder, BlueFolderShared, Book, Box as BoxIcon, Building, Calc, Calendar, Calendar2, Catalog, Check, CheckInCircle, CheckPen, Chemistry, CircleFace, Cleaning, Closet, Co2, Company, ComputerReport, Confirmation, Construction, Contacts, Contacts2, Contributor, Cookware, Countertops, CreditCard, Detector, Diamond, DiningRoom, DocIcon, Document, Doors, Drop, DropCalendar, Electricity, Electronics, Entryway, Equipment, Exclamation, Exterior, Face, Feedback, FileUploading, Finance, Fire, Flag, Flooring, FormSent, Foundation, Furniture, Garage, GearPencil, GearTime, GenericField, GlassWater, GoldenBars, GreenFolder, Group, Groups, GuestBedroom, Hallway, HandPencil, Hardware, Heart, Heater, Help, HomeAddress, Homeowner, House, HouseHands, IA, ImageDefault, ImgIcon, Inbox, Insect, Kitchen, LargeAppliances, Laundry, Light, Lighting, LivingRoom, LogoSmall, MagnifyingGlassReport, Manager, MasterBedroom, Mattress, Member, Message, MobileDrop, Money, Mudroom, NeedHelp, Notes, Office, Paint, Painting, PartnerGeneric, Patio, PdfIcon, PersonMail, Plants, Plate, Play, Plus, Pool, Pool2, Porch, Price, Profile, ProgressReport, Proposal, Rating, RealEstate, Receipt, ReceiptBg, ReceiptHouse, Receipts, Recipient, Records, Register, Registry, RelationshipHome, ResendPassword, Rocket, Roof, Roof2, Security, Send, ShareHome, ShareWith, SixtyEight, SMS, Social, SmallAppliances, SolarPanel, Sprinkler, Steps, Structure, Structures, Subscription, Supplies, Table, Target, Temperature, Theatre, Thumbnail, ThumbnailSmall, ThumbUp, Tile, Tools, Tools2, Trash, Utensils, VideoIcon, VideoPlay, VioletFolder, WallDecor, Warning, Warranty, Water, WellDone, WholeHome, Wind, Window, Wizard, WizardDetailed, WizardQuick, YellowFolder, YellowFolderUnshared, } from '../../assets/images';
3
+ import { AlertDelete, AlertDeletePurple, Arrow, Balustrades, Barcode, Batery, Bathroom, Battery, Battery2, Bedding, Bedroom, Billing, BillingAddress, BlueFolder, BlueFolderShared, Book, Box as BoxIcon, Building, Calc, Calendar, Calendar2, Catalog, Check, CheckInCircle, CheckPen, Chemistry, CircleFace, Cleaning, Closet, Co2, Company, ComputerReport, Confirmation, Construction, Contacts, Contacts2, Contributor, Cookware, Countertops, CreditCard, Detector, Diamond, DiningRoom, DocIcon, Document, Doors, Drop, DropCalendar, Electricity, Electronics, Entryway, Equipment, Exclamation, Exterior, Face, Feedback, FileUploading, Finance, Fire, Flag, Flooring, FormSent, Foundation, Furniture, Garage, GearPencil, GearTime, GenericField, GlassWater, GoldenBars, GreenFolder, Group, Groups, GuestBedroom, Hallway, HandPencil, Hardware, Heart, Heater, Help, HomeAddress, Homeowner, House, HouseHands, IA, ImageDefault, ImgIcon, Inbox, Insect, Kitchen, LargeAppliances, Laundry, Light, Lighting, LivingRoom, LogoSmall, MagnifyingGlassReport, Manager, MasterBedroom, Mattress, Member, Message, MobileDrop, Money, Mudroom, NeedHelp, Notes, Office, Paint, Painting, PartnerGeneric, Patio, PdfIcon, PersonMail, Plants, Plate, Play, Plus, Pool, Pool2, PressureWasher, Porch, Price, Profile, ProgressReport, Proposal, Rating, RealEstate, Receipt, ReceiptBg, ReceiptHouse, Receipts, Recipient, Records, Register, Registry, RelationshipHome, ResendPassword, Rocket, Roof, Roof2, Security, Send, ShareHome, ShareWith, SixtyEight, SMS, Social, SmallAppliances, SolarPanel, Sprinkler, Steps, Structure, Structures, Subscription, Supplies, Table, Target, Temperature, Theatre, Thumbnail, ThumbnailSmall, ThumbUp, Tile, Tools, Tools2, Trash, Utensils, VideoIcon, VideoPlay, VioletFolder, WallDecor, Warning, Warranty, Water, WellDone, WholeHome, Wind, Window, Wizard, WizardDetailed, WizardQuick, YellowFolder, YellowFolderUnshared, } from '../../assets/images';
4
4
  import { CookTop, Dishwasher, Dryer, Freezer, Fridge, Microwave, Oven, Range, Washer, } from '../../assets/images/appliances';
5
5
  export default {
6
6
  title: 'Assets/Illustrations',
7
7
  };
8
8
  export const Illustrations = () => {
9
- return (_jsxs(Grid, { maxW: "600px", templateColumns: "repeat(auto-fill, minmax(75px, 1fr))", p: "base", gap: "8", children: [_jsx(IconWrapper, { icon: CookTop, name: "CookTop" }), _jsx(IconWrapper, { icon: Dishwasher, name: "Dishwasher" }), _jsx(IconWrapper, { icon: Dryer, name: "Dryer" }), _jsx(IconWrapper, { icon: Freezer, name: "Freezer" }), _jsx(IconWrapper, { icon: Fridge, name: "Fridge" }), _jsx(IconWrapper, { icon: Microwave, name: "Microwave" }), _jsx(IconWrapper, { icon: Oven, name: "Oven" }), _jsx(IconWrapper, { icon: Range, name: "Range" }), _jsx(IconWrapper, { icon: Washer, name: "Washer" }), _jsx(IconWrapper, { icon: Barcode, name: "Barcode" }), _jsx(IconWrapper, { icon: Book, name: "Book" }), _jsx(IconWrapper, { icon: Calendar, name: "Calendar" }), _jsx(IconWrapper, { icon: GoldenBars, name: "GoldenBars" }), _jsx(IconWrapper, { icon: Heart, name: "Heart" }), _jsx(IconWrapper, { icon: Notes, name: "Notes" }), _jsx(IconWrapper, { icon: Rating, name: "Rating" }), _jsx(IconWrapper, { icon: Registry, name: "Registry" }), _jsx(IconWrapper, { icon: Tools2, name: "Tools2" }), _jsx(IconWrapper, { icon: Balustrades, name: "Balustrades" }), _jsx(IconWrapper, { icon: Bedding, name: "Bedding" }), _jsx(IconWrapper, { icon: Cookware, name: "Cookware" }), _jsx(IconWrapper, { icon: Countertops, name: "Countertops" }), _jsx(IconWrapper, { icon: Doors, name: "Doors" }), _jsx(IconWrapper, { icon: Electronics, name: "Electronics" }), _jsx(IconWrapper, { icon: Equipment, name: "Equipment" }), _jsx(IconWrapper, { icon: Exterior, name: "Exterior" }), _jsx(IconWrapper, { icon: Fire, name: "Fire" }), _jsx(IconWrapper, { icon: Flooring, name: "Flooring" }), _jsx(IconWrapper, { icon: Furniture, name: "Furniture" }), _jsx(IconWrapper, { icon: Hardware, name: "Hardware" }), _jsx(IconWrapper, { icon: IA, name: "IA" }), _jsx(IconWrapper, { icon: LargeAppliances, name: "LargeAppliances" }), _jsx(IconWrapper, { icon: Lighting, name: "Lighting" }), _jsx(IconWrapper, { icon: Mattress, name: "Mattress" }), _jsx(IconWrapper, { icon: Paint, name: "Paint" }), _jsx(IconWrapper, { icon: Plants, name: "Plants" }), _jsx(IconWrapper, { icon: Porch, name: "Porch" }), _jsx(IconWrapper, { icon: Roof, name: "Roof" }), _jsx(IconWrapper, { icon: SmallAppliances, name: "SmallAppliances" }), _jsx(IconWrapper, { icon: Steps, name: "Steps" }), _jsx(IconWrapper, { icon: Structures, name: "Structures" }), _jsx(IconWrapper, { icon: Supplies, name: "Supplies" }), _jsx(IconWrapper, { icon: Table, name: "Table" }), _jsx(IconWrapper, { icon: Temperature, name: "Temperature" }), _jsx(IconWrapper, { icon: Tile, name: "Tile" }), _jsx(IconWrapper, { icon: Tools, name: "Tools" }), _jsx(IconWrapper, { icon: Utensils, name: "Utensils" }), _jsx(IconWrapper, { icon: WallDecor, name: "WallDecor" }), _jsx(IconWrapper, { icon: Water, name: "Water" }), _jsx(IconWrapper, { icon: Window, name: "Window" }), _jsx(IconWrapper, { icon: AlertDelete, name: "AlertDelete" }), _jsx(IconWrapper, { icon: AlertDeletePurple, name: "AlertDeletePurple" }), _jsx(IconWrapper, { icon: Arrow, name: "Arrow" }), _jsx(IconWrapper, { icon: Batery, name: "Batery" }), _jsx(IconWrapper, { icon: Bathroom, name: "Bathroom" }), _jsx(IconWrapper, { icon: Battery, name: "Battery" }), _jsx(IconWrapper, { icon: Battery2, name: "Battery2" }), _jsx(IconWrapper, { icon: Bedroom, name: "Bedroom" }), _jsx(IconWrapper, { icon: Billing, name: "Billing" }), _jsx(IconWrapper, { icon: BillingAddress, name: "BillingAddress" }), _jsx(IconWrapper, { icon: BlueFolder, name: "BlueFolder" }), _jsx(IconWrapper, { icon: BlueFolderShared, name: "BlueFolderShared" }), _jsx(IconWrapper, { icon: BoxIcon, name: "Box" }), _jsx(IconWrapper, { icon: Building, name: "Building" }), _jsx(IconWrapper, { icon: Calc, name: "Calc" }), _jsx(IconWrapper, { icon: Calendar2, name: "Calendar2" }), _jsx(IconWrapper, { icon: Catalog, name: "Catalog" }), _jsx(IconWrapper, { icon: Check, name: "Check" }), _jsx(IconWrapper, { icon: CheckInCircle, name: "CheckInCircle" }), _jsx(IconWrapper, { icon: CheckPen, name: "CheckPen" }), _jsx(IconWrapper, { icon: Chemistry, name: "Chemistry" }), _jsx(IconWrapper, { icon: CircleFace, name: "CircleFace" }), _jsx(IconWrapper, { icon: Cleaning, name: "Cleaning" }), _jsx(IconWrapper, { icon: Closet, name: "Closet" }), _jsx(IconWrapper, { icon: Co2, name: "Co2" }), _jsx(IconWrapper, { icon: Company, name: "Company" }), _jsx(IconWrapper, { icon: ComputerReport, name: "ComputerReport" }), _jsx(IconWrapper, { icon: Confirmation, name: "Confirmation" }), _jsx(IconWrapper, { icon: Construction, name: "Construction" }), _jsx(IconWrapper, { icon: Contacts, name: "Contacts" }), _jsx(IconWrapper, { icon: Contacts2, name: "Contacts2" }), _jsx(IconWrapper, { icon: Contributor, name: "Contributor" }), _jsx(IconWrapper, { icon: CreditCard, name: "CreditCard" }), _jsx(IconWrapper, { icon: Detector, name: "Detector" }), _jsx(IconWrapper, { icon: Diamond, name: "Diamond" }), _jsx(IconWrapper, { icon: DiningRoom, name: "DiningRoom" }), _jsx(IconWrapper, { icon: DocIcon, name: "DocIcon" }), _jsx(IconWrapper, { icon: Document, name: "Document" }), _jsx(IconWrapper, { icon: Drop, name: "Drop" }), _jsx(IconWrapper, { icon: DropCalendar, name: "DropCalendar" }), _jsx(IconWrapper, { icon: Electricity, name: "Electricity" }), _jsx(IconWrapper, { icon: Entryway, name: "Entryway" }), _jsx(IconWrapper, { icon: Exclamation, name: "Exclamation" }), _jsx(IconWrapper, { icon: Face, name: "Face" }), _jsx(IconWrapper, { icon: Feedback, name: "Feedback" }), _jsx(IconWrapper, { icon: FileUploading, name: "FileUploading" }), _jsx(IconWrapper, { icon: Finance, name: "Finance" }), _jsx(IconWrapper, { icon: Flag, name: "Flag" }), _jsx(IconWrapper, { icon: FormSent, name: "FormSent" }), _jsx(IconWrapper, { icon: Foundation, name: "Foundation" }), _jsx(IconWrapper, { icon: Garage, name: "Garage" }), _jsx(IconWrapper, { icon: GearPencil, name: "GearPencil" }), _jsx(IconWrapper, { icon: GearTime, name: "GearTime" }), _jsx(IconWrapper, { icon: GenericField, name: "GenericField" }), _jsx(IconWrapper, { icon: GlassWater, name: "GlassWater" }), _jsx(IconWrapper, { icon: GreenFolder, name: "GreenFolder" }), _jsx(IconWrapper, { icon: Group, name: "Group" }), _jsx(IconWrapper, { icon: Groups, name: "Groups" }), _jsx(IconWrapper, { icon: GuestBedroom, name: "GuestBedroom" }), _jsx(IconWrapper, { icon: Hallway, name: "Hallway" }), _jsx(IconWrapper, { icon: HandPencil, name: "HandPencil" }), _jsx(IconWrapper, { icon: Heater, name: "Heater" }), _jsx(IconWrapper, { icon: Help, name: "Help" }), _jsx(IconWrapper, { icon: HomeAddress, name: "HomeAddress" }), _jsx(IconWrapper, { icon: Homeowner, name: "Homeowner" }), _jsx(IconWrapper, { icon: House, name: "House" }), _jsx(IconWrapper, { icon: HouseHands, name: "HouseHands" }), _jsx(IconWrapper, { icon: ImageDefault, name: "ImageDefault" }), _jsx(IconWrapper, { icon: ImgIcon, name: "ImgIcon" }), _jsx(IconWrapper, { icon: Inbox, name: "Inbox" }), _jsx(IconWrapper, { icon: Insect, name: "Insect" }), _jsx(IconWrapper, { icon: Kitchen, name: "Kitchen" }), _jsx(IconWrapper, { icon: Laundry, name: "Laundry" }), _jsx(IconWrapper, { icon: Light, name: "Light" }), _jsx(IconWrapper, { icon: LivingRoom, name: "LivingRoom" }), _jsx(IconWrapper, { icon: LogoSmall, name: "LogoSmall" }), _jsx(IconWrapper, { icon: MagnifyingGlassReport, name: "MagnifyingGlassReport" }), _jsx(IconWrapper, { icon: Manager, name: "Manager" }), _jsx(IconWrapper, { icon: MasterBedroom, name: "MasterBedroom" }), _jsx(IconWrapper, { icon: Member, name: "Member" }), _jsx(IconWrapper, { icon: Message, name: "Message" }), _jsx(IconWrapper, { icon: MobileDrop, name: "MobileDrop" }), _jsx(IconWrapper, { icon: Money, name: "Money" }), _jsx(IconWrapper, { icon: Mudroom, name: "Mudroom" }), _jsx(IconWrapper, { icon: NeedHelp, name: "NeedHelp" }), _jsx(IconWrapper, { icon: Office, name: "Office" }), _jsx(IconWrapper, { icon: Painting, name: "Painting" }), _jsx(IconWrapper, { icon: PartnerGeneric, name: "PartnerGeneric" }), _jsx(IconWrapper, { icon: Patio, name: "Patio" }), _jsx(IconWrapper, { icon: PdfIcon, name: "PdfIcon" }), _jsx(IconWrapper, { icon: PersonMail, name: "PersonMail" }), _jsx(IconWrapper, { icon: Plate, name: "Plate" }), _jsx(IconWrapper, { icon: Play, name: "Play" }), _jsx(IconWrapper, { icon: Plus, name: "Plus" }), _jsx(IconWrapper, { icon: Pool, name: "Pool" }), _jsx(IconWrapper, { icon: Pool2, name: "Pool2" }), _jsx(IconWrapper, { icon: Price, name: "Price" }), _jsx(IconWrapper, { icon: Profile, name: "Profile" }), _jsx(IconWrapper, { icon: ProgressReport, name: "ProgressReport" }), _jsx(IconWrapper, { icon: Proposal, name: "Proposal" }), _jsx(IconWrapper, { icon: RealEstate, name: "RealEstate" }), _jsx(IconWrapper, { icon: Receipt, name: "Receipt" }), _jsx(IconWrapper, { icon: ReceiptBg, name: "ReceiptBg" }), _jsx(IconWrapper, { icon: ReceiptHouse, name: "ReceiptHouse" }), _jsx(IconWrapper, { icon: Receipts, name: "Receipts" }), _jsx(IconWrapper, { icon: Recipient, name: "Recipient" }), _jsx(IconWrapper, { icon: Records, name: "Records" }), _jsx(IconWrapper, { icon: Register, name: "Register" }), _jsx(IconWrapper, { icon: RelationshipHome, name: "RelationshipHome" }), _jsx(IconWrapper, { icon: ResendPassword, name: "ResendPassword" }), _jsx(IconWrapper, { icon: Rocket, name: "Rocket" }), _jsx(IconWrapper, { icon: Roof2, name: "Roof2" }), _jsx(IconWrapper, { icon: Security, name: "Security" }), _jsx(IconWrapper, { icon: Send, name: "Send" }), _jsx(IconWrapper, { icon: ShareHome, name: "ShareHome" }), _jsx(IconWrapper, { icon: ShareWith, name: "ShareWith" }), _jsx(IconWrapper, { icon: SixtyEight, name: "SixtyEight" }), _jsx(IconWrapper, { icon: SMS, name: "SMS" }), _jsx(IconWrapper, { icon: Social, name: "Social" }), _jsx(IconWrapper, { icon: SolarPanel, name: "SolarPanel" }), _jsx(IconWrapper, { icon: Sprinkler, name: "Sprinkler" }), _jsx(IconWrapper, { icon: Structure, name: "Structure" }), _jsx(IconWrapper, { icon: Subscription, name: "Subscription" }), _jsx(IconWrapper, { icon: Target, name: "Target" }), _jsx(IconWrapper, { icon: Theatre, name: "Theatre" }), _jsx(IconWrapper, { icon: Thumbnail, name: "Thumbnail" }), _jsx(IconWrapper, { icon: ThumbnailSmall, name: "ThumbnailSmall" }), _jsx(IconWrapper, { icon: ThumbUp, name: "ThumbUp" }), _jsx(IconWrapper, { icon: Trash, name: "Trash" }), _jsx(IconWrapper, { icon: VideoIcon, name: "VideoIcon" }), _jsx(IconWrapper, { icon: VideoPlay, name: "VideoPlay" }), _jsx(IconWrapper, { icon: VioletFolder, name: "VioletFolder" }), _jsx(IconWrapper, { icon: Warning, name: "Warning" }), _jsx(IconWrapper, { icon: Warranty, name: "Warranty" }), _jsx(IconWrapper, { icon: WellDone, name: "WellDone" }), _jsx(IconWrapper, { icon: WholeHome, name: "WholeHome" }), _jsx(IconWrapper, { icon: Wind, name: "Wind" }), _jsx(IconWrapper, { icon: Wizard, name: "Wizard" }), _jsx(IconWrapper, { icon: WizardDetailed, name: "WizardDetailed" }), _jsx(IconWrapper, { icon: WizardQuick, name: "WizardQuick" }), _jsx(IconWrapper, { icon: YellowFolder, name: "YellowFolder" }), _jsx(IconWrapper, { icon: YellowFolderUnshared, name: "YellowFolderUnshared" })] }));
9
+ return (_jsxs(Grid, { maxW: "600px", templateColumns: "repeat(auto-fill, minmax(75px, 1fr))", p: "base", gap: "8", children: [_jsx(IconWrapper, { icon: CookTop, name: "CookTop" }), _jsx(IconWrapper, { icon: Dishwasher, name: "Dishwasher" }), _jsx(IconWrapper, { icon: Dryer, name: "Dryer" }), _jsx(IconWrapper, { icon: Freezer, name: "Freezer" }), _jsx(IconWrapper, { icon: Fridge, name: "Fridge" }), _jsx(IconWrapper, { icon: Microwave, name: "Microwave" }), _jsx(IconWrapper, { icon: Oven, name: "Oven" }), _jsx(IconWrapper, { icon: Range, name: "Range" }), _jsx(IconWrapper, { icon: Washer, name: "Washer" }), _jsx(IconWrapper, { icon: Barcode, name: "Barcode" }), _jsx(IconWrapper, { icon: Book, name: "Book" }), _jsx(IconWrapper, { icon: Calendar, name: "Calendar" }), _jsx(IconWrapper, { icon: GoldenBars, name: "GoldenBars" }), _jsx(IconWrapper, { icon: Heart, name: "Heart" }), _jsx(IconWrapper, { icon: Notes, name: "Notes" }), _jsx(IconWrapper, { icon: Rating, name: "Rating" }), _jsx(IconWrapper, { icon: Registry, name: "Registry" }), _jsx(IconWrapper, { icon: Tools2, name: "Tools2" }), _jsx(IconWrapper, { icon: Balustrades, name: "Balustrades" }), _jsx(IconWrapper, { icon: Bedding, name: "Bedding" }), _jsx(IconWrapper, { icon: Cookware, name: "Cookware" }), _jsx(IconWrapper, { icon: Countertops, name: "Countertops" }), _jsx(IconWrapper, { icon: Doors, name: "Doors" }), _jsx(IconWrapper, { icon: Electronics, name: "Electronics" }), _jsx(IconWrapper, { icon: Equipment, name: "Equipment" }), _jsx(IconWrapper, { icon: Exterior, name: "Exterior" }), _jsx(IconWrapper, { icon: Fire, name: "Fire" }), _jsx(IconWrapper, { icon: Flooring, name: "Flooring" }), _jsx(IconWrapper, { icon: Furniture, name: "Furniture" }), _jsx(IconWrapper, { icon: Hardware, name: "Hardware" }), _jsx(IconWrapper, { icon: IA, name: "IA" }), _jsx(IconWrapper, { icon: LargeAppliances, name: "LargeAppliances" }), _jsx(IconWrapper, { icon: Lighting, name: "Lighting" }), _jsx(IconWrapper, { icon: Mattress, name: "Mattress" }), _jsx(IconWrapper, { icon: Paint, name: "Paint" }), _jsx(IconWrapper, { icon: Plants, name: "Plants" }), _jsx(IconWrapper, { icon: Porch, name: "Porch" }), _jsx(IconWrapper, { icon: Roof, name: "Roof" }), _jsx(IconWrapper, { icon: SmallAppliances, name: "SmallAppliances" }), _jsx(IconWrapper, { icon: Steps, name: "Steps" }), _jsx(IconWrapper, { icon: Structures, name: "Structures" }), _jsx(IconWrapper, { icon: Supplies, name: "Supplies" }), _jsx(IconWrapper, { icon: Table, name: "Table" }), _jsx(IconWrapper, { icon: Temperature, name: "Temperature" }), _jsx(IconWrapper, { icon: Tile, name: "Tile" }), _jsx(IconWrapper, { icon: Tools, name: "Tools" }), _jsx(IconWrapper, { icon: Utensils, name: "Utensils" }), _jsx(IconWrapper, { icon: WallDecor, name: "WallDecor" }), _jsx(IconWrapper, { icon: Water, name: "Water" }), _jsx(IconWrapper, { icon: Window, name: "Window" }), _jsx(IconWrapper, { icon: AlertDelete, name: "AlertDelete" }), _jsx(IconWrapper, { icon: AlertDeletePurple, name: "AlertDeletePurple" }), _jsx(IconWrapper, { icon: Arrow, name: "Arrow" }), _jsx(IconWrapper, { icon: Batery, name: "Batery" }), _jsx(IconWrapper, { icon: Bathroom, name: "Bathroom" }), _jsx(IconWrapper, { icon: Battery, name: "Battery" }), _jsx(IconWrapper, { icon: Battery2, name: "Battery2" }), _jsx(IconWrapper, { icon: Bedroom, name: "Bedroom" }), _jsx(IconWrapper, { icon: Billing, name: "Billing" }), _jsx(IconWrapper, { icon: BillingAddress, name: "BillingAddress" }), _jsx(IconWrapper, { icon: BlueFolder, name: "BlueFolder" }), _jsx(IconWrapper, { icon: BlueFolderShared, name: "BlueFolderShared" }), _jsx(IconWrapper, { icon: BoxIcon, name: "Box" }), _jsx(IconWrapper, { icon: Building, name: "Building" }), _jsx(IconWrapper, { icon: Calc, name: "Calc" }), _jsx(IconWrapper, { icon: Calendar2, name: "Calendar2" }), _jsx(IconWrapper, { icon: Catalog, name: "Catalog" }), _jsx(IconWrapper, { icon: Check, name: "Check" }), _jsx(IconWrapper, { icon: CheckInCircle, name: "CheckInCircle" }), _jsx(IconWrapper, { icon: CheckPen, name: "CheckPen" }), _jsx(IconWrapper, { icon: Chemistry, name: "Chemistry" }), _jsx(IconWrapper, { icon: CircleFace, name: "CircleFace" }), _jsx(IconWrapper, { icon: Cleaning, name: "Cleaning" }), _jsx(IconWrapper, { icon: Closet, name: "Closet" }), _jsx(IconWrapper, { icon: Co2, name: "Co2" }), _jsx(IconWrapper, { icon: Company, name: "Company" }), _jsx(IconWrapper, { icon: ComputerReport, name: "ComputerReport" }), _jsx(IconWrapper, { icon: Confirmation, name: "Confirmation" }), _jsx(IconWrapper, { icon: Construction, name: "Construction" }), _jsx(IconWrapper, { icon: Contacts, name: "Contacts" }), _jsx(IconWrapper, { icon: Contacts2, name: "Contacts2" }), _jsx(IconWrapper, { icon: Contributor, name: "Contributor" }), _jsx(IconWrapper, { icon: CreditCard, name: "CreditCard" }), _jsx(IconWrapper, { icon: Detector, name: "Detector" }), _jsx(IconWrapper, { icon: Diamond, name: "Diamond" }), _jsx(IconWrapper, { icon: DiningRoom, name: "DiningRoom" }), _jsx(IconWrapper, { icon: DocIcon, name: "DocIcon" }), _jsx(IconWrapper, { icon: Document, name: "Document" }), _jsx(IconWrapper, { icon: Drop, name: "Drop" }), _jsx(IconWrapper, { icon: DropCalendar, name: "DropCalendar" }), _jsx(IconWrapper, { icon: Electricity, name: "Electricity" }), _jsx(IconWrapper, { icon: Entryway, name: "Entryway" }), _jsx(IconWrapper, { icon: Exclamation, name: "Exclamation" }), _jsx(IconWrapper, { icon: Face, name: "Face" }), _jsx(IconWrapper, { icon: Feedback, name: "Feedback" }), _jsx(IconWrapper, { icon: FileUploading, name: "FileUploading" }), _jsx(IconWrapper, { icon: Finance, name: "Finance" }), _jsx(IconWrapper, { icon: Flag, name: "Flag" }), _jsx(IconWrapper, { icon: FormSent, name: "FormSent" }), _jsx(IconWrapper, { icon: Foundation, name: "Foundation" }), _jsx(IconWrapper, { icon: Garage, name: "Garage" }), _jsx(IconWrapper, { icon: GearPencil, name: "GearPencil" }), _jsx(IconWrapper, { icon: GearTime, name: "GearTime" }), _jsx(IconWrapper, { icon: GenericField, name: "GenericField" }), _jsx(IconWrapper, { icon: GlassWater, name: "GlassWater" }), _jsx(IconWrapper, { icon: GreenFolder, name: "GreenFolder" }), _jsx(IconWrapper, { icon: Group, name: "Group" }), _jsx(IconWrapper, { icon: Groups, name: "Groups" }), _jsx(IconWrapper, { icon: GuestBedroom, name: "GuestBedroom" }), _jsx(IconWrapper, { icon: Hallway, name: "Hallway" }), _jsx(IconWrapper, { icon: HandPencil, name: "HandPencil" }), _jsx(IconWrapper, { icon: Heater, name: "Heater" }), _jsx(IconWrapper, { icon: Help, name: "Help" }), _jsx(IconWrapper, { icon: HomeAddress, name: "HomeAddress" }), _jsx(IconWrapper, { icon: Homeowner, name: "Homeowner" }), _jsx(IconWrapper, { icon: House, name: "House" }), _jsx(IconWrapper, { icon: HouseHands, name: "HouseHands" }), _jsx(IconWrapper, { icon: ImageDefault, name: "ImageDefault" }), _jsx(IconWrapper, { icon: ImgIcon, name: "ImgIcon" }), _jsx(IconWrapper, { icon: Inbox, name: "Inbox" }), _jsx(IconWrapper, { icon: Insect, name: "Insect" }), _jsx(IconWrapper, { icon: Kitchen, name: "Kitchen" }), _jsx(IconWrapper, { icon: Laundry, name: "Laundry" }), _jsx(IconWrapper, { icon: Light, name: "Light" }), _jsx(IconWrapper, { icon: LivingRoom, name: "LivingRoom" }), _jsx(IconWrapper, { icon: LogoSmall, name: "LogoSmall" }), _jsx(IconWrapper, { icon: MagnifyingGlassReport, name: "MagnifyingGlassReport" }), _jsx(IconWrapper, { icon: Manager, name: "Manager" }), _jsx(IconWrapper, { icon: MasterBedroom, name: "MasterBedroom" }), _jsx(IconWrapper, { icon: Member, name: "Member" }), _jsx(IconWrapper, { icon: Message, name: "Message" }), _jsx(IconWrapper, { icon: MobileDrop, name: "MobileDrop" }), _jsx(IconWrapper, { icon: Money, name: "Money" }), _jsx(IconWrapper, { icon: Mudroom, name: "Mudroom" }), _jsx(IconWrapper, { icon: NeedHelp, name: "NeedHelp" }), _jsx(IconWrapper, { icon: Office, name: "Office" }), _jsx(IconWrapper, { icon: Painting, name: "Painting" }), _jsx(IconWrapper, { icon: PartnerGeneric, name: "PartnerGeneric" }), _jsx(IconWrapper, { icon: Patio, name: "Patio" }), _jsx(IconWrapper, { icon: PdfIcon, name: "PdfIcon" }), _jsx(IconWrapper, { icon: PersonMail, name: "PersonMail" }), _jsx(IconWrapper, { icon: Plate, name: "Plate" }), _jsx(IconWrapper, { icon: Play, name: "Play" }), _jsx(IconWrapper, { icon: Plus, name: "Plus" }), _jsx(IconWrapper, { icon: Pool, name: "Pool" }), _jsx(IconWrapper, { icon: Pool2, name: "Pool2" }), _jsx(IconWrapper, { icon: PressureWasher, name: "PressureWasher" }), _jsx(IconWrapper, { icon: Price, name: "Price" }), _jsx(IconWrapper, { icon: Profile, name: "Profile" }), _jsx(IconWrapper, { icon: ProgressReport, name: "ProgressReport" }), _jsx(IconWrapper, { icon: Proposal, name: "Proposal" }), _jsx(IconWrapper, { icon: RealEstate, name: "RealEstate" }), _jsx(IconWrapper, { icon: Receipt, name: "Receipt" }), _jsx(IconWrapper, { icon: ReceiptBg, name: "ReceiptBg" }), _jsx(IconWrapper, { icon: ReceiptHouse, name: "ReceiptHouse" }), _jsx(IconWrapper, { icon: Receipts, name: "Receipts" }), _jsx(IconWrapper, { icon: Recipient, name: "Recipient" }), _jsx(IconWrapper, { icon: Records, name: "Records" }), _jsx(IconWrapper, { icon: Register, name: "Register" }), _jsx(IconWrapper, { icon: RelationshipHome, name: "RelationshipHome" }), _jsx(IconWrapper, { icon: ResendPassword, name: "ResendPassword" }), _jsx(IconWrapper, { icon: Rocket, name: "Rocket" }), _jsx(IconWrapper, { icon: Roof2, name: "Roof2" }), _jsx(IconWrapper, { icon: Security, name: "Security" }), _jsx(IconWrapper, { icon: Send, name: "Send" }), _jsx(IconWrapper, { icon: ShareHome, name: "ShareHome" }), _jsx(IconWrapper, { icon: ShareWith, name: "ShareWith" }), _jsx(IconWrapper, { icon: SixtyEight, name: "SixtyEight" }), _jsx(IconWrapper, { icon: SMS, name: "SMS" }), _jsx(IconWrapper, { icon: Social, name: "Social" }), _jsx(IconWrapper, { icon: SolarPanel, name: "SolarPanel" }), _jsx(IconWrapper, { icon: Sprinkler, name: "Sprinkler" }), _jsx(IconWrapper, { icon: Structure, name: "Structure" }), _jsx(IconWrapper, { icon: Subscription, name: "Subscription" }), _jsx(IconWrapper, { icon: Target, name: "Target" }), _jsx(IconWrapper, { icon: Theatre, name: "Theatre" }), _jsx(IconWrapper, { icon: Thumbnail, name: "Thumbnail" }), _jsx(IconWrapper, { icon: ThumbnailSmall, name: "ThumbnailSmall" }), _jsx(IconWrapper, { icon: ThumbUp, name: "ThumbUp" }), _jsx(IconWrapper, { icon: Trash, name: "Trash" }), _jsx(IconWrapper, { icon: VideoIcon, name: "VideoIcon" }), _jsx(IconWrapper, { icon: VideoPlay, name: "VideoPlay" }), _jsx(IconWrapper, { icon: VioletFolder, name: "VioletFolder" }), _jsx(IconWrapper, { icon: Warning, name: "Warning" }), _jsx(IconWrapper, { icon: Warranty, name: "Warranty" }), _jsx(IconWrapper, { icon: WellDone, name: "WellDone" }), _jsx(IconWrapper, { icon: WholeHome, name: "WholeHome" }), _jsx(IconWrapper, { icon: Wind, name: "Wind" }), _jsx(IconWrapper, { icon: Wizard, name: "Wizard" }), _jsx(IconWrapper, { icon: WizardDetailed, name: "WizardDetailed" }), _jsx(IconWrapper, { icon: WizardQuick, name: "WizardQuick" }), _jsx(IconWrapper, { icon: YellowFolder, name: "YellowFolder" }), _jsx(IconWrapper, { icon: YellowFolderUnshared, name: "YellowFolderUnshared" })] }));
10
10
  };
11
11
  const IconWrapper = ({ icon, name }) => {
12
12
  return (_jsxs(Center, { flexDirection: "column", children: [_jsx(Image, { src: icon, boxSize: "30px", mb: "2" }), _jsx(Text, { variant: "home", children: name })] }));
@@ -7,8 +7,6 @@ export default {
7
7
  title: 'Components/Forms/DynamicForm',
8
8
  component: DynamicForm,
9
9
  args: {
10
- callback: action('callback'),
11
- onUpload: action('onUpload'),
12
10
  menuItems: menuMock,
13
11
  socialLinks: socialLinksMock,
14
12
  websiteUrl: 'http://www.audreyscheckdesign.com',
@@ -18,5 +16,5 @@ export const DynamicFormComponent = (args) => {
18
16
  return (_jsx(Box, { p: "base", bg: "neutral.white", w: ['full', '500px'], children: _jsx(DynamicForm, Object.assign({}, args, { form: formFieldsMock })) }));
19
17
  };
20
18
  export const DynamicUIFormComponent = (args) => {
21
- return (_jsx(Box, { m: "base", w: ['full', '320px'], children: _jsx(DynamicForm, Object.assign({}, args, { form: tileUIMock, showTitle: false })) }));
19
+ return (_jsx(Box, { m: "base", w: ['full', '320px'], children: _jsx(DynamicForm, Object.assign({}, args, { form: tileUIMock, showTitle: false, callback: action('callback') })) }));
22
20
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@homefile/components-v2",
3
- "version": "2.1.0",
3
+ "version": "2.2.0",
4
4
  "author": "Homefile",
5
5
  "license": "UNLICENSED",
6
6
  "typings": "dist/index.d.ts",
@@ -1,18 +1,17 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" width="24.975" height="27.878" viewBox="0 0 24.975 27.878">
2
- <g id="Group_21224" data-name="Group 21224" transform="translate(-761.466 -63.12)">
3
- <path id="Subtraction_163" data-name="Subtraction 163" d="M13.736,23.975h-3.5a.857.857,0,0,1-.856-.856v-1.3A9.705,9.705,0,0,1,6.9,20.762l-.937.938a.855.855,0,0,1-1.21,0L2.276,19.229a.862.862,0,0,1,0-1.213l.992-.993a9.915,9.915,0,0,1-.951-2.432H.856A.861.861,0,0,1,0,13.756V10.219a.861.861,0,0,1,.856-.835H2.431a10.063,10.063,0,0,1,1-2.273L2.276,5.958a.858.858,0,0,1,0-1.21L4.749,2.275a.859.859,0,0,1,1.21,0l1.208,1.21a9.959,9.959,0,0,1,2.217-.9V.858A.862.862,0,0,1,10.219,0h3.537a.862.862,0,0,1,.836.858V2.588a9.887,9.887,0,0,1,2.217.9l1.207-1.21a.859.859,0,0,1,1.21,0L21.7,4.749a.859.859,0,0,1,0,1.21L20.548,7.11a9.911,9.911,0,0,1,1,2.273h1.576a.856.856,0,0,1,.856.856v3.5a.857.857,0,0,1-.856.856H21.658a9.917,9.917,0,0,1-.951,2.432l.993.993a.863.863,0,0,1,0,1.213L19.226,21.7a.844.844,0,0,1-.6.251.853.853,0,0,1-.606-.251l-.937-.937a9.686,9.686,0,0,1-2.488,1.054v1.3A.857.857,0,0,1,13.736,23.975ZM11.99,3.764a8.2,8.2,0,1,0,3.2.646A8.177,8.177,0,0,0,11.99,3.764Z" transform="translate(761.966 66.523)" fill="#00c0b7" stroke="rgba(0,0,0,0)" stroke-miterlimit="10" stroke-width="1"/>
4
- <g id="Group_21161" data-name="Group 21161" transform="translate(761.99 63.12)">
5
- <circle id="Ellipse_1093" data-name="Ellipse 1093" cx="1.967" cy="1.967" r="1.967" transform="translate(10.008)" fill="#bcd1d8"/>
6
- <line id="Line_3403" data-name="Line 3403" y2="2.485" transform="translate(11.975 3.934)" fill="none" stroke="#bcd1d8" stroke-width="1"/>
7
- <rect id="Rectangle_24537" data-name="Rectangle 24537" width="9.835" height="3.934" rx="1.967" transform="translate(7.058 5.901)" fill="#00a1aa"/>
8
- <circle id="Ellipse_1090" data-name="Ellipse 1090" cx="2.95" cy="2.95" r="2.95" transform="translate(0 12.785)" fill="#00a1aa"/>
9
- <ellipse id="Ellipse_1092" data-name="Ellipse 1092" cx="2.459" cy="2.95" rx="2.459" ry="2.95" transform="translate(19.033 12.785)" fill="#00a1aa"/>
10
- <circle id="Ellipse_1091" data-name="Ellipse 1091" cx="2.95" cy="2.95" r="2.95" transform="translate(15.099 12.785)" fill="#00a1aa"/>
11
- <rect id="Rectangle_24536" data-name="Rectangle 24536" width="18.05" height="15.736" rx="5" transform="translate(2.95 7.868)" fill="#02c0b7"/>
12
- <rect id="Rectangle_24476" data-name="Rectangle 24476" width="13.769" height="5.901" rx="2.95" transform="translate(5.091 10.818)" fill="#324459"/>
13
- <line id="Line_3401" data-name="Line 3401" x2="2.485" transform="translate(7.771 14.039)" fill="none" stroke="#fff" stroke-width="2"/>
14
- <line id="Line_3402" data-name="Line 3402" x2="2.485" transform="translate(14.052 14.039)" fill="none" stroke="#fff" stroke-width="2"/>
15
- <path id="Path_15024" data-name="Path 15024" d="M-112.806,1761.029a2.621,2.621,0,0,0,2.622,2.231,2.666,2.666,0,0,0,2.618-2.231" transform="translate(122.294 -1742.01)" fill="none" stroke="#fff" stroke-linecap="round" stroke-width="1"/>
16
- </g>
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="30.202" height="30.2" viewBox="0 0 30.202 30.2">
2
+ <g id="Group_21564" data-name="Group 21564" transform="translate(10417.861 8318.462)">
3
+ <circle id="Ellipse_1093" data-name="Ellipse 1093" cx="2.157" cy="2.157" r="2.157" transform="translate(-10404.917 -8318.462)" fill="#bcd1d8"/>
4
+ <line id="Line_3403" data-name="Line 3403" y2="2.725" transform="translate(-10402.761 -8314.146)" fill="none" stroke="#bcd1d8" stroke-width="1"/>
5
+ <rect id="Rectangle_24537" data-name="Rectangle 24537" width="10.786" height="4.314" rx="2.157" transform="translate(-10408.155 -8311.99)" fill="#00a1aa"/>
6
+ <circle id="Ellipse_1090" data-name="Ellipse 1090" cx="3.236" cy="3.236" r="3.236" transform="translate(-10417.861 -8304.439)" fill="#00a1aa"/>
7
+ <ellipse id="Ellipse_1092" data-name="Ellipse 1092" cx="2.696" cy="3.236" rx="2.696" ry="3.236" transform="translate(-10393.053 -8304.439)" fill="#00a1aa"/>
8
+ <circle id="Ellipse_1091" data-name="Ellipse 1091" cx="3.236" cy="3.236" r="3.236" transform="translate(-10397.368 -8304.439)" fill="#00a1aa"/>
9
+ <rect id="Rectangle_24536" data-name="Rectangle 24536" width="23.729" height="21.572" rx="3" transform="translate(-10414.626 -8309.834)" fill="#02c0b7"/>
10
+ <rect id="Rectangle_24476" data-name="Rectangle 24476" width="15.1" height="6.472" rx="3" transform="translate(-10410.311 -8304.439)" fill="#324459"/>
11
+ <line id="Line_3401" data-name="Line 3401" x2="2.725" transform="translate(-10407.915 -8300.908)" fill="none" stroke="#fff" stroke-width="2"/>
12
+ <line id="Line_3402" data-name="Line 3402" x2="2.725" transform="translate(-10399.874 -8300.908)" fill="none" stroke="#fff" stroke-width="2"/>
13
+ <path id="Path_15024" data-name="Path 15024" d="M-112.806,1761.029a2.874,2.874,0,0,0,2.876,2.446,2.924,2.924,0,0,0,2.871-2.446" transform="translate(-10292.654 -10055.396)" fill="none" stroke="#fff" stroke-linecap="round" stroke-width="1"/>
17
14
  </g>
18
15
  </svg>
16
+
17
+
@@ -102,6 +102,7 @@ import Play from './play.svg'
102
102
  import Plus from './plus.svg'
103
103
  import Pool from './pool.svg'
104
104
  import Pool2 from './pool2.svg'
105
+ import PressureWasher from './pressure-washer.svg'
105
106
  import Price from './price.svg'
106
107
  import Profile from './profile.svg'
107
108
  import ProgressReport from './progress-report.svg'
@@ -259,6 +260,7 @@ export {
259
260
  Plus,
260
261
  Pool,
261
262
  Pool2,
263
+ PressureWasher,
262
264
  Price,
263
265
  Profile,
264
266
  ProgressReport,
@@ -0,0 +1,16 @@
1
+ <svg id="Group_22267" data-name="Group 22267" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="28.455" height="30.766" viewBox="0 0 28.455 30.766">
2
+ <defs>
3
+ <clipPath id="clip-path">
4
+ <rect id="Rectangle_25649" data-name="Rectangle 25649" width="28.455" height="30.766" fill="none"/>
5
+ </clipPath>
6
+ </defs>
7
+ <g id="Group_22266" data-name="Group 22266" clip-path="url(#clip-path)">
8
+ <path id="Path_17637" data-name="Path 17637" d="M2.623,97.179a2.624,2.624,0,1,1,2.392-3.7c.033.074.062.148.088.222l-.786.276c-.019-.054-.04-.107-.063-.158a1.79,1.79,0,1,0-.009,1.5,1.44,1.44,0,0,0,.067-.172c.014-.038.02-.052.024-.068s.011-.041.016-.057a.37.37,0,0,0,.014-.054c.01-.043.014-.064.018-.088l.821.14c-.007.043-.015.083-.025.126s-.021.09-.035.133-.026.087-.042.131A2.377,2.377,0,0,1,5,95.674a2.641,2.641,0,0,1-2.373,1.5" transform="translate(0 -66.413)" fill="#00c0b7"/>
9
+ <path id="Path_17638" data-name="Path 17638" d="M74.807,0V1.516H71.726V0Z" transform="translate(-51.817 0)" fill="#40566b"/>
10
+ <path id="Path_17639" data-name="Path 17639" d="M30.728,16.7v3.794h-2V16.7Z" transform="translate(-20.753 -12.064)" fill="#40566b"/>
11
+ <path id="Path_17640" data-name="Path 17640" d="M26.768,35.665a4,4,0,0,1,0,8.008H10.422V41.827H26.768a2.157,2.157,0,1,0,0-4.313H7.21a4.008,4.008,0,0,1-4.005-4V24.2A4.011,4.011,0,0,1,7.21,20.2h3.079v1.849H7.21A2.159,2.159,0,0,0,5.054,24.2v9.307A2.157,2.157,0,0,0,7.21,35.665Z" transform="translate(-2.315 -14.592)" fill="#00c0b7"/>
12
+ <path id="Path_17641" data-name="Path 17641" d="M18.926,98.119v1.846h-3.95a1.872,1.872,0,0,0,.086-.219.869.869,0,0,0,.036-.114.881.881,0,0,0,.031-.117c.009-.033.014-.064.02-.1a2.066,2.066,0,0,0,.036-.394,2.188,2.188,0,0,0-.12-.716c-.022-.064-.047-.128-.075-.189Z" transform="translate(-10.819 -70.884)" fill="#e24c5d"/>
13
+ <path id="Path_17642" data-name="Path 17642" d="M53.8,10.734V16.8a5.273,5.273,0,0,1-5.274,5.274H39.055a3.118,3.118,0,0,1-3.12-3.117V8.58a3.119,3.119,0,0,1,3.12-3.12h9.471A5.273,5.273,0,0,1,53.8,10.734m-4.158,7.594V9.4a.616.616,0,0,0-.616-.616H45.791a.618.618,0,0,0-.616.616v8.932a.617.617,0,0,0,.616.616h3.234a.615.615,0,0,0,.616-.616" transform="translate(-25.961 -3.944)" fill="#e24c5d"/>
14
+ <path id="Path_17643" data-name="Path 17643" d="M73.69,26.969a.615.615,0,0,1-.616.616H69.84a.617.617,0,0,1-.616-.616V18.037a.618.618,0,0,1,.616-.616h3.234a.616.616,0,0,1,.616.616Z" transform="translate(-50.01 -12.586)" fill="#ddeff2"/>
15
+ </g>
16
+ </svg>
@@ -399,8 +399,8 @@
399
399
  }
400
400
  },
401
401
  "details": "Provide details about your home’s",
402
- "homeMonitor": "Home Monitor",
403
- "homeMonitoring": "Homefile is monitoring your home.",
402
+ "homeMonitor": "Homie",
403
+ "homeMonitoring": "Homie is monitoring your home.",
404
404
  "monitorAlerts": {
405
405
  "collapse": "Collapse Alert",
406
406
  "homeAction": "Home Action",
@@ -418,10 +418,11 @@
418
418
  "smoke": "Smoke & CO2 detectors",
419
419
  "structure": "Structure"
420
420
  },
421
- "title": "Home Assistant - Set Up",
421
+ "title": "Set Up Homie",
422
422
  "tutorialButton": "Start Quick Setup",
423
- "tutorialDescription": "Our Home assistant helps you manage every aspect of your home. Weve added a short overview to help you learn more about it.",
424
- "tutorialTitle": "Let’s quickly configure your AI Home Assistant."
423
+ "tutorialDescription": "Homie helps you manage every aspect of your home. We've added a short overview to help you learn more about it.",
424
+ "tutorialTitle": "Let’s quickly set up Homie, your friendly AI home assistant.",
425
+ "tutorialNote": "Just a few set-up questions to help Homie get going."
425
426
  },
426
427
  "homeBoard": {
427
428
  "addRecords": "Add Property Records",
@@ -603,7 +604,7 @@
603
604
  "newPassword": {
604
605
  "confirm": "Confirm Password",
605
606
  "create": "Create Password",
606
- "title": "Enter your password below."
607
+ "title": "Please enter your new password."
607
608
  },
608
609
  "partner": {
609
610
  "aphw": {
@@ -743,7 +744,7 @@
743
744
  "title": "Property Taxes"
744
745
  },
745
746
  "trending": {
746
- "addMortgage": "Add Mortgage Info",
747
+ "addMortgage": "Mortgage Info",
747
748
  "estimated": "Estimated Market Value",
748
749
  "mortgage": "Mortgage Balance*",
749
750
  "public": "*Estimated from Public Data",
@@ -1,9 +1,9 @@
1
1
  import { useRive } from '@rive-app/react-canvas'
2
2
  const url = import.meta.env.VITE_RIVE_ASSETS
3
3
 
4
- export const HomieAnimation = () => {
4
+ export const HomieAnimation = ({ animation = 'homie-v2' }) => {
5
5
  const { RiveComponent } = useRive({
6
- src: `${url}/homie-v2.riv`,
6
+ src: `${url}/${animation}.riv`,
7
7
  stateMachines: 'State Machine 1',
8
8
  autoplay: true,
9
9
  })
@@ -96,7 +96,7 @@ export const ContactsContent = ({
96
96
  pt="base"
97
97
  pb="120px"
98
98
  pr="base"
99
- bg="lightBlue.5"
99
+ bg="lightBlue.2"
100
100
  minHeight="full"
101
101
  >
102
102
  <Flex gap="3" pl="base">
@@ -17,6 +17,7 @@ import {
17
17
  NumberField,
18
18
  CurrencyField,
19
19
  TileBody,
20
+ CheckboxGroupField,
20
21
  } from '@/components'
21
22
  import { useDynamicForm } from '@/hooks'
22
23
  import { fieldIcons } from '@/helpers'
@@ -163,6 +164,16 @@ export const DynamicForm = ({
163
164
  canBeHidden={canBeHidden}
164
165
  />
165
166
  )
167
+ case 'checkbox-group':
168
+ return (
169
+ <CheckboxGroupField
170
+ key={id}
171
+ id={id}
172
+ children={children}
173
+ value={value}
174
+ icon={baseProps.icon}
175
+ />
176
+ )
166
177
  case 'tile-body':
167
178
  return (
168
179
  <TileBody
@@ -0,0 +1,65 @@
1
+ import {
2
+ Box,
3
+ Checkbox,
4
+ CheckboxGroup,
5
+ Flex,
6
+ SimpleGrid,
7
+ Text,
8
+ } from '@chakra-ui/react'
9
+ import { ReportI } from '@/interfaces'
10
+ import { FormIcon } from '@/components'
11
+ import { Controller, useFormContext } from 'react-hook-form'
12
+
13
+ export const CheckboxGroupField = ({
14
+ children,
15
+ icon,
16
+ id,
17
+ value,
18
+ }: Pick<ReportI, 'children' | 'icon' | 'id' | 'value'>) => {
19
+ const { control } = useFormContext()
20
+ const defaultValues = children
21
+ ?.map((child) => {
22
+ if (child.value) {
23
+ return child.id
24
+ }
25
+ })
26
+ .filter((value) => value) as string[]
27
+
28
+ return (
29
+ <Box>
30
+ <Box p="base" borderBottom="1px dashed" borderColor="lightBlue.6">
31
+ <Text fontFamily="secondary" fontSize="sm">
32
+ {value}
33
+ </Text>
34
+ </Box>
35
+ <Flex p="base" gap="base">
36
+ <FormIcon icon={icon} />
37
+ <Controller
38
+ control={control}
39
+ name={id}
40
+ defaultValue={defaultValues}
41
+ render={({ field: { onChange } }) => {
42
+ return (
43
+ <CheckboxGroup defaultValue={defaultValues} onChange={onChange}>
44
+ <SimpleGrid columns={2} spacing="base" w="full">
45
+ {children?.map((child) => {
46
+ const { id, name, value } = child
47
+ return (
48
+ <Checkbox
49
+ key={id}
50
+ value={String(id)}
51
+ isChecked={Boolean(value)}
52
+ >
53
+ <Text fontSize="sm">{name}</Text>
54
+ </Checkbox>
55
+ )
56
+ })}
57
+ </SimpleGrid>
58
+ </CheckboxGroup>
59
+ )
60
+ }}
61
+ />
62
+ </Flex>
63
+ </Box>
64
+ )
65
+ }
@@ -30,6 +30,7 @@ export const SingleFields = ({ callback, fields, menuItems }: FieldTypesI) => {
30
30
  type,
31
31
  value,
32
32
  icon,
33
+ link,
33
34
  options = [],
34
35
  }) => {
35
36
  const baseProps = {
@@ -102,18 +103,27 @@ export const SingleFields = ({ callback, fields, menuItems }: FieldTypesI) => {
102
103
  return (
103
104
  <TileCta
104
105
  key={id}
106
+ callback={callback}
107
+ description={description}
108
+ icon={icon}
109
+ id={id}
110
+ name={name}
105
111
  type={type}
112
+ link={link}
106
113
  value={String(baseProps.value)}
107
- callback={callback}
108
114
  />
109
115
  )
110
116
  case 'secondary-cta':
111
117
  return (
112
118
  <TileCta
113
119
  key={id}
120
+ callback={callback}
121
+ description={description}
122
+ icon={icon}
123
+ id={id}
124
+ name={name}
114
125
  type={type}
115
126
  value={String(baseProps.value)}
116
- callback={callback}
117
127
  />
118
128
  )
119
129
 
@@ -1,3 +1,4 @@
1
+ export * from './CheckboxGroupField'
1
2
  export * from './CurrencyField'
2
3
  export * from './DateField'
3
4
  export * from './FieldDescription'
@@ -2,10 +2,10 @@ import { Flex } from '@chakra-ui/react'
2
2
  import { SingleFields } from '@/components'
3
3
  import { TileBodyI } from '@/interfaces'
4
4
 
5
- export const TileBodyAction = ({ fields }: TileBodyI) => {
5
+ export const TileBodyAction = ({ callback, fields }: TileBodyI) => {
6
6
  return (
7
7
  <Flex p="base" align="center" gap="base">
8
- <SingleFields fields={fields} />
8
+ <SingleFields fields={fields} callback={callback} />
9
9
  </Flex>
10
10
  )
11
11
  }
@@ -1,10 +1,11 @@
1
1
  import { Button } from '@chakra-ui/react'
2
2
  import { TileCtaI } from '@/interfaces'
3
3
 
4
- export const TileCta = ({ callback, type, value }: TileCtaI) => {
4
+ export const TileCta = ({ callback, ...props }: TileCtaI) => {
5
+ const { type, value } = props
5
6
  return (
6
7
  <Button
7
- onClick={() => callback?.(value)}
8
+ onClick={() => callback?.({ ...props })}
8
9
  variant={type === 'primary-cta' ? 'tertiaryFooter' : 'secondaryFooter'}
9
10
  fontSize="sm"
10
11
  >
@@ -48,6 +48,9 @@ export const HomeAssistantTutorial = ({
48
48
  </Flex>
49
49
  </Button>
50
50
  </Stack>
51
+ <Text fontFamily="secondary" textAlign="center">
52
+ {t('homeAssistant.tutorialNote')}
53
+ </Text>
51
54
  {url && (
52
55
  <VideoPlayerModal
53
56
  url={url}