@homefile/components-v2 2.40.38 → 2.42.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.
- package/dist/assets/locales/en/index.json +16 -1
- package/dist/components/myProfile/details/HomiSms.d.ts +2 -0
- package/dist/components/myProfile/details/HomiSms.js +40 -0
- package/dist/components/myProfile/details/index.d.ts +1 -0
- package/dist/components/myProfile/details/index.js +1 -0
- package/dist/components/propertyTiles/edit/MortgageInfoReadOnly.d.ts +2 -0
- package/dist/components/propertyTiles/edit/MortgageInfoReadOnly.js +103 -0
- package/dist/components/propertyTiles/edit/index.d.ts +1 -0
- package/dist/components/propertyTiles/edit/index.js +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/interfaces/forms/dynamicForm/edit/MortgageInfo.interface.d.ts +16 -0
- package/dist/interfaces/myProfile/details/HomiSms.interface.d.ts +13 -0
- package/dist/interfaces/myProfile/details/HomiSms.interface.js +1 -0
- package/dist/interfaces/myProfile/details/index.d.ts +1 -0
- package/dist/interfaces/myProfile/details/index.js +1 -0
- package/dist/stories/myProfile/MyProfilePanel.stories.js +2 -2
- package/dist/stories/myProfile/details/HomiSms.stories.d.ts +18 -0
- package/dist/stories/myProfile/details/HomiSms.stories.js +22 -0
- package/dist/stories/myProfile/details/TwoFactorSetting.stories.d.ts +1 -6
- package/dist/stories/myProfile/details/TwoFactorSetting.stories.js +1 -3
- package/dist/stories/propertyTiles/MortgageInfoReadOnly.stories.d.ts +5 -0
- package/dist/stories/propertyTiles/MortgageInfoReadOnly.stories.js +45 -0
- package/package.json +1 -1
|
@@ -617,7 +617,10 @@
|
|
|
617
617
|
},
|
|
618
618
|
"details": {
|
|
619
619
|
"2FactorSubtitle": "Select how you would like to receive your 2FA codes. These codes keep your account secure.",
|
|
620
|
-
"2FactorTitle": "2 Factor Authentication (2FA)"
|
|
620
|
+
"2FactorTitle": "2 Factor Authentication (2FA)",
|
|
621
|
+
"homiSmsAlt": "Homi SMS",
|
|
622
|
+
"homiSmsSubtitle": "Enable SMS messaging to interact with Homi without a mobile app. Text images, documents, and information directly into Homefile so Homi can capture and organize it for you automatically.",
|
|
623
|
+
"homiSmsTitle": "Enable Homi SMS Messaging"
|
|
621
624
|
},
|
|
622
625
|
"email": {
|
|
623
626
|
"emailPermissions": "Email Permissions",
|
|
@@ -812,6 +815,18 @@
|
|
|
812
815
|
"payment": "Payment Amount",
|
|
813
816
|
"purchasePrice": "Purchase Price"
|
|
814
817
|
},
|
|
818
|
+
"mortgageReadOnly": {
|
|
819
|
+
"account": "Account",
|
|
820
|
+
"term": "Term",
|
|
821
|
+
"rate": "Rate",
|
|
822
|
+
"originalLoanAmount": "Original Loan Amount",
|
|
823
|
+
"monthsPaid": "Months Paid",
|
|
824
|
+
"currentBalance": "Current Balance",
|
|
825
|
+
"principalPaid": "Principal Paid",
|
|
826
|
+
"interestPaid": "Interest Paid",
|
|
827
|
+
"paymentDue": "Payment Due",
|
|
828
|
+
"currentTaxEscrow": "Current Tax Escrow"
|
|
829
|
+
},
|
|
815
830
|
"records": {
|
|
816
831
|
"community": "Community",
|
|
817
832
|
"facts": "Facts & features",
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { t } from 'i18next';
|
|
3
|
+
import { Controller, useForm, useWatch } from 'react-hook-form';
|
|
4
|
+
import { useEffect } from 'react';
|
|
5
|
+
import * as yup from 'yup';
|
|
6
|
+
import { Stack, Flex, Img, Text, Box, FormControl, FormLabel, Switch, Checkbox, Button, } from '@chakra-ui/react';
|
|
7
|
+
import { SMS } from '../../../assets/images';
|
|
8
|
+
import { ControlledInput, Loading } from '../../../components';
|
|
9
|
+
export const HomiSms = ({ defaultEnabled = false, defaultSmsEnabled = true, sms = '', loading, onChange, onSave, }) => {
|
|
10
|
+
var _a, _b, _c;
|
|
11
|
+
const { control, handleSubmit } = useForm({
|
|
12
|
+
defaultValues: {
|
|
13
|
+
enabled: defaultEnabled,
|
|
14
|
+
smsEnabled: defaultSmsEnabled,
|
|
15
|
+
sms,
|
|
16
|
+
},
|
|
17
|
+
});
|
|
18
|
+
const values = useWatch({ control });
|
|
19
|
+
const isEnabled = (_a = values === null || values === void 0 ? void 0 : values.enabled) !== null && _a !== void 0 ? _a : false;
|
|
20
|
+
const isSmsEnabled = (_b = values === null || values === void 0 ? void 0 : values.smsEnabled) !== null && _b !== void 0 ? _b : false;
|
|
21
|
+
const smsValue = (_c = values === null || values === void 0 ? void 0 : values.sms) !== null && _c !== void 0 ? _c : '';
|
|
22
|
+
const isEnabledChanged = isEnabled !== defaultEnabled;
|
|
23
|
+
const isSmsEnabledChanged = isSmsEnabled !== defaultSmsEnabled;
|
|
24
|
+
const isSmsChanged = smsValue !== sms;
|
|
25
|
+
const showButtons = isEnabledChanged || isSmsEnabledChanged || isSmsChanged;
|
|
26
|
+
const handlePhoneValidation = (value) => {
|
|
27
|
+
if (isEnabled && isSmsEnabled)
|
|
28
|
+
return yup.string().required().min(10).max(10).isValidSync(value);
|
|
29
|
+
return true;
|
|
30
|
+
};
|
|
31
|
+
useEffect(() => {
|
|
32
|
+
if (onChange && values) {
|
|
33
|
+
onChange(values);
|
|
34
|
+
}
|
|
35
|
+
}, [onChange, values]);
|
|
36
|
+
return (_jsxs(Box, { position: "relative", children: [loading && _jsx(Loading, {}), _jsxs(Stack, { bg: "lightBlue.2", px: "base", py: "4", spacing: "4", children: [_jsxs(Stack, { spacing: "3", children: [_jsxs(Flex, { align: "center", justify: "space-between", children: [_jsxs(Flex, { gap: "base", align: "center", children: [_jsx(Img, { src: SMS, alt: t('myProfile.details.homiSmsAlt') }), _jsx(Text, { fontSize: "sm", textTransform: "uppercase", children: t('myProfile.details.homiSmsTitle') })] }), _jsx(Controller, { name: "enabled", control: control, render: ({ field: { value, onChange, onBlur } }) => {
|
|
37
|
+
const label = value ? 'ON' : 'OFF';
|
|
38
|
+
return (_jsxs(FormControl, { display: "flex", alignItems: "center", w: "fit-content", children: [_jsx(FormLabel, { htmlFor: "homi-sms", mb: "0", fontSize: "sm", children: label }), _jsx(Switch, { id: "homi-sms", size: "lg", isChecked: value, onChange: onChange, onBlur: onBlur })] }));
|
|
39
|
+
} })] }), _jsx(Text, { fontFamily: "secondary", lineHeight: "1.2", children: t('myProfile.details.homiSmsSubtitle') })] }), _jsxs(Flex, { gap: "base", align: "center", justify: "space-between", children: [_jsx(Controller, { name: "smsEnabled", control: control, render: ({ field: { value, onChange } }) => (_jsx(Checkbox, { size: "md", isChecked: value, onChange: (event) => onChange(event.target.checked), isDisabled: !isEnabled, children: _jsx(Text, { variant: "info", fontWeight: "normal", children: "SMS" }) })) }), _jsx(Box, { w: "75%", children: _jsx(Controller, { name: "sms", control: control, rules: { validate: handlePhoneValidation }, render: ({ field: { value, onBlur, onChange }, fieldState: { invalid }, }) => (_jsx(ControlledInput, { placeholder: t('myProfile.placeholders.sms'), onChange: onChange, onBlur: onBlur, value: value !== null && value !== void 0 ? value : '', type: "tel", hasError: invalid, errorMessage: `${t('forms.invalid')} ${t('forms.phone')}`, isDisabled: !isEnabled || !isSmsEnabled })) }) })] }), showButtons && onSave && (_jsx(Box, { w: "75%", alignSelf: "end", children: _jsx(Button, { variant: "secondaryFooter", type: "submit", bg: "neutral.white", fontWeight: "medium", onClick: handleSubmit(onSave), children: t('buttons.save').toUpperCase() }) }))] })] }));
|
|
40
|
+
};
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { t } from 'i18next';
|
|
3
|
+
import { Box, Divider, Flex, IconButton, Image, Stack, Text, Tooltip, } from '@chakra-ui/react';
|
|
4
|
+
import { Edit } from '../../../components';
|
|
5
|
+
import { creditCardNumberMask, formatCurrency, formatNumber } from '../../../utils';
|
|
6
|
+
export const MortgageInfoReadOnly = ({ form, onEdit }) => {
|
|
7
|
+
var _a;
|
|
8
|
+
const { accountNumber, amount, contactEmails, contactPhone, currentBalance, currentTaxEscrow, estimatedMortgageBalance, estimatedMortgagePayment, interestPaid, interestRate, interestRateType, lenderAddresses, lenderLogoAlt, lenderLogoUrl, lenderName, monthsPaid, originalLoanAmount, paymentDue, principalPaid, rate, term, } = form;
|
|
9
|
+
const termValue = term !== null && term !== void 0 ? term : interestRateType;
|
|
10
|
+
const rateValue = rate !== null && rate !== void 0 ? rate : interestRate;
|
|
11
|
+
const originalLoanAmountValue = originalLoanAmount !== null && originalLoanAmount !== void 0 ? originalLoanAmount : amount;
|
|
12
|
+
const currentBalanceValue = currentBalance !== null && currentBalance !== void 0 ? currentBalance : estimatedMortgageBalance;
|
|
13
|
+
const paymentDueValue = paymentDue !== null && paymentDue !== void 0 ? paymentDue : estimatedMortgagePayment;
|
|
14
|
+
const contactEmailList = (contactEmails !== null && contactEmails !== void 0 ? contactEmails : []).filter(Boolean);
|
|
15
|
+
const lenderAddressList = (lenderAddresses !== null && lenderAddresses !== void 0 ? lenderAddresses : []).filter((address) => hasValue(address));
|
|
16
|
+
const hasContacts = hasValue(contactPhone) || contactEmailList.length > 0;
|
|
17
|
+
const accountFields = [
|
|
18
|
+
{
|
|
19
|
+
label: t('propertyTiles.mortgageReadOnly.term'),
|
|
20
|
+
value: termValue,
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
label: t('propertyTiles.mortgageReadOnly.rate'),
|
|
24
|
+
value: rateValue,
|
|
25
|
+
formatter: formatRateValue,
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
label: t('propertyTiles.mortgageReadOnly.originalLoanAmount'),
|
|
29
|
+
value: originalLoanAmountValue,
|
|
30
|
+
formatter: formatCurrencyValue,
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
label: t('propertyTiles.mortgageReadOnly.monthsPaid'),
|
|
34
|
+
value: monthsPaid,
|
|
35
|
+
formatter: (value) => typeof value === 'number' ? formatNumber(value) : value,
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
label: t('propertyTiles.mortgageReadOnly.currentBalance'),
|
|
39
|
+
value: currentBalanceValue,
|
|
40
|
+
formatter: formatCurrencyValue,
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
label: t('propertyTiles.mortgageReadOnly.principalPaid'),
|
|
44
|
+
value: principalPaid,
|
|
45
|
+
formatter: formatCurrencyValue,
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
label: t('propertyTiles.mortgageReadOnly.interestPaid'),
|
|
49
|
+
value: interestPaid,
|
|
50
|
+
formatter: formatCurrencyValue,
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
label: t('propertyTiles.mortgageReadOnly.paymentDue'),
|
|
54
|
+
value: paymentDueValue,
|
|
55
|
+
formatter: formatCurrencyValue,
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
label: t('propertyTiles.mortgageReadOnly.currentTaxEscrow'),
|
|
59
|
+
value: currentTaxEscrow,
|
|
60
|
+
formatter: formatCurrencyValue,
|
|
61
|
+
},
|
|
62
|
+
].filter(({ value }) => hasValue(value));
|
|
63
|
+
return (_jsxs(Stack, { bg: "lightBlue.1", spacing: "4", p: "base", children: [_jsxs(Flex, { align: "center", gap: "6", flex: "1", children: [hasValue(lenderLogoUrl) && (_jsx(Box, { bg: "neutral.white", boxShadow: "md", p: "2", children: _jsx(Image, { src: lenderLogoUrl, alt: (_a = lenderLogoAlt !== null && lenderLogoAlt !== void 0 ? lenderLogoAlt : lenderName) !== null && _a !== void 0 ? _a : 'Mortgage Lender', boxSize: "130px", objectFit: "contain" }) })), _jsxs(Stack, { spacing: "2", flex: "1", children: [_jsxs(Flex, { align: "center", gap: "base", justify: "space-between", children: [hasValue(lenderName) && (_jsx(Text, { fontSize: "22px", fontWeight: "semibold", noOfLines: 1, textOverflow: "ellipsis", lineHeight: "28px", children: lenderName })), onEdit && (_jsx(Tooltip, { label: t('tooltips.editDetails'), children: _jsx(IconButton, { variant: "menuIconWithShadow", maxW: "fit-content", "aria-label": t('ariaLabels.edit'), p: "1", icon: _jsx(Edit, {}), onClick: onEdit }) }))] }), lenderAddressList.map((address) => (_jsx(Text, { fontFamily: "secondary", fontSize: "sm", children: address }, address)))] })] }), accountFields.length > 0 && (_jsxs(Stack, { spacing: "0", bg: "neutral.white", boxShadow: "md", children: [_jsxs(Flex, { justify: "space-between", align: "center", bg: "lightBlue.2", p: "base", children: [_jsx(Text, { fontWeight: "medium", textTransform: "uppercase", children: t('propertyTiles.mortgageReadOnly.account') }), hasValue(accountNumber) && (_jsx(Text, { children: creditCardNumberMask(String(accountNumber)) }))] }), accountFields.length > 0 && (_jsx(Stack, { spacing: "base", p: "base", children: accountFields.map((field) => (_jsx(InfoRow, { label: field.label, value: field.value, formatter: field.formatter }, field.label))) })), _jsx(Divider, { borderColor: "lightBlue.6", borderStyle: "dashed", mb: "4" }), hasContacts && (_jsx(Stack, { spacing: "0", p: "base", children: _jsxs(Stack, { spacing: "0", children: [hasValue(contactPhone) && (_jsx(Text, { fontFamily: "secondary", fontSize: "sm", children: contactPhone })), contactEmailList.map((email) => (_jsx(ContactLine, { value: email }, email)))] }) }))] }))] }));
|
|
64
|
+
};
|
|
65
|
+
const hasValue = (value) => {
|
|
66
|
+
if (value === null || value === undefined)
|
|
67
|
+
return false;
|
|
68
|
+
if (Array.isArray(value))
|
|
69
|
+
return value.length > 0;
|
|
70
|
+
if (typeof value === 'string')
|
|
71
|
+
return value.trim().length > 0;
|
|
72
|
+
if (typeof value === 'number')
|
|
73
|
+
return Number.isFinite(value) && value !== 0;
|
|
74
|
+
return true;
|
|
75
|
+
};
|
|
76
|
+
const formatCurrencyValue = (value) => {
|
|
77
|
+
if (typeof value === 'string') {
|
|
78
|
+
const numericValue = Number(value);
|
|
79
|
+
if (Number.isNaN(numericValue))
|
|
80
|
+
return value;
|
|
81
|
+
return formatCurrency({ value: numericValue });
|
|
82
|
+
}
|
|
83
|
+
return formatCurrency({ value });
|
|
84
|
+
};
|
|
85
|
+
const formatRateValue = (value) => {
|
|
86
|
+
if (typeof value === 'number')
|
|
87
|
+
return `${formatNumber(value)}%`;
|
|
88
|
+
const trimmedValue = value.toString().trim();
|
|
89
|
+
if (!trimmedValue)
|
|
90
|
+
return '';
|
|
91
|
+
return trimmedValue.endsWith('%') ? trimmedValue : `${trimmedValue}%`;
|
|
92
|
+
};
|
|
93
|
+
const InfoRow = ({ label, value, formatter, }) => {
|
|
94
|
+
if (!hasValue(value))
|
|
95
|
+
return null;
|
|
96
|
+
const displayValue = formatter ? formatter(value) : value;
|
|
97
|
+
return (_jsxs(Flex, { justify: "space-between", align: "center", children: [_jsx(Text, { fontFamily: "secondary", children: label }), _jsx(Text, { fontFamily: "secondary", fontWeight: "semibold", children: displayValue })] }));
|
|
98
|
+
};
|
|
99
|
+
const ContactLine = ({ value }) => {
|
|
100
|
+
if (!hasValue(value))
|
|
101
|
+
return null;
|
|
102
|
+
return (_jsx(Text, { variant: "email", fontSize: "sm", children: value }));
|
|
103
|
+
};
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { ActivateAccount, ActiveSubscription, AddCardBanner, AddEditContactPanel, AddFolder, AddHomeContent, AddHomeItem, AddHomeItemHeader, AddMedia, AddPopup, AddPropertyRecords, Address, AddTile, AddToHomefile, AlertBanner, AphwTile, AppBar, AssignableReceipts, BackendAlert, BackHeader, BarDivider, CancelAccount, CatalogPopup, CloudsAnimation, ConfirmHomeDetails, ConfirmProperty, ConfirmPropertyBody, ConfirmPropertyFooter, ConfirmPropertyRecords, ContactList, ContactsContent, ContainerHeader, ControlledWizard, CreateDocumentHeader, CreateHouseholdItemHeader, CreditCardContainer, CreditCardError, CustomerTile, DeleteBanner, Dialog, DisplayFiles, DisplayFilesDetail, DisplayOptions, DisplayReceipts, DocumentMenu, DocumentNameHeader, DocumentPreview, DynamicForm, EditAccountType, EditHomeBody, EditHomeFooter, EditHomeHeader, EditHomePanel, EditItemName, EmailPermissions, EmailValidation, Feedback, FileDetail, FilesUploader, FlowStep, FolderDetail, FolderDetailBody, FolderDetailContent, FolderDetailFooter, FolderDetailHeader, FolderInfo, FolderSharing, FolderTypeSelection, FooterButtons, FooterDrawer, GenericBackHeader, GroupCard, GroupsContainer, GroupsHeader, Header, HelpContent, HomeAssistant, HomeAssistantPanel, HomeAssistantTutorial, HomeAssistantWizardPanel, HomeAssistantWizardSteps, HomeBoardGrid, HomeBoardTour, HomeCard, HomeCardWithRecipent, HomeDetailsContent, HomefileMonitoring, HomeHeader, HomeItemList, HomeItemManualInfo, HomeMonitor, HomeMonitorPanel, HomeMonitorSteps, HomeSharedWith, HomieAddItems, InboxForwardBanner, InboxTile, ItemFormPanel, ItemFormTabs, ItemNameHeader, ItemsReviewBanner, ItemSubTypeSelect, Launchpad, LaunchpadAutofilerBanner, LaunchpadReceiptAutofiler, LaunchpadReceiptPanel, LaunchpadTour, LeftPanel, Loading, MediaDetailsStep, MessageChatPanel, MessagePanel, MinimizedTiles, MonthlyCharge, MortgageInfo, MoveModal, MyHomes, MyProfileBody, MyProfileContent, MyProfileFooter, MyProfileHeader, MyProfilePanel, NewCreditCard, NewCreditCardHeader, NewHomeDetails, NewPassword, NotBeChargedBanner, NotificationCard, Notifications, NotificationsPanel, NotificationsReminder, NpsScore, Overlay, PanelHeader, PartnerActiveSubscription, PartnerCatalogPanel, PartnerContent, PartnerCustomerCode, PartnerDetails, PartnerImages, PartnerPanel, PasswordInput, PaymentBanner, 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, SearchItemLoader, SearchRecords, SectionHeader, SendCommunication, ShareContactsContent, SharedAccounts, SharedHomeContent, SharedHomeHeader, ShareHome, ShareHomeConnections, ShareHomeForm, ShineTile, ShortPartnerTile, SignIn, SignUp, SkeletonBox, StartHomiSetup, StepHeader, StorageUsed, Subscription, SubscriptionCard, SubscriptionTable, Summary, TabsHeader, TextInput, ToBeDeletedBody, ToBeDeletedContent, ToBeDeletedFooter, ToBeDeletedHeader, TourButton, Trash, TrendingValue, TrialBanner, TutorialsButton, TwoFactor, TwoFactorSetting, UpdateList, UserDetails, ValueMonitor, VideoPlayer, VideoPlayerModal, ViewContactPanel, WeatherWidget, WellDone, WizardBodyPadding, WizardStepGoal, WizardSuccessHeader, WizardTextHeader, WizardValueSummary, WizardValueSummaryBody, WizardValueSummaryFooter, YtdTile, } from './components';
|
|
1
|
+
export { ActivateAccount, ActiveSubscription, AddCardBanner, AddEditContactPanel, AddFolder, AddHomeContent, AddHomeItem, AddHomeItemHeader, AddMedia, AddPopup, AddPropertyRecords, Address, AddTile, AddToHomefile, AlertBanner, AphwTile, AppBar, AssignableReceipts, BackendAlert, BackHeader, BarDivider, CancelAccount, CatalogPopup, CloudsAnimation, ConfirmHomeDetails, ConfirmProperty, ConfirmPropertyBody, ConfirmPropertyFooter, ConfirmPropertyRecords, ContactList, ContactsContent, ContainerHeader, ControlledWizard, CreateDocumentHeader, CreateHouseholdItemHeader, CreditCardContainer, CreditCardError, CustomerTile, DeleteBanner, Dialog, DisplayFiles, DisplayFilesDetail, DisplayOptions, DisplayReceipts, DocumentMenu, DocumentNameHeader, DocumentPreview, DynamicForm, EditAccountType, EditHomeBody, EditHomeFooter, EditHomeHeader, EditHomePanel, EditItemName, EmailPermissions, EmailValidation, Feedback, FileDetail, FilesUploader, FlowStep, FolderDetail, FolderDetailBody, FolderDetailContent, FolderDetailFooter, FolderDetailHeader, FolderInfo, FolderSharing, FolderTypeSelection, FooterButtons, FooterDrawer, GenericBackHeader, GroupCard, GroupsContainer, GroupsHeader, Header, HelpContent, HomeAssistant, HomeAssistantPanel, HomeAssistantTutorial, HomeAssistantWizardPanel, HomeAssistantWizardSteps, HomeBoardGrid, HomeBoardTour, HomeCard, HomeCardWithRecipent, HomeDetailsContent, HomefileMonitoring, HomeHeader, HomeItemList, HomeItemManualInfo, HomeMonitor, HomeMonitorPanel, HomeMonitorSteps, HomeSharedWith, HomieAddItems, InboxForwardBanner, InboxTile, ItemFormPanel, ItemFormTabs, ItemNameHeader, ItemsReviewBanner, ItemSubTypeSelect, Launchpad, LaunchpadAutofilerBanner, LaunchpadReceiptAutofiler, LaunchpadReceiptPanel, LaunchpadTour, LeftPanel, Loading, MediaDetailsStep, MessageChatPanel, MessagePanel, MinimizedTiles, MonthlyCharge, MortgageInfo, MortgageInfoReadOnly, MoveModal, MyHomes, MyProfileBody, MyProfileContent, MyProfileFooter, MyProfileHeader, MyProfilePanel, NewCreditCard, NewCreditCardHeader, NewHomeDetails, NewPassword, NotBeChargedBanner, NotificationCard, Notifications, NotificationsPanel, NotificationsReminder, NpsScore, Overlay, PanelHeader, PartnerActiveSubscription, PartnerCatalogPanel, PartnerContent, PartnerCustomerCode, PartnerDetails, PartnerImages, PartnerPanel, PasswordInput, PaymentBanner, 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, SearchItemLoader, SearchRecords, SectionHeader, SendCommunication, ShareContactsContent, SharedAccounts, SharedHomeContent, SharedHomeHeader, ShareHome, ShareHomeConnections, ShareHomeForm, ShineTile, ShortPartnerTile, SignIn, SignUp, SkeletonBox, StartHomiSetup, StepHeader, StorageUsed, Subscription, SubscriptionCard, SubscriptionTable, Summary, TabsHeader, TextInput, ToBeDeletedBody, ToBeDeletedContent, ToBeDeletedFooter, ToBeDeletedHeader, TourButton, Trash, TrendingValue, TrialBanner, TutorialsButton, TwoFactor, TwoFactorSetting, UpdateList, UserDetails, ValueMonitor, VideoPlayer, VideoPlayerModal, ViewContactPanel, WeatherWidget, WellDone, WizardBodyPadding, WizardStepGoal, WizardSuccessHeader, WizardTextHeader, WizardValueSummary, WizardValueSummaryBody, WizardValueSummaryFooter, YtdTile, } from './components';
|
|
2
2
|
export { useCustomToast, useConfirmPropertyModel } from './hooks';
|
|
3
3
|
export { randomColor, mapApiObjectToFormFields, mapForecastToWidget, } from './utils';
|
|
4
4
|
export { CookTop, Contacts, GuestBedroom, MagnifyingGlassReport, Message, Register, Receipts, Price, BlueFolderShared, Calendar, Create, Notes, WallDecor, } from './assets/images';
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { ActivateAccount, ActiveSubscription, AddCardBanner, AddEditContactPanel, AddFolder, AddHomeContent, AddHomeItem, AddHomeItemHeader, AddMedia, AddPopup, AddPropertyRecords, Address, AddTile, AddToHomefile, AlertBanner, AphwTile, AppBar, AssignableReceipts, BackendAlert, BackHeader, BarDivider, CancelAccount, CatalogPopup, CloudsAnimation, ConfirmHomeDetails, ConfirmProperty, ConfirmPropertyBody, ConfirmPropertyFooter, ConfirmPropertyRecords, ContactList, ContactsContent, ContainerHeader, ControlledWizard, CreateDocumentHeader, CreateHouseholdItemHeader, CreditCardContainer, CreditCardError, CustomerTile, DeleteBanner, Dialog, DisplayFiles, DisplayFilesDetail, DisplayOptions, DisplayReceipts, DocumentMenu, DocumentNameHeader, DocumentPreview, DynamicForm, EditAccountType, EditHomeBody, EditHomeFooter, EditHomeHeader, EditHomePanel, EditItemName, EmailPermissions, EmailValidation, Feedback, FileDetail, FilesUploader, FlowStep, FolderDetail, FolderDetailBody, FolderDetailContent, FolderDetailFooter, FolderDetailHeader, FolderInfo, FolderSharing, FolderTypeSelection, FooterButtons, FooterDrawer, GenericBackHeader, GroupCard, GroupsContainer, GroupsHeader, Header, HelpContent, HomeAssistant, HomeAssistantPanel, HomeAssistantTutorial, HomeAssistantWizardPanel, HomeAssistantWizardSteps, HomeBoardGrid, HomeBoardTour, HomeCard, HomeCardWithRecipent, HomeDetailsContent, HomefileMonitoring, HomeHeader, HomeItemList, HomeItemManualInfo, HomeMonitor, HomeMonitorPanel, HomeMonitorSteps, HomeSharedWith, HomieAddItems, InboxForwardBanner, InboxTile, ItemFormPanel, ItemFormTabs, ItemNameHeader, ItemsReviewBanner, ItemSubTypeSelect, Launchpad, LaunchpadAutofilerBanner, LaunchpadReceiptAutofiler, LaunchpadReceiptPanel, LaunchpadTour, LeftPanel, Loading, MediaDetailsStep, MessageChatPanel, MessagePanel, MinimizedTiles, MonthlyCharge, MortgageInfo, MoveModal, MyHomes, MyProfileBody, MyProfileContent, MyProfileFooter, MyProfileHeader, MyProfilePanel, NewCreditCard, NewCreditCardHeader, NewHomeDetails, NewPassword, NotBeChargedBanner, NotificationCard, Notifications, NotificationsPanel, NotificationsReminder, NpsScore, Overlay, PanelHeader, PartnerActiveSubscription, PartnerCatalogPanel, PartnerContent, PartnerCustomerCode, PartnerDetails, PartnerImages, PartnerPanel, PasswordInput, PaymentBanner, 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, SearchItemLoader, SearchRecords, SectionHeader, SendCommunication, ShareContactsContent, SharedAccounts, SharedHomeContent, SharedHomeHeader, ShareHome, ShareHomeConnections, ShareHomeForm, ShineTile, ShortPartnerTile, SignIn, SignUp, SkeletonBox, StartHomiSetup, StepHeader, StorageUsed, Subscription, SubscriptionCard, SubscriptionTable, Summary, TabsHeader, TextInput, ToBeDeletedBody, ToBeDeletedContent, ToBeDeletedFooter, ToBeDeletedHeader, TourButton, Trash, TrendingValue, TrialBanner, TutorialsButton, TwoFactor, TwoFactorSetting, UpdateList, UserDetails, ValueMonitor, VideoPlayer, VideoPlayerModal, ViewContactPanel, WeatherWidget, WellDone, WizardBodyPadding, WizardStepGoal, WizardSuccessHeader, WizardTextHeader, WizardValueSummary, WizardValueSummaryBody, WizardValueSummaryFooter, YtdTile, } from './components';
|
|
1
|
+
export { ActivateAccount, ActiveSubscription, AddCardBanner, AddEditContactPanel, AddFolder, AddHomeContent, AddHomeItem, AddHomeItemHeader, AddMedia, AddPopup, AddPropertyRecords, Address, AddTile, AddToHomefile, AlertBanner, AphwTile, AppBar, AssignableReceipts, BackendAlert, BackHeader, BarDivider, CancelAccount, CatalogPopup, CloudsAnimation, ConfirmHomeDetails, ConfirmProperty, ConfirmPropertyBody, ConfirmPropertyFooter, ConfirmPropertyRecords, ContactList, ContactsContent, ContainerHeader, ControlledWizard, CreateDocumentHeader, CreateHouseholdItemHeader, CreditCardContainer, CreditCardError, CustomerTile, DeleteBanner, Dialog, DisplayFiles, DisplayFilesDetail, DisplayOptions, DisplayReceipts, DocumentMenu, DocumentNameHeader, DocumentPreview, DynamicForm, EditAccountType, EditHomeBody, EditHomeFooter, EditHomeHeader, EditHomePanel, EditItemName, EmailPermissions, EmailValidation, Feedback, FileDetail, FilesUploader, FlowStep, FolderDetail, FolderDetailBody, FolderDetailContent, FolderDetailFooter, FolderDetailHeader, FolderInfo, FolderSharing, FolderTypeSelection, FooterButtons, FooterDrawer, GenericBackHeader, GroupCard, GroupsContainer, GroupsHeader, Header, HelpContent, HomeAssistant, HomeAssistantPanel, HomeAssistantTutorial, HomeAssistantWizardPanel, HomeAssistantWizardSteps, HomeBoardGrid, HomeBoardTour, HomeCard, HomeCardWithRecipent, HomeDetailsContent, HomefileMonitoring, HomeHeader, HomeItemList, HomeItemManualInfo, HomeMonitor, HomeMonitorPanel, HomeMonitorSteps, HomeSharedWith, HomieAddItems, InboxForwardBanner, InboxTile, ItemFormPanel, ItemFormTabs, ItemNameHeader, ItemsReviewBanner, ItemSubTypeSelect, Launchpad, LaunchpadAutofilerBanner, LaunchpadReceiptAutofiler, LaunchpadReceiptPanel, LaunchpadTour, LeftPanel, Loading, MediaDetailsStep, MessageChatPanel, MessagePanel, MinimizedTiles, MonthlyCharge, MortgageInfo, MortgageInfoReadOnly, MoveModal, MyHomes, MyProfileBody, MyProfileContent, MyProfileFooter, MyProfileHeader, MyProfilePanel, NewCreditCard, NewCreditCardHeader, NewHomeDetails, NewPassword, NotBeChargedBanner, NotificationCard, Notifications, NotificationsPanel, NotificationsReminder, NpsScore, Overlay, PanelHeader, PartnerActiveSubscription, PartnerCatalogPanel, PartnerContent, PartnerCustomerCode, PartnerDetails, PartnerImages, PartnerPanel, PasswordInput, PaymentBanner, 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, SearchItemLoader, SearchRecords, SectionHeader, SendCommunication, ShareContactsContent, SharedAccounts, SharedHomeContent, SharedHomeHeader, ShareHome, ShareHomeConnections, ShareHomeForm, ShineTile, ShortPartnerTile, SignIn, SignUp, SkeletonBox, StartHomiSetup, StepHeader, StorageUsed, Subscription, SubscriptionCard, SubscriptionTable, Summary, TabsHeader, TextInput, ToBeDeletedBody, ToBeDeletedContent, ToBeDeletedFooter, ToBeDeletedHeader, TourButton, Trash, TrendingValue, TrialBanner, TutorialsButton, TwoFactor, TwoFactorSetting, UpdateList, UserDetails, ValueMonitor, VideoPlayer, VideoPlayerModal, ViewContactPanel, WeatherWidget, WellDone, WizardBodyPadding, WizardStepGoal, WizardSuccessHeader, WizardTextHeader, WizardValueSummary, WizardValueSummaryBody, WizardValueSummaryFooter, YtdTile, } from './components';
|
|
2
2
|
export { useCustomToast, useConfirmPropertyModel } from './hooks';
|
|
3
3
|
export { randomColor, mapApiObjectToFormFields, mapForecastToWidget, } from './utils';
|
|
4
4
|
export { CookTop, Contacts, GuestBedroom, MagnifyingGlassReport, Message, Register, Receipts, Price, BlueFolderShared, Calendar, Create, Notes, WallDecor, } from './assets/images';
|
|
@@ -8,7 +8,23 @@ export interface MortgageFormI {
|
|
|
8
8
|
interestRateType?: string;
|
|
9
9
|
lenderName?: string;
|
|
10
10
|
purchasePrice?: number;
|
|
11
|
+
accountNumber?: string;
|
|
12
|
+
contactEmails?: string[];
|
|
13
|
+
contactPhone?: string;
|
|
14
|
+
currentBalance?: number;
|
|
15
|
+
currentTaxEscrow?: number;
|
|
16
|
+
interestPaid?: number;
|
|
17
|
+
lenderAddresses?: string[];
|
|
18
|
+
lenderLogoAlt?: string;
|
|
19
|
+
lenderLogoUrl?: string;
|
|
20
|
+
monthsPaid?: number;
|
|
21
|
+
originalLoanAmount?: number;
|
|
22
|
+
paymentDue?: number;
|
|
23
|
+
principalPaid?: number;
|
|
24
|
+
rate?: number | string;
|
|
25
|
+
term?: string;
|
|
11
26
|
}
|
|
12
27
|
export interface MortgageInfoI {
|
|
13
28
|
form: MortgageFormI;
|
|
29
|
+
onEdit?: () => void;
|
|
14
30
|
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export interface HomiSmsFormI {
|
|
2
|
+
enabled: boolean;
|
|
3
|
+
smsEnabled: boolean;
|
|
4
|
+
sms?: string;
|
|
5
|
+
}
|
|
6
|
+
export interface HomiSmsI {
|
|
7
|
+
defaultEnabled?: boolean;
|
|
8
|
+
defaultSmsEnabled?: boolean;
|
|
9
|
+
sms?: string;
|
|
10
|
+
loading?: boolean;
|
|
11
|
+
onChange?: (value: HomiSmsFormI) => void;
|
|
12
|
+
onSave?: (value: HomiSmsFormI) => void;
|
|
13
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { Box, Divider, DrawerBody } from '@chakra-ui/react';
|
|
3
|
-
import { ActiveSubscription, CancelAccount, CreditCardContainer, CreditCardError, MonthlyCharge, MyProfileBody, MyProfileHeader, MyProfilePanel, NewCreditCard, NewCreditCardHeader, PaymentReceipts, RightPanel, RolePermissionsTab, TwoFactorSetting, UserDetails, } from '../../components';
|
|
3
|
+
import { ActiveSubscription, CancelAccount, CreditCardContainer, CreditCardError, HomiSms, MonthlyCharge, MyProfileBody, MyProfileHeader, MyProfilePanel, NewCreditCard, NewCreditCardHeader, PaymentReceipts, RightPanel, RolePermissionsTab, TwoFactorSetting, UserDetails, } from '../../components';
|
|
4
4
|
import { action } from '@storybook/addon-actions';
|
|
5
5
|
import { featuresSelectedMock, menuMock, receiptsMock } from '../../mocks';
|
|
6
6
|
import { useState } from 'react';
|
|
@@ -14,5 +14,5 @@ export const MyProfilePanelComponent = () => {
|
|
|
14
14
|
const handleCloseNewCreditCardPanel = () => setIsNewCreditCardPanelOpen(false);
|
|
15
15
|
const handleOpenNewCreditCardPanel = () => setIsNewCreditCardPanelOpen(true);
|
|
16
16
|
const handleError = () => setHasError(true);
|
|
17
|
-
return (_jsxs(_Fragment, { children: [_jsx(RightPanel, { isOpen: true, onClose: action('onCloseClick'), children: _jsxs(MyProfilePanel, { children: [_jsx(MyProfileHeader, { onClose: action('onCloseClick') }), _jsx(MyProfileBody, { isLoading: false, account: _jsxs(_Fragment, { children: [_jsx(ActiveSubscription, { nextCharge: "2024-12-01", subscriptionPrice: 36, totalStorage: 2, totalUsed: 1, availableStorage: 200, state: 'trial' }), _jsx(Divider, { width: "calc(100% - 26px)", mx: "auto" }), _jsx(MonthlyCharge, { additionalPrice: 36, monthlyCharge: 36, monthDate: "03/01/2023", nextCharge: "01/12/2024", taxPercentage: 8.5, taxValue: 3.06, subtotal: 36.0 }), _jsx(CancelAccount, { label: "Contact Homefile", onClick: action('onCancelAccountClick') })] }), details: _jsxs(_Fragment, { children: [_jsx(UserDetails, { email: "gary.edmunds@gmail.com", firstName: "Gary", lastName: "Edmunds", onSave: action('onSaveClick'), bg: "#4CC35A" }), _jsx(TwoFactorSetting, { email: "gary.edmunds@gmail.com", sms: "2032409108", onChange: action('on2FAChangeClick'), onSave: action('onSaveClick'), defaultValue: "email", twoFactor: 'active' })] }), payment: _jsxs(Box, { bg: "lightBlue.2", h: "inherit", children: [_jsx(CreditCardContainer, { cardNumber: "1234 5678 9012 3456", brand: "visa", onAddCard: action('onAddCard'), onDeleteCard: handleOpenNewCreditCardPanel, onSubmit: (data) => action('onDeleteCard')(data), cardHolder: "Gary Edmunds", cvv: "123", expirationMonth: "12", expirationYear: "2024" }), _jsx(PaymentReceipts, { receipts: receiptsMock, menuItems: menuMock })] }), rolePermissions: _jsx(RolePermissionsTab, { selected: featuresSelectedMock, onSelect: action('onSelect') }) })] }) }), _jsx(RightPanel, { isOpen: isNewCreditCardPanelOpen, onClose: handleCloseNewCreditCardPanel, children: _jsxs(MyProfilePanel, { children: [_jsx(MyProfileHeader, { onClose: handleCloseNewCreditCardPanel }), _jsxs(DrawerBody, { p: "0", children: [_jsx(NewCreditCardHeader, { onClick: handleCloseNewCreditCardPanel }), hasError && _jsx(CreditCardError, {}), _jsx(NewCreditCard, { hasError: hasError, onSubmit: handleError })] })] }) })] }));
|
|
17
|
+
return (_jsxs(_Fragment, { children: [_jsx(RightPanel, { isOpen: true, onClose: action('onCloseClick'), children: _jsxs(MyProfilePanel, { children: [_jsx(MyProfileHeader, { onClose: action('onCloseClick') }), _jsx(MyProfileBody, { isLoading: false, account: _jsxs(_Fragment, { children: [_jsx(ActiveSubscription, { nextCharge: "2024-12-01", subscriptionPrice: 36, totalStorage: 2, totalUsed: 1, availableStorage: 200, state: 'trial' }), _jsx(Divider, { width: "calc(100% - 26px)", mx: "auto" }), _jsx(MonthlyCharge, { additionalPrice: 36, monthlyCharge: 36, monthDate: "03/01/2023", nextCharge: "01/12/2024", taxPercentage: 8.5, taxValue: 3.06, subtotal: 36.0 }), _jsx(CancelAccount, { label: "Contact Homefile", onClick: action('onCancelAccountClick') })] }), details: _jsxs(_Fragment, { children: [_jsx(UserDetails, { email: "gary.edmunds@gmail.com", firstName: "Gary", lastName: "Edmunds", onSave: action('onSaveClick'), bg: "#4CC35A" }), _jsx(TwoFactorSetting, { email: "gary.edmunds@gmail.com", sms: "2032409108", onChange: action('on2FAChangeClick'), onSave: action('onSaveClick'), defaultValue: "email", twoFactor: 'active' }), _jsx(HomiSms, { defaultEnabled: true, defaultSmsEnabled: true, sms: "2032409108", onChange: action('onHomiSmsChange'), onSave: action('onHomiSmsSave') })] }), payment: _jsxs(Box, { bg: "lightBlue.2", h: "inherit", children: [_jsx(CreditCardContainer, { cardNumber: "1234 5678 9012 3456", brand: "visa", onAddCard: action('onAddCard'), onDeleteCard: handleOpenNewCreditCardPanel, onSubmit: (data) => action('onDeleteCard')(data), cardHolder: "Gary Edmunds", cvv: "123", expirationMonth: "12", expirationYear: "2024" }), _jsx(PaymentReceipts, { receipts: receiptsMock, menuItems: menuMock })] }), rolePermissions: _jsx(RolePermissionsTab, { selected: featuresSelectedMock, onSelect: action('onSelect') }) })] }) }), _jsx(RightPanel, { isOpen: isNewCreditCardPanelOpen, onClose: handleCloseNewCreditCardPanel, children: _jsxs(MyProfilePanel, { children: [_jsx(MyProfileHeader, { onClose: handleCloseNewCreditCardPanel }), _jsxs(DrawerBody, { p: "0", children: [_jsx(NewCreditCardHeader, { onClick: handleCloseNewCreditCardPanel }), hasError && _jsx(CreditCardError, {}), _jsx(NewCreditCard, { hasError: hasError, onSubmit: handleError })] })] }) })] }));
|
|
18
18
|
};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Meta } from '@storybook/react';
|
|
2
|
+
import { HomiSmsI } from '../../../interfaces';
|
|
3
|
+
declare const _default: Meta<HomiSmsI>;
|
|
4
|
+
export default _default;
|
|
5
|
+
export declare const HomiSmsEnabledComponent: {
|
|
6
|
+
(args: HomiSmsI): import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
args: {
|
|
8
|
+
defaultEnabled: boolean;
|
|
9
|
+
sms: string;
|
|
10
|
+
};
|
|
11
|
+
};
|
|
12
|
+
export declare const HomiSmsDisabledComponent: {
|
|
13
|
+
(args: HomiSmsI): import("react/jsx-runtime").JSX.Element;
|
|
14
|
+
args: {
|
|
15
|
+
defaultEnabled: boolean;
|
|
16
|
+
sms: string;
|
|
17
|
+
};
|
|
18
|
+
};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { Box } from '@chakra-ui/react';
|
|
3
|
+
import { action } from '@storybook/addon-actions';
|
|
4
|
+
import { HomiSms } from '../../../components';
|
|
5
|
+
export default {
|
|
6
|
+
title: 'Components/MyProfile/Details',
|
|
7
|
+
component: HomiSms,
|
|
8
|
+
args: {
|
|
9
|
+
onChange: (form) => action('onChange')(form),
|
|
10
|
+
onSave: (form) => action('onSave')(form),
|
|
11
|
+
},
|
|
12
|
+
};
|
|
13
|
+
export const HomiSmsEnabledComponent = (args) => (_jsx(Box, { w: ['full', 'md'], p: "base", children: _jsx(HomiSms, Object.assign({}, args)) }));
|
|
14
|
+
HomiSmsEnabledComponent.args = {
|
|
15
|
+
defaultEnabled: true,
|
|
16
|
+
sms: '512.806.5011',
|
|
17
|
+
};
|
|
18
|
+
export const HomiSmsDisabledComponent = (args) => (_jsx(HomiSmsEnabledComponent, Object.assign({}, args)));
|
|
19
|
+
HomiSmsDisabledComponent.args = {
|
|
20
|
+
defaultEnabled: false,
|
|
21
|
+
sms: '512.806.5011',
|
|
22
|
+
};
|
|
@@ -2,12 +2,7 @@ import { Meta } from '@storybook/react';
|
|
|
2
2
|
import { TwoFactorSettingI } from '../../../interfaces';
|
|
3
3
|
declare const _default: Meta<TwoFactorSettingI>;
|
|
4
4
|
export default _default;
|
|
5
|
-
export declare const TwoFactorActiveComponent:
|
|
6
|
-
(args: TwoFactorSettingI): import("react/jsx-runtime").JSX.Element;
|
|
7
|
-
args: {
|
|
8
|
-
twoFactor: string;
|
|
9
|
-
};
|
|
10
|
-
};
|
|
5
|
+
export declare const TwoFactorActiveComponent: (args: TwoFactorSettingI) => import("react/jsx-runtime").JSX.Element;
|
|
11
6
|
export declare const TwoFactorInactiveComponent: {
|
|
12
7
|
(args: TwoFactorSettingI): import("react/jsx-runtime").JSX.Element;
|
|
13
8
|
args: {
|
|
@@ -6,15 +6,13 @@ export default {
|
|
|
6
6
|
title: 'Components/MyProfile/Details',
|
|
7
7
|
component: TwoFactorSetting,
|
|
8
8
|
args: {
|
|
9
|
+
twoFactor: 'active',
|
|
9
10
|
onSave: (form) => action('onSave')(form),
|
|
10
11
|
},
|
|
11
12
|
};
|
|
12
13
|
export const TwoFactorActiveComponent = (args) => {
|
|
13
14
|
return (_jsx(Box, { w: ['full', 'md'], p: "base", children: _jsx(TwoFactorSetting, Object.assign({}, args)) }));
|
|
14
15
|
};
|
|
15
|
-
TwoFactorActiveComponent.args = {
|
|
16
|
-
twoFactor: 'active',
|
|
17
|
-
};
|
|
18
16
|
export const TwoFactorInactiveComponent = (args) => (_jsx(TwoFactorActiveComponent, Object.assign({}, args)));
|
|
19
17
|
TwoFactorInactiveComponent.args = {
|
|
20
18
|
twoFactor: undefined,
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { Meta } from '@storybook/react';
|
|
2
|
+
import { MortgageInfoI } from '../../interfaces';
|
|
3
|
+
declare const _default: Meta<MortgageInfoI>;
|
|
4
|
+
export default _default;
|
|
5
|
+
export declare const MortgageInfoReadOnlyComponent: (args: MortgageInfoI) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { Box } from '@chakra-ui/react';
|
|
3
|
+
import { MortgageInfoReadOnly } from '../../components';
|
|
4
|
+
import { action } from '@storybook/addon-actions';
|
|
5
|
+
export default {
|
|
6
|
+
title: 'Components/PropertyTiles',
|
|
7
|
+
component: MortgageInfoReadOnly,
|
|
8
|
+
args: {
|
|
9
|
+
onEdit: action('onEdit'),
|
|
10
|
+
form: {
|
|
11
|
+
amount: 0,
|
|
12
|
+
maturityDate: '2025-04-17T00:00:00.000Z',
|
|
13
|
+
documentDate: '2017-04-17T00:00:00.000Z',
|
|
14
|
+
estimatedMortgageBalance: 295847.12,
|
|
15
|
+
estimatedMortgagePayment: 0,
|
|
16
|
+
interestRate: 0,
|
|
17
|
+
interestRateType: '',
|
|
18
|
+
accountNumber: '123456789',
|
|
19
|
+
contactEmails: [
|
|
20
|
+
'mortgage@citimortgage.com',
|
|
21
|
+
'myaccount@citimortgage.com',
|
|
22
|
+
],
|
|
23
|
+
contactPhone: '1.800.555.1212',
|
|
24
|
+
currentBalance: 250000,
|
|
25
|
+
currentTaxEscrow: 1500,
|
|
26
|
+
interestPaid: 5000,
|
|
27
|
+
lenderAddresses: [
|
|
28
|
+
'P.O. Box 6728, Sioux Falls, SD 57117-6728.',
|
|
29
|
+
'For general claims/inquiries: P.O. Box 30509, Tampa, FL 33630.',
|
|
30
|
+
],
|
|
31
|
+
lenderLogoAlt: 'Lender Logo',
|
|
32
|
+
lenderLogoUrl: 'https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcT4YLYDeoi_0pojWfhpCsGA2CRGQ5DffOyy6A&s',
|
|
33
|
+
lenderName: 'Citi Mortgage',
|
|
34
|
+
monthsPaid: 126,
|
|
35
|
+
originalLoanAmount: 300000,
|
|
36
|
+
paymentDue: 1500,
|
|
37
|
+
principalPaid: 20000,
|
|
38
|
+
rate: 2.1,
|
|
39
|
+
term: '30 Year Fixed',
|
|
40
|
+
},
|
|
41
|
+
},
|
|
42
|
+
};
|
|
43
|
+
export const MortgageInfoReadOnlyComponent = (args) => {
|
|
44
|
+
return (_jsx(Box, { w: ['full', '460px'], p: "base", children: _jsx(MortgageInfoReadOnly, Object.assign({}, args)) }));
|
|
45
|
+
};
|