@homefile/components-v2 2.43.1 → 2.44.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/dist/components/appliances/AppliancesReceived.d.ts +2 -0
  2. package/dist/components/appliances/AppliancesReceived.js +12 -0
  3. package/dist/components/appliances/AssignableApplianceCard.js +2 -20
  4. package/dist/components/appliances/index.d.ts +1 -0
  5. package/dist/components/appliances/index.js +1 -0
  6. package/dist/components/appliances/received/ApplianceCards.d.ts +3 -0
  7. package/dist/components/appliances/received/ApplianceCards.js +17 -0
  8. package/dist/components/appliances/received/AppliancesDisplay.d.ts +2 -0
  9. package/dist/components/appliances/received/AppliancesDisplay.js +8 -0
  10. package/dist/components/appliances/received/AppliancesReceivedFilters.d.ts +2 -0
  11. package/dist/components/appliances/received/AppliancesReceivedFilters.js +6 -0
  12. package/dist/components/appliances/received/AppliancesWrapper.d.ts +2 -0
  13. package/dist/components/appliances/received/AppliancesWrapper.js +7 -0
  14. package/dist/helpers/appliances/applianceIcons.d.ts +2 -0
  15. package/dist/helpers/appliances/applianceIcons.js +22 -0
  16. package/dist/helpers/appliances/index.d.ts +1 -0
  17. package/dist/helpers/appliances/index.js +1 -0
  18. package/dist/helpers/index.d.ts +1 -0
  19. package/dist/helpers/index.js +1 -0
  20. package/dist/index.d.ts +1 -1
  21. package/dist/index.js +1 -1
  22. package/dist/interfaces/appliances/AppliancesReceived.interface.d.ts +16 -0
  23. package/dist/interfaces/appliances/AppliancesReceived.interface.js +1 -0
  24. package/dist/interfaces/appliances/AssignableAppliances.interface.d.ts +1 -2
  25. package/dist/interfaces/appliances/index.d.ts +2 -0
  26. package/dist/interfaces/appliances/index.js +2 -0
  27. package/dist/interfaces/appliances/received/ApplianceCards.interface.d.ts +5 -0
  28. package/dist/interfaces/appliances/received/ApplianceCards.interface.js +1 -0
  29. package/dist/interfaces/appliances/received/AppliancesDisplay.interface.d.ts +7 -0
  30. package/dist/interfaces/appliances/received/AppliancesDisplay.interface.js +1 -0
  31. package/dist/interfaces/appliances/received/AppliancesReceivedFilters.interface.d.ts +11 -0
  32. package/dist/interfaces/appliances/received/AppliancesReceivedFilters.interface.js +1 -0
  33. package/dist/interfaces/appliances/received/AppliancesWrapper.interface.d.ts +6 -0
  34. package/dist/interfaces/appliances/received/AppliancesWrapper.interface.js +1 -0
  35. package/dist/interfaces/appliances/received/index.d.ts +4 -0
  36. package/dist/interfaces/appliances/received/index.js +4 -0
  37. package/dist/mocks/appliances/appliancesReceived.mock.d.ts +7 -0
  38. package/dist/mocks/appliances/appliancesReceived.mock.js +58 -0
  39. package/dist/mocks/appliances/index.d.ts +1 -0
  40. package/dist/mocks/appliances/index.js +1 -0
  41. package/dist/mocks/index.d.ts +1 -0
  42. package/dist/mocks/index.js +1 -0
  43. package/dist/stories/appliances/AppliancesReceived.stories.d.ts +5 -0
  44. package/dist/stories/appliances/AppliancesReceived.stories.js +17 -0
  45. package/dist/stories/appliances/AssignableAppliances.stories.js +2 -31
  46. package/dist/utils/appliances/appliancesReceived.utils.d.ts +4 -0
  47. package/dist/utils/appliances/appliancesReceived.utils.js +11 -0
  48. package/dist/utils/appliances/index.d.ts +1 -0
  49. package/dist/utils/appliances/index.js +1 -0
  50. package/dist/utils/index.d.ts +1 -0
  51. package/dist/utils/index.js +1 -0
  52. package/package.json +1 -1
