@homefile/components-v2 1.5.0 → 1.6.1

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 (237) hide show
  1. package/dist/assets/images/alerts/index.d.ts +2 -0
  2. package/dist/assets/images/alerts/index.js +2 -0
  3. package/dist/assets/images/alerts/index.ts +3 -0
  4. package/dist/assets/images/alerts/smoke-detector-expired.jpg +0 -0
  5. package/dist/assets/images/battery.svg +9 -0
  6. package/dist/assets/images/index.d.ts +4 -1
  7. package/dist/assets/images/index.js +4 -1
  8. package/dist/assets/images/index.ts +5 -0
  9. package/dist/assets/images/wind-white.svg +7 -0
  10. package/dist/assets/locales/en/index.json +69 -1
  11. package/dist/components/animations/HomieAnimation.d.ts +1 -0
  12. package/dist/components/animations/HomieAnimation.js +11 -0
  13. package/dist/components/animations/index.d.ts +1 -0
  14. package/dist/components/animations/index.js +1 -0
  15. package/dist/components/badge/CustomBadge.d.ts +5 -0
  16. package/dist/components/badge/CustomBadge.js +5 -0
  17. package/dist/components/badge/index.d.ts +5 -4
  18. package/dist/components/badge/index.js +5 -4
  19. package/dist/components/contacts/ContactCard.d.ts +1 -1
  20. package/dist/components/contacts/ContactCard.js +5 -5
  21. package/dist/components/contacts/ContactCardHeader.d.ts +1 -1
  22. package/dist/components/contacts/ContactCardHeader.js +4 -4
  23. package/dist/components/contacts/ContactCardInfo.d.ts +1 -1
  24. package/dist/components/contacts/ContactCardInfo.js +2 -2
  25. package/dist/components/contacts/ContactHeaderMenu.js +3 -3
  26. package/dist/components/contacts/ContactsContent.d.ts +1 -1
  27. package/dist/components/contacts/ContactsContent.js +31 -6
  28. package/dist/components/contacts/LetterDivider.d.ts +3 -0
  29. package/dist/components/contacts/LetterDivider.js +5 -0
  30. package/dist/components/contacts/ShareContactSection.d.ts +2 -0
  31. package/dist/components/contacts/ShareContactSection.js +26 -0
  32. package/dist/components/contacts/index.d.ts +3 -1
  33. package/dist/components/contacts/index.js +3 -1
  34. package/dist/components/contacts/shareContactForms/AddReceiverButton.d.ts +2 -0
  35. package/dist/components/contacts/shareContactForms/AddReceiverButton.js +7 -0
  36. package/dist/components/contacts/shareContactForms/SendToList.d.ts +2 -0
  37. package/dist/components/contacts/shareContactForms/SendToList.js +11 -0
  38. package/dist/components/contacts/shareContactForms/ShareContactByEmail.d.ts +2 -2
  39. package/dist/components/contacts/shareContactForms/ShareContactByEmail.js +7 -17
  40. package/dist/components/contacts/shareContactForms/ShareContactByHomefile.d.ts +2 -0
  41. package/dist/components/contacts/shareContactForms/ShareContactByHomefile.js +17 -0
  42. package/dist/components/contacts/shareContactForms/ShareContactBySMS.d.ts +2 -0
  43. package/dist/components/contacts/shareContactForms/ShareContactBySMS.js +11 -0
  44. package/dist/components/contacts/shareContactForms/index.d.ts +4 -0
  45. package/dist/components/contacts/shareContactForms/index.js +4 -0
  46. package/dist/components/contacts/sharePanel/SelectedContacts.d.ts +2 -0
  47. package/dist/components/contacts/sharePanel/SelectedContacts.js +8 -0
  48. package/dist/components/contacts/sharePanel/ShareContactsContent.d.ts +2 -0
  49. package/dist/components/contacts/sharePanel/ShareContactsContent.js +28 -0
  50. package/dist/components/contacts/sharePanel/index.d.ts +2 -0
  51. package/dist/components/contacts/sharePanel/index.js +2 -0
  52. package/dist/components/homeAssistant/HomeAssistant.js +2 -1
  53. package/dist/components/homeAssistant/HomeAssistantWrapper.d.ts +2 -1
  54. package/dist/components/homeAssistant/HomeAssistantWrapper.js +2 -3
  55. package/dist/components/homeAssistant/HomeMonitor.d.ts +2 -0
  56. package/dist/components/homeAssistant/HomeMonitor.js +6 -0
  57. package/dist/components/homeAssistant/HomeMonitorButton.d.ts +2 -0
  58. package/dist/components/homeAssistant/HomeMonitorButton.js +31 -0
  59. package/dist/components/homeAssistant/HomeMonitorSteps.d.ts +2 -0
  60. package/dist/components/homeAssistant/HomeMonitorSteps.js +11 -0
  61. package/dist/components/homeAssistant/index.d.ts +4 -0
  62. package/dist/components/homeAssistant/index.js +4 -0
  63. package/dist/components/homeAssistant/monitorAlerts/AlertHeader.d.ts +1 -0
  64. package/dist/components/homeAssistant/monitorAlerts/AlertHeader.js +7 -0
  65. package/dist/components/homeAssistant/monitorAlerts/AlertTemplate.d.ts +2 -0
  66. package/dist/components/homeAssistant/monitorAlerts/AlertTemplate.js +5 -0
  67. package/dist/components/homeAssistant/monitorAlerts/AlertTitle.d.ts +2 -0
  68. package/dist/components/homeAssistant/monitorAlerts/AlertTitle.js +5 -0
  69. package/dist/components/homeAssistant/monitorAlerts/BaseAlertCard.d.ts +3 -0
  70. package/dist/components/homeAssistant/monitorAlerts/BaseAlertCard.js +21 -0
  71. package/dist/components/homeAssistant/monitorAlerts/HomefileMonitoring.d.ts +1 -0
  72. package/dist/components/homeAssistant/monitorAlerts/HomefileMonitoring.js +7 -0
  73. package/dist/components/homeAssistant/monitorAlerts/MonitorAlerts.d.ts +2 -0
  74. package/dist/components/homeAssistant/monitorAlerts/MonitorAlerts.js +32 -0
  75. package/dist/components/homeAssistant/monitorAlerts/Notifications.d.ts +4 -0
  76. package/dist/components/homeAssistant/monitorAlerts/Notifications.js +9 -0
  77. package/dist/components/homeAssistant/monitorAlerts/alertDetails/ChangeAirFilter.d.ts +1 -0
  78. package/dist/components/homeAssistant/monitorAlerts/alertDetails/ChangeAirFilter.js +11 -0
  79. package/dist/components/homeAssistant/monitorAlerts/alertDetails/CustomDivider.d.ts +1 -0
  80. package/dist/components/homeAssistant/monitorAlerts/alertDetails/CustomDivider.js +5 -0
  81. package/dist/components/homeAssistant/monitorAlerts/alertDetails/SmokeDetectorBattery.d.ts +1 -0
  82. package/dist/components/homeAssistant/monitorAlerts/alertDetails/SmokeDetectorBattery.js +11 -0
  83. package/dist/components/homeAssistant/monitorAlerts/alertDetails/SmokeDetectorExpired.d.ts +1 -0
  84. package/dist/components/homeAssistant/monitorAlerts/alertDetails/SmokeDetectorExpired.js +11 -0
  85. package/dist/components/homeAssistant/monitorAlerts/alertDetails/index.d.ts +4 -0
  86. package/dist/components/homeAssistant/monitorAlerts/alertDetails/index.js +4 -0
  87. package/dist/components/homeAssistant/monitorAlerts/index.d.ts +8 -0
  88. package/dist/components/homeAssistant/monitorAlerts/index.js +8 -0
  89. package/dist/components/homeAssistant/panel/HomeAssistantPanel.js +1 -1
  90. package/dist/components/homeBoard/HomeBoard.js +1 -1
  91. package/dist/components/inputs/TextInput.d.ts +1 -1
  92. package/dist/components/inputs/TextInput.js +2 -2
  93. package/dist/components/partner/PartnerFooter.d.ts +1 -1
  94. package/dist/components/partner/PartnerFooter.js +2 -2
  95. package/dist/components/partner/ShortPartnerTile.d.ts +1 -1
  96. package/dist/components/partner/ShortPartnerTile.js +2 -2
  97. package/dist/helpers/homeAssistant/HomeAssistant.helper.js +4 -4
  98. package/dist/hooks/contacts/index.d.ts +3 -0
  99. package/dist/hooks/contacts/index.js +3 -0
  100. package/dist/hooks/contacts/useContactsContent.d.ts +2 -1
  101. package/dist/hooks/contacts/useContactsContent.js +28 -2
  102. package/dist/hooks/contacts/useShareContactBy.d.ts +15 -0
  103. package/dist/hooks/contacts/useShareContactBy.js +33 -0
  104. package/dist/hooks/contacts/useShareContactByHomefile.d.ts +16 -0
  105. package/dist/hooks/contacts/useShareContactByHomefile.js +25 -0
  106. package/dist/hooks/contacts/useShareContactsContent.d.ts +8 -0
  107. package/dist/hooks/contacts/useShareContactsContent.js +26 -0
  108. package/dist/hooks/useAssignableList.d.ts +2 -0
  109. package/dist/hooks/useAssignableList.js +10 -1
  110. package/dist/index.d.ts +1 -1
  111. package/dist/index.js +1 -1
  112. package/dist/interfaces/contacts/ContactCard.interface.d.ts +4 -3
  113. package/dist/interfaces/contacts/ContactCardHeader.interface.d.ts +3 -3
  114. package/dist/interfaces/contacts/ContactCardInfo.interface.d.ts +1 -0
  115. package/dist/interfaces/contacts/ContactsContent.interface.d.ts +12 -2
  116. package/dist/interfaces/contacts/SelectedContacts.interface.d.ts +5 -0
  117. package/dist/interfaces/contacts/ShareContactBy.interface.d.ts +21 -0
  118. package/dist/interfaces/contacts/ShareContactSection.interface.d.ts +4 -0
  119. package/dist/interfaces/contacts/ShareContactSection.interface.js +1 -0
  120. package/dist/interfaces/contacts/ShareContactsContent.interface.d.ts +17 -0
  121. package/dist/interfaces/contacts/ShareContactsContent.interface.js +1 -0
  122. package/dist/interfaces/contacts/ViewContactPanel.interface.d.ts +2 -2
  123. package/dist/interfaces/contacts/index.d.ts +4 -2
  124. package/dist/interfaces/contacts/index.js +4 -2
  125. package/dist/interfaces/homeAssistant/BaseAlertCard.interface.d.ts +8 -0
  126. package/dist/interfaces/homeAssistant/BaseAlertCard.interface.js +1 -0
  127. package/dist/interfaces/homeAssistant/HomeMonitorSteps.interface.d.ts +13 -0
  128. package/dist/interfaces/homeAssistant/HomeMonitorSteps.interface.js +1 -0
  129. package/dist/interfaces/homeAssistant/MonitorAlerts.interface.d.ts +4 -0
  130. package/dist/interfaces/homeAssistant/MonitorAlerts.interface.js +1 -0
  131. package/dist/interfaces/homeAssistant/index.d.ts +3 -0
  132. package/dist/interfaces/homeAssistant/index.js +3 -0
  133. package/dist/interfaces/partner/PartnerFooter.interface.d.ts +1 -0
  134. package/dist/mocks/contacts/contacts.mock.d.ts +1 -0
  135. package/dist/mocks/contacts/contacts.mock.js +86 -2
  136. package/dist/stories/animations/HomieAnimation.stories.d.ts +4 -0
  137. package/dist/stories/animations/HomieAnimation.stories.js +11 -0
  138. package/dist/stories/assets/Illustrations.stories.js +2 -2
  139. package/dist/stories/contacts/ContactsContent.stories.d.ts +1 -10
  140. package/dist/stories/contacts/ContactsContent.stories.js +40 -13
  141. package/dist/stories/homeAssistant/HomeMonitor.stories.d.ts +4 -0
  142. package/dist/stories/homeAssistant/HomeMonitor.stories.js +18 -0
  143. package/dist/stories/homeAssistant/monitorAlerts/HomeAssistant.stories.d.ts +5 -0
  144. package/dist/stories/homeAssistant/monitorAlerts/HomeAssistant.stories.js +22 -0
  145. package/dist/theme/colors.d.ts +4 -0
  146. package/dist/theme/colors.js +4 -0
  147. package/package.json +2 -1
  148. package/src/assets/images/alerts/index.ts +3 -0
  149. package/src/assets/images/alerts/smoke-detector-expired.jpg +0 -0
  150. package/src/assets/images/battery.svg +9 -0
  151. package/src/assets/images/index.ts +5 -0
  152. package/src/assets/images/wind-white.svg +7 -0
  153. package/src/assets/locales/en/index.json +69 -1
  154. package/src/components/animations/HomieAnimation.tsx +12 -0
  155. package/src/components/animations/index.ts +1 -0
  156. package/src/components/badge/CustomBadge.tsx +22 -0
  157. package/src/components/badge/index.ts +5 -4
  158. package/src/components/contacts/ContactCard.tsx +10 -11
  159. package/src/components/contacts/ContactCardHeader.tsx +12 -4
  160. package/src/components/contacts/ContactCardInfo.tsx +11 -8
  161. package/src/components/contacts/ContactHeaderMenu.tsx +3 -15
  162. package/src/components/contacts/ContactsContent.tsx +143 -17
  163. package/src/components/contacts/LetterDivider.tsx +15 -0
  164. package/src/components/contacts/ShareContactSection.tsx +58 -0
  165. package/src/components/contacts/index.ts +3 -1
  166. package/src/components/contacts/shareContactForms/AddReceiverButton.tsx +20 -0
  167. package/src/components/contacts/shareContactForms/SendToList.tsx +47 -0
  168. package/src/components/contacts/shareContactForms/ShareContactByEmail.tsx +40 -41
  169. package/src/components/contacts/shareContactForms/ShareContactByHomefile.tsx +88 -0
  170. package/src/components/contacts/shareContactForms/ShareContactBySMS.tsx +49 -0
  171. package/src/components/contacts/shareContactForms/index.ts +4 -0
  172. package/src/components/contacts/sharePanel/SelectedContacts.tsx +37 -0
  173. package/src/components/contacts/sharePanel/ShareContactsContent.tsx +68 -0
  174. package/src/components/contacts/sharePanel/index.ts +2 -0
  175. package/src/components/homeAssistant/HomeAssistant.tsx +5 -1
  176. package/src/components/homeAssistant/HomeAssistantWrapper.tsx +3 -1
  177. package/src/components/homeAssistant/HomeMonitor.tsx +11 -0
  178. package/src/components/homeAssistant/HomeMonitorButton.tsx +96 -0
  179. package/src/components/homeAssistant/HomeMonitorSteps.tsx +31 -0
  180. package/src/components/homeAssistant/index.ts +4 -0
  181. package/src/components/homeAssistant/monitorAlerts/AlertHeader.tsx +30 -0
  182. package/src/components/homeAssistant/monitorAlerts/AlertTemplate.tsx +25 -0
  183. package/src/components/homeAssistant/monitorAlerts/AlertTitle.tsx +16 -0
  184. package/src/components/homeAssistant/monitorAlerts/BaseAlertCard.tsx +60 -0
  185. package/src/components/homeAssistant/monitorAlerts/HomefileMonitoring.tsx +16 -0
  186. package/src/components/homeAssistant/monitorAlerts/MonitorAlerts.tsx +47 -0
  187. package/src/components/homeAssistant/monitorAlerts/Notifications.tsx +32 -0
  188. package/src/components/homeAssistant/monitorAlerts/alertDetails/ChangeAirFilter.tsx +54 -0
  189. package/src/components/homeAssistant/monitorAlerts/alertDetails/CustomDivider.tsx +5 -0
  190. package/src/components/homeAssistant/monitorAlerts/alertDetails/SmokeDetectorBattery.tsx +54 -0
  191. package/src/components/homeAssistant/monitorAlerts/alertDetails/SmokeDetectorExpired.tsx +43 -0
  192. package/src/components/homeAssistant/monitorAlerts/alertDetails/index.ts +4 -0
  193. package/src/components/homeAssistant/monitorAlerts/index.ts +8 -0
  194. package/src/components/homeAssistant/panel/HomeAssistantPanel.tsx +1 -1
  195. package/src/components/homeBoard/HomeBoard.tsx +2 -1
  196. package/src/components/inputs/TextInput.tsx +2 -1
  197. package/src/components/partner/PartnerFooter.tsx +2 -2
  198. package/src/components/partner/ShortPartnerTile.tsx +2 -1
  199. package/src/helpers/homeAssistant/HomeAssistant.helper.tsx +4 -4
  200. package/src/hooks/contacts/index.ts +4 -1
  201. package/src/hooks/contacts/useContactsContent.ts +38 -4
  202. package/src/hooks/contacts/useShareContactBy.ts +45 -0
  203. package/src/hooks/contacts/useShareContactByHomefile.ts +46 -0
  204. package/src/hooks/contacts/useShareContactsContent.ts +38 -0
  205. package/src/hooks/useAssignableList.ts +11 -1
  206. package/src/index.ts +6 -0
  207. package/src/interfaces/contacts/ContactCard.interface.ts +4 -7
  208. package/src/interfaces/contacts/ContactCardHeader.interface.ts +3 -3
  209. package/src/interfaces/contacts/ContactCardInfo.interface.ts +1 -0
  210. package/src/interfaces/contacts/ContactsContent.interface.ts +13 -2
  211. package/src/interfaces/contacts/SelectedContacts.interface.ts +6 -0
  212. package/src/interfaces/contacts/ShareContactBy.interface.ts +25 -0
  213. package/src/interfaces/contacts/ShareContactSection.interface.ts +6 -0
  214. package/src/interfaces/contacts/ShareContactsContent.interface.ts +24 -0
  215. package/src/interfaces/contacts/ViewContactPanel.interface.ts +2 -2
  216. package/src/interfaces/contacts/index.ts +4 -2
  217. package/src/interfaces/homeAssistant/BaseAlertCard.interface.ts +8 -0
  218. package/src/interfaces/homeAssistant/HomeMonitorSteps.interface.ts +15 -0
  219. package/src/interfaces/homeAssistant/MonitorAlerts.interface.ts +8 -0
  220. package/src/interfaces/homeAssistant/index.ts +3 -0
  221. package/src/interfaces/partner/PartnerFooter.interface.ts +1 -0
  222. package/src/mocks/contacts/contacts.mock.ts +87 -2
  223. package/src/stories/animations/HomieAnimation.stories.tsx +17 -0
  224. package/src/stories/assets/Illustrations.stories.tsx +2 -0
  225. package/src/stories/contacts/ContactsContent.stories.tsx +73 -16
  226. package/src/stories/homeAssistant/HomeMonitor.stories.tsx +43 -0
  227. package/src/stories/homeAssistant/monitorAlerts/HomeAssistant.stories.tsx +30 -0
  228. package/src/theme/colors.ts +4 -0
  229. package/dist/components/contacts/ShareContactPopover.d.ts +0 -2
  230. package/dist/components/contacts/ShareContactPopover.js +0 -32
  231. package/dist/interfaces/contacts/ShareContactByEmail.interface.d.ts +0 -11
  232. package/dist/interfaces/contacts/ShareContactPopover.interface.d.ts +0 -8
  233. package/src/components/contacts/ShareContactPopover.tsx +0 -106
  234. package/src/interfaces/contacts/ShareContactByEmail.interface.ts +0 -12
  235. package/src/interfaces/contacts/ShareContactPopover.interface.ts +0 -9
  236. /package/dist/interfaces/contacts/{ShareContactByEmail.interface.js → SelectedContacts.interface.js} +0 -0
  237. /package/dist/interfaces/contacts/{ShareContactPopover.interface.js → ShareContactBy.interface.js} +0 -0
