@homefile/components-v2 2.3.0 → 2.4.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 (147) hide show
  1. package/dist/assets/images/animations/index.d.ts +7 -0
  2. package/dist/assets/images/animations/index.js +7 -0
  3. package/dist/assets/images/animations/index.ts +15 -0
  4. package/dist/assets/images/animations/trees-cloudy.png +0 -0
  5. package/dist/assets/images/animations/trees-day-fall.png +0 -0
  6. package/dist/assets/images/animations/trees-day-summer.png +0 -0
  7. package/dist/assets/images/animations/trees-day-winter.png +0 -0
  8. package/dist/assets/images/animations/trees-evening.png +0 -0
  9. package/dist/assets/images/animations/trees-morning.png +0 -0
  10. package/dist/assets/images/animations/trees-night.png +0 -0
  11. package/dist/assets/images/chat-bubble.svg +8 -0
  12. package/dist/assets/images/document2.svg +14 -0
  13. package/dist/assets/images/index.d.ts +4 -1
  14. package/dist/assets/images/index.js +4 -1
  15. package/dist/assets/images/index.ts +5 -0
  16. package/dist/assets/locales/en/index.json +11 -10
  17. package/dist/components/animations/CloudsAnimation.js +19 -3
  18. package/dist/components/animations/WeatherTrees.d.ts +6 -0
  19. package/dist/components/animations/WeatherTrees.js +36 -0
  20. package/dist/components/animations/index.d.ts +1 -0
  21. package/dist/components/animations/index.js +1 -0
  22. package/dist/components/badge/TextBadge.js +1 -1
  23. package/dist/components/folderPanel/folderDetails/FilesCounter.js +3 -5
  24. package/dist/components/footers/FooterButtons.d.ts +1 -1
  25. package/dist/components/footers/FooterButtons.js +2 -2
  26. package/dist/components/forms/BaseCounter.d.ts +2 -0
  27. package/dist/components/forms/BaseCounter.js +8 -0
  28. package/dist/components/forms/index.d.ts +1 -0
  29. package/dist/components/forms/index.js +1 -0
  30. package/dist/components/homeAssistant/HomeAssistantWrapper.d.ts +1 -1
  31. package/dist/components/homeAssistant/HomeAssistantWrapper.js +20 -6
  32. package/dist/components/inboxTile/InboxForwardBanner.js +2 -2
  33. package/dist/components/inboxTile/index.d.ts +1 -0
  34. package/dist/components/inboxTile/index.js +1 -0
  35. package/dist/components/inboxTile/panel/MessageCard.d.ts +2 -0
  36. package/dist/components/inboxTile/panel/MessageCard.js +14 -0
  37. package/dist/components/inboxTile/panel/MessageChatPanel.d.ts +4 -0
  38. package/dist/components/inboxTile/panel/MessageChatPanel.js +38 -0
  39. package/dist/components/inboxTile/panel/MessagePanel.d.ts +2 -0
  40. package/dist/components/inboxTile/panel/MessagePanel.js +12 -0
  41. package/dist/components/inboxTile/panel/index.d.ts +3 -0
  42. package/dist/components/inboxTile/panel/index.js +3 -0
  43. package/dist/components/myHomes/WrapperWithShadow.js +1 -1
  44. package/dist/components/myHomes/steps/MyHomeDetails.d.ts +1 -0
  45. package/dist/components/myHomes/steps/MyHomeDetails.js +1 -1
  46. package/dist/components/notifications/NotificationCard.d.ts +1 -1
  47. package/dist/components/notifications/NotificationCard.js +2 -47
  48. package/dist/components/rooms/VideosCounter.js +3 -5
  49. package/dist/hooks/inbox/index.d.ts +1 -0
  50. package/dist/hooks/inbox/index.js +1 -0
  51. package/dist/hooks/inbox/useMessagePanel.d.ts +7 -0
  52. package/dist/hooks/inbox/useMessagePanel.js +17 -0
  53. package/dist/hooks/index.d.ts +1 -0
  54. package/dist/hooks/index.js +1 -0
  55. package/dist/hooks/notifications/useNotificationsPanel.js +0 -5
  56. package/dist/index.d.ts +1 -1
  57. package/dist/index.js +1 -1
  58. package/dist/interfaces/appBar/UserProfile.interface.d.ts +2 -2
  59. package/dist/interfaces/footers/FooterButtons.interface.d.ts +1 -0
  60. package/dist/interfaces/forms/BaseCounter.interface.d.ts +5 -0
  61. package/dist/interfaces/forms/BaseCounter.interface.js +1 -0
  62. package/dist/interfaces/forms/index.d.ts +1 -0
  63. package/dist/interfaces/forms/index.js +1 -0
  64. package/dist/interfaces/inboxTile/MessageCard.interface.d.ts +16 -0
  65. package/dist/interfaces/inboxTile/MessageCard.interface.js +1 -0
  66. package/dist/interfaces/inboxTile/MessageChatPanel.interface.d.ts +12 -0
  67. package/dist/interfaces/inboxTile/MessageChatPanel.interface.js +1 -0
  68. package/dist/interfaces/inboxTile/MessagePanel.interface.d.ts +6 -0
  69. package/dist/interfaces/inboxTile/MessagePanel.interface.js +1 -0
  70. package/dist/interfaces/inboxTile/index.d.ts +3 -0
  71. package/dist/interfaces/inboxTile/index.js +3 -0
  72. package/dist/interfaces/notifications/NotificationsPanel.interface.d.ts +3 -2
  73. package/dist/mocks/inbox/index.d.ts +1 -0
  74. package/dist/mocks/inbox/index.js +1 -0
  75. package/dist/mocks/inbox/messages.d.ts +2 -0
  76. package/dist/mocks/inbox/messages.js +138 -0
  77. package/dist/mocks/index.d.ts +1 -0
  78. package/dist/mocks/index.js +1 -0
  79. package/dist/mocks/notifications/notifications.mock.js +4 -4
  80. package/dist/stories/assets/Illustrations.stories.js +2 -2
  81. package/dist/stories/inboxTile/MessagePanel.stories.d.ts +5 -0
  82. package/dist/stories/inboxTile/MessagePanel.stories.js +24 -0
  83. package/dist/theme/colors.d.ts +4 -1
  84. package/dist/theme/colors.js +4 -1
  85. package/dist/utils/Animations.utils.d.ts +6 -0
  86. package/dist/utils/Animations.utils.js +31 -0
  87. package/dist/utils/Avatars.utils.d.ts +1 -1
  88. package/dist/utils/Avatars.utils.js +1 -1
  89. package/dist/utils/index.d.ts +1 -0
  90. package/dist/utils/index.js +1 -0
  91. package/package.json +1 -1
  92. package/src/assets/images/animations/index.ts +15 -0
  93. package/src/assets/images/animations/trees-cloudy.png +0 -0
  94. package/src/assets/images/animations/trees-day-fall.png +0 -0
  95. package/src/assets/images/animations/trees-day-summer.png +0 -0
  96. package/src/assets/images/animations/trees-day-winter.png +0 -0
  97. package/src/assets/images/animations/trees-evening.png +0 -0
  98. package/src/assets/images/animations/trees-morning.png +0 -0
  99. package/src/assets/images/animations/trees-night.png +0 -0
  100. package/src/assets/images/chat-bubble.svg +8 -0
  101. package/src/assets/images/document2.svg +14 -0
  102. package/src/assets/images/index.ts +5 -0
  103. package/src/assets/locales/en/index.json +11 -10
  104. package/src/components/animations/CloudsAnimation.tsx +34 -17
  105. package/src/components/animations/WeatherTrees.tsx +37 -0
  106. package/src/components/animations/index.ts +1 -0
  107. package/src/components/badge/TextBadge.tsx +1 -1
  108. package/src/components/folderPanel/folderDetails/FilesCounter.tsx +6 -21
  109. package/src/components/footers/FooterButtons.tsx +2 -1
  110. package/src/components/forms/BaseCounter.tsx +30 -0
  111. package/src/components/forms/index.ts +1 -0
  112. package/src/components/homeAssistant/HomeAssistantWrapper.tsx +31 -18
  113. package/src/components/inboxTile/InboxForwardBanner.tsx +5 -4
  114. package/src/components/inboxTile/index.ts +1 -0
  115. package/src/components/inboxTile/panel/MessageCard.tsx +112 -0
  116. package/src/components/inboxTile/panel/MessageChatPanel.tsx +105 -0
  117. package/src/components/inboxTile/panel/MessagePanel.tsx +64 -0
  118. package/src/components/inboxTile/panel/index.ts +3 -0
  119. package/src/components/myHomes/WrapperWithShadow.tsx +1 -0
  120. package/src/components/myHomes/steps/MyHomeDetails.tsx +1 -1
  121. package/src/components/notifications/NotificationCard.tsx +2 -106
  122. package/src/components/onboarding/pages/SignIn.tsx +1 -0
  123. package/src/components/rooms/VideosCounter.tsx +2 -18
  124. package/src/hooks/inbox/index.ts +1 -0
  125. package/src/hooks/inbox/useMessagePanel.ts +23 -0
  126. package/src/hooks/index.ts +1 -0
  127. package/src/hooks/notifications/useNotificationsPanel.ts +0 -5
  128. package/src/index.ts +2 -0
  129. package/src/interfaces/appBar/UserProfile.interface.ts +2 -2
  130. package/src/interfaces/footers/FooterButtons.interface.ts +2 -1
  131. package/src/interfaces/forms/BaseCounter.interface.ts +5 -0
  132. package/src/interfaces/forms/index.ts +1 -0
  133. package/src/interfaces/inboxTile/MessageCard.interface.ts +18 -0
  134. package/src/interfaces/inboxTile/MessageChatPanel.interface.ts +13 -0
  135. package/src/interfaces/inboxTile/MessagePanel.interface.ts +7 -0
  136. package/src/interfaces/inboxTile/index.ts +3 -0
  137. package/src/interfaces/notifications/NotificationsPanel.interface.ts +3 -9
  138. package/src/mocks/inbox/index.ts +1 -0
  139. package/src/mocks/inbox/messages.ts +141 -0
  140. package/src/mocks/index.ts +1 -0
  141. package/src/mocks/notifications/notifications.mock.ts +4 -4
  142. package/src/stories/assets/Illustrations.stories.tsx +2 -0
  143. package/src/stories/inboxTile/MessagePanel.stories.tsx +47 -0
  144. package/src/theme/colors.ts +4 -1
  145. package/src/utils/Animations.utils.ts +39 -0
  146. package/src/utils/Avatars.utils.ts +2 -2
  147. package/src/utils/index.ts +1 -0