@@ -0,0 +1,2 @@
1
+ import { AppliancesReceivedI } from '../../interfaces';
2
+ export declare const AppliancesReceived: ({ appliances, displayType, onApplianceClick, onClose, onDisplayChange, onSearchChange, onSortChange, searchValue, sortInitialValue, sortOptions, title, totalShowing, }: AppliancesReceivedI) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,12 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { DrawerBody, DrawerContent, DrawerHeader, Stack, } from '@chakra-ui/react';
3
+ import { CookTop } from '../../assets/images/appliances';
4
+ import { PanelHeader } from '../../components';
5
+ import { AppliancesDisplay } from './received/AppliancesDisplay';
6
+ import { AppliancesReceivedFilters } from './received/AppliancesReceivedFilters';
7
+ import { DEFAULT_SORT_LABEL, resolveTitle, } from '../../utils';
8
+ export const AppliancesReceived = ({ appliances, displayType = 'grid', onApplianceClick, onClose, onDisplayChange, onSearchChange, onSortChange, searchValue, sortInitialValue = DEFAULT_SORT_LABEL, sortOptions, title, totalShowing, }) => {
9
+ const resolvedTitle = resolveTitle(title, appliances.length);
10
+ const showingCount = totalShowing !== null && totalShowing !== void 0 ? totalShowing : appliances.length;
11
+ return (_jsxs(DrawerContent, { bg: "lightBlue.1", children: [_jsx(DrawerHeader, { p: "0", children: _jsx(PanelHeader, { handleCloseButton: onClose, title: resolvedTitle, icon: CookTop }) }), _jsx(DrawerBody, { p: "0", children: _jsxs(Stack, { spacing: "base", children: [_jsx(AppliancesReceivedFilters, { displayType: displayType, onDisplayChange: onDisplayChange, onSearchChange: onSearchChange, onSortChange: onSortChange, searchValue: searchValue, sortInitialValue: sortInitialValue, sortOptions: sortOptions }), _jsx(AppliancesDisplay, { appliances: appliances, displayType: displayType, totalShowing: showingCount, onApplianceClick: onApplianceClick })] }) })] }));
12
+ };
@@ -1,26 +1,8 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { Box, Checkbox, Flex, Image, Stack, Text } from '@chakra-ui/react';
3
- import { CookTop, Dishwasher, Dryer, Freezer, Fridge, Hood, Microwave, Oven, Range, Washer, tankWater, tanklessWater, } from '../../assets/images/appliances';
4
- const applianceIcons = {
5
- 'cook-top': CookTop,
6
- dishwasher: Dishwasher,
7
- 'dish-washer': Dishwasher,
8
- dryer: Dryer,
9
- freezer: Freezer,
10
- fridge: Fridge,
11
- hood: Hood,
12
- microwave: Microwave,
13
- oven: Oven,
14
- range: Range,
15
- washer: Washer,
16
- 'tank-water': tankWater,
17
- 'tankless-water': tanklessWater,
18
- };
19
- const normalizeApplianceType = (type) => type.trim().toLowerCase().replace(/\s+/g, '-');
3
+ import { getApplianceIcon } from '../../helpers';
20
4
  export const AssignableApplianceCard = ({ isChecked, onChange, serialNumber, name, type, brand, }) => {
21
- var _a;
22
- const normalizedType = normalizeApplianceType(type);
23
- const applianceIcon = (_a = applianceIcons[normalizedType]) !== null && _a !== void 0 ? _a : Fridge;
5
+ const applianceIcon = getApplianceIcon(type);
24
6
  const displayName = name || type;
25
7
  return (_jsxs(Flex, { bg: "lightBlue.2", gap: "4", borderTop: "1px solid", borderColor: "lightBlue.2", children: [_jsx(Checkbox, { isChecked: isChecked, onChange: onChange }), _jsx(Stack, { w: "100%", p: "base", bg: isChecked ? 'lightBlue.1' : 'neutral.white', spacing: "1", children: _jsxs(Flex, { align: "center", gap: "base", children: [_jsx(Box, { bg: "lightBlue.1", w: "14", h: "14", display: "flex", alignItems: "center", justifyContent: "center", children: _jsx(Image, { src: applianceIcon, w: "10", h: "10", fit: "contain" }) }), _jsxs(Box, { children: [_jsx(Text, { fontSize: "xxs", children: serialNumber }), _jsx(Text, { children: brand }), _jsx(Text, { children: displayName })] })] }) })] }));
26
8
  };
