@homefile/components-v2 1.0.7 → 1.0.9

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.
@@ -1,2 +1,2 @@
1
1
  import { InputI } from '../../interfaces';
2
- export declare const PasswordInput: ({ errorMessage, id, handleChange, hasError, placeholder, value, }: InputI) => import("react/jsx-runtime").JSX.Element;
2
+ export declare const PasswordInput: ({ errorMessage, id, handleChange, hasError, placeholder, value, ...props }: InputI) => import("react/jsx-runtime").JSX.Element;
@@ -1,12 +1,24 @@
1
+ var __rest = (this && this.__rest) || function (s, e) {
2
+ var t = {};
3
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
4
+ t[p] = s[p];
5
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
6
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
7
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
8
+ t[p[i]] = s[p[i]];
9
+ }
10
+ return t;
11
+ };
1
12
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
13
  import { useState } from 'react';
3
14
  import { InputGroup, Input, InputRightElement, IconButton, FormControl, Text, } from '@chakra-ui/react';
4
15
  import { Eye, EyeOff } from '..';
5
- export const PasswordInput = ({ errorMessage, id, handleChange, hasError, placeholder, value = '', }) => {
16
+ export const PasswordInput = (_a) => {
17
+ var { errorMessage, id, handleChange, hasError, placeholder, value = '' } = _a, props = __rest(_a, ["errorMessage", "id", "handleChange", "hasError", "placeholder", "value"]);
6
18
  const [show, setShow] = useState(false);
7
19
  const handleClick = () => setShow(!show);
8
20
  const ViewIcon = show ? _jsx(Eye, { size: 20 }) : _jsx(EyeOff, { size: 20 });
9
- return (_jsxs(FormControl, { isInvalid: hasError, children: [_jsxs(InputGroup, { children: [_jsx(Input, { autoComplete: "current-password", autoCapitalize: "none", autoCorrect: "off", id: id, placeholder: placeholder, type: show ? 'text' : 'password', value: value, onChange: handleChange }), _jsx(InputRightElement, { width: "3rem", children: _jsx(IconButton, { variant: "icon", "aria-label": "Enter password", icon: ViewIcon, onClick: handleClick, _hover: {
21
+ return (_jsxs(FormControl, { isInvalid: hasError, children: [_jsxs(InputGroup, { children: [_jsx(Input, Object.assign({ autoCapitalize: "none", autoCorrect: "off", id: id, placeholder: placeholder, type: show ? 'text' : 'password', value: value, onChange: handleChange }, props)), _jsx(InputRightElement, { width: "3rem", children: _jsx(IconButton, { variant: "icon", "aria-label": "Enter password", icon: ViewIcon, onClick: handleClick, _hover: {
10
22
  svg: {
11
23
  fill: 'blue.3',
12
24
  },
@@ -15,12 +15,12 @@ import { isEmptyField } from '../../../utils';
15
15
  import { useSignIn } from '../../../hooks';
16
16
  export const SignIn = ({ isLoading, handleForgotPassword, handleSignIn, handleSignUp, loginError, values = { email: '', password: '' }, }) => {
17
17
  const { inputs, handleInputChange, isValidated, setIsValidated } = useSignIn(values);
18
- return (_jsxs(Box, { w: "container.full", mt: "onboarding.top", zIndex: "2", position: "relative", children: [_jsxs(Container, { size: "onboarding", boxShadow: "lg", children: [_jsx(Logo, {}), _jsx(PageTitle, { title: t('signin.title') }), _jsx(Box, { px: ['container.sm', 'container.md', 'container.lg'], mb: 6, children: _jsxs(Stack, { spacing: 8, children: [_jsxs(Stack, { spacing: "base", as: "form", children: [_jsx(TextInput, { autoCapitalize: "none", autoCorrect: "off", errorMessage: loginError
18
+ return (_jsxs(Box, { w: "container.full", mt: "onboarding.top", zIndex: "2", position: "relative", children: [_jsxs(Container, { size: "onboarding", boxShadow: "lg", children: [_jsx(Logo, {}), _jsx(PageTitle, { title: t('signin.title') }), _jsx(Box, { px: ['container.sm', 'container.md', 'container.lg'], mb: 6, children: _jsxs(Stack, { spacing: 8, children: [_jsxs(Stack, { spacing: "base", as: "form", children: [_jsx(TextInput, { autoCapitalize: "none", autoCorrect: "off", autoComplete: "username", errorMessage: loginError
19
19
  ? t('forms.errorLogin')
20
20
  : t('forms.email') + ' ' + t('forms.required'), hasError: isValidated && (loginError || isEmptyField(inputs.email)), id: "email", placeholder: t('forms.email'), value: values.email || inputs.email, handleChange: (event) => {
21
21
  values.email = event.target.value;
22
22
  handleInputChange(event);
23
- } }), _jsx(PasswordInput, { errorMessage: loginError
23
+ } }), _jsx(PasswordInput, { autoComplete: "current-password", errorMessage: loginError
24
24
  ? t('forms.errorLogin')
25
25
  : t('forms.password') + ' ' + t('forms.required'), hasError: isValidated && (loginError || isEmptyField(inputs.password)), id: "password", placeholder: t('forms.password'), value: values.password || inputs.password, handleChange: (event) => {
26
26
  values.password = event.target.value;
@@ -17,10 +17,10 @@ export const SignUp = ({ isLoading, handleCreateAccount, handleSignIn, showPromo
17
17
  handleCreateAccount,
18
18
  values,
19
19
  });
20
- return (_jsxs(Box, { w: "container.full", mt: "onboarding.top", zIndex: "2", position: "relative", children: [_jsxs(Container, { size: "onboarding", boxShadow: "lg", children: [_jsx(Logo, {}), _jsx(PageTitle, { title: t('signup.title') }), _jsx(Box, { px: ['container.sm', 'container.md', 'container.lg'], mb: 6, children: _jsxs(Stack, { spacing: "input.sm", children: [_jsx(TextInput, { errorMessage: t('forms.firstName') + ' ' + t('forms.required'), hasError: isValidated && isEmptyField(inputs.firstName), id: "firstName", placeholder: t('forms.firstName'), value: inputs.firstName, handleChange: handleInputChange }), _jsx(TextInput, { errorMessage: t('forms.lastName') + ' ' + t('forms.required'), hasError: isValidated && isEmptyField(inputs.lastName), id: "lastName", placeholder: t('forms.lastName'), value: inputs.lastName, handleChange: handleInputChange }), _jsx(TextInput, { autoCapitalize: "none", autoCorrect: "off", errorMessage: t('forms.email') + ' ' + t('forms.required'), hasError: isValidated &&
21
- (isEmptyField(inputs.email) || !isValidEmail(inputs.email)), id: "email", placeholder: t('forms.email'), value: inputs.email, handleChange: handleInputChange }), showPromoCode && (_jsx(TextInput, { autoCapitalize: "none", autoCorrect: "off", id: "promoCode", placeholder: t('forms.promoCode'), value: (_a = inputs.promoCode) !== null && _a !== void 0 ? _a : '', handleChange: handleInputChange })), _jsx(Text, { textAlign: "center", variant: "caption", children: t('signup.subtitle') }), _jsx(PasswordInput, { errorMessage: passwordErrorMessage(values.password), hasError: isValidated &&
20
+ return (_jsxs(Box, { w: "container.full", mt: "onboarding.top", zIndex: "2", position: "relative", children: [_jsxs(Container, { size: "onboarding", boxShadow: "lg", children: [_jsx(Logo, {}), _jsx(PageTitle, { title: t('signup.title') }), _jsx(Box, { px: ['container.sm', 'container.md', 'container.lg'], mb: 6, children: _jsxs(Stack, { spacing: "base", as: "form", children: [_jsx(TextInput, { errorMessage: t('forms.firstName') + ' ' + t('forms.required'), hasError: isValidated && isEmptyField(inputs.firstName), id: "firstName", placeholder: t('forms.firstName'), value: inputs.firstName, handleChange: handleInputChange, autoComplete: 'given-name' }), _jsx(TextInput, { errorMessage: t('forms.lastName') + ' ' + t('forms.required'), hasError: isValidated && isEmptyField(inputs.lastName), id: "lastName", placeholder: t('forms.lastName'), value: inputs.lastName, handleChange: handleInputChange, autoComplete: 'family-name' }), _jsx(TextInput, { autoCapitalize: "none", autoCorrect: "off", errorMessage: t('forms.email') + ' ' + t('forms.required'), hasError: isValidated &&
21
+ (isEmptyField(inputs.email) || !isValidEmail(inputs.email)), id: "email", placeholder: t('forms.email'), value: inputs.email, handleChange: handleInputChange, autoComplete: 'email' }), showPromoCode && (_jsx(TextInput, { autoCapitalize: "none", autoCorrect: "off", id: "promoCode", placeholder: t('forms.promoCode'), value: (_a = inputs.promoCode) !== null && _a !== void 0 ? _a : '', handleChange: handleInputChange, autoComplete: 'off' })), _jsx(Text, { textAlign: "center", variant: "caption", children: t('signup.subtitle') }), _jsx(PasswordInput, { errorMessage: passwordErrorMessage(values.password), hasError: isValidated &&
22
22
  (!isValidPassword(inputs.password) ||
23
- !passwordMatch(inputs.password, inputs.confirmPassword)), id: "password", placeholder: t('forms.password'), value: (_b = inputs.password) !== null && _b !== void 0 ? _b : '', handleChange: (event) => handleInputChange(event) }), _jsx(PasswordInput, { errorMessage: passwordErrorMessage(inputs.confirmPassword), hasError: isValidated &&
23
+ !passwordMatch(inputs.password, inputs.confirmPassword)), id: "password", placeholder: t('forms.password'), value: (_b = inputs.password) !== null && _b !== void 0 ? _b : '', handleChange: (event) => handleInputChange(event), autoComplete: 'new-password' }), _jsx(PasswordInput, { errorMessage: passwordErrorMessage(inputs.confirmPassword), hasError: isValidated &&
24
24
  (!isValidPassword(inputs.confirmPassword) ||
25
- !passwordMatch(inputs.password, inputs.confirmPassword)), id: "confirmPassword", placeholder: t('forms.passwordConfirm'), value: (_c = inputs.confirmPassword) !== null && _c !== void 0 ? _c : '', handleChange: (event) => handleInputChange(event) }), _jsx(Center, { px: ['container.sm', 'container.md', 'container.lg'], h: "4rem", children: _jsxs(Text, { textAlign: "center", variant: "info", w: "100%", children: [t('signup.terms'), _jsx("a", { target: "_blank", href: t('footer.termsUrl'), children: t('footer.termsLink') })] }) }), _jsx(Button, { isLoading: isLoading, spinner: _jsx(ButtonLoader, {}), onClick: handleSubmit, children: t('signup.signupBt') })] }) }), _jsx(CardFooter, { title: t('signup.signin'), buttonLabel: t('signup.signinBt'), handleButtonClick: handleSignIn })] }), _jsx(Footer, {})] }));
25
+ !passwordMatch(inputs.password, inputs.confirmPassword)), id: "confirmPassword", placeholder: t('forms.passwordConfirm'), value: (_c = inputs.confirmPassword) !== null && _c !== void 0 ? _c : '', handleChange: (event) => handleInputChange(event), autoComplete: 'new-password' }), _jsx(Center, { px: ['container.sm', 'container.md', 'container.lg'], h: "4rem", children: _jsxs(Text, { textAlign: "center", variant: "info", w: "100%", children: [t('signup.terms'), _jsx("a", { target: "_blank", href: t('footer.termsUrl'), children: t('footer.termsLink') })] }) }), _jsx(Button, { isLoading: isLoading, spinner: _jsx(ButtonLoader, {}), onClick: handleSubmit, children: t('signup.signupBt') })] }) }), _jsx(CardFooter, { title: t('signup.signin'), buttonLabel: t('signup.signinBt'), handleButtonClick: handleSignIn })] }), _jsx(Footer, {})] }));
26
26
  };
package/dist/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  export { ActivateAccount, ActiveSubscription, AddCardBanner, 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, RoomHeader, RoomsBoardTour, RoomsMenu, RoomsMenuMobile, RoomStep, RoomVideo, SalesTax, SatisfactionTile, SectionHeader, SendCommunication, SharedAccounts, SharedHomeContent, SharedHomeHeader, ShareHome, ShareHomeConnections, ShareHomeForm, 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, VideoPlayer, VideoPlayerModal, WellDone, YtdTile, } from './components';
2
2
  export { useCustomToast } from './hooks';
3
- export { theme } from './theme';
4
3
  export { billingProxy, dynamicFormProxy, homeCardProxy, partnerContentProxy, partnerDetailsProxy, paymentMethodProxy, recordsInputsProxy, recordsInputsToDBProxy, userDetailsProxy, confirmAddressProxy } from './proxies';
4
+ import theme from './theme';
5
+ export { theme };
package/dist/index.js CHANGED
@@ -1,4 +1,5 @@
1
1
  export { ActivateAccount, ActiveSubscription, AddCardBanner, 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, RoomHeader, RoomsBoardTour, RoomsMenu, RoomsMenuMobile, RoomStep, RoomVideo, SalesTax, SatisfactionTile, SectionHeader, SendCommunication, SharedAccounts, SharedHomeContent, SharedHomeHeader, ShareHome, ShareHomeConnections, ShareHomeForm, 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, VideoPlayer, VideoPlayerModal, WellDone, YtdTile, } from './components';
2
2
  export { useCustomToast } from './hooks';
3
- export { theme } from './theme';
4
3
  export { billingProxy, dynamicFormProxy, homeCardProxy, partnerContentProxy, partnerDetailsProxy, paymentMethodProxy, recordsInputsProxy, recordsInputsToDBProxy, userDetailsProxy, confirmAddressProxy } from './proxies';
4
+ import theme from './theme';
5
+ export { theme };
@@ -1,3 +1,4 @@
1
1
  import '@fontsource/assistant';
2
2
  import '@fontsource/poppins';
3
- export declare const theme: Record<string, any>;
3
+ declare const theme: Record<string, any>;
4
+ export default theme;
@@ -3,7 +3,7 @@ import '@fontsource/poppins';
3
3
  import { extendTheme } from '@chakra-ui/react';
4
4
  import { Button, Checkbox, Container, Drawer, Input, Progress, Select, Switch, Text, Tooltip, Textarea, } from './components';
5
5
  import { colors } from './colors';
6
- export const theme = extendTheme({
6
+ const theme = extendTheme({
7
7
  styles: {
8
8
  global: {
9
9
  'html, body': {
@@ -135,3 +135,4 @@ export const theme = extendTheme({
135
135
  },
136
136
  },
137
137
  });
138
+ export default theme;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@homefile/components-v2",
3
- "version": "1.0.7",
3
+ "version": "1.0.9",
4
4
  "author": "Homefile",
5
5
  "license": "UNLICENSED",
6
6
  "typings": "dist/index.d.ts",
@@ -25,36 +25,36 @@
25
25
  "@chakra-ui/storybook-addon": "^5.1.0",
26
26
  "@chromatic-com/storybook": "^1.6.1",
27
27
  "@faker-js/faker": "^8.1.0",
28
- "@storybook/addon-a11y": "^8.2.3",
29
- "@storybook/addon-essentials": "^8.2.3",
30
- "@storybook/addon-interactions": "^8.2.3",
31
- "@storybook/addon-links": "^8.2.3",
32
- "@storybook/addon-onboarding": "^8.2.3",
33
- "@storybook/addon-viewport": "^8.2.3",
34
- "@storybook/blocks": "^8.2.3",
35
- "@storybook/builder-vite": "^8.2.3",
28
+ "@storybook/addon-a11y": "^8.2.4",
29
+ "@storybook/addon-essentials": "^8.2.4",
30
+ "@storybook/addon-interactions": "^8.2.4",
31
+ "@storybook/addon-links": "^8.2.4",
32
+ "@storybook/addon-onboarding": "^8.2.4",
33
+ "@storybook/addon-viewport": "^8.2.4",
34
+ "@storybook/blocks": "^8.2.4",
35
+ "@storybook/builder-vite": "^8.2.4",
36
36
  "@storybook/jest": "^0.2.3",
37
- "@storybook/react": "^8.2.3",
38
- "@storybook/react-vite": "^8.2.3",
39
- "@storybook/test": "^8.2.3",
40
- "@types/node": "^20.14.10",
37
+ "@storybook/react": "^8.2.4",
38
+ "@storybook/react-vite": "^8.2.4",
39
+ "@storybook/test": "^8.2.4",
40
+ "@types/node": "^20.14.11",
41
41
  "@types/react": "^18.3.3",
42
42
  "@types/react-dom": "^18.3.0",
43
43
  "@vitejs/plugin-react": "^4.0.4",
44
44
  "axe-playwright": "^2.0.1",
45
45
  "copyfiles": "^2.4.1",
46
46
  "git-commit-msg-linter": "^5.0.4",
47
- "husky": "^9.0.11",
47
+ "husky": "^9.1.0",
48
48
  "jest": "^29.7.0",
49
49
  "json-loader": "^0.5.7",
50
50
  "rimraf": "^5.0.1",
51
51
  "semantic-release": "^24.0.0",
52
- "storybook": "^8.2.3",
52
+ "storybook": "^8.2.4",
53
53
  "storybook-react-i18next": "^3.1.1",
54
54
  "tsconfig-replace-paths": "^0.0.14",
55
55
  "tscpaths": "^0.0.9",
56
56
  "typescript": "^5.5.3",
57
- "vite": "^5.3.3"
57
+ "vite": "^5.3.4"
58
58
  },
59
59
  "dependencies": {
60
60
  "@chakra-ui/react": "^2.8.1",
@@ -66,7 +66,7 @@
66
66
  "@hookform/resolvers": "^3.3.1",
67
67
  "axios": "^1.7.2",
68
68
  "date-fns": "^3.6.0",
69
- "framer-motion": "^11.3.2",
69
+ "framer-motion": "^11.3.6",
70
70
  "i18next": "^23.12.1",
71
71
  "i18next-browser-languagedetector": "^8.0.0",
72
72
  "i18next-http-backend": "^2.2.2",
@@ -74,7 +74,7 @@
74
74
  "react-dom": "^18.2.0",
75
75
  "react-dropzone": "^14.2.3",
76
76
  "react-hook-form": "^7.46.2",
77
- "react-i18next": "^14.1.3",
77
+ "react-i18next": "^15.0.0",
78
78
  "react-icons": "^5.2.1",
79
79
  "react-modern-calendar-datepicker": "^3.1.6",
80
80
  "react-quill": "^2.0.0",
@@ -90,7 +90,7 @@
90
90
  "clean": "rimraf dist/",
91
91
  "convert": "tsc --project tsconfig.json && tscpaths -p tsconfig.json -s ./src -o ./dist",
92
92
  "copy": "copyfiles -u 1 src/assets/**/* src/assets/**/**/* src/styles/* src/components/**/**/**/**/* dist/",
93
- "prepare": "husky install",
93
+ "prepare": "husky",
94
94
  "test-storybook": "test-storybook"
95
95
  },
96
96
  "plugins": [
@@ -17,6 +17,7 @@ export const PasswordInput = ({
17
17
  hasError,
18
18
  placeholder,
19
19
  value = '',
20
+ ...props
20
21
  }: InputI) => {
21
22
  const [show, setShow] = useState(false)
22
23
  const handleClick = () => setShow(!show)
@@ -25,7 +26,6 @@ export const PasswordInput = ({
25
26
  <FormControl isInvalid={hasError}>
26
27
  <InputGroup>
27
28
  <Input
28
- autoComplete="current-password"
29
29
  autoCapitalize="none"
30
30
  autoCorrect="off"
31
31
  id={id}
@@ -33,6 +33,7 @@ export const PasswordInput = ({
33
33
  type={show ? 'text' : 'password'}
34
34
  value={value}
35
35
  onChange={handleChange}
36
+ {...props}
36
37
  />
37
38
  <InputRightElement width="3rem">
38
39
  <IconButton
@@ -36,6 +36,7 @@ export const SignIn = ({
36
36
  <TextInput
37
37
  autoCapitalize="none"
38
38
  autoCorrect="off"
39
+ autoComplete="username"
39
40
  errorMessage={
40
41
  loginError
41
42
  ? t('forms.errorLogin')
@@ -53,6 +54,7 @@ export const SignIn = ({
53
54
  }}
54
55
  />
55
56
  <PasswordInput
57
+ autoComplete="current-password"
56
58
  errorMessage={
57
59
  loginError
58
60
  ? t('forms.errorLogin')
@@ -50,7 +50,7 @@ export const SignUp = ({
50
50
  <Logo />
51
51
  <PageTitle title={t('signup.title')} />
52
52
  <Box px={['container.sm', 'container.md', 'container.lg']} mb={6}>
53
- <Stack spacing="input.sm">
53
+ <Stack spacing="base" as="form">
54
54
  <TextInput
55
55
  errorMessage={t('forms.firstName') + ' ' + t('forms.required')}
56
56
  hasError={isValidated && isEmptyField(inputs.firstName)}
@@ -58,6 +58,7 @@ export const SignUp = ({
58
58
  placeholder={t('forms.firstName')}
59
59
  value={inputs.firstName}
60
60
  handleChange={handleInputChange}
61
+ autoComplete='given-name'
61
62
  />
62
63
  <TextInput
63
64
  errorMessage={t('forms.lastName') + ' ' + t('forms.required')}
@@ -66,6 +67,7 @@ export const SignUp = ({
66
67
  placeholder={t('forms.lastName')}
67
68
  value={inputs.lastName}
68
69
  handleChange={handleInputChange}
70
+ autoComplete='family-name'
69
71
  />
70
72
  <TextInput
71
73
  autoCapitalize="none"
@@ -79,6 +81,7 @@ export const SignUp = ({
79
81
  placeholder={t('forms.email')}
80
82
  value={inputs.email}
81
83
  handleChange={handleInputChange}
84
+ autoComplete='email'
82
85
  />
83
86
  {showPromoCode && (
84
87
  <TextInput
@@ -88,6 +91,7 @@ export const SignUp = ({
88
91
  placeholder={t('forms.promoCode')}
89
92
  value={inputs.promoCode ?? ''}
90
93
  handleChange={handleInputChange}
94
+ autoComplete='off'
91
95
  />
92
96
  )}
93
97
  <Text textAlign="center" variant="caption">
@@ -104,6 +108,7 @@ export const SignUp = ({
104
108
  placeholder={t('forms.password')}
105
109
  value={inputs.password ?? ''}
106
110
  handleChange={(event) => handleInputChange(event)}
111
+ autoComplete='new-password'
107
112
  />
108
113
  <PasswordInput
109
114
  errorMessage={passwordErrorMessage(inputs.confirmPassword)}
@@ -116,6 +121,7 @@ export const SignUp = ({
116
121
  placeholder={t('forms.passwordConfirm')}
117
122
  value={inputs.confirmPassword ?? ''}
118
123
  handleChange={(event) => handleInputChange(event)}
124
+ autoComplete='new-password'
119
125
  />
120
126
  <Center
121
127
  px={['container.sm', 'container.md', 'container.lg']}
package/src/index.ts CHANGED
@@ -187,8 +187,6 @@ export {
187
187
 
188
188
  export { useCustomToast } from './hooks'
189
189
 
190
- export { theme} from './theme'
191
-
192
190
  export {
193
191
  billingProxy,
194
192
  dynamicFormProxy,
@@ -201,3 +199,6 @@ export {
201
199
  userDetailsProxy,
202
200
  confirmAddressProxy
203
201
  } from './proxies'
202
+
203
+ import theme from './theme'
204
+ export {theme}
@@ -16,7 +16,7 @@ import {
16
16
  } from './components'
17
17
  import { colors } from './colors'
18
18
 
19
- export const theme = extendTheme({
19
+ const theme = extendTheme({
20
20
  styles: {
21
21
  global: {
22
22
  'html, body': {
@@ -150,3 +150,4 @@ export const theme = extendTheme({
150
150
  })
151
151
 
152
152
 
153
+ export default theme