@@ -1 +1,4 @@
1
1
  export * from './useContactsContent';
2
+ export * from './useShareContactBy';
3
+ export * from './useShareContactByHomefile';
4
+ export * from './useShareContactsContent';
@@ -1,7 +1,8 @@
1
1
  import { ChangeEvent } from 'react';
2
2
  import { InfoContactCardI } from '../../interfaces';
3
3
  export declare const useContactsContent: (contacts: InfoContactCardI[]) => {
4
- filteredContacts: InfoContactCardI[];
4
+ contactsWithoutFirstOrLastName: InfoContactCardI[];
5
5
  handleChange: (event: ChangeEvent<HTMLInputElement>) => void;
6
6
  search: string;
7
+ splittedContacts: Record<string, InfoContactCardI[]>;
7
8
  };
@@ -1,10 +1,36 @@
1
1
  import { useState } from 'react';
2
2
  export const useContactsContent = (contacts) => {
3
3
  const [search, setSearch] = useState('');
4
- const filteredContacts = contacts.filter((contact) => contact.company.toLowerCase().includes(search.toLowerCase()));
4
+ const contactsWithFirstOrLastName = contacts.filter((contact) => contact.firstName || contact.lastName || contact.company);
5
+ const contactsWithoutFirstOrLastName = contacts.filter((contact) => !contact.firstName && !contact.lastName && !contact.company);
6
+ const sortedContacts = [...contactsWithFirstOrLastName].sort((a, b) => {
7
+ const fullNameA = `${a.firstName || a.company} ${a.lastName}`;
8
+ const fullNameB = `${b.firstName || b.company} ${b.lastName}`;
9
+ return fullNameA.localeCompare(fullNameB);
10
+ });
11
+ const filteredContacts = sortedContacts.filter((contact) => { var _a; return (_a = contact.firstName) === null || _a === void 0 ? void 0 : _a.toLowerCase().includes(search.toLowerCase()); });
12
+ const splittedContacts = splitContactsByFirstLetter(filteredContacts);
5
13
  const handleChange = (event) => {
6
14
  const value = event.target.value;
7
15
  setSearch(value);
8
16
  };
9
- return { filteredContacts, handleChange, search };
17
+ return {
18
+ contactsWithoutFirstOrLastName,
19
+ handleChange,
20
+ search,
21
+ splittedContacts,
22
+ };
23
+ };
24
+ const splitContactsByFirstLetter = (contacts) => {
25
+ const contactsByFirstLetter = {};
26
+ contacts.forEach((contact) => {
27
+ var _a;
28
+ const name = `${contact.firstName || contact.company} ${contact.lastName}`;
29
+ const firstLetter = (_a = name[0]) === null || _a === void 0 ? void 0 : _a.toUpperCase();
30
+ if (!contactsByFirstLetter[firstLetter]) {
31
+ contactsByFirstLetter[firstLetter] = [];
32
+ }
33
+ contactsByFirstLetter[firstLetter].push(contact);
34
+ });
35
+ return contactsByFirstLetter;
10
36
  };