@@ -2,3 +2,4 @@ export * from './LaunchpadApplianceAutofiler';
2
2
  export * from './AssignableApplianceCard';
3
3
  export * from './AssignableAppliances';
4
4
  export * from './LaunchpadAppliancePanel';
5
+ export * from './AppliancesReceived';
@@ -2,3 +2,4 @@ export * from './LaunchpadApplianceAutofiler';
2
2
  export * from './AssignableApplianceCard';
3
3
  export * from './AssignableAppliances';
4
4
  export * from './LaunchpadAppliancePanel';
5
+ export * from './AppliancesReceived';
@@ -0,0 +1,3 @@
1
+ import { ApplianceCardI } from '../../../interfaces';
2
+ export declare const GridApplianceCard: ({ appliance, onClick }: ApplianceCardI) => import("react/jsx-runtime").JSX.Element;
3
+ export declare const ListApplianceCard: ({ appliance, onClick }: ApplianceCardI) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,17 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Box, Flex, Image, Stack, Text } from '@chakra-ui/react';
3
+ import { getApplianceIcon } from '../../../helpers';
4
+ export const GridApplianceCard = ({ appliance, onClick }) => {
5
+ const { brand, name, type } = appliance;
6
+ const displayName = (name === null || name === void 0 ? void 0 : name.trim()) ? name : type;
7
+ const applianceIcon = getApplianceIcon(type);
8
+ const handleClick = () => onClick === null || onClick === void 0 ? void 0 : onClick(appliance);
9
+ return (_jsxs(Flex, { align: "center", direction: "column", gap: "1", bg: "neutral.white", border: "1px solid", borderColor: "lightBlue.1", boxShadow: "sm", borderRadius: "0", p: "base", w: "100%", onClick: handleClick, cursor: onClick ? 'pointer' : 'default', children: [_jsx(Text, { fontSize: "xxs", color: "gray.3", textAlign: "center", children: brand }), _jsx(Box, { bg: "lightBlue.1", w: "14", h: "14", display: "flex", alignItems: "center", justifyContent: "center", children: _jsx(Image, { src: applianceIcon, w: "10", h: "10", fit: "contain" }) }), _jsx(Text, { fontSize: "xxs", textTransform: "uppercase", textAlign: "center", children: displayName })] }));
10
+ };
11
+ export const ListApplianceCard = ({ appliance, onClick }) => {
12
+ const { brand, name, type } = appliance;
13
+ const displayName = (name === null || name === void 0 ? void 0 : name.trim()) ? name : type;
14
+ const applianceIcon = getApplianceIcon(type);
15
+ const handleClick = () => onClick === null || onClick === void 0 ? void 0 : onClick(appliance);
16
+ return (_jsxs(Flex, { align: "center", direction: "row", gap: "base", bg: "neutral.white", border: "1px solid", borderColor: "lightBlue.1", boxShadow: "sm", p: "base", w: "100%", onClick: handleClick, cursor: onClick ? 'pointer' : 'default', children: [_jsx(Box, { bg: "lightBlue.1", w: "14", h: "14", display: "flex", alignItems: "center", justifyContent: "center", children: _jsx(Image, { src: applianceIcon, w: "10", h: "10", fit: "contain" }) }), _jsxs(Stack, { spacing: "1", align: "flex-start", children: [_jsx(Text, { fontSize: "xxs", color: "gray.3", children: brand }), _jsx(Text, { fontSize: "xxs", textTransform: "uppercase", children: displayName })] })] }));
17
+ };
@@ -0,0 +1,2 @@
1
+ import { AppliancesDisplayI } from '../../../interfaces';
2
+ export declare const AppliancesDisplay: ({ appliances, displayType, totalShowing, onApplianceClick, }: AppliancesDisplayI) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,8 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { SimpleGrid, Stack } from '@chakra-ui/react';
3
+ import { AppliancesWrapper } from './AppliancesWrapper';
4
+ import { GridApplianceCard, ListApplianceCard } from './ApplianceCards';
5
+ export const AppliancesDisplay = ({ appliances, displayType, totalShowing, onApplianceClick, }) => {
6
+ const totalItems = appliances.length;
7
+ return (_jsx(AppliancesWrapper, { totalItems: totalItems, totalShowing: totalShowing, children: displayType === 'list' ? (_jsx(Stack, { spacing: "1", children: appliances.map((appliance) => (_jsx(ListApplianceCard, { appliance: appliance, onClick: onApplianceClick }, appliance._id))) })) : (_jsx(SimpleGrid, { columns: { base: 2, sm: 3, md: 4 }, spacing: "base", children: appliances.map((appliance) => (_jsx(GridApplianceCard, { appliance: appliance, onClick: onApplianceClick }, appliance._id))) })) }));
8
+ };
@@ -0,0 +1,2 @@
1
+ import { AppliancesReceivedFiltersI } from '../../../interfaces';
2
+ export declare const AppliancesReceivedFilters: ({ displayType, onDisplayChange, onSearchChange, onSortChange, searchValue, sortInitialValue, sortOptions, }: AppliancesReceivedFiltersI) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,6 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Flex } from '@chakra-ui/react';
3
+ import { DisplayOptionsButtons, SearchInput, SelectInput } from '../../../components';
4
+ export const AppliancesReceivedFilters = ({ displayType, onDisplayChange, onSearchChange, onSortChange, searchValue, sortInitialValue, sortOptions, }) => {
5
+ return (_jsxs(Flex, { align: "center", justify: "space-between", gap: "base", p: "base", w: "100%", bg: "lightBlue.2", children: [_jsxs(Flex, { gap: "base", children: [_jsx(SelectInput, { handleClick: onSortChange, height: "sm", initialValue: sortInitialValue, items: sortOptions, width: "10rem" }), _jsx(SearchInput, { size: "sm", onChange: onSearchChange, value: searchValue, bg: "lightBlue.1", w: "12rem" })] }), _jsx(DisplayOptionsButtons, { displays: ['grid', 'list'], initialDisplay: displayType, onDisplayClick: onDisplayChange })] }));
6
+ };
@@ -0,0 +1,2 @@
1
+ import { AppliancesWrapperI } from '../../../interfaces';
2
+ export declare const AppliancesWrapper: ({ children, totalItems, totalShowing, }: AppliancesWrapperI) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,7 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Stack, Text } from '@chakra-ui/react';
3
+ import { getShowingLabel } from '../../../utils';
4
+ export const AppliancesWrapper = ({ children, totalItems, totalShowing, }) => {
5
+ const showingLabel = getShowingLabel(totalShowing, totalItems);
6
+ return (_jsxs(Stack, { px: "base", spacing: "base", pb: "base", children: [_jsx(Text, { variant: "home", children: showingLabel }), children] }));
7
+ };
@@ -0,0 +1,2 @@
1
+ export declare const normalizeApplianceType: (type: string) => string;
2
+ export declare const getApplianceIcon: (type: string) => string;
@@ -0,0 +1,22 @@
1
+ import { CookTop, Dishwasher, Dryer, Freezer, Fridge, Hood, Microwave, Oven, Range, Washer, tankWater, tanklessWater, } from '../../assets/images/appliances';
2
+ const applianceIcons = {
3
+ 'cook-top': CookTop,
4
+ dishwasher: Dishwasher,
5
+ 'dish-washer': Dishwasher,
6
+ dryer: Dryer,
7
+ freezer: Freezer,
8
+ fridge: Fridge,
9
+ hood: Hood,
10
+ microwave: Microwave,
11
+ oven: Oven,
12
+ range: Range,
13
+ washer: Washer,
14
+ 'tank-water': tankWater,
15
+ 'tankless-water': tanklessWater,
16
+ };
17
+ export const normalizeApplianceType = (type) => type.trim().toLowerCase().replace(/\s+/g, '-');
18
+ export const getApplianceIcon = (type) => {
19
+ var _a;
20
+ const normalizedType = normalizeApplianceType(type);
21
+ return (_a = applianceIcons[normalizedType]) !== null && _a !== void 0 ? _a : Fridge;
22
+ };
@@ -0,0 +1 @@
1
+ export * from './applianceIcons';
@@ -0,0 +1 @@
1
+ export * from './applianceIcons';
@@ -23,3 +23,4 @@ export * from './SignUp.helper';
23
23
  export * from './tour';