@@ -0,0 +1,7 @@
1
+ import TreesDay from './trees-day-summer.png';
2
+ import TreesDayFall from './trees-day-fall.png';
3
+ import TreesDayWinter from './trees-day-winter.png';
4
+ import TreesEvening from './trees-evening.png';
5
+ import TreesMorning from './trees-morning.png';
6
+ import TreesNight from './trees-night.png';
7
+ export { TreesDay, TreesDayFall, TreesDayWinter, TreesEvening, TreesMorning, TreesNight, };
@@ -0,0 +1,7 @@
1
+ import TreesDay from './trees-day-summer.png';
2
+ import TreesDayFall from './trees-day-fall.png';
3
+ import TreesDayWinter from './trees-day-winter.png';
4
+ import TreesEvening from './trees-evening.png';
5
+ import TreesMorning from './trees-morning.png';
6
+ import TreesNight from './trees-night.png';
7
+ export { TreesDay, TreesDayFall, TreesDayWinter, TreesEvening, TreesMorning, TreesNight, };
@@ -0,0 +1,15 @@
1
+ import TreesDay from './trees-day-summer.png'
2
+ import TreesDayFall from './trees-day-fall.png'
3
+ import TreesDayWinter from './trees-day-winter.png'
4
+ import TreesEvening from './trees-evening.png'
5
+ import TreesMorning from './trees-morning.png'
6
+ import TreesNight from './trees-night.png'
7
+
8
+ export {
9
+ TreesDay,
10
+ TreesDayFall,
11
+ TreesDayWinter,
12
+ TreesEvening,
13
+ TreesMorning,
14
+ TreesNight,
15
+ }
@@ -0,0 +1,8 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
2
+ <g id="Group_21874" data-name="Group 21874" transform="translate(-1764 -254)">
3
+ <g id="Union_41" data-name="Union 41" transform="translate(1764 254)" fill="#fff">
4
+ <path d="M 6.399946212768555 19.02802085876465 L 4.829119682312012 16.40986061096191 L 4.683469772338867 16.16709899902344 L 4.400369644165039 16.16709899902344 L 2.999699831008911 16.16709899902344 C 1.621359825134277 16.16709899902344 0.4999998509883881 15.04533958435059 0.4999998509883881 13.66650009155273 L 0.4999998509883881 2.999699831008911 C 0.4999998509883881 1.621359825134277 1.621359825134277 0.4999998509883881 2.999699831008911 0.4999998509883881 L 17.00009918212891 0.4999998509883881 C 18.37843894958496 0.4999998509883881 19.49979972839355 1.621359825134277 19.49979972839355 2.999699831008911 L 19.49979972839355 13.66650009155273 C 19.49979972839355 15.04533958435059 18.37843894958496 16.16709899902344 17.00009918212891 16.16709899902344 L 8.399879455566406 16.16709899902344 L 8.116809844970703 16.16709899902344 L 7.971149921417236 16.40982055664062 L 6.399946212768555 19.02802085876465 Z" stroke="none"/>
5
+ <path d="M 6.399997234344482 18.05625152587891 L 7.833739757537842 15.66709995269775 L 17.00009918212891 15.66709995269775 C 18.10273933410645 15.66709995269775 18.99979972839355 14.76962947845459 18.99979972839355 13.66650009155273 L 18.99979972839355 2.999699831008911 C 18.99979972839355 1.897059917449951 18.10273933410645 0.9999998807907104 17.00009918212891 0.9999998807907104 L 2.999699831008911 0.9999998807907104 C 1.897059917449951 0.9999998807907104 0.9999998807907104 1.897059917449951 0.9999998807907104 2.999699831008911 L 0.9999998807907104 13.66650009155273 C 0.9999998807907104 14.76962947845459 1.897059917449951 15.66709995269775 2.999699831008911 15.66709995269775 L 4.966569900512695 15.66709995269775 L 6.399997234344482 18.05625152587891 M 6.399899959564209 19.99979972839355 L 4.400369644165039 16.66709899902344 L 2.999699831008911 16.66709899902344 C 1.34279990196228 16.66709899902344 -1.358032193365943e-07 15.32339954376221 -1.358032193365943e-07 13.66650009155273 L -1.358032193365943e-07 2.999699831008911 C -1.358032193365943e-07 1.34279990196228 1.34279990196228 -1.358032193365943e-07 2.999699831008911 -1.358032193365943e-07 L 17.00009918212891 -1.358032193365943e-07 C 18.6569995880127 -1.358032193365943e-07 19.99979972839355 1.34279990196228 19.99979972839355 2.999699831008911 L 19.99979972839355 13.66650009155273 C 19.99979972839355 15.32339954376221 18.6569995880127 16.66709899902344 17.00009918212891 16.66709899902344 L 8.399879455566406 16.66709899902344 L 6.399899959564209 19.99979972839355 Z" stroke="none" fill="#1c7ab4"/>
6
+ </g>
7
+ </g>
8
+ </svg>
@@ -0,0 +1,14 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="20.852" height="21.158" viewBox="0 0 20.852 21.158">
2
+ <g id="Group_21880" data-name="Group 21880" transform="translate(-13.43 -0.001)">
3
+ <path id="Path_17605" data-name="Path 17605" d="M13.43,0V21.158H34.281V3.591L30.028,0Z" transform="translate(0 0)" fill="#d2edef"/>
4
+ <path id="Path_17606" data-name="Path 17606" d="M77.93,0V3.389h3.481Z" transform="translate(-47.13)" fill="#324458"/>
5
+ <path id="Path_17607" data-name="Path 17607" d="M13.43,94.821Z" transform="translate(0 -73.662)" fill="#28b5a8"/>
6
+ <rect id="Rectangle_25619" data-name="Rectangle 25619" width="5.587" height="0.632" transform="translate(15.576 3.073)" fill="#324458"/>
7
+ <rect id="Rectangle_25620" data-name="Rectangle 25620" width="16.429" height="0.632" transform="translate(15.641 7.362)" fill="#324458"/>
8
+ <rect id="Rectangle_25621" data-name="Rectangle 25621" width="16.429" height="0.632" transform="translate(15.641 9.314)" fill="#324458"/>
9
+ <rect id="Rectangle_25622" data-name="Rectangle 25622" width="16.429" height="0.632" transform="translate(15.641 11.268)" fill="#324458"/>
10
+ <rect id="Rectangle_25623" data-name="Rectangle 25623" width="16.429" height="0.632" transform="translate(15.641 13.223)" fill="#324458"/>
11
+ <rect id="Rectangle_25624" data-name="Rectangle 25624" width="16.429" height="0.632" transform="translate(15.641 15.177)" fill="#324458"/>
12
+ <rect id="Rectangle_25625" data-name="Rectangle 25625" width="7.453" height="0.632" transform="translate(15.641 17.328)" fill="#324458"/>
13
+ </g>
14
+ </svg>
@@ -17,6 +17,7 @@ import Building from './building.svg';
17
17
  import Calc from './calc.svg';