@@ -0,0 +1,15 @@
1
+ import { SendByTypes, ShareContactByI } from '../../interfaces';
2
+ interface UseShareContactByI {
3
+ onShare: ShareContactByI['onShare'];
4
+ sendBy: SendByTypes;
5
+ }
6
+ export declare const useShareContactBy: ({ onShare, sendBy }: UseShareContactByI) => {
7
+ sendTo: string[];
8
+ handleAdd: () => void;
9
+ handleChangeValue: (e: React.ChangeEvent<HTMLInputElement>) => void;
10
+ handleDelete: (to: string) => void;
11
+ handleSetIsDirtyToTrue: () => void;
12
+ isDirty: boolean;
13
+ value: string;
14
+ };
15
+ export {};
@@ -0,0 +1,33 @@
1
+ import { useState } from 'react';
2
+ export const useShareContactBy = ({ onShare, sendBy }) => {
3
+ const [value, setValue] = useState('');
4
+ const [sendTo, setSendTo] = useState([]);
5
+ const [isDirty, setIsDirty] = useState(false);
6
+ const handleChangeValue = (e) => {
7
+ setValue(e.target.value);
8
+ };
9
+ const handleSetIsDirtyToTrue = () => setIsDirty(true);
10
+ const handleAdd = () => {
11
+ if (value && !sendTo.includes(value)) {
12
+ const newValues = [...sendTo, value];
13
+ setSendTo(newValues);
14
+ setValue('');
15
+ setIsDirty(false);
16
+ onShare(newValues, sendBy);
17
+ }
18
+ };
19
+ const handleDelete = (to) => {
20
+ const newValues = sendTo.filter((e) => e !== to);
21
+ setSendTo(newValues);
22
+ onShare(newValues, sendBy);
23
+ };
24
+ return {
25
+ sendTo,
26
+ handleAdd,
27
+ handleChangeValue,
28
+ handleDelete,
29
+ handleSetIsDirtyToTrue,
30
+ isDirty,
31
+ value,
32
+ };
33
+ };
@@ -0,0 +1,16 @@
1
+ import { SendByTypes, ShareContactByHomefileI } from '../../interfaces';
2
+ interface UseShareContactByI {
3
+ onShare: ShareContactByHomefileI['onShare'];
4
+ sendBy: SendByTypes;
5
+ shareWithList: ShareContactByHomefileI['shareWithList'];
6
+ }
7
+ export declare const useShareContactByHomefile: ({ onShare, sendBy, shareWithList, }: UseShareContactByI) => {
8
+ handleChangeValue: (e: React.ChangeEvent<HTMLInputElement>) => void;
9
+ handleSetIsDirtyToTrue: () => void;
10
+ handleToggleDropdown: () => void;
11
+ isDirty: boolean;
12
+ openDropdown: boolean;
13
+ sendTo: string[];
14
+ value: string;
15
+ };
16
+ export {};
@@ -0,0 +1,25 @@
1
+ import { useEffect, useState } from 'react';
2
+ export const useShareContactByHomefile = ({ onShare, sendBy, shareWithList, }) => {
3
+ const [value, setValue] = useState('');
4
+ const [sendTo, setSendTo] = useState(shareWithList);
5
+ const [isDirty, setIsDirty] = useState(false);
6
+ const [openDropdown, setOpenDropdown] = useState(false);
7
+ const handleSetIsDirtyToTrue = () => setIsDirty(true);
8
+ const handleChangeValue = (e) => {
9
+ setValue(e.target.value);
10
+ };
11
+ const handleToggleDropdown = () => setOpenDropdown(!openDropdown);
12
+ useEffect(() => {
13
+ setSendTo(shareWithList);
14
+ onShare(shareWithList, sendBy);
15
+ }, [shareWithList]);
16
+ return {
17
+ handleChangeValue,
18
+ handleSetIsDirtyToTrue,
19
+ handleToggleDropdown,
20
+ isDirty,
21
+ openDropdown,
22
+ sendTo,
23
+ value,
24
+ };
25
+ };
@@ -0,0 +1,8 @@
1
+ import { SendByTypes, ShareContactsContentI } from '../../interfaces';
2
+ export declare const useShareContactsContent: ({ contacts, onShare, }: Pick<ShareContactsContentI, "contacts" | "onShare">) => {
3
+ contactsSelected: import("../../interfaces").InfoContactCardI[];
4
+ recipientsToSend: string[];
5
+ handleAddRecipient: (recipients: string[], sendBy: SendByTypes) => void;
6
+ handleDeleteSelectedContact: (id: string) => void;
7
+ handleShareContacts: () => void;
8
+ };
@@ -0,0 +1,26 @@
1
+ import { useState } from 'react';
2
+ export const useShareContactsContent = ({ contacts, onShare, }) => {
3
+ const [contactsSelected, setContactsSelected] = useState(contacts);
4
+ const [recipientsToSend, setRecipientsToSend] = useState([]);
5
+ const [sendBy, setSendBy] = useState('email');
6
+ const handleAddRecipient = (recipients, sendBy) => {
7
+ setSendBy(sendBy);
8
+ setRecipientsToSend(recipients);
9
+ };
10
+ const handleDeleteSelectedContact = (id) => {
11
+ setContactsSelected((prevContacts) => prevContacts.filter((contact) => contact._id !== id));
12
+ };
13
+ const handleShareContacts = () => {
14
+ onShare({
15
+ contacts: contactsSelected,
16
+ shareBy: { [sendBy]: recipientsToSend },
17
+ });
18
+ };
19
+ return {
20
+ contactsSelected,
21
+ recipientsToSend,
22
+ handleAddRecipient,
23
+ handleDeleteSelectedContact,
24
+ handleShareContacts,
25
+ };
26
+ };
@@ -6,8 +6,10 @@ interface UseAssignableListI<ItemType> {
6
6
  onItemSelectedChange: (_ids: string[]) => void;
7
7
  }