24
24
  export * from './HomeRoles.helper';
25
25
  export * from './wizard/optionsStyles';
26
+ export * from './appliances';
@@ -23,3 +23,4 @@ export * from './SignUp.helper';
23
23
  export * from './tour';
24
24
  export * from './HomeRoles.helper';
25
25
  export * from './wizard/optionsStyles';
26
+ export * from './appliances';
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, HomiSms, InboxForwardBanner, InboxTile, ItemFormPanel, ItemFormTabs, ItemNameHeader, ItemsReviewBanner, ItemSubTypeSelect, Launchpad, LaunchpadApplianceAutofiler, LaunchpadAppliancePanel, 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, TwoFactorDialog, 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, AppliancesReceived, 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, HomiSms, InboxForwardBanner, InboxTile, ItemFormPanel, ItemFormTabs, ItemNameHeader, ItemsReviewBanner, ItemSubTypeSelect, Launchpad, LaunchpadApplianceAutofiler, LaunchpadAppliancePanel, 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, TwoFactorDialog, 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, HomiSms, InboxForwardBanner, InboxTile, ItemFormPanel, ItemFormTabs, ItemNameHeader, ItemsReviewBanner, ItemSubTypeSelect, Launchpad, LaunchpadApplianceAutofiler, LaunchpadAppliancePanel, 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, TwoFactorDialog, 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, AppliancesReceived, 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, HomiSms, InboxForwardBanner, InboxTile, ItemFormPanel, ItemFormTabs, ItemNameHeader, ItemsReviewBanner, ItemSubTypeSelect, Launchpad, LaunchpadApplianceAutofiler, LaunchpadAppliancePanel, 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, TwoFactorDialog, 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';
@@ -0,0 +1,16 @@
1
+ import { ChangeEvent } from 'react';
2
+ import { ApplianceDetailsI, DisplayOptionsType, SelectItemI } from '../../interfaces';
3
+ export interface AppliancesReceivedI {
4
+ appliances: ApplianceDetailsI[];
5
+ displayType?: DisplayOptionsType;
6
+ onApplianceClick?: (appliance: ApplianceDetailsI) => void;
7
+ onClose: () => void;
8
+ onDisplayChange: (type: DisplayOptionsType) => void;
9
+ onSearchChange: (e: ChangeEvent<HTMLInputElement>) => void;
10
+ onSortChange: (value: SelectItemI | string) => void;
11
+ searchValue: string;
12
+ sortInitialValue?: string;
13
+ sortOptions: SelectItemI[] | string[];
14
+ title?: string;
15
+ totalShowing?: number;
16
+ }
@@ -1,5 +1,4 @@
1
- import { SelectItemI } from '../../interfaces';
2
- import { ApplianceDetailsI } from './AssignableApplianceCard.interface';
1
+ import { SelectItemI, ApplianceDetailsI } from '../../interfaces';
3
2
  export interface AssignableAppliancesI {
4
3
  isSelectDisabled?: boolean;
5
4
  onItemSelectedChange: (_ids: string[]) => void;
@@ -2,3 +2,5 @@ export * from './LaunchpadApplianceAutofiler.interface';
2
2
  export * from './AssignableApplianceCard.interface';
3
3
  export * from './AssignableAppliances.interface';
4
4
  export * from './LaunchpadAppliancePanel.interface';
5
+ export * from './AppliancesReceived.interface';
6
+ export * from './received';
@@ -2,3 +2,5 @@ export * from './LaunchpadApplianceAutofiler.interface';
2
2
  export * from './AssignableApplianceCard.interface';
3
3
  export * from './AssignableAppliances.interface';
4
4
  export * from './LaunchpadAppliancePanel.interface';
5
+ export * from './AppliancesReceived.interface';
6
+ export * from './received';
@@ -0,0 +1,5 @@
1
+ import { ApplianceDetailsI } from '../../../interfaces';
2
+ export interface ApplianceCardI {
3
+ appliance: ApplianceDetailsI;
4
+ onClick?: (appliance: ApplianceDetailsI) => void;
5
+ }
@@ -0,0 +1,7 @@
1
+ import { ApplianceDetailsI, DisplayOptionsType } from '../../../interfaces';
2
+ export interface AppliancesDisplayI {
3
+ appliances: ApplianceDetailsI[];
4
+ displayType: DisplayOptionsType;
5
+ totalShowing: number;
6
+ onApplianceClick?: (appliance: ApplianceDetailsI) => void;
7
+ }
@@ -0,0 +1,11 @@
1
+ import { ChangeEvent } from 'react';
2
+ import { DisplayOptionsType, SelectItemI } from '../../../interfaces';
3
+ export interface AppliancesReceivedFiltersI {
4
+ displayType: DisplayOptionsType;
5
+ onDisplayChange: (type: DisplayOptionsType) => void;
6
+ onSearchChange: (e: ChangeEvent<HTMLInputElement>) => void;
7
+ onSortChange: (value: SelectItemI | string) => void;
8
+ searchValue: string;
9
+ sortInitialValue: string;
10
+ sortOptions: SelectItemI[] | string[];
11
+ }
@@ -0,0 +1,6 @@
1
+ import { ReactNode } from 'react';
2
+ export interface AppliancesWrapperI {
3
+ children: ReactNode;
4
+ totalItems: number;
5
+ totalShowing: number;
6
+ }
@@ -0,0 +1,4 @@
1
+ export * from './AppliancesReceivedFilters.interface';
2
+ export * from './AppliancesWrapper.interface';
3
+ export * from './ApplianceCards.interface';
4
+ export * from './AppliancesDisplay.interface';
@@ -0,0 +1,4 @@
1
+ export * from './AppliancesReceivedFilters.interface';
2
+ export * from './AppliancesWrapper.interface';
3
+ export * from './ApplianceCards.interface';
4
+ export * from './AppliancesDisplay.interface';
@@ -0,0 +1,7 @@
1
+ export declare const appliancesReceivedMock: {
2
+ _id: string;
3
+ serialNumber: string;
4
+ name: string;
5
+ type: string;
6
+ brand: string;
7
+ }[];
@@ -0,0 +1,58 @@
1
+ export const appliancesReceivedMock = [
2
+ {
3
+ _id: 'appliance-1',
4
+ serialNumber: 'SN-49201-XY',
5
+ name: 'Fridge',
6
+ type: 'fridge',
7
+ brand: 'Kenmore',
8
+ },
9
+ {
10
+ _id: 'appliance-2',
11
+ serialNumber: 'SN-88310-ZZ',
12
+ name: 'Cook Top',
13
+ type: 'cook-top',
14
+ brand: 'Kitchen Aid',
15
+ },
16
+ {
17
+ _id: 'appliance-3',
18
+ serialNumber: 'SN-22490-AA',
19
+ name: 'Washer',
20
+ type: 'washer',
21
+ brand: 'Kenmore',
22
+ },
23
+ {
24
+ _id: 'appliance-4',
25
+ serialNumber: 'SN-77102-BB',
26
+ name: 'Dryer',
27
+ type: 'dryer',
28
+ brand: 'Kenmore',
29
+ },
30
+ {
31
+ _id: 'appliance-5',
32
+ serialNumber: 'SN-19021-CC',
33
+ name: 'Fridge',
34
+ type: 'fridge',
35
+ brand: 'Kenmore',
36
+ },
37
+ {
38
+ _id: 'appliance-6',
39
+ serialNumber: 'SN-18233-DD',
40
+ name: 'Cook Top',
41
+ type: 'cook-top',
42
+ brand: 'Kitchen Aid',
43
+ },
44
+ {
45
+ _id: 'appliance-7',
46
+ serialNumber: 'SN-55421-EE',
47
+ name: 'Washer',
48
+ type: 'washer',
49
+ brand: 'Kenmore',
50
+ },
51
+ {
52
+ _id: 'appliance-8',
53
+ serialNumber: 'SN-33221-FF',
54
+ name: 'Dryer',
55
+ type: 'dryer',
56
+ brand: 'Kenmore',
57
+ },
58
+ ];
@@ -0,0 +1 @@
1
+ export * from './appliancesReceived.mock';
@@ -0,0 +1 @@
1
+ export * from './appliancesReceived.mock';
@@ -1,4 +1,5 @@
1
1
  export * from './appBar/user.mock';
2
+ export * from './appliances';
2
3
  export * from './contacts';
3
4
  export * from './folderPanel';
4
5
  export * from './forms';
@@ -1,4 +1,5 @@
1
1
  export * from './appBar/user.mock';
2
+ export * from './appliances';
2
3
  export * from './contacts';
3
4
  export * from './folderPanel';
4
5
  export * from './forms';
@@ -0,0 +1,5 @@
1
+ import { Meta } from '@storybook/react';
2
+ import { AppliancesReceivedI } from '../../interfaces';
3
+ declare const _default: Meta<AppliancesReceivedI>;
4
+ export default _default;
5
+ export declare const AppliancesReceivedPanel: () => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,17 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useState } from 'react';
3
+ import { RightPanel, AppliancesReceived } from '../../components';
4
+ import { action } from '@storybook/addon-actions';
5
+ import { appliancesReceivedMock } from '../../mocks';
6
+ export default {
7
+ title: 'Components/Appliances',
8
+ component: AppliancesReceived,
9
+ };
10
+ const sortOptions = ['By Date', 'By Brand', 'By Type'];
11
+ export const AppliancesReceivedPanel = () => {
12
+ const [searchValue, setSearchValue] = useState('');
13
+ const [displayType, setDisplayType] = useState('grid');
14
+ const handleSearchChange = (e) => setSearchValue(e.target.value);
15
+ const handleDisplayChange = (type) => setDisplayType(type);
16
+ return (_jsx(RightPanel, { isOpen: true, onClose: () => null, children: _jsx(AppliancesReceived, { appliances: appliancesReceivedMock, displayType: displayType, onApplianceClick: action('onApplianceClick'), onClose: action('onClose'), onDisplayChange: handleDisplayChange, onSearchChange: handleSearchChange, onSortChange: action('onSortChange'), searchValue: searchValue, sortOptions: sortOptions, totalShowing: 37 }) }));
17
+ };
@@ -1,47 +1,18 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { Box } from '@chakra-ui/react';
3
3
  import { AssignableAppliances } from '../../components';