18
18
  import Calendar2 from './calendar2.svg';
19
19
  import Catalog from './catalog.svg';
20
+ import ChatBubble from './chat-bubble.svg';
20
21
  import Check from './check.svg';
21
22
  import CheckInCircle from './check-in-circle.svg';
22
23
  import CheckPen from './check-pen.svg';
@@ -39,6 +40,7 @@ import Diamond from './diamond.svg';
39
40
  import DiningRoom from './dining-room.svg';
40
41
  import DocIcon from './doc-icon.svg';
41
42
  import Document from './document.svg';
43
+ import Document2 from './document2.svg';
42
44
  import Drop from './drop.svg';
43
45
  import DropCalendar from './drop-calendar.svg';
44
46
  import Electricity from './electricity.svg';
@@ -155,8 +157,9 @@ import WizardDetailed from './wizard-detailed.svg';
155
157
  import WizardQuick from './wizard-quick.svg';
156
158
  import YellowFolder from './yellow-folder.svg';
157
159
  import YellowFolderUnshared from './yellow-folder-unshared.svg';
158
- export { AlertDelete, AlertDeletePurple, Arrow, Batery, Bathroom, Battery, Battery2, Bedroom, BgBlue, BgLogo, Billing, BillingAddress, BlueFolder, BlueFolderShared, Box, Building, Calc, Calendar2, Catalog, Check, CheckInCircle, CheckPen, Chemistry, CircleFace, Cleaning, Closet, Clouds, Co2, Company, ComputerReport, Confirmation, Construction, Contacts, Contacts2, Contributor, CreditCard, Detector, Diamond, DiningRoom, DocIcon, Document, Drop, DropCalendar, Electricity, Entryway, Exclamation, Face, Feedback, FileUploading, Finance, Fire, Flag, FormSent, Foundation, Garage, GearPencil, GearTime, GenericField, GlassWater, GreenFolder, Group, Groups, GuestBedroom, Hallway, HandPencil, Heater, Help, HomeAddress, Homeowner, House, HouseHands, IA, ImageDefault, ImgIcon, Inbox, Insect, Kitchen, Laundry, Light, LivingRoom, Loading, Location, LogoCompany, LogoSmall, MagnifyingGlassReport, Manager, MasterBedroom, Member, Message, MobileDrop, Money, Mudroom, NeedHelp, Office, Painting, PartnerGeneric, Patio, PdfIcon, PersonMail, Plate, Play, Plus, Pool, Pool2, PressureWasher, Price, Profile, ProgressReport, Proposal, RealEstate, Receipt, ReceiptBg, ReceiptHouse, Receipts, Recipient, Records, Register, RelationshipHome, ResendPassword, Rocket, Roof2, Security, Send, ShareHome, ShareWith, SixtyEight, SMS, Social, SolarPanel, Speaker, Sprinkler, Structure, Subscription, Target, Temperature, Theatre, Thumbnail, ThumbnailSmall, ThumbUp, Trash, Trees, TreesCrop, TreesCrop2, VideoIcon, VideoPlay, VioletFolder, Warning, Warranty, WellDone, WholeHome, Wind, WindWhite, Wizard, WizardDetailed, WizardQuick, YellowFolder, YellowFolderUnshared, };
160
+ export { AlertDelete, AlertDeletePurple, Arrow, Batery, Bathroom, Battery, Battery2, Bedroom, BgBlue, BgLogo, Billing, BillingAddress, BlueFolder, BlueFolderShared, Box, Building, Calc, Calendar2, Catalog, ChatBubble, Check, CheckInCircle, CheckPen, Chemistry, CircleFace, Cleaning, Closet, Clouds, Co2, Company, ComputerReport, Confirmation, Construction, Contacts, Contacts2, Contributor, CreditCard, Detector, Diamond, DiningRoom, DocIcon, Document, Document2, Drop, DropCalendar, Electricity, Entryway, Exclamation, Face, Feedback, FileUploading, Finance, Fire, Flag, FormSent, Foundation, Garage, GearPencil, GearTime, GenericField, GlassWater, GreenFolder, Group, Groups, GuestBedroom, Hallway, HandPencil, Heater, Help, HomeAddress, Homeowner, House, HouseHands, IA, ImageDefault, ImgIcon, Inbox, Insect, Kitchen, Laundry, Light, LivingRoom, Loading, Location, LogoCompany, LogoSmall, MagnifyingGlassReport, Manager, MasterBedroom, Member, Message, MobileDrop, Money, Mudroom, NeedHelp, Office, Painting, PartnerGeneric, Patio, PdfIcon, PersonMail, Plate, Play, Plus, Pool, Pool2, PressureWasher, Price, Profile, ProgressReport, Proposal, RealEstate, Receipt, ReceiptBg, ReceiptHouse, Receipts, Recipient, Records, Register, RelationshipHome, ResendPassword, Rocket, Roof2, Security, Send, ShareHome, ShareWith, SixtyEight, SMS, Social, SolarPanel, Speaker, Sprinkler, Structure, Subscription, Target, Temperature, Theatre, Thumbnail, ThumbnailSmall, ThumbUp, Trash, Trees, TreesCrop, TreesCrop2, VideoIcon, VideoPlay, VioletFolder, Warning, Warranty, WellDone, WholeHome, Wind, WindWhite, Wizard, WizardDetailed, WizardQuick, YellowFolder, YellowFolderUnshared, };
159
161
  export * from './alerts';
162
+ export * from './animations';
160
163
  export * from './appliances';
161
164
  export * from './clouds-animation';
162
165
  export * from './form';
@@ -17,6 +17,7 @@ import Building from './building.svg';
17
17
  import Calc from './calc.svg';
18
18
  import Calendar2 from './calendar2.svg';
19
19
  import Catalog from './catalog.svg';
20
+ import ChatBubble from './chat-bubble.svg';
20
21
  import Check from './check.svg';
21
22
  import CheckInCircle from './check-in-circle.svg';
22
23
  import CheckPen from './check-pen.svg';
@@ -39,6 +40,7 @@ import Diamond from './diamond.svg';
39
40
  import DiningRoom from './dining-room.svg';
40
41
  import DocIcon from './doc-icon.svg';
41
42
  import Document from './document.svg';
43
+ import Document2 from './document2.svg';
42
44
  import Drop from './drop.svg';
43
45
  import DropCalendar from './drop-calendar.svg';