8
8
  export declare const useAssignableList: <ItemType>({ items, onItemSelectedChange, }: UseAssignableListI<ItemType>) => {
9
+ getContactByIds: (ids: string[]) => ItemI<ItemType>[];
9
10
  handleItemSelect: (_id: string) => void;
10
11
  handleSelectAll: () => void;
11
12
  isItemSelected: (_id: string) => boolean;
13
+ itemsSelected: string[];
12
14
  };
13
15
  export {};
@@ -14,8 +14,17 @@ export const useAssignableList = ({ items, onItemSelectedChange, }) => {
14
14
  const newItemsSelected = itemsSelected.length === items.length ? [] : items.map(({ _id }) => _id);
15
15
  setItemsSelected(newItemsSelected);
16
16
  };
17
+ const getContactByIds = (ids) => {
18
+ return items.filter(({ _id }) => ids.includes(_id));
19
+ };
17
20
  useEffect(() => {
18
21
  onItemSelectedChange(itemsSelected);
19
22
  }, [itemsSelected]);
20
- return { handleItemSelect, handleSelectAll, isItemSelected };
23
+ return {
24
+ getContactByIds,
25
+ handleItemSelect,
26
+ handleSelectAll,
27
+ isItemSelected,
28
+ itemsSelected,
29
+ };
21
30
  };
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export { ActivateAccount, ActiveSubscription, AddCardBanner, AddEditContactPanel, AddFolder, AddHomeContent, AddHomeItem, AddHomeItemHeader, AddMedia, AddPropertyRecords, Address, AddPopup, AddTile, AlertBanner, AphwTile, AppBar, AssignableReceipts, BackHeader, BarDivider, CancelAccount, CatalogPopup, CloudsAnimation, ContactList, ContactsContent, ContainerHeader, CreateDocumentHeader, CreateHouseholdItemHeader, CreditCardContainer, CreditCardError, CustomerTile, DeleteBanner, DisplayFiles, DisplayFilesDetail, DisplayOptions, DisplayReceipts, DocumentMenu, DocumentNameHeader, DocumentPreview, DynamicForm, EditAccountType, EditHomeBody, EditHomeFooter, EditHomeHeader, EditHomePanel, EmailPermissions, EmailValidation, Feedback, FileDetail, FilesUploader, FlowStep, FolderDetail, FolderDetailBody, FolderDetailContent, FolderDetailFooter, FolderDetailHeader, FolderInfo, FolderSharing, FolderTypeSelection, FooterButtons, FooterDrawer, GenericBackHeader, GroupCard, GroupsContainer, GroupsHeader, Header, HelpContent, HomeAssistant, HomeAssistantPanel, HomeBoardGrid, HomeBoardTour, HomeCard, HomeCardWithRecipent, HomeHeader, HomeSharedWith, InboxTile, ItemNameHeader, ItemsReviewBanner, ItemSubTypeSelect, Launchpad, LaunchpadAutofilerBanner, LaunchpadReceiptAutofiler, LaunchpadTour, LeftPanel, MediaDetailsStep, MonthlyCharge, MortgageInfo, MoveModal, MyHomes, MyProfileContent, MyProfileFooter, MyProfilePanel, NewCreditCard, NewCreditCardHeader, NewPassword, NotBeChargedBanner, Overlay, PanelHeader, PartnerActiveSubscription, PartnerCatalogPanel, PartnerContent, PartnerCustomerCode, PartnerDetails, PartnerImages, PartnerPanel, PasswordInput, PaymentReceipts, PdfButton, PeopleConnected, ProfileDetailsTab, ProfilePaymentTab, ProjectList, PropertyRecords, PropertyTaxes, ReadOnlyDynamicForm, ReadOnlyImage, ReadOnlyToggle, ReceiptAutofiler, ReceiptBody, ReceiptContent, ReceiptDetails, ReceiptFilters, ReceiptFooter, ReceiptHeader, ReceiptInfos, ReceiptItem, ReceiptItems, ReceiptPDF, ReceiptsDisplayOptions, ReceiptsFiled, ReceiptsHeader, ReceiptsInfo, ReceiptsReceivedContent, RecipientForm, RecipientsToShare, RecipientTab, RecordsInputs, ResendResetPassword, ResetPassword, ReviewBanner, RightPanel, RolePermissionsTab, RoomHeader, RoomsBoardTour, RoomsMenu, RoomsMenuMobile, RoomStep, RoomVideo, SalesTax, SatisfactionTile, SectionHeader, SendCommunication, SharedAccounts, SharedHomeContent, SharedHomeHeader, ShareHome, ShareHomeConnections, ShareHomeForm, ShineTile, ShortPartnerTile, SignIn, SignUp, StepHeader, StorageUsed, Subscription, SubscriptionCard, SubscriptionTable, Summary, TabsHeader, TextInput, ToBeDeletedBody, ToBeDeletedContent, ToBeDeletedFooter, ToBeDeletedHeader, TourButton, Trash, TrendingValue, TrialBanner, TutorialsButton, TwoFactor, TwoFactorSetting, UpdateList, UserDetails, ValueMonitor, ViewContactPanel, VideoPlayer, VideoPlayerModal, WellDone, YtdTile, } from './components';
1
+ export { ActivateAccount, ActiveSubscription, AddCardBanner, AddEditContactPanel, AddFolder, AddHomeContent, AddHomeItem, AddHomeItemHeader, AddMedia, AddPropertyRecords, Address, AddPopup, AddTile, AlertBanner, AphwTile, AppBar, AssignableReceipts, BackHeader, BarDivider, CancelAccount, CatalogPopup, CloudsAnimation, ContactList, ContactsContent, ContainerHeader, CreateDocumentHeader, CreateHouseholdItemHeader, CreditCardContainer, CreditCardError, CustomerTile, DeleteBanner, DisplayFiles, DisplayFilesDetail, DisplayOptions, DisplayReceipts, DocumentMenu, DocumentNameHeader, DocumentPreview, DynamicForm, EditAccountType, EditHomeBody, EditHomeFooter, EditHomeHeader, EditHomePanel, EmailPermissions, EmailValidation, Feedback, FileDetail, FilesUploader, FlowStep, FolderDetail, FolderDetailBody, FolderDetailContent, FolderDetailFooter, FolderDetailHeader, FolderInfo, FolderSharing, FolderTypeSelection, FooterButtons, FooterDrawer, GenericBackHeader, GroupCard, GroupsContainer, GroupsHeader, Header, HelpContent, HomeAssistant, HomeAssistantPanel, HomeBoardGrid, HomeBoardTour, HomeCard, HomeCardWithRecipent, HomefileMonitoring, HomeHeader, HomeMonitor, HomeMonitorSteps, HomeSharedWith, InboxTile, ItemNameHeader, ItemsReviewBanner, ItemSubTypeSelect, Launchpad, LaunchpadAutofilerBanner, LaunchpadReceiptAutofiler, LaunchpadTour, LeftPanel, MediaDetailsStep, MonitorAlerts, MonthlyCharge, MortgageInfo, MoveModal, MyHomes, MyProfileContent, MyProfileFooter, MyProfilePanel, NewCreditCard, NewCreditCardHeader, NewPassword, NotBeChargedBanner, Notifications, Overlay, PanelHeader, PartnerActiveSubscription, PartnerCatalogPanel, PartnerContent, PartnerCustomerCode, PartnerDetails, PartnerImages, PartnerPanel, PasswordInput, PaymentReceipts, PdfButton, PeopleConnected, ProfileDetailsTab, ProfilePaymentTab, ProjectList, PropertyRecords, PropertyTaxes, ReadOnlyDynamicForm, ReadOnlyImage, ReadOnlyToggle, ReceiptAutofiler, ReceiptBody, ReceiptContent, ReceiptDetails, ReceiptFilters, ReceiptFooter, ReceiptHeader, ReceiptInfos, ReceiptItem, ReceiptItems, ReceiptPDF, ReceiptsDisplayOptions, ReceiptsFiled, ReceiptsHeader, ReceiptsInfo, ReceiptsReceivedContent, RecipientForm, RecipientsToShare, RecipientTab, RecordsInputs, ResendResetPassword, ResetPassword, ReviewBanner, RightPanel, RolePermissionsTab, RoomHeader, RoomsBoardTour, RoomsMenu, RoomsMenuMobile, RoomStep, RoomVideo, SalesTax, SatisfactionTile, SectionHeader, SendCommunication, ShareContactsContent, SharedAccounts, SharedHomeContent, SharedHomeHeader, ShareHome, ShareHomeConnections, ShareHomeForm, ShineTile, ShortPartnerTile, SignIn, SignUp, StepHeader, StorageUsed, Subscription, SubscriptionCard, SubscriptionTable, Summary, TabsHeader, TextInput, ToBeDeletedBody, ToBeDeletedContent, ToBeDeletedFooter, ToBeDeletedHeader, TourButton, Trash, TrendingValue, TrialBanner, TutorialsButton, TwoFactor, TwoFactorSetting, UpdateList, UserDetails, ValueMonitor, ViewContactPanel, VideoPlayer, VideoPlayerModal, WellDone, YtdTile, } from './components';
2
2
  export { useCustomToast } from './hooks';