4
+ import { appliancesReceivedMock } from '../../mocks';
4
5
  import { action } from '@storybook/addon-actions';
5
6
  export default {
6
7
  title: 'Components/Appliances',
7
8
  component: AssignableAppliances,
8
9
  };
9
- const appliancesMock = [
10
- {
11
- _id: 'appliance-1',
12
- serialNumber: 'SN-49201-XY',
13
- name: 'Washer',
14
- type: 'washer',
15
- brand: 'Kenmore',
16
- },
17
- {
18
- _id: 'appliance-2',
19
- serialNumber: 'SN-88310-ZZ',
20
- name: 'Dryer',
21
- type: 'dryer',
22
- brand: 'Kenmore',
23
- },
24
- {
25
- _id: 'appliance-3',
26
- serialNumber: 'SN-22490-AA',
27
- name: 'Dishwasher',
28
- type: 'dish-washer',
29
- brand: 'Whirlpool',
30
- },
31
- {
32
- _id: 'appliance-4',
33
- serialNumber: 'SN-77102-BB',
34
- name: 'Fridge',
35
- type: 'fridge',
36
- brand: 'GE',
37
- },
38
- ];
39
10
  export const AssignableAppliancesComponent = (args) => {
40
11
  return (_jsx(Box, { width: ['full', '500px'], p: "base", children: _jsx(AssignableAppliances, Object.assign({}, args)) }));
41
12
  };