44
46
  import Electricity from './electricity.svg';
@@ -155,8 +157,9 @@ import WizardDetailed from './wizard-detailed.svg';
155
157
  import WizardQuick from './wizard-quick.svg';
156
158
  import YellowFolder from './yellow-folder.svg';
157
159
  import YellowFolderUnshared from './yellow-folder-unshared.svg';
158
- export { AlertDelete, AlertDeletePurple, Arrow, Batery, Bathroom, Battery, Battery2, Bedroom, BgBlue, BgLogo, Billing, BillingAddress, BlueFolder, BlueFolderShared, Box, Building, Calc, Calendar2, Catalog, Check, CheckInCircle, CheckPen, Chemistry, CircleFace, Cleaning, Closet, Clouds, Co2, Company, ComputerReport, Confirmation, Construction, Contacts, Contacts2, Contributor, CreditCard, Detector, Diamond, DiningRoom, DocIcon, Document, Drop, DropCalendar, Electricity, Entryway, Exclamation, Face, Feedback, FileUploading, Finance, Fire, Flag, FormSent, Foundation, Garage, GearPencil, GearTime, GenericField, GlassWater, GreenFolder, Group, Groups, GuestBedroom, Hallway, HandPencil, Heater, Help, HomeAddress, Homeowner, House, HouseHands, IA, ImageDefault, ImgIcon, Inbox, Insect, Kitchen, Laundry, Light, LivingRoom, Loading, Location, LogoCompany, LogoSmall, MagnifyingGlassReport, Manager, MasterBedroom, Member, Message, MobileDrop, Money, Mudroom, NeedHelp, Office, Painting, PartnerGeneric, Patio, PdfIcon, PersonMail, Plate, Play, Plus, Pool, Pool2, PressureWasher, Price, Profile, ProgressReport, Proposal, RealEstate, Receipt, ReceiptBg, ReceiptHouse, Receipts, Recipient, Records, Register, RelationshipHome, ResendPassword, Rocket, Roof2, Security, Send, ShareHome, ShareWith, SixtyEight, SMS, Social, SolarPanel, Speaker, Sprinkler, Structure, Subscription, Target, Temperature, Theatre, Thumbnail, ThumbnailSmall, ThumbUp, Trash, Trees, TreesCrop, TreesCrop2, VideoIcon, VideoPlay, VioletFolder, Warning, Warranty, WellDone, WholeHome, Wind, WindWhite, Wizard, WizardDetailed, WizardQuick, YellowFolder, YellowFolderUnshared, };
160
+ export { AlertDelete, AlertDeletePurple, Arrow, Batery, Bathroom, Battery, Battery2, Bedroom, BgBlue, BgLogo, Billing, BillingAddress, BlueFolder, BlueFolderShared, Box, Building, Calc, Calendar2, Catalog, ChatBubble, Check, CheckInCircle, CheckPen, Chemistry, CircleFace, Cleaning, Closet, Clouds, Co2, Company, ComputerReport, Confirmation, Construction, Contacts, Contacts2, Contributor, CreditCard, Detector, Diamond, DiningRoom, DocIcon, Document, Document2, Drop, DropCalendar, Electricity, Entryway, Exclamation, Face, Feedback, FileUploading, Finance, Fire, Flag, FormSent, Foundation, Garage, GearPencil, GearTime, GenericField, GlassWater, GreenFolder, Group, Groups, GuestBedroom, Hallway, HandPencil, Heater, Help, HomeAddress, Homeowner, House, HouseHands, IA, ImageDefault, ImgIcon, Inbox, Insect, Kitchen, Laundry, Light, LivingRoom, Loading, Location, LogoCompany, LogoSmall, MagnifyingGlassReport, Manager, MasterBedroom, Member, Message, MobileDrop, Money, Mudroom, NeedHelp, Office, Painting, PartnerGeneric, Patio, PdfIcon, PersonMail, Plate, Play, Plus, Pool, Pool2, PressureWasher, Price, Profile, ProgressReport, Proposal, RealEstate, Receipt, ReceiptBg, ReceiptHouse, Receipts, Recipient, Records, Register, RelationshipHome, ResendPassword, Rocket, Roof2, Security, Send, ShareHome, ShareWith, SixtyEight, SMS, Social, SolarPanel, Speaker, Sprinkler, Structure, Subscription, Target, Temperature, Theatre, Thumbnail, ThumbnailSmall, ThumbUp, Trash, Trees, TreesCrop, TreesCrop2, VideoIcon, VideoPlay, VioletFolder, Warning, Warranty, WellDone, WholeHome, Wind, WindWhite, Wizard, WizardDetailed, WizardQuick, YellowFolder, YellowFolderUnshared, };
159
161
  export * from './alerts';
162
+ export * from './animations';
160
163
  export * from './appliances';
161
164
  export * from './clouds-animation';
162
165
  export * from './form';
@@ -17,6 +17,7 @@ import Building from './building.svg'
17
17
  import Calc from './calc.svg'
18
18
  import Calendar2 from './calendar2.svg'
19
19
  import Catalog from './catalog.svg'
20
+ import ChatBubble from './chat-bubble.svg'
20
21
  import Check from './check.svg'
21
22
  import CheckInCircle from './check-in-circle.svg'
22
23
  import CheckPen from './check-pen.svg'
@@ -39,6 +40,7 @@ import Diamond from './diamond.svg'
39
40
  import DiningRoom from './dining-room.svg'
40
41
  import DocIcon from './doc-icon.svg'
41
42
  import Document from './document.svg'
43
+ import Document2 from './document2.svg'
42
44
  import Drop from './drop.svg'
43
45
  import DropCalendar from './drop-calendar.svg'
44
46
  import Electricity from './electricity.svg'