3
3
  export { randomColor } from './utils';
4
4
  export { billingProxy, dynamicFormProxy, homeCardProxy, partnerContentProxy, partnerDetailsProxy, paymentMethodProxy, recordsInputsProxy, recordsInputsToDBProxy, userDetailsProxy, confirmAddressProxy, } from './proxies';
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- export { ActivateAccount, ActiveSubscription, AddCardBanner, AddEditContactPanel, AddFolder, AddHomeContent, AddHomeItem, AddHomeItemHeader, AddMedia, AddPropertyRecords, Address, AddPopup, AddTile, AlertBanner, AphwTile, AppBar, AssignableReceipts, BackHeader, BarDivider, CancelAccount, CatalogPopup, CloudsAnimation, ContactList, ContactsContent, ContainerHeader, CreateDocumentHeader, CreateHouseholdItemHeader, CreditCardContainer, CreditCardError, CustomerTile, DeleteBanner, DisplayFiles, DisplayFilesDetail, DisplayOptions, DisplayReceipts, DocumentMenu, DocumentNameHeader, DocumentPreview, DynamicForm, EditAccountType, EditHomeBody, EditHomeFooter, EditHomeHeader, EditHomePanel, EmailPermissions, EmailValidation, Feedback, FileDetail, FilesUploader, FlowStep, FolderDetail, FolderDetailBody, FolderDetailContent, FolderDetailFooter, FolderDetailHeader, FolderInfo, FolderSharing, FolderTypeSelection, FooterButtons, FooterDrawer, GenericBackHeader, GroupCard, GroupsContainer, GroupsHeader, Header, HelpContent, HomeAssistant, HomeAssistantPanel, HomeBoardGrid, HomeBoardTour, HomeCard, HomeCardWithRecipent, HomeHeader, HomeSharedWith, InboxTile, ItemNameHeader, ItemsReviewBanner, ItemSubTypeSelect, Launchpad, LaunchpadAutofilerBanner, LaunchpadReceiptAutofiler, LaunchpadTour, LeftPanel, MediaDetailsStep, MonthlyCharge, MortgageInfo, MoveModal, MyHomes, MyProfileContent, MyProfileFooter, MyProfilePanel, NewCreditCard, NewCreditCardHeader, NewPassword, NotBeChargedBanner, Overlay, PanelHeader, PartnerActiveSubscription, PartnerCatalogPanel, PartnerContent, PartnerCustomerCode, PartnerDetails, PartnerImages, PartnerPanel, PasswordInput, PaymentReceipts, PdfButton, PeopleConnected, ProfileDetailsTab, ProfilePaymentTab, ProjectList, PropertyRecords, PropertyTaxes, ReadOnlyDynamicForm, ReadOnlyImage, ReadOnlyToggle, ReceiptAutofiler, ReceiptBody, ReceiptContent, ReceiptDetails, ReceiptFilters, ReceiptFooter, ReceiptHeader, ReceiptInfos, ReceiptItem, ReceiptItems, ReceiptPDF, ReceiptsDisplayOptions, ReceiptsFiled, ReceiptsHeader, ReceiptsInfo, ReceiptsReceivedContent, RecipientForm, RecipientsToShare, RecipientTab, RecordsInputs, ResendResetPassword, ResetPassword, ReviewBanner, RightPanel, RolePermissionsTab, RoomHeader, RoomsBoardTour, RoomsMenu, RoomsMenuMobile, RoomStep, RoomVideo, SalesTax, SatisfactionTile, SectionHeader, SendCommunication, SharedAccounts, SharedHomeContent, SharedHomeHeader, ShareHome, ShareHomeConnections, ShareHomeForm, ShineTile, ShortPartnerTile, SignIn, SignUp, StepHeader, StorageUsed, Subscription, SubscriptionCard, SubscriptionTable, Summary, TabsHeader, TextInput, ToBeDeletedBody, ToBeDeletedContent, ToBeDeletedFooter, ToBeDeletedHeader, TourButton, Trash, TrendingValue, TrialBanner, TutorialsButton, TwoFactor, TwoFactorSetting, UpdateList, UserDetails, ValueMonitor, ViewContactPanel, VideoPlayer, VideoPlayerModal, WellDone, YtdTile, } from './components';
1
+ export { ActivateAccount, ActiveSubscription, AddCardBanner, AddEditContactPanel, AddFolder, AddHomeContent, AddHomeItem, AddHomeItemHeader, AddMedia, AddPropertyRecords, Address, AddPopup, AddTile, AlertBanner, AphwTile, AppBar, AssignableReceipts, BackHeader, BarDivider, CancelAccount, CatalogPopup, CloudsAnimation, ContactList, ContactsContent, ContainerHeader, CreateDocumentHeader, CreateHouseholdItemHeader, CreditCardContainer, CreditCardError, CustomerTile, DeleteBanner, DisplayFiles, DisplayFilesDetail, DisplayOptions, DisplayReceipts, DocumentMenu, DocumentNameHeader, DocumentPreview, DynamicForm, EditAccountType, EditHomeBody, EditHomeFooter, EditHomeHeader, EditHomePanel, EmailPermissions, EmailValidation, Feedback, FileDetail, FilesUploader, FlowStep, FolderDetail, FolderDetailBody, FolderDetailContent, FolderDetailFooter, FolderDetailHeader, FolderInfo, FolderSharing, FolderTypeSelection, FooterButtons, FooterDrawer, GenericBackHeader, GroupCard, GroupsContainer, GroupsHeader, Header, HelpContent, HomeAssistant, HomeAssistantPanel, HomeBoardGrid, HomeBoardTour, HomeCard, HomeCardWithRecipent, HomefileMonitoring, HomeHeader, HomeMonitor, HomeMonitorSteps, HomeSharedWith, InboxTile, ItemNameHeader, ItemsReviewBanner, ItemSubTypeSelect, Launchpad, LaunchpadAutofilerBanner, LaunchpadReceiptAutofiler, LaunchpadTour, LeftPanel, MediaDetailsStep, MonitorAlerts, MonthlyCharge, MortgageInfo, MoveModal, MyHomes, MyProfileContent, MyProfileFooter, MyProfilePanel, NewCreditCard, NewCreditCardHeader, NewPassword, NotBeChargedBanner, Notifications, Overlay, PanelHeader, PartnerActiveSubscription, PartnerCatalogPanel, PartnerContent, PartnerCustomerCode, PartnerDetails, PartnerImages, PartnerPanel, PasswordInput, PaymentReceipts, PdfButton, PeopleConnected, ProfileDetailsTab, ProfilePaymentTab, ProjectList, PropertyRecords, PropertyTaxes, ReadOnlyDynamicForm, ReadOnlyImage, ReadOnlyToggle, ReceiptAutofiler, ReceiptBody, ReceiptContent, ReceiptDetails, ReceiptFilters, ReceiptFooter, ReceiptHeader, ReceiptInfos, ReceiptItem, ReceiptItems, ReceiptPDF, ReceiptsDisplayOptions, ReceiptsFiled, ReceiptsHeader, ReceiptsInfo, ReceiptsReceivedContent, RecipientForm, RecipientsToShare, RecipientTab, RecordsInputs, ResendResetPassword, ResetPassword, ReviewBanner, RightPanel, RolePermissionsTab, RoomHeader, RoomsBoardTour, RoomsMenu, RoomsMenuMobile, RoomStep, RoomVideo, SalesTax, SatisfactionTile, SectionHeader, SendCommunication, ShareContactsContent, SharedAccounts, SharedHomeContent, SharedHomeHeader, ShareHome, ShareHomeConnections, ShareHomeForm, ShineTile, ShortPartnerTile, SignIn, SignUp, StepHeader, StorageUsed, Subscription, SubscriptionCard, SubscriptionTable, Summary, TabsHeader, TextInput, ToBeDeletedBody, ToBeDeletedContent, ToBeDeletedFooter, ToBeDeletedHeader, TourButton, Trash, TrendingValue, TrialBanner, TutorialsButton, TwoFactor, TwoFactorSetting, UpdateList, UserDetails, ValueMonitor, ViewContactPanel, VideoPlayer, VideoPlayerModal, WellDone, YtdTile, } from './components';
2
2
  export { useCustomToast } from './hooks';