42
13
  AssignableAppliancesComponent.args = {
43
14
  isSelectDisabled: false,
44
- appliances: appliancesMock,
15
+ appliances: appliancesReceivedMock,
45
16
  homes: ['Matts Home', 'Austin Rental', 'Beach House'],
46
17
  onItemSelectedChange: action('onItemSelectedChange'),
47
18
  onHomeChange: action('onHomeChange'),
@@ -0,0 +1,4 @@
1
+ export declare const DEFAULT_SORT_LABEL = "By Date";
2
+ export declare const DEFAULT_TITLE = "Appliances Received";
3
+ export declare const resolveTitle: (title: string | undefined, total: number) => string;
4
+ export declare const getShowingLabel: (totalShowing: number, totalItems: number) => string;
@@ -0,0 +1,11 @@
1
+ import { pluralize } from '../../utils';
2
+ export const DEFAULT_SORT_LABEL = 'By Date';
3
+ export const DEFAULT_TITLE = 'Appliances Received';
4
+ export const resolveTitle = (title, total) => title !== null && title !== void 0 ? title : `${DEFAULT_TITLE} (${total})`;
5
+ export const getShowingLabel = (totalShowing, totalItems) => {
6
+ const safeShowing = Math.min(totalShowing, totalItems);
7
+ const rangeStart = totalItems === 0 ? 0 : 1;
8
+ const rangeText = `${rangeStart}-${safeShowing}`;
9
+ const itemLabel = pluralize(totalItems, 'Appliance');
10
+ return `Showing ${rangeText} of ${totalItems} ${itemLabel}`;
11
+ };
@@ -0,0 +1 @@
1
+ export * from './appliancesReceived.utils';
@@ -0,0 +1 @@
1
+ export * from './appliancesReceived.utils';
@@ -16,3 +16,4 @@ export * from './Styles.utils';
16
16
  export * from './Validations.utils';
17
17
  export * from './ViewPort.utils';
18
18
  export * from './Weather.utils';
19
+ export * from './appliances';
@@ -16,3 +16,4 @@ export * from './Styles.utils';
16
16
  export * from './Validations.utils';
17
17
  export * from './ViewPort.utils';
18
18
  export * from './Weather.utils';
19
+ export * from './appliances';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@homefile/components-v2",
3
- "version": "2.43.1",
3
+ "version": "2.44.0",
4
4
  "author": "Homefile",
5
5
  "license": "UNLICENSED",
6
6
  "typings": "dist/index.d.ts",