@@ -176,6 +178,7 @@ export {
176
178
  Calc,
177
179
  Calendar2,
178
180
  Catalog,
181
+ ChatBubble,
179
182
  Check,
180
183
  CheckInCircle,
181
184
  CheckPen,
@@ -198,6 +201,7 @@ export {
198
201
  DiningRoom,
199
202
  DocIcon,
200
203
  Document,
204
+ Document2,
201
205
  Drop,
202
206
  DropCalendar,
203
207
  Electricity,
@@ -317,6 +321,7 @@ export {
317
321
  }
318
322
 
319
323
  export * from './alerts'
324
+ export * from './animations'
320
325
  export * from './appliances'
321
326
  export * from './clouds-animation'
322
327
  export * from './form'
@@ -167,6 +167,10 @@
167
167
  "recipient": "recipient",
168
168
  "title": "Contacts"
169
169
  },
170
+ "counter": {
171
+ "of": "of",
172
+ "showing": "Showing"
173
+ },
170
174
  "daysOfWeek": {
171
175
  "1": "Monday",
172
176
  "2": "Tuesday",
@@ -288,6 +292,7 @@
288
292
  },
289
293
  "forms": {
290
294
  "addAll": "Add All",
295
+ "all": "All",
291
296
  "apartmentNumber": "Apartment, Suite, Unit, Building, Floor, etc.",
292
297
  "city": "City",
293
298
  "companyEmail": "Company email",
@@ -311,6 +316,7 @@
311
316
  "lastName": "Last name",
312
317
  "link": "Link",
313
318
  "message": "Message",
319
+ "new": "New",
314
320
  "moreDetails": "Add Optional Details",
315
321
  "obs": "Additional information",
316
322
  "password": "Password",
@@ -465,7 +471,11 @@
465
471
  "altImage": "image"
466
472
  },
467
473
  "inbox": {
468
- "forwardTo": "To use Receipt Autofiler, simply forward reciepts to "
474
+ "createReply": "Create Reply",
475
+ "enterContent": "Enter content",
476
+ "forwardTo": "To use Receipt Autofiler, simply forward reciepts to ",
477
+ "from": "From: ",
478
+ "message": "Message"
469
479
  },
470
480
  "launchpad": {
471
481
  "menu": {
@@ -628,15 +638,6 @@
628
638
  "shared": "Shared",
629
639
  "updated": "Updated"
630
640
  },
631
- "types": {
632
- "contact": "Contact",
633
- "file": "File",
634
- "folder": "Folder",
635
- "receipt": "Receipt",
636
- "user": "User",
637
- "tile": "Tile",
638
- "payment": "Payment"
639
- },
640
641
  "title": "Notifications"
641
642
  },
642
643
  "partner": {
@@ -1,10 +1,12 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { Airplane, Cloud1, Cloud2, Cloud3, TreesCrop, TreesCrop2, } from '../../assets/images';
2
+ import { Fragment, useEffect, useState } from 'react';
3
+ import { Airplane, Cloud1, Cloud2, Cloud3 } from '../../assets/images';
3
4
  import { useWindowDimensions } from '../../hooks';
4
5
  import { colors } from '../../theme/colors';
6
+ import { getTimeOfDay, getTimeOfDaySeason, } from '../../utils';
5
7
  import { Box, Image } from '@chakra-ui/react';
6
8
  import { keyframes } from '@emotion/react';
7
- import { Fragment } from 'react';
9
+ import { WeatherTrees } from './WeatherTrees';
8
10
  export const moveLeftToRightAirplane = keyframes `
9
11
  0% {
10
12
  transform: translateX(-100%);
@@ -66,9 +68,23 @@ export const moveRightToLeftWithFade3 = keyframes `
66
68
  }
67
69
  `;
68
70
  export const CloudsAnimation = ({ children }) => {
71
+ const [timeOfDay, setTimeOfDay] = useState(getTimeOfDay());
72
+ const timeOfDaySeason = getTimeOfDaySeason();
73
+ const gradients = {
74
+ day: colors.dayGradient,
75
+ evening: colors.eveningGradient,
76
+ morning: colors.morningGradient,
77
+ night: colors.nightGradient,
78
+ };
79
+ useEffect(() => {
80
+ const interval = setInterval(() => {
81
+ setTimeOfDay(getTimeOfDay());
82
+ }, 60000);
83
+ return () => clearInterval(interval);
84
+ }, []);
69
85
  const { windowDimensions: { width }, } = useWindowDimensions();
70
86
  const isMobile = width < 768;
71
87
  if (isMobile)
72
88
  return _jsx(Fragment, { children: "children" });
73
- return (_jsxs(Box, { minH: "100vh", w: "full", position: "relative", bgGradient: colors.skyGradient, overflowX: "hidden", overflowY: "scroll", children: [children, _jsx(Image, { src: Cloud1, position: "fixed", w: "auto", h: "80px", top: "50px", animation: `${moveRightToLeftWithFade3} 400s linear infinite`, zIndex: "1" }), _jsx(Image, { src: Cloud2, position: "fixed", w: "auto", h: "120px", top: "80px", animation: `${moveRightToLeftWithFade3} 200s linear infinite`, zIndex: "1" }), _jsx(Image, { src: Cloud3, position: "fixed", w: "auto", h: "160px", top: "120px", animation: `${moveRightToLeftWithFade3} 130s linear infinite`, zIndex: "1" }), _jsx(Image, { src: Cloud1, position: "fixed", w: "auto", h: "100px", top: "160px", animation: `${moveRightToLeftWithFade2} 400s linear infinite`, zIndex: "1" }), _jsx(Image, { src: Cloud2, position: "fixed", w: "auto", h: "112px", top: "220px", animation: `${moveRightToLeftWithFade2} 200s linear infinite`, zIndex: "1" }), _jsx(Image, { src: Cloud3, position: "fixed", w: "auto", h: "160px", top: "300px", animation: `${moveRightToLeftWithFade2} 130s linear infinite`, zIndex: "1" }), _jsx(Image, { src: Airplane, position: "fixed", w: "auto", h: "40px", top: "85px", animation: `${moveLeftToRightAirplane} 500s cubic-bezier(1, 1, 1, 500) infinite`, zIndex: "1" }), _jsx(Image, { src: TreesCrop, position: "fixed", bottom: "0", right: "2", w: "auto", h: "80px", zIndex: "1" }), _jsx(Image, { src: TreesCrop2, position: "fixed", bottom: "0", left: "2", w: "auto", h: "80px", zIndex: "1" })] }));
89
+ return (_jsxs(Box, { minH: "100vh", w: "full", position: "relative", bgGradient: gradients[timeOfDay], overflowX: "hidden", overflowY: "scroll", children: [children, _jsx(Image, { src: Cloud1, position: "fixed", w: "auto", h: "80px", top: "50px", animation: `${moveRightToLeftWithFade3} 400s linear infinite`, zIndex: "1" }), _jsx(Image, { src: Cloud2, position: "fixed", w: "auto", h: "120px", top: "80px", animation: `${moveRightToLeftWithFade3} 200s linear infinite`, zIndex: "1" }), _jsx(Image, { src: Cloud3, position: "fixed", w: "auto", h: "160px", top: "120px", animation: `${moveRightToLeftWithFade3} 130s linear infinite`, zIndex: "1" }), _jsx(Image, { src: Cloud1, position: "fixed", w: "auto", h: "100px", top: "160px", animation: `${moveRightToLeftWithFade2} 400s linear infinite`, zIndex: "1" }), _jsx(Image, { src: Cloud2, position: "fixed", w: "auto", h: "112px", top: "220px", animation: `${moveRightToLeftWithFade2} 200s linear infinite`, zIndex: "1" }), _jsx(Image, { src: Cloud3, position: "fixed", w: "auto", h: "160px", top: "300px", animation: `${moveRightToLeftWithFade2} 130s linear infinite`, zIndex: "1" }), _jsx(Image, { src: Airplane, position: "fixed", w: "auto", h: "40px", top: "85px", animation: `${moveLeftToRightAirplane} 500s cubic-bezier(1, 1, 1, 500) infinite`, zIndex: "1" }), _jsx(WeatherTrees, { timeOfDaySeason: timeOfDaySeason, position: "fixed", bottom: "0", right: "0", w: "auto", h: "100px", zIndex: "1" }), _jsx(WeatherTrees, { timeOfDaySeason: timeOfDaySeason, position: "fixed", bottom: "0", left: "2", w: "auto", transform: "rotateY(180deg)", h: "100px", zIndex: "1" })] }));
74
90
  };
@@ -0,0 +1,6 @@
1
+ import { TimeOfDaySeason } from '../../utils';
2
+ import { ImageProps } from '@chakra-ui/react';
3
+ export interface WeatherTreesI extends ImageProps {
4
+ timeOfDaySeason: TimeOfDaySeason;
5
+ }
6
+ export declare const WeatherTrees: ({ timeOfDaySeason, ...props }: WeatherTreesI) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,36 @@
1
+ var __rest = (this && this.__rest) || function (s, e) {
2
+ var t = {};
3
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
4
+ t[p] = s[p];
5
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
6
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
7
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
8
+ t[p[i]] = s[p[i]];
9
+ }
10
+ return t;
11
+ };
12
+ import { jsx as _jsx } from "react/jsx-runtime";
13
+ import { TreesDay, TreesDayFall, TreesDayWinter, TreesEvening, TreesMorning, TreesNight, } from '../../assets/images';
14
+ import { Image } from '@chakra-ui/react';
15
+ export const WeatherTrees = (_a) => {
16
+ var { timeOfDaySeason } = _a, props = __rest(_a, ["timeOfDaySeason"]);
17
+ const images = {
18
+ 'day-summer': TreesDay,
19
+ 'day-fall': TreesDayFall,
20
+ 'day-winter': TreesDayWinter,
21
+ 'day-spring': TreesDay,
22
+ 'evening-summer': TreesEvening,
23
+ 'evening-fall': TreesEvening,
24
+ 'evening-winter': TreesDayWinter,
25
+ 'evening-spring': TreesEvening,
26
+ 'morning-summer': TreesMorning,
27
+ 'morning-fall': TreesMorning,
28
+ 'morning-winter': TreesDayWinter,
29
+ 'morning-spring': TreesMorning,
30
+ 'night-summer': TreesNight,
31
+ 'night-fall': TreesNight,
32
+ 'night-winter': TreesDayWinter,
33
+ 'night-spring': TreesNight,
34
+ };
35
+ return _jsx(Image, Object.assign({}, props, { src: images[timeOfDaySeason], alt: "trees" }));
36
+ };
@@ -1,2 +1,3 @@
1
1
  export * from './CloudsAnimation';
2
2
  export * from './HomieAnimation';
3
+ export * from './WeatherTrees';
@@ -1,2 +1,3 @@
1
1
  export * from './CloudsAnimation';
2
2
  export * from './HomieAnimation';
3
+ export * from './WeatherTrees';
@@ -5,6 +5,6 @@ import { useTextBadge } from '../../hooks';
5
5
  export const TextBadge = ({ bgColor = 'violet.1', showAnimation = true, text = t('badges.new'), width = '2.6rem', }) => {
6
6
  const { badgeWidth } = useTextBadge(width);
7
7
  return (_jsx(Box, { bg: bgColor, borderRadius: "base", w: showAnimation ? badgeWidth : 'fit-content', py: "0.1rem", px: "0.5rem", _hover: {
8
- width,
8
+ width: showAnimation ? width : 'fit-content',
9
9
  }, transition: "all 0.2s ease-in-out", children: _jsx(Text, { noOfLines: 1, textColor: "neutral.white", textAlign: "center", fontSize: "0.625rem", fontWeight: "bold", textTransform: "uppercase", children: text }) }));
10
10
  };
@@ -1,12 +1,10 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { t } from 'i18next';
3
- import { Box, Flex, Text, chakra } from '@chakra-ui/react';
4
- import { BeatLoader } from 'react-spinners';
5
- import { colors } from '../../../theme/colors';
6
3
  import { pluralize } from '../../../utils';
4
+ import { BaseCounter } from '../..';
7
5
  export const FilesCounter = ({ totalFiles, totalShowing, uploading, uploadingFiles, }) => {
8
6
  const files = pluralize(totalFiles, t('folderSharing.showing.part4'));
9
7
  const moreThanOne = `${t('folderSharing.showing.part1')} ${totalShowing} ${t('folderSharing.showing.part2')} ${totalFiles} ${t('folderSharing.showing.part3')}`;
10
8
  const one = `${t('folderSharing.showing.part1')} ${totalShowing} ${t('folderSharing.showing.part2')} ${totalFiles} ${files}`;
11
- return (_jsx(Box, { w: "100%", children: _jsxs(Flex, { justify: "space-between", align: "center", children: [!uploading && (_jsx(Text, { variant: "home", children: totalFiles > 1 ? moreThanOne : one })), uploading && (_jsxs(Text, { variant: "home", children: [_jsx(chakra.span, { fontWeight: "bold", children: t('folderSharing.uploading') }), ` ${uploadingFiles} ${files}`, _jsx(chakra.span, { ml: "2", children: _jsx(BeatLoader, { size: "4px", color: colors.blue[6] }) })] }))] }) }));
9
+ return (_jsx(BaseCounter, { text: totalFiles > 1 ? moreThanOne : one, uploading: uploading, uploadingText: ` ${uploadingFiles !== null && uploadingFiles !== void 0 ? uploadingFiles : ''} ${files}` }));
12
10
  };
@@ -1,2 +1,2 @@
1
1
  import { FooterButtonsI } from '../../interfaces';
2
- export declare const FooterButtons: ({ button1, button2, button3, }: FooterButtonsI) => import("react/jsx-runtime").JSX.Element;
2
+ export declare const FooterButtons: ({ button1, button2, button3, px, }: FooterButtonsI) => import("react/jsx-runtime").JSX.Element;
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { Box, Button, Flex } from '@chakra-ui/react';
3
- export const FooterButtons = ({ button1, button2, button3, }) => {
4
- return (_jsxs(Flex, { align: "center", justifyContent: "space-between", w: "full", px: "base", children: [_jsxs(Flex, { align: "center", gap: "2", children: [button1 ? (_jsx(Button, { variant: button1.buttonStyle, onClick: button1.onClick, disabled: button1.isDisabled, isLoading: button1.isLoading, children: button1.label })) : (_jsx(Box, {})), button2 && (_jsx(Button, { variant: button2.buttonStyle, onClick: button2.onClick, disabled: button2.isDisabled, isLoading: button2.isLoading, children: button2.label }))] }), button3 && (_jsx(Button, { variant: button3.buttonStyle, onClick: button3.onClick, disabled: button3.isDisabled, isLoading: button3.isLoading, children: button3.label }))] }));
3
+ export const FooterButtons = ({ button1, button2, button3, px = 'base', }) => {
4
+ return (_jsxs(Flex, { align: "center", justifyContent: "space-between", w: "full", px: px, children: [_jsxs(Flex, { align: "center", gap: "2", children: [button1 ? (_jsx(Button, { variant: button1.buttonStyle, onClick: button1.onClick, disabled: button1.isDisabled, isLoading: button1.isLoading, children: button1.label })) : (_jsx(Box, {})), button2 && (_jsx(Button, { variant: button2.buttonStyle, onClick: button2.onClick, disabled: button2.isDisabled, isLoading: button2.isLoading, children: button2.label }))] }), button3 && (_jsx(Button, { variant: button3.buttonStyle, onClick: button3.onClick, disabled: button3.isDisabled, isLoading: button3.isLoading, children: button3.label }))] }));
5
5
  };
@@ -0,0 +1,2 @@
1
+ import { BaseCounterI } from '../../interfaces';
2
+ export declare const BaseCounter: ({ text, uploading, uploadingText, }: BaseCounterI) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,8 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { t } from 'i18next';
3
+ import { Box, chakra, Flex, Text } from '@chakra-ui/react';
4
+ import { BeatLoader } from 'react-spinners';
5
+ import { colors } from '../../theme/colors';
6
+ export const BaseCounter = ({ text, uploading, uploadingText, }) => {
7
+ return (_jsx(Box, { w: "100%", children: _jsxs(Flex, { justify: "space-between", align: "center", children: [!uploading && _jsx(Text, { variant: "home", children: text }), uploading && (_jsxs(Text, { variant: "home", children: [_jsx(chakra.span, { fontWeight: "bold", children: t('folderSharing.uploading') }), uploadingText, _jsx(chakra.span, { ml: "2", children: _jsx(BeatLoader, { size: "4px", color: colors.blue[6] }) })] }))] }) }));
8
+ };
@@ -2,5 +2,6 @@ export * from './dynamicForm';
2
2
  export * from './readOnly';
3
3
  export * from './Address';
4
4
  export * from './AddressStored';
5
+ export * from './BaseCounter';
5
6
  export * from './Collapsible';
6
7
  export * from './EditItemName';
@@ -2,5 +2,6 @@ export * from './dynamicForm';
2
2
  export * from './readOnly';
3
3
  export * from './Address';
4
4
  export * from './AddressStored';
5
+ export * from './BaseCounter';
5
6
  export * from './Collapsible';
6
7
  export * from './EditItemName';
@@ -1,5 +1,5 @@
1
1
  import { PropsWithChildren } from 'react';
2
- export declare const HomeAssistantWrapper: ({ children, showAirplane, title, zIndex }: PropsWithChildren<{
2
+ export declare const HomeAssistantWrapper: ({ children, showAirplane, title, zIndex, }: PropsWithChildren<{
3
3
  showAirplane?: boolean;
4
4
  title: string;
5
5
  zIndex?: string;
@@ -1,10 +1,24 @@
1
1
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useEffect, useState } from 'react';
2
3
  import { Box, GridItem, Image } from '@chakra-ui/react';
3
- import { ContainerHeader, TileTooltip, moveRightToLeftWithFade, moveRightToLeft, moveLeftToRightAirplane, } from '..';
4
- import { Airplane, Cloud1, Cloud2, Cloud3, IA, TreesCrop, } from '../../assets/images';
5
- import { getImageAltText } from '../../utils';
4
+ import { ContainerHeader, TileTooltip, moveRightToLeftWithFade, moveRightToLeft, moveLeftToRightAirplane, WeatherTrees, } from '..';
5
+ import { Airplane, Cloud1, Cloud2, Cloud3, IA } from '../../assets/images';
6
+ import { getTimeOfDay, getTimeOfDaySeason, } from '../../utils';
6
7
  import { colors } from '../../theme/colors';
7
- export const HomeAssistantWrapper = ({ children, showAirplane, title, zIndex }) => {
8
- const treesAlt = getImageAltText(TreesCrop);
9
- return (_jsx(GridItem, { colSpan: [1, 2], zIndex: zIndex, children: _jsx(TileTooltip, { label: "homeAssistant", children: _jsxs(Box, { bgGradient: colors.skyGradient, boxShadow: "base", h: "full", position: "relative", overflow: "hidden", children: [_jsx(ContainerHeader, { title: title, titleIcon: IA }), _jsx(_Fragment, { children: children }), _jsx(Image, { src: Cloud1, position: "absolute", w: "auto", h: "80px", top: "80px", animation: `${moveRightToLeftWithFade} 400s linear infinite` }), _jsx(Image, { src: Cloud2, position: "absolute", w: "auto", h: "112px", top: "150px", animation: `${moveRightToLeft} 200s linear infinite` }), _jsx(Image, { src: Cloud3, position: "absolute", w: "auto", h: "160px", top: "200px", animation: `${moveRightToLeft} 130s linear infinite` }), showAirplane && (_jsx(Image, { src: Airplane, position: "absolute", w: "auto", h: "40px", top: "85px", animation: `${moveLeftToRightAirplane} 500s cubic-bezier(1, 1, 1, 500) infinite` })), _jsx(Image, { src: TreesCrop, alt: treesAlt, position: "absolute", bottom: "0", right: "2", w: "auto", h: "70px" })] }) }) }));
8
+ export const HomeAssistantWrapper = ({ children, showAirplane, title, zIndex, }) => {
9
+ const [timeOfDay, setTimeOfDay] = useState(getTimeOfDay());
10
+ const timeOfDaySeason = getTimeOfDaySeason();
11
+ const gradients = {
12
+ day: colors.dayGradient,
13
+ evening: colors.eveningGradient,
14
+ morning: colors.morningGradient,
15
+ night: colors.nightGradient,
16
+ };
17
+ useEffect(() => {
18
+ const interval = setInterval(() => {
19
+ setTimeOfDay(getTimeOfDay());
20
+ }, 60000);
21
+ return () => clearInterval(interval);
22
+ }, []);
23
+ return (_jsx(GridItem, { colSpan: [1, 2], zIndex: zIndex, children: _jsx(TileTooltip, { label: "homeAssistant", children: _jsxs(Box, { bgGradient: gradients[timeOfDay], boxShadow: "base", h: "full", position: "relative", overflow: "hidden", transition: "background 1s ease-in-out", children: [_jsx(ContainerHeader, { title: title, titleIcon: IA }), _jsx(_Fragment, { children: children }), _jsx(Image, { src: Cloud1, position: "absolute", w: "auto", h: "80px", top: "80px", animation: `${moveRightToLeftWithFade} 400s linear infinite` }), _jsx(Image, { src: Cloud2, position: "absolute", w: "auto", h: "112px", top: "150px", animation: `${moveRightToLeft} 200s linear infinite` }), _jsx(Image, { src: Cloud3, position: "absolute", w: "auto", h: "160px", top: "200px", animation: `${moveRightToLeft} 130s linear infinite` }), showAirplane && (_jsx(Image, { src: Airplane, position: "absolute", w: "auto", h: "40px", top: "85px", animation: `${moveLeftToRightAirplane} 500s cubic-bezier(1, 1, 1, 500) infinite` })), _jsx(WeatherTrees, { timeOfDaySeason: timeOfDaySeason, position: "absolute", bottom: "0", right: "2", w: "auto", h: "100px" })] }) }) }));
10
24
  };
@@ -1,7 +1,7 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { t } from 'i18next';
3
- import { AspectRatio, Flex, Text, Image } from '@chakra-ui/react';
3
+ import { AspectRatio, Flex, Text, Image, chakra } from '@chakra-ui/react';
4
4
  import { IA } from '../../assets/images';
5
5
  export const InboxForwardBanner = () => {
6
- return (_jsxs(Flex, { p: "base", gap: "base", align: "center", bg: "lightBlue.2", children: [_jsx(AspectRatio, { ratio: 1, minW: "35px", h: "auto", children: _jsx(Image, { src: IA, alt: "IA" }) }), _jsxs(Text, { variant: "home", lineHeight: "1", children: [t('inbox.forwardTo'), _jsx(Text, { variant: "home", lineHeight: "1", color: "neutral.black", fontWeight: "bold", display: "inline", children: "homefileit@homefile.com." })] })] }));
6
+ return (_jsxs(Flex, { p: "base", gap: "base", align: "center", bg: "lightBlue.2", children: [_jsx(AspectRatio, { ratio: 1, minW: "35px", h: "auto", children: _jsx(Image, { src: IA, alt: "IA" }) }), _jsxs(Text, { variant: "home", lineHeight: "1", children: [t('inbox.forwardTo'), _jsx(chakra.span, { fontFamily: "secondary", fontSize: "sm", lineHeight: "1", color: "neutral.black", fontWeight: "bold", display: "inline", children: "homefileit@homefile.com." })] })] }));
7
7
  };
@@ -1,3 +1,4 @@
1
+ export * from './panel';
1
2
  export * from './InboxCard';
2
3
  export * from './InboxForwardBanner';
3
4
  export * from './InboxTile';
@@ -1,3 +1,4 @@
1
+ export * from './panel';
1
2
  export * from './InboxCard';
2
3
  export * from './InboxForwardBanner';
3
4
  export * from './InboxTile';
@@ -0,0 +1,2 @@
1
+ import { MessageCardI } from '../../../interfaces';
2
+ export declare const MessageCard: ({ message, onClick, variant, }: MessageCardI) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,14 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { t } from 'i18next';
3
+ import { Avatar, Box, Center, chakra, Container, Divider, Flex, Stack, Text, } from '@chakra-ui/react';
4
+ import { ChatBubble } from '../../../assets/images';
5
+ import { TextBadge } from '../..';
6
+ import { formatDateWithAt } from '../../../utils';
7
+ export const MessageCard = ({ message, onClick, variant = 'inbox', }) => {
8
+ const { currentUser, from, subject, date, isNew, chatReplies, description } = message;
9
+ const formattedDate = formatDateWithAt({ date });
10
+ const showChatBubble = Number(chatReplies === null || chatReplies === void 0 ? void 0 : chatReplies.length) > 0;
11
+ const isInbox = variant === 'inbox';
12
+ const isCurrentUser = (currentUser === null || currentUser === void 0 ? void 0 : currentUser.userName) === from;
13
+ return (_jsxs(Flex, { gap: "base", children: [!isCurrentUser && !isInbox && (_jsx(Avatar, { size: "sm", name: from, bg: "blue.4", fontWeight: "bold", color: "neutral.white" })), _jsx(Container, { as: isInbox ? 'button' : 'div', bg: isCurrentUser ? 'yellow.6' : 'neutral.white', transition: "background-color 0.3s", textAlign: "left", _hover: isInbox ? { bg: 'lightGreen.1' } : {}, onClick: () => onClick === null || onClick === void 0 ? void 0 : onClick(message), children: _jsxs(Box, { children: [!isCurrentUser && (_jsxs(Flex, { justify: "space-between", align: "center", py: "1", pr: "base", pl: isNew ? '' : 'base', children: [_jsxs(Flex, { gap: "base", align: "center", position: "relative", left: isNew ? '-13px' : '', children: [isNew && isInbox && (_jsx(TextBadge, { text: "New", showAnimation: false, bgColor: "violet.1" })), _jsxs(Text, { variant: "home", color: "gray.1", children: [t('inbox.from'), _jsx(chakra.span, { color: "gray.4", children: from })] })] }), _jsx(Text, { variant: "home", fontSize: "xs", children: formattedDate })] })), isInbox && _jsx(Divider, {}), _jsxs(Stack, { spacing: "base", p: "base", children: [_jsxs(Flex, { align: "center", justify: "space-between", children: [_jsx(Text, { variant: "home", fontWeight: "bold", children: subject }), showChatBubble && isInbox && (_jsx(Center, { backgroundImage: `url(${ChatBubble})`, backgroundRepeat: "no-repeat", backgroundSize: "contain", backgroundPosition: "bottom", w: "20px", h: "24px", children: _jsx(Text, { fontSize: "10px", color: "blue.2", fontWeight: "bold", children: chatReplies === null || chatReplies === void 0 ? void 0 : chatReplies.length }) }))] }), isInbox && (_jsx(Text, { variant: "home", noOfLines: 3, textOverflow: "ellipsis", children: description })), !isInbox && _jsx(Text, { variant: "home", children: description })] })] }) })] }));
14
+ };
@@ -0,0 +1,4 @@
1
+ import { MessageChatPanelI } from '../../../interfaces';
2
+ import 'react-quill/dist/quill.snow.css';
3
+ import '../../../styles/quill.css';
4
+ export declare const MessageChatPanel: ({ message, onBack, onClose, onReply, }: MessageChatPanelI) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,38 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useState } from 'react';
3
+ import { t } from 'i18next';
4
+ import { Box, DrawerBody, DrawerContent, DrawerFooter, DrawerHeader, Stack, Text, } from '@chakra-ui/react';
5
+ import QuillEditor from 'react-quill';
6
+ import { Document2 } from '../../../assets/images';
7
+ import { BackCircleButton, FooterButtons, MessageCard, PanelHeader, up, WrapperWithShadow, } from '../..';
8
+ import 'react-quill/dist/quill.snow.css';
9
+ import '../../../styles/quill.css';
10
+ export const MessageChatPanel = ({ message, onBack, onClose, onReply, }) => {
11
+ var _a, _b;
12
+ const [value, setValue] = useState('');
13
+ const onChange = (content) => {
14
+ setValue(content);
15
+ };
16
+ return (_jsxs(DrawerContent, { bg: "lightBlue.1", children: [_jsx(DrawerHeader, { p: "0", children: _jsx(PanelHeader, { handleCloseButton: onClose, title: (_a = message === null || message === void 0 ? void 0 : message.from) !== null && _a !== void 0 ? _a : '', icon: Document2 }) }), _jsxs(DrawerBody, { p: "0", children: [_jsx(Box, { bg: "lightBlue.2", py: "2", px: "base", children: _jsx(BackCircleButton, { onClick: onBack }) }), _jsx(Stack, { spacing: "base", p: "base", pb: "4", children: (_b = message === null || message === void 0 ? void 0 : message.chatReplies) === null || _b === void 0 ? void 0 : _b.map((reply) => (_jsx(MessageCard, { message: Object.assign(Object.assign({}, reply), { currentUser: message.currentUser }), variant: "chat" }, reply._id))) })] }), _jsx(DrawerFooter, { p: "0", maxH: "400px", children: _jsx(WrapperWithShadow, { animation: up, fadeDelay: 0.2, children: _jsxs(Stack, { spacing: "base", children: [_jsx(Text, { children: t('inbox.createReply') }), _jsx(QuillEditor, { theme: "snow", value: value, modules: { toolbar }, onChange: onChange, placeholder: t('inbox.enterContent') }), _jsx(FooterButtons, { px: "0", button1: {
17
+ buttonStyle: 'secondaryFooter',
18
+ label: t('buttons.send'),
19
+ isDisabled: Number(value.length) === 0,
20
+ onClick: () => {
21
+ var _a;
22
+ return onReply({
23
+ id: (_a = message === null || message === void 0 ? void 0 : message._id) !== null && _a !== void 0 ? _a : '',
24
+ message: value,
25
+ });
26
+ },
27
+ } })] }) }) })] }));
28
+ };
29
+ const toolbar = [
30
+ ['bold', 'italic', 'underline', 'strike'],
31
+ ['blockquote', 'link', 'image'],
32
+ [{ list: 'ordered' }, { list: 'bullet' }, { list: 'check' }],
33
+ [{ script: 'sub' }, { script: 'super' }],
34
+ [{ indent: '-1' }, { indent: '+1' }],
35
+ [{ header: [1, 2, 3, 4, 5, 6, false] }],
36
+ [{ color: [] }, { background: [] }],
37
+ ['clean'],
38
+ ];
@@ -0,0 +1,2 @@
1
+ import { MessagePanelI } from '../../../interfaces';
2
+ export declare const MessagePanel: ({ messages, onClick, onClose }: MessagePanelI) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,12 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { t } from 'i18next';
3
+ import { Box, DrawerBody, DrawerContent, DrawerHeader, Stack, } from '@chakra-ui/react';
4
+ import { Inbox } from '../../../assets/images';
5
+ import { BaseCounter, MessageCard, PanelHeader, SelectInput, } from '../..';
6
+ import { useMessagePanel } from '../../../hooks';
7
+ import { pluralize } from '../../../utils';
8
+ export const MessagePanel = ({ messages, onClick, onClose }) => {
9
+ const { currentSort, sortedMessages, handleSelectItem, items } = useMessagePanel(messages);
10
+ const baseCounterText = `${t('counter.showing')} ${sortedMessages.length} ${t('counter.of')} ${messages.length} ${pluralize(sortedMessages.length, t('inbox.message').toLowerCase())} `;
11
+ return (_jsxs(DrawerContent, { bg: "lightBlue.1", children: [_jsx(DrawerHeader, { p: "0", children: _jsx(PanelHeader, { handleCloseButton: onClose, title: t('inbox.message'), icon: Inbox }) }), _jsx(DrawerBody, { p: "0", children: _jsxs(Stack, { spacing: "base", pb: "4", children: [_jsx(Box, { p: "base", bg: "lightBlue.2", children: _jsx(SelectInput, { handleClick: handleSelectItem, initialValue: currentSort, items: items }) }), _jsx(Box, { px: "base", children: _jsx(BaseCounter, { text: baseCounterText }) }), _jsx(Stack, { spacing: "1", pl: "26px", pr: "base", children: sortedMessages.map((message) => (_jsx(MessageCard, { message: message, onClick: onClick }, message._id))) })] }) })] }));
12
+ };
@@ -0,0 +1,3 @@
1
+ export * from './MessageCard';
2
+ export * from './MessageChatPanel';
3
+ export * from './MessagePanel';
@@ -0,0 +1,3 @@
1
+ export * from './MessageCard';
2
+ export * from './MessageChatPanel';
3
+ export * from './MessagePanel';
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { Stack, Fade } from '@chakra-ui/react';
3
3
  export const WrapperWithShadow = ({ animation, children, fadeDelay = 0.3, }) => {
4
- return (_jsx(Stack, { spacing: "base", p: "base", borderTopRadius: "xl", bg: "neutral.white", animation: animation, h: "full", overflowY: "scroll", pb: "3rem", children: _jsx(Fade, { delay: fadeDelay, in: true, children: children }) }));
4
+ return (_jsx(Stack, { w: "full", spacing: "base", p: "base", borderTopRadius: "xl", bg: "neutral.white", animation: animation, h: "full", overflowY: "scroll", pb: "3rem", children: _jsx(Fade, { delay: fadeDelay, in: true, children: children }) }));
5
5
  };
@@ -1,2 +1,3 @@
1
1
  import { AddHomeContentI } from '../../../interfaces';
2
+ export declare const up: string;
2
3
  export declare const MyHomeDetails: ({ handleCreateHomeClick, handleSkipClick, isFirstHome, showExternalLink, userFirstName, values, isLoading, }: AddHomeContentI) => import("react/jsx-runtime").JSX.Element;