3
3
  export { randomColor } from './utils';
4
4
  export { billingProxy, dynamicFormProxy, homeCardProxy, partnerContentProxy, partnerDetailsProxy, paymentMethodProxy, recordsInputsProxy, recordsInputsToDBProxy, userDetailsProxy, confirmAddressProxy, } from './proxies';
@@ -1,4 +1,4 @@
1
- import { MenuItemI, ShareContactPopoverI, ContactAndIndexForm } from '..';
1
+ import { MenuItemI, ContactAndIndexForm } from '..';
2
2
  export interface ContactCompanyInfoI {
3
3
  address: string;
4
4
  city: string;
@@ -30,7 +30,8 @@ export interface ContactCardI {
30
30
  apiError?: boolean;
31
31
  contact: InfoContactCardI;
32
32
  index: number;
33
- menuItems: MenuItemI[];
33
+ menuItems?: MenuItemI[];
34
34
  onClick?: (contact: ContactAndIndexForm) => void;
35
- onShare: ShareContactPopoverI['onShare'];
35
+ showAvatar?: boolean;
36
+ showHeader?: boolean;
36
37
  }
@@ -1,7 +1,7 @@
1
- import { InfoContactCardI, MenuItemI, ShareContactPopoverI } from '..';
1
+ import { InfoContactCardI, MenuItemI, ShareContactSectionI } from '..';
2
2
  export interface ContactCardHeaderI {
3
3
  apiError?: boolean;
4
4
  contact: InfoContactCardI;
5
- menuItems: MenuItemI[];
6
- onShare: ShareContactPopoverI['onShare'];
5
+ menuItems?: MenuItemI[];
6
+ onShare?: ShareContactSectionI['onShare'];
7
7
  }
@@ -6,4 +6,5 @@ export interface ContactCardInfoI {
6
6
  lastName: string;
7
7
  phone: string;
8
8
  title?: string;
9
+ showAvatar?: boolean;
9
10
  }
@@ -1,5 +1,5 @@
1
- import { InfoContactCardI, MenuItemI, ShareContactPopoverI } from '..';
2
1
  import { ReactNode } from 'react';
2
+ import { InfoContactCardI, MenuItemI } from '..';
3
3
  export type ContactAndIndexForm = InfoContactCardI & {
4
4
  index: number;
5
5
  };
@@ -12,5 +12,15 @@ export interface ContactsContentI {
12
12
  children?: ReactNode;
13
13
  disabled?: boolean;
14
14
  onClick?: (contact: ContactAndIndexForm) => void;
15
- onShare: ShareContactPopoverI['onShare'];
15
+ onDeleteContacts: (contactsIds: string[]) => void;
16
+ onShareContacts: (contacts: InfoContactCardI[]) => void;
17
+ }
18
+ export interface CardOnContactListI {
19
+ apiError: ContactsContentI['apiError'];
20
+ contact: InfoContactCardI;
21
+ onClick: ContactsContentI['onClick'];
22
+ index: number;
23
+ menuItems: ContactsContentI['menuItems'];
24
+ selected: boolean;
25
+ onChange: (id: string) => void;
16
26
  }
@@ -0,0 +1,5 @@
1
+ import { InfoContactCardI } from '..';
2
+ export interface SelectedContactsI {
3
+ contacts: InfoContactCardI[];
4
+ onDeleteSelected: (id: string) => void;
5
+ }
@@ -0,0 +1,21 @@
1
+ import { ShareContactSectionI, ShareHomeContactListI } from '..';
2
+ export interface ShareContactByI {
3
+ apiErrorMessage?: string;
4
+ onShare: ShareContactSectionI['onShare'];
5
+ }
6
+ export interface SendToListI {
7
+ onDelete: (value: string) => void;
8
+ sendTo: string[];
9
+ }
10
+ export interface AddReceiverButtonI {
11
+ onClick: () => void;
12
+ isDisabled?: boolean;
13
+ }
14
+ export interface ShareContactByHomefileI extends ShareContactByI {
15
+ homefileContacts: ShareHomeContactListI['contacts'];
16
+ isLoading: boolean;
17
+ shareWithList: string[];
18
+ onContactSearch: (email: string) => void;
19
+ onDropdownSelect: ShareHomeContactListI['onClick'];
20
+ onRemoveContact: (email: string) => void;
21
+ }
@@ -0,0 +1,4 @@
1
+ import { SendByTypes, ShareContactByHomefileI } from '..';
2
+ export interface ShareContactSectionI extends Omit<ShareContactByHomefileI, 'onShare'> {
3
+ onShare: (form: string[], sendBy: SendByTypes) => void;
4
+ }
@@ -0,0 +1,17 @@
1
+ import { InfoContactCardI, ShareContactSectionI } from '..';
2
+ interface ShareFormI {
3
+ contacts: InfoContactCardI[];
4
+ shareBy: {
5
+ email?: string[];
6
+ sms?: string[];
7
+ social?: string[];
8
+ homefile?: string[];
9
+ };
10
+ }
11
+ export interface ShareContactsContentI extends Omit<ShareContactSectionI, 'onShare'> {
12
+ contacts: InfoContactCardI[];
13
+ onShare: (form: ShareFormI) => void;
14
+ onClose: () => void;
15
+ }
16
+ export type SendByTypes = 'email' | 'sms' | 'homefile';
17
+ export {};
@@ -1,9 +1,9 @@
1
1
  import { RoleType } from '../../helpers';
2
- import { InfoContactCardI, MenuItemI, ShareContactPopoverI } from '..';
2
+ import { InfoContactCardI, MenuItemI, ShareContactSectionI } from '..';
3
3
  export interface ViewContactPanelI {
4
4
  contact: InfoContactCardI;
5
5
  handleClose: () => void;
6
6
  menuItems: MenuItemI[];
7
- onShare: ShareContactPopoverI['onShare'];
7
+ onShare: ShareContactSectionI['onShare'];
8
8
  roleType: RoleType;
9
9
  }
@@ -4,6 +4,8 @@ export * from './ContactCardAddress.interface';
4
4
  export * from './ContactCardHeader.interface';
5
5
  export * from './ContactCardInfo.interface';
6
6
  export * from './ContactsContent.interface';
7
- export * from './ShareContactByEmail.interface';
8
- export * from './ShareContactPopover.interface';
7
+ export * from './SelectedContacts.interface';
8
+ export * from './ShareContactBy.interface';
9
+ export * from './ShareContactsContent.interface';
10
+ export * from './ShareContactSection.interface';
9
11
  export * from './ViewContactPanel.interface';
@@ -4,6 +4,8 @@ export * from './ContactCardAddress.interface';
4
4
  export * from './ContactCardHeader.interface';
5
5
  export * from './ContactCardInfo.interface';
6
6
  export * from './ContactsContent.interface';
7
- export * from './ShareContactByEmail.interface';
8
- export * from './ShareContactPopover.interface';
7
+ export * from './SelectedContacts.interface';
8
+ export * from './ShareContactBy.interface';
9
+ export * from './ShareContactsContent.interface';
10
+ export * from './ShareContactSection.interface';
9
11
  export * from './ViewContactPanel.interface';
@@ -0,0 +1,8 @@
1
+ export interface BaseAlertCardI {
2
+ alertIcon?: string;
3
+ alertTitle?: string;
4
+ bg?: string;
5
+ icon: string;
6
+ title: string;
7
+ description: string;
8
+ }
@@ -0,0 +1,13 @@
1
+ import { HomeAssistantStepI, MenuItemI } from '..';
2
+ export interface HomeMonitortStepsI {
3
+ menuItems: MenuItemI[];
4
+ stepsWithAlerts: number[];
5
+ onStepClick: (step: number) => void;
6
+ }
7
+ export interface HomeMonitorButtonI {
8
+ currentStep: number;
9
+ menuItems: HomeMonitortStepsI['menuItems'];
10
+ onStepClick: HomeMonitortStepsI['onStepClick'];
11
+ status: 'alert' | 'ok';
12
+ step: HomeAssistantStepI;
13
+ }
@@ -0,0 +1,4 @@
1
+ export interface MonitorAlertsI {
2
+ alertId: MonitorAlertsType;
3
+ }
4
+ export type MonitorAlertsType = 'smoke-detector-battery' | 'smoke-detector-expired' | 'change-air-filter';
@@ -1,7 +1,10 @@
1
1
  export * from './ApplianceButton.interface';
2
2
  export * from './ApplianceSteps.interface';
3
+ export * from './BaseAlertCard.interface';
3
4
  export * from './HomeAssistantButton.interface';
4
5
  export * from './HomeAssistantPanel.interface';
5
6
  export * from './HomeAssistantStepper.interface';
6
7
  export * from './HomeAssistantSteps.interface';
7
8
  export * from './HomeAssistantTutorial.interface';
9
+ export * from './HomeMonitorSteps.interface';
10
+ export * from './MonitorAlerts.interface';
@@ -1,7 +1,10 @@
1
1
  export * from './ApplianceButton.interface';
2
2
  export * from './ApplianceSteps.interface';
3
+ export * from './BaseAlertCard.interface';
3
4
  export * from './HomeAssistantButton.interface';
4
5
  export * from './HomeAssistantPanel.interface';
5
6
  export * from './HomeAssistantStepper.interface';
6
7
  export * from './HomeAssistantSteps.interface';
7
8
  export * from './HomeAssistantTutorial.interface';
9
+ export * from './HomeMonitorSteps.interface';
10
+ export * from './MonitorAlerts.interface';
@@ -7,4 +7,5 @@ export interface PartnerFooterI {
7
7
  iconSize?: number;
8
8
  socialLinks?: SocialLinkI[];
9
9
  websiteUrl: string;
10
+ urlText?: string;
10
11
  }
@@ -1,2 +1,3 @@
1
1
  import { InfoContactCardI } from '../../interfaces';
2
2
  export declare const ContactsMock: InfoContactCardI[];
3
+ export declare const ContactsMockCompleted: InfoContactCardI[];
@@ -1,5 +1,89 @@
1
1
  import { faker } from '@faker-js/faker/locale/af_ZA';
2
2
  export const ContactsMock = [
3
+ {
4
+ title: 'Design',
5
+ category: 'Design',
6
+ firstName: '',
7
+ lastName: '',
8
+ email: faker.internet.email(),
9
+ phone: faker.phone.number(),
10
+ company: faker.company.name(),
11
+ address: faker.location.streetAddress(),
12
+ zip: faker.location.zipCode(),
13
+ city: faker.location.city(),
14
+ state: faker.location.state(),
15
+ _id: faker.database.mongodbObjectId(),
16
+ notes: faker.lorem.paragraphs(),
17
+ companyInfo: {
18
+ address: faker.location.streetAddress(),
19
+ city: faker.location.city(),
20
+ company: faker.company.name(),
21
+ url: faker.internet.url(),
22
+ _id: faker.database.mongodbObjectId(),
23
+ phone: faker.phone.number(),
24
+ state: faker.location.state(),
25
+ zip: faker.location.zipCode(),
26
+ rating: faker.number.int({ min: 1, max: 5 }),
27
+ },
28
+ },
29
+ {
30
+ title: 'Pumpler',
31
+ category: 'Home services',
32
+ firstName: '',
33
+ lastName: '',
34
+ email: faker.internet.email(),
35
+ phone: faker.phone.number(),
36
+ company: '',
37
+ address: '1134 South First Avenue',
38
+ zip: '78732',
39
+ city: 'Austin',
40
+ state: 'TX',
41
+ _id: faker.database.mongodbObjectId(),
42
+ },
43
+ {
44
+ title: '',
45
+ category: 'Home services',
46
+ firstName: faker.person.firstName(),
47
+ lastName: faker.person.lastName(),
48
+ email: faker.internet.email(),
49
+ phone: faker.phone.number(),
50
+ company: '',
51
+ address: '1134 South First Avenue',
52
+ zip: '78732',
53
+ city: 'Austin',
54
+ state: 'TX',
55
+ _id: faker.database.mongodbObjectId(),
56
+ },
57
+ {
58
+ title: 'Electrical',
59
+ category: 'Electrical',
60
+ firstName: faker.person.firstName(),
61
+ lastName: faker.person.lastName(),
62
+ email: faker.internet.email(),
63
+ phone: faker.phone.number(),
64
+ company: '',
65
+ address: '1134 South First Avenue',
66
+ zip: '78732',
67
+ city: 'Austin',
68
+ state: 'TX',
69
+ _id: faker.database.mongodbObjectId(),
70
+ },
71
+ {
72
+ title: 'Electrical',
73
+ category: 'Electrical',
74
+ firstName: faker.person.firstName(),
75
+ lastName: faker.person.lastName(),
76
+ email: faker.internet.email(),
77
+ phone: faker.phone.number(),
78
+ company: '',
79
+ address: '1134 South First Avenue',
80
+ zip: '78732',
81
+ city: 'Austin',
82
+ state: 'TX',
83
+ _id: faker.database.mongodbObjectId(),
84
+ },
85
+ ];
86
+ export const ContactsMockCompleted = [
3
87
  {
4
88
  title: 'Design',
5
89
  category: 'Design',
@@ -31,9 +115,9 @@ export const ContactsMock = [
31
115
  category: 'Home services',
32
116
  firstName: faker.person.firstName(),
33
117
  lastName: faker.person.lastName(),
34
- email: '',
118
+ email: faker.internet.email(),
35
119
  phone: faker.phone.number(),
36
- company: 'Company 2',
120
+ company: '',
37
121
  address: '1134 South First Avenue',
38
122
  zip: '78732',
39
123
  city: 'Austin',
@@ -0,0 +1,4 @@
1
+ import { Meta } from '@storybook/react';
2
+ declare const _default: Meta;
3
+ export default _default;
4
+ export declare const Homie: () => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,11 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { HomieAnimation } from '../../components';
3
+ import { Box } from '@chakra-ui/react';
4
+ export default {
5
+ title: 'Animations/HomieAnimation',
6
+ component: HomieAnimation,
7
+ decorators: [
8
+ (Story) => (_jsx(Box, { p: "base", w: ['full', '440px'], h: "477px", children: _jsx(Story, {}) })),
9
+ ],
10
+ };
11
+ export const Homie = () => _jsx(HomieAnimation, {});