@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.
- package/dist/components/inputs/PasswordInput.d.ts +1 -1
- package/dist/components/inputs/PasswordInput.js +14 -2
- package/dist/components/onboarding/pages/SignIn.js +2 -2
- package/dist/components/onboarding/pages/SignUp.js +4 -4
- package/dist/index.d.ts +2 -1
- package/dist/index.js +2 -1
- package/dist/theme/index.d.ts +2 -1
- package/dist/theme/index.js +2 -1
- package/package.json +19 -19
- package/src/components/inputs/PasswordInput.tsx +2 -1
- package/src/components/onboarding/pages/SignIn.tsx +2 -0
- package/src/components/onboarding/pages/SignUp.tsx +7 -1
- package/src/index.ts +3 -2
- package/src/theme/index.ts +2 -1
|
@@ -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 = (
|
|
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, {
|
|
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: "
|
|
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 };
|
package/dist/theme/index.d.ts
CHANGED
package/dist/theme/index.js
CHANGED
|
@@ -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
|
-
|
|
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.
|
|
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.
|
|
29
|
-
"@storybook/addon-essentials": "^8.2.
|
|
30
|
-
"@storybook/addon-interactions": "^8.2.
|
|
31
|
-
"@storybook/addon-links": "^8.2.
|
|
32
|
-
"@storybook/addon-onboarding": "^8.2.
|
|
33
|
-
"@storybook/addon-viewport": "^8.2.
|
|
34
|
-
"@storybook/blocks": "^8.2.
|
|
35
|
-
"@storybook/builder-vite": "^8.2.
|
|
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.
|
|
38
|
-
"@storybook/react-vite": "^8.2.
|
|
39
|
-
"@storybook/test": "^8.2.
|
|
40
|
-
"@types/node": "^20.14.
|
|
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
|
|
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.
|
|
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.
|
|
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.
|
|
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": "^
|
|
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
|
|
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="
|
|
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}
|
package/src/theme/index.ts
CHANGED
|
@@ -16,7 +16,7 @@ import {
|
|
|
16
16
|
} from './components'
|
|
17
17
|
import { colors } from './colors'
|
|
18
18
|
|
|
19
|
-
|
|
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
|